]> granicus.if.org Git - llvm/commit
[ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline.
authorClement Courbet <courbet@google.com>
Wed, 26 Jun 2019 11:50:18 +0000 (11:50 +0000)
committerClement Courbet <courbet@google.com>
Wed, 26 Jun 2019 11:50:18 +0000 (11:50 +0000)
commite0fc543f4ce1b18e112005543589bbe22b79fb08
tree344f2cbe668355bfcbfb17fd00ef05dc167ed704
parent04f6b4ef8cd15c3c0dac3e33cdd972d770722601
[ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline.

This allows later passes (in particular InstCombine) to optimize more
cases.

One that's important to us is `memcmp(p, q, constant) < 0` and memcmp(p, q, constant) > 0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364412 91177308-0d34-0410-b5e6-96231b3b80d8
40 files changed:
include/llvm/CodeGen/Passes.h
include/llvm/Transforms/IPO/PassManagerBuilder.h
include/llvm/Transforms/Scalar.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/TargetPassConfig.cpp
lib/Transforms/IPO/PassManagerBuilder.cpp
lib/Transforms/Scalar/CMakeLists.txt
lib/Transforms/Scalar/ExpandMemCmp.cpp [moved from lib/CodeGen/ExpandMemCmp.cpp with 90% similarity]
lib/Transforms/Scalar/MergeICmps.cpp
lib/Transforms/Scalar/Scalar.cpp
test/CodeGen/AArch64/O3-pipeline.ll
test/CodeGen/ARM/O3-pipeline.ll
test/CodeGen/Generic/llc-start-stop.ll
test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll [deleted file]
test/CodeGen/PowerPC/memcmp-mergeexpand.ll [deleted file]
test/CodeGen/PowerPC/memcmp.ll [deleted file]
test/CodeGen/PowerPC/memcmpIR.ll [deleted file]
test/CodeGen/X86/O3-pipeline.ll
test/CodeGen/X86/memcmp-mergeexpand.ll [deleted file]
test/CodeGen/X86/memcmp-optsize.ll [deleted file]
test/CodeGen/X86/memcmp.ll [deleted file]
test/Other/opt-O2-pipeline.ll
test/Other/opt-O3-pipeline.ll
test/Other/opt-Os-pipeline.ll
test/Transforms/ExpandMemCmp/PowerPC/lit.local.cfg [new file with mode: 0644]
test/Transforms/ExpandMemCmp/PowerPC/memcmpIR.ll [new file with mode: 0644]
test/Transforms/ExpandMemCmp/X86/memcmp.ll
test/Transforms/ExpandMemCmp/X86/pr36421.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/PowerPC/lit.local.cfg [new file with mode: 0644]
test/Transforms/PhaseOrdering/PowerPC/memCmpUsedInZeroEqualityComparison.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/PowerPC/memcmp-mergeexpand.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/PowerPC/memcmp.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/X86/lit.local.cfg [new file with mode: 0644]
test/Transforms/PhaseOrdering/X86/memcmp-mergeexpand.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/X86/memcmp.ll [new file with mode: 0644]
test/Transforms/PhaseOrdering/X86/pr36421.ll [new file with mode: 0644]
tools/opt/opt.cpp
utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn