1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Other
Philip Reames 9e6192bcdf [funcattrs] Add the maximal set of implied attributes to definitions
Have funcattrs expand all implied attributes into the IR. This expands the infrastructure from D100400, but for definitions not declarations this time.

Somewhat subtly, this mostly isn't semantic. Because the accessors did the inference, any client which used the accessor was already getting the stronger result. Clients that directly checked presence of attributes (there are some), will see a stronger result now.

The old behavior can end up quite confusing for two reasons:
* Without this change, we have situations where function-attrs appears to fail when inferring an attribute (as seen by a human reading IR), but that consuming code will see that it should have been implied. As a human trying to sanity check test results and study IR for optimization possibilities, this is exceeding error prone and confusing. (I'll note that I wasted several hours recently because of this.)
* We can have transforms which trigger without the IR appearing (on inspection) to meet the preconditions. This change doesn't prevent this from happening (as the accessors still involve multiple checks), but it should make it less frequent.

I'd argue in favor of deleting the extra checks out of the accessors after this lands, but I want that in it's own review as a) it's purely stylistic, and b) I already know there's some disagreement.

Once this lands, I'm also going to do a cleanup change which will delete some now redundant duplicate predicates in the inference code, but again, that deserves to be a change of it's own.

Differential Revision: https://reviews.llvm.org/D100226
2021-04-16 14:22:19 -07: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
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
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
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
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
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] Change tests to run them without PreserveCFGChecker. NFC 2021-04-06 11:33:07 +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] Redesign of PreserveCFG Checker 2021-04-06 12:35:49 +07:00
new-pm-cspgo.ll
new-pm-defaults.ll [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
new-pm-lto-defaults.ll [NewPM] Change tests to run them without PreserveCFGChecker. NFC 2021-04-06 11:33:07 +07:00
new-pm-O0-defaults.ll [NewPM] Change tests to run them without PreserveCFGChecker. NFC 2021-04-06 11:33:07 +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][Inliner] Move the 'always inliner' case in the same CGSCC pass as 'regular' inliner 2021-01-15 17:59:38 -08: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 [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
new-pm-thinlto-postlink-pgo-defaults.ll [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
new-pm-thinlto-postlink-samplepgo-defaults.ll [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
new-pm-thinlto-prelink-pgo-defaults.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04:00
new-pm-thinlto-prelink-samplepgo-defaults.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04: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] Cleanup IR printing instrumentation 2021-04-15 09:50:55 -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 [MemCopyOpt] Enable MemorySSA by default 2021-02-19 18:06:25 +01:00
opt-npm.ll
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 [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04:00
opt-O3-pipeline-enable-matrix.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04:00
opt-O3-pipeline.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04:00
opt-old-new-pm-passes.ll
opt-Os-pipeline.ll [PassManager][PhaseOrdering] lower expects before running simplifyCFG 2021-04-12 15:07:53 -04: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
pass-pipeline-parsing.ll [NewPM][opt] Run the "default" AA pipeline by default 2021-01-21 21:08:54 -08: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
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
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
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
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
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