hanchenye-llvm-project/llvm/test/Other
Joerg Sonnenberger 9681ea9560 Reapply r374743 with a fix for the ocaml binding
Add a pass to lower is.constant and objectsize intrinsics

This pass lowers is.constant and objectsize intrinsics not simplified by
earlier constant folding, i.e. if the object given is not constant or if
not using the optimized pass chain. The result is recursively simplified
and constant conditionals are pruned, so that dead blocks are removed
even for -O0. This allows inline asm blocks with operand constraints to
work all the time.

The new pass replaces the existing lowering in the codegen-prepare pass
and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert
on the intrinsics.

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

llvm-svn: 374784
2019-10-14 16:15:14 +00:00
..
Inputs [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
X86 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00: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-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 Print newline after banner for ModulePass 2018-11-14 10:05:28 +00:00
FileCheck-space.txt
ResponseFile.ll
attribute-comment.ll
available-externally-lto.ll [clang][NewPM] Do not eliminate available_externally durng `-O2 -flto` runs 2019-06-20 19:44:51 +00:00
bcanalyzer-block-info.txt
can-execute.txt
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
close-stderr.ll
codegenprepare-and-debug.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll
cspgo-O2-pipeline.ll [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
debugcounter-dce.ll
debugcounter-earlycse.ll
debugcounter-newgvn.ll
debugcounter-predicateinfo.ll
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
invalid-commandline-option.ll
invariant.group.ll [FunctionAttrs] Annotate "willreturn" for intrinsics 2019-07-28 06:09:56 +00:00
lint.ll [Intrinsics] Add a 'NoAlias' intrinsic property; annotate llvm.memcpy 2019-08-14 08:33:07 +00: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 [llvm-nm][llvm-readelf] Avoid single-dash -long-option in tests 2019-04-27 16:12:14 +00:00
loop-deletion-printer.ll [NewPM] -print-module-scope -print-after now prints module even after invalidated Loop/SCC 2018-12-21 11:49:05 +00:00
loop-pass-ordering.ll
loop-pass-printer.ll
loop-pm-invalidation.ll
machine-size-remarks.ll
module-pass-printer.ll [IRPrinting] Improve module pass printer to work better with -filter-print-funcs 2019-09-04 08:08:58 +00: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 [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
new-pm-defaults.ll Reapply r374743 with a fix for the ocaml binding 2019-10-14 16:15:14 +00:00
new-pm-lto-defaults.ll Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00: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 [HotColdSplit] Schedule splitting late to fix perf regression 2019-02-15 18:46:44 +00: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 Reapply r374743 with a fix for the ocaml binding 2019-10-14 16:15:14 +00:00
opt-O0-pipeline.ll
opt-O2-pipeline.ll Reapply r374743 with a fix for the ocaml binding 2019-10-14 16:15:14 +00:00
opt-O3-pipeline.ll Reapply r374743 with a fix for the ocaml binding 2019-10-14 16:15:14 +00:00
opt-Os-pipeline.ll Reapply r374743 with a fix for the ocaml binding 2019-10-14 16:15:14 +00:00
opt-bisect-helper.py Python compat - print statement 2019-01-03 14:11:33 +00:00
opt-bisect-legacy-pass-manager.ll
opt-hot-cold-split.ll [HotColdSplit] Schedule splitting late to fix perf regression 2019-02-15 18:46:44 +00:00
opt-override-mcpu-mattr.ll
opt-twice.ll
optimization-remarks-inline.ll
optimization-remarks-invalidation.ll
optimization-remarks-lazy-bfi.ll
optimize-inrange-gep.ll
optimize-options.ll
pass-pipeline-parsing.ll
pass-pipelines.ll Revert '[LICM] Make Loop ICM profile aware' and 'Fix pass dependency for LICM' 2019-08-14 04:50:33 +00:00
pipefail.txt
pr32085.ll
print-debug-counter.ll
print-module-scope.ll
print-slotindexes.ll [SlotIndexes] Add print-slotindexes to disable printing slotindexes 2019-08-22 13:44:47 +00:00
printer.ll
scalable-vector-array.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
scalable-vector-struct.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
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 [NewPM] -print-module-scope -print-after now prints module even after invalidated Loop/SCC 2018-12-21 11:49:05 +00:00
scc-pass-printer.ll Fixing -print-module-scope for legacy SCC passes 2018-12-03 14:48:15 +00:00
size-remarks.ll
spir_cc.ll
statistic.ll
time-passes.ll [TimePasses] allow -time-passes reporting into a custom stream 2019-03-15 22:15:23 +00:00
umask.ll
writing-to-stdout.ll