llvm-project/llvm/test/Transforms/GVN
Juneyoung Lee ce192ced2b [InstCombine] Use poison constant to represent the result of unreachable instrs
This patch updates InstCombine to use poison constant to represent the resulting value of (either semantically or syntactically) unreachable instrs, or a don't-care value of an unreachable store instruction.

This allows more aggressive folding of unused results, as shown in llvm/test/Transforms/InstCombine/getelementptr.ll .

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D104602
2021-06-21 09:58:44 +09:00
..
PRE [InstCombine] Use poison constant to represent the result of unreachable instrs 2021-06-21 09:58:44 +09:00
2007-07-25-DominatedLoop.ll
2007-07-25-InfiniteLoop.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2007-07-25-Loop.ll
2007-07-25-NestedLoop.ll
2007-07-25-SinglePredecessor.ll
2007-07-26-InterlockingLoops.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2007-07-26-NonRedundant.ll
2007-07-26-PhiErasure.ll
2007-07-30-PredIDom.ll
2007-07-31-NoDomInherit.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2007-07-31-RedundantPhi.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2008-02-12-UndefLoad.ll
2008-02-13-NewPHI.ll
2008-07-02-Unreachable.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2008-12-09-SelfRemove.ll
2008-12-12-RLE-Crash.ll
2008-12-14-rle-reanalyze.ll
2008-12-15-CacheVisited.ll
2009-01-21-SortInvalidation.ll
2009-01-22-SortInvalidation.ll
2009-03-10-PREOnVoid.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
2009-07-13-MemDepSortFail.ll
2009-11-12-MemDepMallocBitCast.ll
2010-03-31-RedundantPHIs.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2010-05-08-OneBit.ll
2010-11-13-Simplify.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2011-04-27-phioperands.ll
2011-07-07-MatchIntrinsicExtract.ll
2011-09-07-TypeIdFor.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
2012-05-22-PreCrash.ll
2016-08-30-MaskedScatterGather-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
2016-08-30-MaskedScatterGather.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
MemdepMiscompile.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
addrspacecast.ll
assume-equal.ll
assume.ll [GVN] Use that assume(!X) implies X==false (PR47496) 2020-09-17 21:34:44 +02:00
basic-undef-test.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
basic.ll
big-endian.ll [test, GVN] Fix use of var defined in CHECK-NOT 2021-04-06 17:00:21 +01:00
bitcast-of-call.ll
br-identical.ll
callbr-loadpre-critedge.ll
callbr-scalarpre-critedge.ll
calloc-load-removal.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
calls-nonlocal.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
calls-readonly.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
commute.ll [IR][GVN] add/allow commutative intrinsics with >2 args 2020-09-03 10:14:53 -04:00
cond_br.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
cond_br2.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
condprop.ll [Test] Auto-update test checks 2021-03-31 19:15:28 +07:00
constexpr-vector-constainsundef-crash-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
constexpr-vector-constainsundef-crash.ll [ValueTracking] Check for ConstantExpr before using recursive helpers. 2020-07-24 17:37:09 +01:00
crash-no-aa.ll [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
crash.ll
critical-edge-split-failure.ll [GVN] do not repeat PRE on failure to split critical edge 2021-01-25 11:23:44 -08:00
critical-edge-split-indbr-pred-in-loop.ll [BreakCritEdges] Add option to opt-out of perserving loop-simplify. 2020-06-12 11:47:13 +01:00
dbg-redundant-load.ll
debugloc.ll
edge.ll
equality-assume.ll
fence.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
flags.ll
fold-const-expr.ll
fpmath.ll
freeze.ll
funclet.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
gc_relocate.ll [gvn] CSE gc.relocates based on meaning, not spelling (try 2) 2021-03-16 10:59:31 -07:00
int_sideeffect.ll
invariant.group.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
invariant.start.ll
lifetime-simple.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
load-constant-mem.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
load-dead-block.ll [GVN] Don't explicitly materialize undefs from dead blocks 2021-03-06 23:46:24 +01:00
load-from-unreachable-predecessor.ll
loadpre-context.ll [tests] Refresh a bunch of autogen test to adjust for format changes 2021-03-22 10:41:39 -07:00
loadpre-missed-opportunity.ll [GVN] Remove unused check-prefixes 2020-11-08 13:36:42 +00:00
malloc-load-removal.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
masked-load-store-vn-crash.ll [GVN] Account for masked loads/stores depending on load/store instructions 2020-09-10 10:57:33 -05:00
masked-load-store.ll Handle masked loads and stores in MemoryLocation/Dependence 2020-09-08 19:08:44 -05:00
no-mem-dep-info.ll
no_speculative_loads_with_asan.ll
noalias.ll [MemCpyOpt] Correctly merge alias scopes during call slot optimization 2020-12-03 09:23:37 -08:00
non-integral-pointers-inseltpoison.ll Reapply [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast() 2021-03-21 17:48:21 +01:00
non-integral-pointers.ll Reapply [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast() 2021-03-21 17:48:21 +01:00
non-local-offset.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
nonescaping-malloc.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
null-aliases-nothing.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
opt-remarks-multiple-users.ll [GVN] Improve analysis for missed optimization remark 2021-05-17 21:51:15 -07:00
opt-remarks-non-dominating.ll [GVN] Improve analysis for missed optimization remark 2021-05-17 21:51:15 -07:00
opt-remarks.ll
phi-translate-partial-alias.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
phi.ll [gvn] Precisely propagate equalities to phi operands 2021-03-08 08:59:00 -08:00
pr10820.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
pr12979.ll
pr14166.ll [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
pr17732.ll
pr17852.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
pr24397.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
pr24426.ll
pr25440.ll
pr28562.ll
pr28879.ll
pr32314.ll
pr33549.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
pr34908.ll
pr36063.ll
pr42605.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
pr46054-md-nonlocaldefcache-cleanup.ll [MemDep] Also remove load instructions from NonLocalDesCache. 2020-06-17 09:36:53 +01:00
pr49193.ll [GVN] Add missing ICF update 2021-04-06 10:13:42 -07:00
pre-compare.ll
pre-new-inst.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
pre-skip-convergent.ll [gvn] PRE needs to skip convergent intrinsics/calls. 2020-10-30 11:24:40 -04:00
preserve-analysis.ll [NewPM] Pin tests with -debug-pass to legacy PM 2020-09-22 17:54:25 -07:00
preserve-memoryssa.ll [MSSAUpdater] Skip renaming when inserting def in unreachable block. 2020-12-29 18:22:12 +00:00
propagate-ir-flags.ll
range.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
readattrs.ll
rle-must-alias.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
rle-no-phi-translate.ll
rle-nonlocal.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
simplify-icf-cache-invalidation.ll [GVN] Properly invalidate ICF cache when we simplify a value 2021-04-08 14:01:57 -07:00
stale-loop-info.ll
storeinvgroup.ll [MemoryDependence] Fix invariant group store 2021-03-09 19:03:39 -05:00
tbaa.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00
unreachable-predecessor.ll
unreachable_block_infinite_loop.ll
volatile-nonvolatile.ll
vscale.ll [NewPM][BasicAA] basicaa -> basic-aa in Transforms/{New,}GVN 2020-06-26 20:28:18 -07:00