llvm/test/Other
Chandler Carruth c96b7cb002 [PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule
loop-cleanup passes at the beginning of the loop pass pipeline, and
re-enqueue loops after even trivial unswitching.

This will allow us to much more consistently avoid simplifying code
while doing trivial unswitching. I've also added a test case that
specifically shows effective iteration using this technique.

I've unconditionally updated the new PM as that is always using the
SimpleLoopUnswitch pass, and I've made the pipeline changes for the old
PM conditional on using this new unswitch pass. I added a bunch of
comments to the loop pass pipeline in the old PM to make it more clear
what is going on when reviewing.

Hopefully this will unblock doing *partial* unswitching instead of just
full unswitching.

Differential Revision: https://reviews.llvm.org/D47408

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333493 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-30 02:46:45 +00:00
..
Inputs Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
X86
2002-01-31-CallGraph.ll
2002-02-24-InlineBrokePHINodes.ll
2002-03-11-ConstPropCrash.ll
2003-02-19-LoopInfoNestingBug.ll
2004-08-16-PackedConstantInlineStore.ll
2004-08-16-PackedGlobalConstant.ll
2004-08-16-PackedSelect.ll
2004-08-16-PackedSimple.ll
2004-08-20-PackedControlFlow.ll
2006-02-05-PassManager.ll
2007-04-24-eliminate-mostly-empty-blocks.ll
2007-06-05-PassID.ll
2007-06-28-PassManager.ll
2007-09-10-PassManager.ll
2008-02-14-PassManager.ll
2008-06-04-FieldSizeInPacked.ll
2008-10-06-RemoveDeadPass.ll
2008-10-15-MissingSpace.ll
2009-03-31-CallGraph.ll
2009-06-05-no-implicit-float.ll
2009-09-14-function-elements.ll
2010-05-06-Printer.ll
attribute-comment.ll
bcanalyzer-block-info.txt
can-execute.txt
cgscc-devirt-iteration.ll [PM][FunctionAttrs] add NoUnwind attribute inference to PostOrderFunctionAttrs pass 2018-03-23 21:46:16 +00:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll
cgscc-libcall-update.ll
cgscc-observe-devirt.ll
cleanup-lcssa.ll
close-stderr.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll
debugcounter-earlycse.ll [EarlyCSE] Add debug counter for debugging mis-optimizations. NFC. 2018-04-06 18:47:33 +00:00
debugcounter-newgvn.ll
debugcounter-predicateinfo.ll
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
FileCheck-space.txt
invalid-commandline-option.ll
launder.invariant.group.ll Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
lint.ll
lit-globbing.ll
lit-quoting.txt
lit-unicode.txt
llvm-nm-without-aliases.ll
loop-pass-ordering.ll
loop-pass-printer.ll
loop-pm-invalidation.ll
new-pass-manager.ll
new-pm-defaults.ll [PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule 2018-05-30 02:46:45 +00:00
new-pm-lto-defaults.ll Revert r333268: [IPSCCP] Use PredicateInfo to propagate facts from... 2018-05-25 23:32:02 +00:00
new-pm-pgo.ll
new-pm-thinlto-defaults.ll [PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule 2018-05-30 02:46:45 +00:00
opt-bisect-helper.py
opt-bisect-legacy-pass-manager.ll [lit] Fix several Python 2/3 compatibility issues and tests 2018-04-07 00:21:28 +00:00
opt-O0-pipeline.ll [test] Allow for optional No-Op Barrier Pass in O0 pipeline 2018-03-23 12:47:54 +00:00
opt-O2-pipeline.ll Revert r333268: [IPSCCP] Use PredicateInfo to propagate facts from... 2018-05-25 23:32:02 +00:00
opt-O3-pipeline.ll Revert r333268: [IPSCCP] Use PredicateInfo to propagate facts from... 2018-05-25 23:32:02 +00:00
opt-Os-pipeline.ll Revert r333268: [IPSCCP] Use PredicateInfo to propagate facts from... 2018-05-25 23:32:02 +00:00
opt-override-mcpu-mattr.ll
opt-twice.ll
optimization-remarks-inline.ll
optimization-remarks-invalidation.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
optimization-remarks-lazy-bfi.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
optimize-options.ll
pass-pipeline-parsing.ll
pass-pipelines.ll
pipefail.txt
pr32085.ll Use no-op opt run to eliminate the difference in bb pred comment, per chandler's suggestion. It is better than using sed on portability. 2018-05-01 17:19:25 +00:00
print-module-scope.ll
ResponseFile.ll
size-remarks.ll Add remarks describing when a pass changes the IR instruction count of a module 2018-05-18 17:26:39 +00:00
spir_cc.ll
statistic.ll
umask.ll
writing-to-stdout.ll