1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Other
David Green 3f23eb7a31 [DSE] Remove stores in the same loop iteration
DSE will currently only remove stores in the same block unless they can
be guaranteed to be loop invariant. This expands that to any stores that
are in the same Loop, at the same loop level. This should still account
for where AA/MSSA will not handle aliasing between loops, but allow the
dead stores to be removed where they overlap in the same loop iteration.
It requires adding loop info to DSE, but that looks fairly harmless.

The test case this helps is from code like this, which can come up in
certain matrix operations:
  for(i=..)
    dst[i] = 0;
    for(j=..)
      dst[i] += src[i*n+j];

After LICM, this becomes:
for(i=..)
  dst[i] = 0;
  sum = 0;
  for(j=..)
    sum += src[i*n+j];
  dst[i] = sum;

The first store is dead, and with this patch is now removed.

Differntial Revision: https://reviews.llvm.org/D100464
2021-05-31 10:22:37 +01:00
..
ChangePrinters [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
Inputs
X86 Recommit "[LTO] Use lto::backend for code generation." 2021-02-15 10:05:42 +00:00
2002-01-31-CallGraph.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2002-02-24-InlineBrokePHINodes.ll
2004-08-16-PackedConstantInlineStore.ll
2004-08-16-PackedGlobalConstant.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
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 [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2007-06-28-PassManager.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2007-09-10-PassManager.ll [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
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 [PruneEH] Pin tests to legacy PM 2020-10-29 18:17:55 -07:00
2009-06-05-no-implicit-float.ll
2009-09-14-function-elements.ll
2010-05-06-Printer.ll Revert "Remove "Rewrite Symbols" from codegen pipeline" 2021-04-10 23:28:16 -07:00
attribute-comment.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
available-externally-lto.ll
bb-badref.ll [AsmWriter] Construct SlotTracker with the function 2020-10-20 15:01:40 -07:00
bcanalyzer-block-info.txt
bcanalyzer-dump-option.txt
can-execute.txt
cfg_deopt_unreach.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cfg-printer-branch-weights-percent.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cfg-printer-branch-weights.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cgscc-devirt-iteration.ll [funcattrs] Add the maximal set of implied attributes to definitions 2021-04-16 14:22:19 -07:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll [funcattrs] Add the maximal set of implied attributes to definitions 2021-04-16 14:22:19 -07:00
cgscc-libcall-update.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
cgscc-observe-devirt.ll [funcattrs] Add the maximal set of implied attributes to definitions 2021-04-16 14:22:19 -07:00
change-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
cleanup-lcssa.ll
codegenprepare-and-debug.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll Reland [SCEV] Improve modelling for (null) pointer constants 2021-03-13 16:05:34 +03:00
copy-metadata-of-declaration.ll [Cloning] Copy metadata of global declarations 2021-01-08 08:21:18 +08:00
cspgo-O2-pipeline.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
debug-pass-npm.ll [opt] Error if -debug-pass is specified alongside the new PM 2021-03-02 15:59:28 -08:00
debugcounter-dce.ll
debugcounter-earlycse.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
debugcounter-newgvn.ll
debugcounter-predicateinfo.ll Revert of D49126 [PredicateInfo] Use custom mangling to support ssa_copy with unnamed types. 2021-03-20 11:37:09 +01:00
devirtualization-undef.ll Reland [CGSCC] Detect devirtualization in more cases 2020-11-23 21:28:59 -08:00
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
FileCheck-space.txt
heat-colors-graphs.ll [test] Pin tests using -dot-callgraph to legacy PM 2020-11-23 11:48:59 -08:00
heat-colors-multigraph.ll [test] Pin tests using -dot-callgraph to legacy PM 2020-11-23 11:48:59 -08:00
invalid-commandline-option.ll
invariant.group.ll Remove a -O2 usage from a CSE specific test file 2021-04-13 10:29:36 -07:00
lint.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
lit-globbing.ll
lit-quoting.txt [lit] Remove unnecessary testcases from lit-quoting.txt that fail on macOS 2021-04-14 15:09:42 +03:00
lit-unicode.txt
llvm-nm-without-aliases.ll
loop-deletion-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
loop-pass-ordering.ll
loop-pass-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
loop-pm-invalidation.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
loopnest-callback.ll Making Instrumentation aware of LoopNest Pass 2021-05-24 20:25:52 -07:00
machine-size-remarks.ll
module-pass-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
new-pass-manager-verify-each.ll [NewPM] Use PassInstrumentation for -verify-each 2020-10-07 19:24:25 -07:00
new-pass-manager.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-cspgo.ll
new-pm-defaults.ll [Matrix] Include matrix pipeline for new PM in new-pm-defaults.ll. 2021-05-27 10:57:39 +01:00
new-pm-lto-defaults.ll [test] Fix new-pm-lto-defaults.ll to work on all platforms 2021-05-13 18:12:55 -07:00
new-pm-O0-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-O0-ep-callbacks.ll [NewPM] Add pipeline EP callback after initial frontend cleanup 2020-11-24 21:14:36 -08:00
new-pm-pgo-O0.ll [NPM] Move more O0 pass building into PassBuilder 2020-11-19 11:22:23 -08:00
new-pm-pgo-preinline.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-pgo.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04:00
new-pm-pr42726-cgscc.ll [NewPM][opt] Run the "default" AA pipeline by default 2021-01-21 21:08:54 -08:00
new-pm-pseudo-probe.ll Moving UniqueInternalLinkageNamesPass to the start of IR pipelines. 2021-01-02 14:26:21 -08:00
new-pm-thinlto-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-thinlto-postlink-pgo-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-thinlto-postlink-samplepgo-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-thinlto-prelink-pgo-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-thinlto-prelink-samplepgo-defaults.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
new-pm-time-trace.ll
opt-bisect-helper.py
opt-bisect-legacy-pass-manager.ll [FileCheck] Default --allow-unused-prefixes to false 2021-02-08 13:37:04 -08:00
opt-bisect-new-pass-manager.ll [NewPM] Mark BitcodeWriter as required. 2021-05-21 16:14:09 -07:00
opt-hot-cold-split.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
opt-LTO-pipeline.ll [VectorCombine] Simplify to scalar store if only one element updated 2021-05-08 18:14:51 +08:00
opt-npm.ll [NewPM] Attempt to run opt passes specified via -foo-pass under NPM 2020-06-23 10:10:40 -07:00
opt-O0-pipeline-enable-matrix.ll Move EntryExitInstrumentation pass location 2021-03-01 10:08:10 -08:00
opt-O0-pipeline.ll Move EntryExitInstrumentation pass location 2021-03-01 10:08:10 -08:00
opt-O2-pipeline.ll [DSE] Remove stores in the same loop iteration 2021-05-31 10:22:37 +01:00
opt-O3-pipeline-enable-matrix.ll [DSE] Remove stores in the same loop iteration 2021-05-31 10:22:37 +01:00
opt-O3-pipeline.ll [DSE] Remove stores in the same loop iteration 2021-05-31 10:22:37 +01:00
opt-old-new-pm-passes.ll [NPM] Bail out when -foo and --passes=foo are both specified 2020-06-22 08:27:13 -07:00
opt-Os-pipeline.ll [DSE] Remove stores in the same loop iteration 2021-05-31 10:22:37 +01:00
opt-override-denormal-fp-math-f32.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-denormal-fp-math-mixed.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-denormal-fp-math.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-frame-pointer.ll
opt-override-mcpu-mattr.ll
opt-pipeline-vector-passes.ll [NewPM] Add ExtraVectorizerPasses support 2021-01-26 22:59:10 +01:00
opt-twice.ll
optimization-remarks-auto.ll [InlineCost] Make cost-benefit decision explicit 2021-03-24 16:10:58 -07:00
optimization-remarks-inline.ll
optimization-remarks-invalidation.ll
optimization-remarks-lazy-bfi.ll
optimize-inrange-gep.ll
optimize-options.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
pass-pipeline-parsing.ll [NewPM] Add options to PrintPassInstrumentation 2021-05-18 20:59:35 -07:00
pass-pipelines.ll [LoopRotate] Don't split loop pass manager 2021-04-08 22:05:18 +02:00
pipefail.txt
pm-pgo-preinline.ll [PGO] Enable preinline and cleanup when optimize for size 2020-12-10 12:29:17 -08:00
pr32085.ll
pr49950.ll Make dependency between certain analysis passes transitive (reapply) 2021-05-05 15:17:55 +02:00
print-before-after.ll [NewPM] Don't error when there's an unrecognized pass name 2021-01-07 22:33:32 -08:00
print-cfg-sccs.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
print-changed-deleted.ll [NewPM] Fix -print-changed when a -filter-print-funcs function is removed 2021-04-12 11:55:17 -07:00
print-debug-counter.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
print-module-scope.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
print-passes.ll [opt][NewPM] Add a --print-passes flag to print all available passes 2021-02-10 11:22:12 -08:00
print-slotindexes.ll [NFC] Disallow unused prefixes under Other 2021-01-19 12:22:29 -08:00
printer.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
ResponseFile.ll
scalable-vector-array.ll
scalable-vector-struct-intrinsic.ll [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
scalable-vectors-core-ir.ll Precommit analysis/etc tests for inselt poison placeholder 2020-12-24 12:14:24 +09:00
scc-deleted-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
scc-pass-printer.ll [NewPM] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -07:00
size-remarks.ll [test] Pin size-remarks.ll to legacy PM 2020-11-17 23:47:49 -08:00
spir_cc.ll Forgot the SPIR test case. 2012-10-01 17:07:51 +00:00
statistic.ll [opt] Pin -stats-json & -opt-bisect-limit tests to -enable-new-pm=0 2020-10-28 22:59:53 -07:00
time-passes.ll [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation 2020-12-08 10:13:19 -08:00
unroll-sroa.ll
writing-to-stdout.ll