SuccessChanges

Summary

  1. [llvm-cov] Add an option which maps the location of source directories on another machine to your local copies Summary: This patch adds the -path-equivalence option (example: llvm-cov show -path-equivalence=/origin/path,/local/path) which maps the source code path from one machine to another when using `llvm-cov show`. This is similar to the -filename-equivalence option, but doesn't require you to specify all the source files on the command line. This allows you to generate the coverage data on one machine (e.g. in a CI system), and then use llvm-cov on another machine where you have the same code base on a different path. Reviewers: vsk Reviewed By: vsk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36391
  2. MachineInstr: Reason locally about some memory objects before going to AA. This addresses a FIXME in MachineInstr::mayAlias.
  3. [LoopUnroll] Enable option to peel remainder loop On some targets, the penalty of executing runtime unrolling checks and then not the unrolled loop can be significantly detrimental to performance. This results in the need to be more conservative with the unroll count, keeping a trip count of 2 reduces the overhead as well as increasing the chance of the unrolled body being executed. But being conservative leaves performance gains on the table. This patch enables the unrolling of the remainder loop introduced by runtime unrolling. This can help reduce the overhead of misunrolled loops because the cost of non-taken branches is much less than the cost of the backedge that would normally be executed in the remainder loop. This allows larger unroll factors to be used without suffering performance loses with smaller iteration counts. Differential Revision: https://reviews.llvm.org/D36309
Revision 310827 by seaneveson:
[llvm-cov] Add an option which maps the location of source directories on another machine to your local copies

Summary:
This patch adds the -path-equivalence option (example: llvm-cov show -path-equivalence=/origin/path,/local/path) which maps the source code path from one machine to another when using `llvm-cov show`. This is similar to the -filename-equivalence option, but doesn't require you to specify all the source files on the command line.

This allows you to generate the coverage data on one machine (e.g. in a CI system), and then use llvm-cov on another machine where you have the same code base on a different path.

Reviewers: vsk

Reviewed By: vsk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36391
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-cov.rstllvm.src/docs/CommandGuide/llvm-cov.rst
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/path_equivalence.covmappingllvm.src/test/tools/llvm-cov/Inputs/path_equivalence.covmapping
The file was added/llvm/trunk/test/tools/llvm-cov/Inputs/path_equivalence.proftextllvm.src/test/tools/llvm-cov/Inputs/path_equivalence.proftext
The file was modified/llvm/trunk/test/tools/llvm-cov/binary-formats.cllvm.src/test/tools/llvm-cov/binary-formats.c
The file was modified/llvm/trunk/test/tools/llvm-cov/combine_expansions.cppllvm.src/test/tools/llvm-cov/combine_expansions.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/cov-comdat.testllvm.src/test/tools/llvm-cov/cov-comdat.test
The file was modified/llvm/trunk/test/tools/llvm-cov/deferred-region.cppllvm.src/test/tools/llvm-cov/deferred-region.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/demangle.testllvm.src/test/tools/llvm-cov/demangle.test
The file was modified/llvm/trunk/test/tools/llvm-cov/hideUnexecutedSubviews.testllvm.src/test/tools/llvm-cov/hideUnexecutedSubviews.test
The file was modified/llvm/trunk/test/tools/llvm-cov/native_separators.cllvm.src/test/tools/llvm-cov/native_separators.c
The file was added/llvm/trunk/test/tools/llvm-cov/path_equivalence.cllvm.src/test/tools/llvm-cov/path_equivalence.c
The file was modified/llvm/trunk/test/tools/llvm-cov/prefer_used_to_unused.hllvm.src/test/tools/llvm-cov/prefer_used_to_unused.h
The file was modified/llvm/trunk/test/tools/llvm-cov/prevent_false_instantiations.hllvm.src/test/tools/llvm-cov/prevent_false_instantiations.h
The file was modified/llvm/trunk/test/tools/llvm-cov/report.cppllvm.src/test/tools/llvm-cov/report.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/scan-directory.testllvm.src/test/tools/llvm-cov/scan-directory.test
The file was modified/llvm/trunk/test/tools/llvm-cov/showExpansions.cppllvm.src/test/tools/llvm-cov/showExpansions.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showHighlightedRanges.cppllvm.src/test/tools/llvm-cov/showHighlightedRanges.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showLineExecutionCounts.cppllvm.src/test/tools/llvm-cov/showLineExecutionCounts.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showProjectSummary.cppllvm.src/test/tools/llvm-cov/showProjectSummary.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showRegionMarkers.cppllvm.src/test/tools/llvm-cov/showRegionMarkers.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showTabsHTML.cppllvm.src/test/tools/llvm-cov/showTabsHTML.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/showTemplateInstantiations.cppllvm.src/test/tools/llvm-cov/showTemplateInstantiations.cpp
The file was modified/llvm/trunk/test/tools/llvm-cov/style.testllvm.src/test/tools/llvm-cov/style.test
The file was modified/llvm/trunk/test/tools/llvm-cov/threads.cllvm.src/test/tools/llvm-cov/threads.c
The file was modified/llvm/trunk/test/tools/llvm-cov/universal-binary.cllvm.src/test/tools/llvm-cov/universal-binary.c
The file was modified/llvm/trunk/test/tools/llvm-cov/warnings.hllvm.src/test/tools/llvm-cov/warnings.h
The file was modified/llvm/trunk/tools/llvm-cov/CodeCoverage.cppllvm.src/tools/llvm-cov/CodeCoverage.cpp
Revision 310825 by bmakam:
MachineInstr: Reason locally about some memory objects before going to AA.

This addresses a FIXME in MachineInstr::mayAlias.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineInstr.cppllvm.src/lib/CodeGen/MachineInstr.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/ldst-opt.llllvm.src/test/CodeGen/AArch64/ldst-opt.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-argument-types.llllvm.src/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/load-global-i16.llllvm.src/test/CodeGen/AMDGPU/load-global-i16.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/load-global-i8.llllvm.src/test/CodeGen/AMDGPU/load-global-i8.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/load-local-i16.llllvm.src/test/CodeGen/AMDGPU/load-local-i16.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/2009-10-27-double-align.llllvm.src/test/CodeGen/ARM/2009-10-27-double-align.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/illegal-bitfield-loadstore.llllvm.src/test/CodeGen/ARM/illegal-bitfield-loadstore.ll
The file was modified/llvm/trunk/test/CodeGen/X86/illegal-bitfield-loadstore.llllvm.src/test/CodeGen/X86/illegal-bitfield-loadstore.ll
The file was modified/llvm/trunk/test/CodeGen/X86/memcpy-2.llllvm.src/test/CodeGen/X86/memcpy-2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/pr34088.llllvm.src/test/CodeGen/X86/pr34088.ll
The file was modified/llvm/trunk/test/CodeGen/X86/widen_arith-3.llllvm.src/test/CodeGen/X86/widen_arith-3.ll
Revision 310824 by sam_parker:
[LoopUnroll] Enable option to peel remainder loop

On some targets, the penalty of executing runtime unrolling checks
and then not the unrolled loop can be significantly detrimental to
performance. This results in the need to be more conservative with
the unroll count, keeping a trip count of 2 reduces the overhead as
well as increasing the chance of the unrolled body being executed. But
being conservative leaves performance gains on the table.

This patch enables the unrolling of the remainder loop introduced by
runtime unrolling. This can help reduce the overhead of misunrolled
loops because the cost of non-taken branches is much less than the
cost of the backedge that would normally be executed in the remainder
loop. This allows larger unroll factors to be used without suffering
performance loses with smaller iteration counts.

Differential Revision: https://reviews.llvm.org/D36309
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.hllvm.src/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/UnrollLoop.hllvm.src/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cppllvm.src/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopUnroll.cppllvm.src/lib/Transforms/Utils/LoopUnroll.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopUnrollRuntime.cppllvm.src/lib/Transforms/Utils/LoopUnrollRuntime.cpp
The file was added/llvm/trunk/test/Transforms/LoopUnroll/runtime-unroll-remainder.llllvm.src/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll