llvm-project/llvm/test/Transforms
Eli Friedman a69084ffa8 [CodeGenPrepare] Fix bad IR created by large offset GEP splitting.
Creating the IR builder, then modifying the CFG, leads to an IRBuilder
where the BB and insertion point are inconsistent, so new instructions
have the wrong parent.

Modified an existing test because the test wasn't covering anything
useful (the "invoke" was not actually an invoke by the time we hit the
code in question).

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

llvm-svn: 349693
2018-12-19 22:52:04 +00:00
..
ADCE
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] convert rotate with guard branch into funnel shift (PR34924) 2018-12-17 21:14:51 +00:00
AlignmentFromAssumptions
ArgumentPromotion [IPO][AVR] Create new Functions in the default address space specified in the data layout 2018-12-18 09:52:52 +00:00
AtomicExpand AMDGPU: Expand atomicrmw nand in IR 2018-10-02 03:50:56 +00:00
BDCE Revert "[BDCE][DemandedBits] Detect dead uses of undead instructions" 2018-12-19 22:09:02 +00:00
BlockExtractor [hot-cold-split] Name split functions with ".cold" suffix 2018-10-24 18:53:47 +00:00
BranchFolding
CallSiteSplitting [CallSiteSplitting] Report edge deletion to DomTreeUpdater 2018-11-29 15:27:04 +00:00
CalledValuePropagation
CodeExtractor [PartialInliner] Make PHIs free in cost computation. 2018-11-27 18:17:27 +00:00
CodeGenPrepare [CodeGenPrepare] Fix bad IR created by large offset GEP splitting. 2018-12-19 22:52:04 +00:00
ConstProp [ConstantFolding] Handle leading zero-size elements in load folding 2018-12-11 20:29:16 +00:00
ConstantHoisting X86/TargetTransformInfo: Report div/rem constant immediate costs as TCC_Free 2018-10-11 23:14:35 +00:00
ConstantMerge
Coroutines [coroutines] Improve suspend point simplification 2018-12-11 21:23:09 +00:00
CorrelatedValuePropagation [test] Add a set of test for constant folding deopt operands with CVP 2018-12-13 00:54:05 +00:00
CrossDSOCFI
DCE
DeadArgElim [IPO][AVR] Create new Functions in the default address space specified in the data layout 2018-12-18 09:52:52 +00:00
DeadStoreElimination [BasicAA] Don't assume tail calls with byval don't alias allocas 2018-08-14 01:24:35 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] If DI can't be salvaged, mark it as unavailable. 2018-12-17 01:42:39 +00:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp/X86
Float2Int
ForcedFunctionAttrs
FunctionAttrs [FuncAttrs] Remove "access range attributes" for read-none functions 2018-09-11 11:51:29 +00:00
FunctionImport [ThinLTO] Allow importing of functions with var args 2018-12-01 05:11:46 +00:00
GCOVProfiling [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
GVN [GVN] Don't perform scalar PRE on GEPs 2018-12-06 16:11:58 +00:00
GVNHoist [MemorySSAUpdater] Avoid creating self-referencing MemoryDefs 2018-09-11 14:29:59 +00:00
GVNSink [Local] Make DoesKMove required for combineMetadata. 2018-08-24 11:40:04 +00:00
GlobalDCE GlobalDCE: Teach isEmptyFunction() to ignore debug intrinsics. 2018-11-16 17:47:21 +00:00
GlobalMerge [GlobalMerge] Allow merging globals with explicit section markings. 2018-08-02 23:54:16 +00:00
GlobalOpt [DebugInfo][GlobalOpt] Fix -debugify for globalopt shrinking globals to booleans. 2018-10-23 16:35:51 +00:00
GlobalSplit
GuardWidening [GuardWidening] Ignore guards with trivial conditions 2018-08-22 02:40:49 +00:00
HotColdSplit [HotColdSplitting] Disable outlining landingpad instructions (PR39917) 2018-12-11 18:05:31 +00:00
IPConstantProp Recommit r333268: [IPSCCP] Use PredicateInfo to propagate facts from cmp instructions. 2018-08-23 11:04:00 +00:00
IRCE Revert "[SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs" 2018-08-27 21:41:37 +00:00
IndVarSimplify Return "[IndVars] Smart hard uses detection" 2018-11-08 11:54:35 +00:00
IndirectBrExpand
InferAddressSpaces AMDGPU: Fix tests using old number for constant address space 2018-09-10 02:54:25 +00:00
InferFunctionAttrs Allow norecurse attribute on functions that have debug infos. 2018-12-05 16:48:00 +00:00
Inline [SampleFDO] handle ProfileSampleAccurate when initializing function entry count 2018-12-13 21:51:42 +00:00
InstCombine Regenerate test 2018-12-19 17:24:34 +00:00
InstMerge [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion 2018-11-02 18:25:41 +00:00
InstNamer
InstSimplify [InstSimplify] Simplify saturating add/sub + icmp 2018-12-17 17:45:18 +00:00
InterleavedAccess
Internalize
JumpThreading [JumpThreading] Fix exponential time algorithm computing known values. 2018-11-09 22:35:26 +00:00
LCSSA [DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop 2018-10-16 08:06:48 +00:00
LICM Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
LoadStoreVectorizer [PM] Port LoadStoreVectorizer to the new pass manager. 2018-12-07 08:23:37 +00:00
LoopDataPrefetch
LoopDeletion [LoopUtils] Use i32 instead of `void`. 2018-12-13 18:37:23 +00:00
LoopDistribute [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopIdiom SCEV should forget all loops containing a deleted block. 2018-08-09 17:53:26 +00:00
LoopInstSimplify Update MemorySSA in LoopInstSimplify. 2018-08-22 20:05:21 +00:00
LoopInterchange [LoopInterchange] Support reductions across inner and outer loop. 2018-11-08 20:44:19 +00:00
LoopLoadElim
LoopPredication
LoopReroll [LoopReroll] Rewrite induction variable rewriting. 2018-06-22 22:58:55 +00:00
LoopRotate Update MemorySSA in LoopRotate. 2018-10-24 22:46:45 +00:00
LoopSimplify Revert r346810 "Preserve loop metadata when splitting exit blocks" 2018-11-14 01:47:32 +00:00
LoopSimplifyCFG [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside 2018-12-07 05:44:45 +00:00
LoopStrengthReduce [LoopStrengthReduce] ComplexityLimit as an option 2018-11-29 08:34:22 +00:00
LoopTransformWarning [TransformWarning] Do not warn missed transformations in optnone functions. 2018-12-14 19:45:43 +00:00
LoopUnroll [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops. 2018-12-18 17:16:05 +00:00
LoopUnrollAndJam [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUnswitch Update MemorySSA in LoopUnswitch. 2018-09-11 19:19:21 +00:00
LoopVectorize [LAA] Introduce enum for vectorization safety status (NFC). 2018-12-18 22:25:11 +00:00
LoopVersioning Re-apply "[SCEV] Strengthen StrengthenNoWrapFlags (reapply r334428)." 2018-07-13 23:58:46 +00:00
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests [LowerTypeTests] Limit when icall jumptable entries are emitted 2018-07-13 19:57:39 +00:00
MakeGuardsExplicit Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
Mem2Reg [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
MemCpyOpt Reapply "[MemCpyOpt] memset->memcpy forwarding with undef tail" 2018-12-13 20:04:27 +00:00
MergeFunc [IPO][AVR] Create new Functions in the default address space specified in the data layout 2018-12-18 09:52:52 +00:00
MergeICmps [MergeICmps] Do not perform the transformation if GEP is used outside of block 2018-11-05 18:16:32 +00:00
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [NewGVN] Update use counts for SSA copies when replacing them by their operands. 2018-12-15 00:32:38 +00:00
ObjCARC Change the objc ARC optimizer to use the new objc.* intrinsics 2018-12-18 20:32:49 +00:00
PGOProfile [PGO] Exit early if all count values are zero 2018-11-07 23:51:20 +00:00
PartiallyInlineLibCalls
PhaseOrdering [AggressiveInstCombine] convert rotate with guard branch into funnel shift (PR34924) 2018-12-17 21:14:51 +00:00
PlaceSafepoints
PreISelIntrinsicLowering Preserve the linkage for objc* intrinsics as clang will set them to weak_external in some cases 2018-12-18 22:42:08 +00:00
PruneEH [Transforms] Preserve metadata when converting invoke to call. 2018-12-14 18:15:11 +00:00
Reassociate [PatternMatch] Handle undef vectors consistently 2018-11-20 16:08:19 +00:00
Reg2Mem
RewriteStatepointsForGC NFC - Various typo fixes in tests 2018-07-04 13:28:39 +00:00
SCCP [ConstantFold] Use getMinSignedBits for APInt in isIndexInRangeOfArrayType. 2018-12-12 18:55:14 +00:00
SLPVectorizer [CostModel][X86][AArch64] Adjust cost of the scalarization part of min/max reduction. 2018-12-10 06:58:58 +00:00
SROA SROA: preserve alignment tags on loads and stores. 2018-12-18 09:29:39 +00:00
SafeStack SafeStack: Prevent OOB reads with mem intrinsics 2018-08-30 20:44:51 +00:00
SampleProfile [SampleFDO] handle ProfileSampleAccurate when initializing function entry count 2018-12-13 21:51:42 +00:00
ScalarizeMaskedMemIntrin/X86 [ScalarizeMaskedMemIntrin] Use MinAlign to calculate alignment for the scalar load/stores to handle element types that are byte-sized but not powers of 2. 2018-09-28 03:35:37 +00:00
Scalarizer [PM] Port Scalarizer to the new pass manager. 2018-11-21 14:00:17 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch Update MemorySSA in SimpleLoopUnswitch. 2018-12-04 14:23:37 +00:00
SimplifyCFG [SimplifyCFG] add tests for cross block compare folding; NFC 2018-12-03 16:55:29 +00:00
Sink
SpeculateAroundPHIs
SpeculativeExecution
StraightLineStrengthReduce [SLSR] use 'match' to simplify code; NFC 2018-10-23 14:07:39 +00:00
StripDeadPrototypes
StripSymbols
StructurizeCFG StructurizeCFG: Simplify inserted PHI nodes 2018-10-17 15:37:41 +00:00
SyntheticCountsPropagation
TailCallElim [TailCallElim] Enable marking of calls with byval as tails 2018-10-08 18:03:40 +00:00
ThinLTOBitcodeWriter
Util [Util] Refer to [s|z]exts of args when converting dbg.declares (fix PR35400) 2018-12-15 00:03:33 +00:00
WholeProgramDevirt [ThinLTO] Efficiency fix for writing type id records in per-module indexes 2018-09-25 20:14:40 +00:00