1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test/Transforms
James Molloy fe6bb5c6e4 [LV] Never widen an induction variable.
There's no need to widen canonical induction variables. It's just as efficient to create a *new*, wide, induction variable.

Consider, if we widen an indvar, then we'll have to truncate it before its uses anyway (1 trunc). If we create a new indvar instead, we'll have to truncate that instead (1 trunc) [besides which IndVars should go and clean up our mess after us anyway on principle].

This lets us remove a ton of special-casing code.

llvm-svn: 246631
2015-09-02 10:15:05 +00:00
..
ADCE Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
AddDiscriminators DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
AlignmentFromAssumptions
ArgumentPromotion DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
AtomicExpand Fix an alignment error in llvm::expandAtomicRMWToCmpXchg without breaking the build where X86 isn't enabled. 2015-08-06 16:55:03 +00:00
BBVectorize Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
BDCE Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
BranchFolding Address post-commit review from r243378. 2015-08-11 00:20:24 +00:00
CodeExtractor Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
CodeGenPrepare AMDGPU: Fix some places missed in rename 2015-06-19 17:39:03 +00:00
ConstantHoisting
ConstantMerge
ConstProp [test] (NFC) Simplify Transforms/ConstProp/calls.ll 2015-08-28 18:04:20 +00:00
CorrelatedValuePropagation [CVP] Don't assume Constants of type i1 can be known to be true or false 2015-06-06 04:56:51 +00:00
DeadArgElim DeadArgElim: don't eliminate arguments from naked functions 2015-09-01 18:06:46 +00:00
DeadStoreElimination DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
EarlyCSE Allow value forwarding past release fences in EarlyCSE 2015-08-27 01:32:33 +00:00
EliminateAvailableExternally Don't change the visibility when converting a definition to a declaration. 2015-07-13 14:18:22 +00:00
Float2Int
FunctionAttrs [FunctionAttr] Infer nonnull attributes on returns 2015-08-31 19:44:38 +00:00
GCOVProfiling DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
GlobalDCE
GlobalOpt DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
GVN DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
IndVarSimplify Make ScalarEvolution::isKnownPredicate a little smarter 2015-08-19 01:51:51 +00:00
Inline DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
InstCombine DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
InstMerge
InstSimplify Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
Internalize Internalize: internalize comdat members as a group, and drop comdat on such members. 2015-07-16 17:42:21 +00:00
IPConstantProp Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
IRCE
JumpThreading [LazyValueInfo] Look through Phi nodes when trying to prove a predicate 2015-08-31 18:31:48 +00:00
LCSSA Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LICM Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
LoadCombine
LoopDeletion
LoopDistribute [LAA] Hold bounds via ValueHandles during SCEV expansion 2015-08-21 23:19:57 +00:00
LoopIdiom DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LoopInterchange
LoopReroll Handle loop with negtive induction variable increment 2015-07-24 22:01:49 +00:00
LoopRotate DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LoopSimplify DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LoopStrengthReduce DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LoopUnroll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LoopUnswitch [LoopUnswitch] Preserve make.implicit metadata for unswitched conditions 2015-08-05 21:13:26 +00:00
LoopVectorize [LV] Never widen an induction variable. 2015-09-02 10:15:05 +00:00
LowerAtomic
LowerBitSets LowerBitSets: Ignore bitset entries that do not directly refer to a global. 2015-06-27 00:17:51 +00:00
LowerExpectIntrinsic
LowerInvoke Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LowerSwitch [LowerSwitch] Fix a bug when LowerSwitch deletes the default block 2015-08-11 18:12:26 +00:00
Mem2Reg DI: Update tests before adding !dbg subprogram attachments 2015-08-28 23:32:00 +00:00
MemCpyOpt Emit argmemonly attribute for intrinsics. 2015-08-13 17:40:04 +00:00
MergeFunc Remove Merge Functions pointer comparisons 2015-08-28 16:49:09 +00:00
MetaRenamer
NaryReassociate [NaryReassociate] enhances nsw by leveraging @llvm.assume 2015-07-01 03:38:49 +00:00
ObjCARC DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
PartiallyInlineLibCalls
PhaseOrdering Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
PlaceSafepoints [Statepoints] Let patchable statepoints have a symbolic call target. 2015-07-28 23:50:30 +00:00
PruneEH [PruneEH] A naked, noinline function can return via InlineAsm 2015-06-27 07:52:53 +00:00
Reassociate Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
Reg2Mem Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
RewriteStatepointsForGC Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
SafeStack SafeStack: Create the unsafe stack pointer on demand. 2015-06-22 20:26:54 +00:00
SampleProfile DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
Scalarizer DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
ScalarRepl DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
SCCP [ConstantFolding] Support folding loads from a GlobalAlias 2015-07-22 22:29:30 +00:00
SeparateConstOffsetFromGEP [SeparateConstOffsetFromGEP] sext(a)+sext(b) => sext(a+b) when a+b can't sign-overflow. 2015-08-14 02:02:05 +00:00
SimplifyCFG Revert r246232 and r246304. 2015-08-28 21:13:39 +00:00
Sink Teach the IR Sink pass to (conservatively) respect convergent annotations. 2015-06-01 17:20:31 +00:00
SLPVectorizer DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
SpeculativeExecution Add a speculative execution pass 2015-05-15 17:54:48 +00:00
SROA Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
StraightLineStrengthReduce [SeparateConstOffsetFromGEP] strengthen the inbounds attribute 2015-08-13 18:48:49 +00:00
StripSymbols DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
StructurizeCFG Fix CHECK directives that weren't checking. 2015-08-31 21:10:35 +00:00
TailCallElim Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
TailDup
Util Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00