llvm/test/Transforms
Zinovy Nis 047a636bab [PATCH] Force LoopReroll to reset the loop trip count value after reroll.
It's a bug fix. 
For rerolled loops SE trip count remains unchanged. It leads to incorrect work of the next passes.
My patch just resets SE info for rerolled loop forcing SE to re-evaluate it next time it requested.
I also added a verifier call in the exisitng test to be sure no invalid SE data remain. Without my fix this test would fail with -verify-scev.

Differential Revision: http://reviews.llvm.org/D18316


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264051 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-22 13:50:57 +00:00
..
ADCE [PM] Port ADCE to the new pass manager 2015-10-30 23:13:18 +00:00
AddDiscriminators Remove llvm::getDISubprogram in favor of Function::getSubprogram 2016-03-11 02:14:16 +00:00
AlignmentFromAssumptions Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
ArgumentPromotion DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
AtomicExpand ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
BBVectorize Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
BDCE Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
BranchFolding Move branch folding test to a better location. 2015-12-03 19:41:25 +00:00
CodeExtractor Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
CodeGenPrepare [CGP] Duplicate addressing computation in cold paths if required to sink addressing mode 2016-03-09 23:13:12 +00:00
ConstantHoisting [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
ConstantMerge [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
ConstProp IR: Make ConstantDataArray::getFP actually return a ConstantDataArray 2015-12-09 21:21:07 +00:00
CorrelatedValuePropagation [CVP] Convert an SDiv to a UDiv if both operands are known to be nonnegative 2016-03-14 03:24:28 +00:00
CrossDSOCFI [cfi] Cross-DSO CFI diagnostic mode (LLVM part). 2016-01-25 23:35:03 +00:00
DeadArgElim [OperandBundles] Have DeadArgElim play nice with operand bundles 2015-12-23 09:58:36 +00:00
DeadStoreElimination [BasicAliasAnalysis] Take into account operand bundles in the getModRefInfo function 2016-01-16 12:15:53 +00:00
EarlyCSE Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
EliminateAvailableExternally Don't change the visibility when converting a definition to a declaration. 2015-07-13 14:18:22 +00:00
Float2Int [Float2Int] Don't operate on vector instructions 2015-12-09 21:08:18 +00:00
ForcedFunctionAttrs [attrs] Split off the forced attributes utility into its own pass that 2015-12-27 08:13:45 +00:00
FunctionAttrs [attrs] Handle convergent CallSites. 2016-03-14 20:18:54 +00:00
FunctionImport Rework linkInModule(), making it oblivious to ThinLTO 2016-03-19 00:40:31 +00:00
GCOVProfiling [GCOV] Avoid emitting profile arcs for module and skeleton CUs 2016-01-21 17:04:42 +00:00
GlobalDCE [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
GlobalOpt [GlobalOpt] Don't look through aliases when sorting names of globals. 2016-03-15 14:18:26 +00:00
GVN [PM] Port GVN to the new pass manager, wire it up, and teach a couple of 2016-03-11 08:50:55 +00:00
IndVarSimplify [IndVars] Fix PR26974: make sure replaceCongruentIVs doesn't break LCSSA 2016-03-21 12:44:29 +00:00
InferFunctionAttrs [BasicAA] Remove special casing of memset_pattern16 in favor of generic attribute inference 2016-01-06 04:53:16 +00:00
Inline add checks for 'unpredictable' metadata preservation 2016-03-16 18:15:34 +00:00
InstCombine Implement constant folding for bitreverse 2016-03-21 15:00:35 +00:00
InstMerge [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
InstSimplify [InstSimplify] Restore fsub 0.0, (fsub 0.0, X) ==> X optzn 2016-02-29 12:18:25 +00:00
Internalize [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
IPConstantProp [SCCP] Don't violate the lattice invariants 2016-01-07 21:36:16 +00:00
IRCE [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
JumpThreading [JumpThreading] See through Cast Instructions 2016-03-16 04:52:52 +00:00
LCSSA [WinEH] Update LCSSA to handle catchswitch with handlers inside and outside a loop 2015-12-18 18:12:35 +00:00
LICM [AliasSetTracker] Do not strip pointer casts when processing MemSetInst 2016-03-14 18:34:29 +00:00
LoadCombine [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
LoopDataPrefetch [LoopDataPrefetch] Add TTI to limit the number of iterations to prefetch ahead 2016-03-18 00:27:43 +00:00
LoopDeletion [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
LoopDistribute Allow LLE/LD and the loop versioning infrastructure to use SCEV predicates 2015-11-09 13:26:09 +00:00
LoopIdiom [LIR] Avoid turning non-temporal stores into memset 2016-02-17 21:00:06 +00:00
LoopInterchange Add support to interchange loops with reductions. 2015-04-23 04:51:44 +00:00
LoopLoadElim [LLE] Add missed LoopSimplify dependence 2016-03-10 23:54:39 +00:00
LoopReroll [PATCH] Force LoopReroll to reset the loop trip count value after reroll. 2016-03-22 13:50:57 +00:00
LoopRotate [LoopRotate] Don't perform loop rotation if the loop header calls a convergent function. 2016-02-12 21:01:33 +00:00
LoopSimplify DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopSimplifyCFG Add LoopSimplifyCFG pass 2016-01-29 22:35:36 +00:00
LoopStrengthReduce Revert "[LSR] Create fewer redundant instructions." 2016-03-16 19:21:47 +00:00
LoopUnroll [LoopUnroll] Respect the convergent attribute. 2016-03-14 23:15:34 +00:00
LoopUnswitch [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
LoopVectorize [LoopVectorize] Annotate versioned loop with noalias metadata 2016-03-17 20:32:37 +00:00
LoopVersioning [LoopVersioning] Annotate versioned loop with noalias metadata 2016-03-17 20:32:32 +00:00
LoopVersioningLICM Corrected tests for Loop Versioning LICM, by adding “REQUIRES: asserts”. 2016-02-06 12:34:41 +00:00
LowerAtomic [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
LowerBitSets [cfi] Fix LowerBitSets on 32-bit targets. 2015-12-21 22:14:04 +00:00
LowerExpectIntrinsic [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
LowerInvoke Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LowerSwitch Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
Mem2Reg [Mem2Reg] Respect optnone 2015-12-11 13:36:59 +00:00
MemCpyOpt Imporove load to store => memcpy 2016-03-14 22:52:27 +00:00
MergeFunc [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
MetaRenamer Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
NaryReassociate [NaryReassociate] allow candidate to have a different type 2015-12-18 21:36:30 +00:00
ObjCARC [ObjCARC] Handle ARCInstKind::ClaimRV in OptimizeIndividualCalls. 2016-02-17 18:51:27 +00:00
PartiallyInlineLibCalls PartiallyInlineLibCalls: Check sqrt result type before transforming it. 2014-08-01 23:21:21 +00:00
PGOProfile [PGO] Skip value profile instrumentation of inline asm 2016-03-11 18:57:48 +00:00
PhaseOrdering Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
PlaceSafepoints [PlaceSafepoints] Clamp NoStatepoints to true 2016-01-28 21:51:14 +00:00
PruneEH [PruneEH] Don't try to insert a terminator after another terminator 2016-01-23 06:00:44 +00:00
Reassociate Reassociate: Reprocess RedoInsts after each inst 2016-01-26 18:42:36 +00:00
Reg2Mem Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
RewriteStatepointsForGC [RS4GC] "Constant fold" the rs4gc-split-vector-values flag 2016-02-22 21:01:28 +00:00
SafeStack [safestack] Make sure the unsafe stack pointer is popped in all cases 2016-02-02 01:03:11 +00:00
SampleProfile Perform InstructioinCombiningPass before SampleProfile pass. 2016-03-01 22:53:02 +00:00
Scalarizer DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
ScalarRepl Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
SCCP [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
SeparateConstOffsetFromGEP [ValueTracking] Remove dead code from an old experiment 2016-03-03 19:44:06 +00:00
SimplifyCFG propagate 'unpredictable' metadata on select instructions 2016-03-17 15:30:52 +00:00
Sink [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
SLPVectorizer Fix tests that used CHECK-NEXT-NOT and CHECK-DAG-NOT. 2016-02-26 19:40:34 +00:00
SpeculativeExecution Add a speculative execution pass 2015-05-15 17:54:48 +00:00
SROA Have DataLayout::isLegalInteger() accept uint64_t 2016-03-18 23:19:29 +00:00
StraightLineStrengthReduce [SeparateConstOffsetFromGEP] strengthen the inbounds attribute 2015-08-13 18:48:49 +00:00
StripDeadPrototypes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
StripSymbols DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
StructurizeCFG AMDGPU: Remove some old intrinsic uses from tests 2016-02-11 06:02:01 +00:00
TailCallElim Push isDereferenceableAndAlignedPointer down into isSafeToLoadUnconditionally 2016-01-17 12:35:29 +00:00
TailDup [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Util [MemorySSA] Consider def-only BBs for live-in calculations. 2016-03-21 21:25:39 +00:00
WholeProgramDevirt WholeProgramDevirt: introduce. 2016-02-09 22:50:34 +00:00