llvm-project/llvm/test/Other
Arthur Eubanks 0291e2c933 [Inliner] Run always-inliner in inliner-wrapper
An alwaysinline function may not get inlined in inliner-wrapper due to
the inlining order.

Previously for the following, the inliner would first inline @a() into @b(),

```
define void @a() {
entry:
  call void @b()
  ret void
}

define void @b() alwaysinline {
entry:
  br label %for.cond

for.cond:
  call void @a()
  br label %for.cond
}
```

making @b() recursive and unable to be inlined into @a(), ending at

```
define void @a() {
entry:
  call void @b()
  ret void
}

define void @b() alwaysinline {
entry:
  br label %for.cond

for.cond:
  call void @b()
  br label %for.cond
}
```

Running always-inliner first makes sure that we respect alwaysinline in more cases.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46945.

Reviewed By: davidxl, rnk

Differential Revision: https://reviews.llvm.org/D86988
2020-10-22 19:16:25 -07:00
..
Inputs Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
X86 Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02: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 [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
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
FileCheck-space.txt
ResponseFile.ll
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
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-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
cfg_deopt_unreach.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cgscc-devirt-iteration.ll [CGSCC] Add -abort-on-max-devirt-iterations-reached option 2020-10-16 12:34:52 -07:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll
cgscc-libcall-update.ll
cgscc-observe-devirt.ll
change-printer.ll Reland No.3: Add new hidden option -print-changed which only reports changes to IR 2020-10-01 17:39:13 +00:00
cleanup-lcssa.ll
codegenprepare-and-debug.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll [NewPM][SCEV] Fix constant-fold-gep.ll under NPM 2020-09-15 20:25:35 -07:00
cspgo-O2-pipeline.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07: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 [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
heat-colors-graphs.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
heat-colors-multigraph.ll [CallPrinter] Adding heat coloring to CallPrinter 2020-06-16 21:15:29 +00:00
invalid-commandline-option.ll
invariant.group.ll [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
lint.ll [NewPM][Lint] Port -lint to NewPM 2020-09-03 13:03:44 -07:00
lit-globbing.ll
lit-quoting.txt
lit-unicode.txt
llvm-nm-without-aliases.ll
loop-deletion-printer.ll
loop-pass-ordering.ll
loop-pass-printer.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
loop-pm-invalidation.ll [NewPM] Don't print 'Invalidating all non-preserved analyses' 2020-07-30 19:40:29 -07:00
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-verify-each.ll [NewPM] Use PassInstrumentation for -verify-each 2020-10-07 19:24:25 -07:00
new-pass-manager.ll [NewPM] Use PassInstrumentation for -verify-each 2020-10-07 19:24:25 -07:00
new-pm-cspgo.ll
new-pm-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-lto-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-module-inliner-wrapper.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-pgo-O0.ll
new-pm-pgo.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
new-pm-pr42726-cgscc.ll
new-pm-thinlto-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-thinlto-postlink-pgo-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-thinlto-postlink-samplepgo-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-thinlto-prelink-pgo-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-thinlto-prelink-samplepgo-defaults.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
new-pm-time-trace.ll Extend TimeTrace to LLVM's new pass manager 2020-03-06 14:45:19 -08:00
opt-O0-pipeline-enable-matrix.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
opt-O0-pipeline.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
opt-O2-pipeline.ll [Passes] Move ADCE before DSE & LICM. 2020-10-21 10:30:56 +01:00
opt-O3-pipeline-enable-matrix.ll [Passes] Move ADCE before DSE & LICM. 2020-10-21 10:30:56 +01:00
opt-O3-pipeline.ll [Passes] Move ADCE before DSE & LICM. 2020-10-21 10:30:56 +01:00
opt-Os-pipeline.ll [Passes] Move ADCE before DSE & LICM. 2020-10-21 10:30:56 +01:00
opt-bisect-helper.py
opt-bisect-legacy-pass-manager.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04: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-npm.ll [NewPM] Attempt to run opt passes specified via -foo-pass under NPM 2020-06-23 10:10:40 -07: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-override-denormal-fp-math-f32.ll CodeGen: Add -denormal-fp-math-f32 flag 2020-03-27 14:00:39 -07:00
opt-override-denormal-fp-math-mixed.ll CodeGen: Add -denormal-fp-math-f32 flag 2020-03-27 14:00:39 -07:00
opt-override-denormal-fp-math.ll CodeGen: Add -denormal-fp-math-f32 flag 2020-03-27 14:00:39 -07: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 [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07: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 [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
pass-pipeline-parsing.ll [NewPM] collapsing nested pass mangers of the same type 2020-10-04 15:57:13 -07:00
pass-pipelines.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
pipefail.txt
pr32085.ll
print-cfg-sccs.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -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] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
print-slotindexes.ll
printer.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
scalable-vector-array.ll
scalable-vector-struct.ll
scalable-vectors-core-ir.ll
scc-deleted-printer.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
scc-pass-printer.ll [llvm] Add interface to drive inlining decision using ML model 2020-05-13 13:27:29 -07:00
size-remarks.ll
spir_cc.ll
statistic.ll
time-passes.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
unroll-sroa.ll
writing-to-stdout.ll