1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Other
Sanjay Patel 8f04b72eb3 [PassManager] adjust VectorCombine placement
The initial placement of vector-combine in the opt pipeline revealed phase ordering bugs:
https://bugs.llvm.org/show_bug.cgi?id=45015
https://bugs.llvm.org/show_bug.cgi?id=42022

This patch contains a few independent changes:

1. Move the pass up in the pipeline, so it happens just after loop-vectorization.
   This is only to keep vectorization passes together in the pipeline at the moment.
   I don't have evidence of interaction between these yet.
2. Add an -early-cse pass after -vector-combine to clean up redundant ops. This was
   partly proposed as far back as rL219644 (which is why it's effectively being moved
   in the old PM code). This is important because the subsequent -instcombine doesn't
   work as well without EarlyCSE. With the CSE, -instcombine is able to squash
   shuffles together in 1 of the tests (because those are simple "select" shuffles).
3. Remove the -vector-combine pass that was running after SLP. We may want to do that
   eventually, but I don't have a test case to support it yet.

Differential Revision: https://reviews.llvm.org/D75145
2020-03-04 11:10:49 -05:00
..
Inputs Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
X86 [test] More tests to target specific directories after CodeGenPrepare requires TargetPassConfig (D73754) 2020-02-02 10:43:02 -08:00
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-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 [PassInstrumentation] Remove excess newline for the new pass manager 2019-11-28 17:20:17 -08:00
attribute-comment.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
available-externally-lto.ll
bcanalyzer-block-info.txt
bcanalyzer-dump-option.txt [llvm-bcanalyzer] Don't dump the contents if -dump is not passed 2019-11-13 10:38:57 -08:00
can-execute.txt
cfg_deopt_unreach.ll Use temporary directory for tests in D74346 2020-02-24 12:19:07 +01:00
cfg-printer-branch-weights.ll
cgscc-devirt-iteration.ll [BuildLibCalls] Noalias annotation 2019-08-14 16:50:06 +00:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll
cgscc-libcall-update.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
cgscc-observe-devirt.ll
cleanup-lcssa.ll
codegenprepare-and-debug.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll
cspgo-O2-pipeline.ll
debugcounter-dce.ll
debugcounter-earlycse.ll
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
invariant.group.ll
lint.ll [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
lit-globbing.ll
lit-quoting.txt
lit-unicode.txt Remove some unnecessary REQUIRES: shell lines 2019-09-10 00:06:52 +00:00
llvm-nm-without-aliases.ll
loop-deletion-printer.ll
loop-pass-ordering.ll
loop-pass-printer.ll
loop-pm-invalidation.ll
machine-size-remarks.ll
module-pass-printer.ll IR printing for single function with the new pass manager. 2020-02-23 15:28:57 -08:00
new-pass-manager.ll Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
new-pm-cspgo.ll
new-pm-defaults.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
new-pm-lto-defaults.ll Revert "Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP"" 2020-03-02 14:02:13 -08:00
new-pm-pgo-O0.ll [PGO] Add PGO support at -O0 in the experimental new pass manager 2019-08-01 22:36:34 +00:00
new-pm-pgo.ll Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
new-pm-pr42726-cgscc.ll [NewPassManager] Resolve assertion in CGSCCPassManager when CallCounts change. 2019-08-02 18:37:03 +00:00
new-pm-thinlto-defaults.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
new-pm-thinlto-postlink-pgo-defaults.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
new-pm-thinlto-postlink-samplepgo-defaults.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
new-pm-thinlto-prelink-pgo-defaults.ll Compute ORE, BPI, BFI in Loop passes. 2020-02-12 09:15:18 -08:00
new-pm-thinlto-prelink-samplepgo-defaults.ll Compute ORE, BPI, BFI in Loop passes. 2020-02-12 09:15:18 -08:00
opt-bisect-helper.py
opt-bisect-legacy-pass-manager.ll
opt-hot-cold-split.ll
opt-O0-pipeline.ll Generalize the pass registration mechanism used by Polly to any third-party tool 2020-01-02 16:45:31 +01:00
opt-O2-pipeline.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
opt-O3-pipeline.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
opt-Os-pipeline.ll [PassManager] adjust VectorCombine placement 2020-03-04 11:10:49 -05:00
opt-override-frame-pointer.ll llc: Don't overwrite frame-pointer attribute 2020-01-15 20:56:46 -05:00
opt-override-mcpu-mattr.ll llc: Change behavior of -mattr with existing attribute 2020-01-15 19:46:01 -05:00
opt-pipeline-vector-passes.ll [PassManager] add tests for vector pass enabling; NFC 2020-02-29 07:56:41 -05:00
opt-twice.ll
optimization-remarks-inline.ll Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
optimization-remarks-invalidation.ll
optimization-remarks-lazy-bfi.ll
optimize-inrange-gep.ll
optimize-options.ll
pass-pipeline-parsing.ll
pass-pipelines.ll [LoopRotate] Get and update MSSA only if available in legacy pass manager. 2020-02-14 10:47:26 -08:00
pipefail.txt
pr32085.ll
print-debug-counter.ll
print-module-scope.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
print-slotindexes.ll [SlotIndexes] Add print-slotindexes to disable printing slotindexes 2019-08-22 13:44:47 +00:00
printer.ll [PassInstrumentation] Remove excess newline for the new pass manager 2019-11-28 17:20:17 -08:00
ResponseFile.ll
scalable-vector-array.ll
scalable-vector-struct.ll
scalable-vectors-core-ir.ll [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
scc-deleted-printer.ll
scc-pass-printer.ll
size-remarks.ll
spir_cc.ll
statistic.ll
time-passes.ll
unroll-sroa.ll [NewPM] Add an SROA pass after loop unroll 2019-11-01 14:59:08 -07:00
writing-to-stdout.ll