1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/Transforms
Bjorn Pettersson 6aa37cb0b7 [ScalarEvolution] Fix base condition in isNormalAddRecPHI.
Summary:
The function is meant to recurse until it comes upon the
phi it's looking for. However, with the current condition,
it will recurse until it finds anything _but_ the phi.

The function will even fail for simple cases like:
  %i = phi i32 [ %inc, %loop ], ...
  ...
  %inc = add i32 %i, 1

because the base condition will not happen when the phi
is recursed to, and the recursion will end with a 'false'
result since the previous instruction is a phi.

Reviewers: sanjoy, atrick

Reviewed By: sanjoy

Subscribers: Ka-Ka, bjope, llvm-commits

Committing on behalf of: Bevin Hansson (bevinh)

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

llvm-svn: 320700
2017-12-14 14:47:52 +00:00
..
ADCE [ADCE][Dominators] Reapply: Teach ADCE to preserve dominators 2017-08-22 16:30:21 +00:00
AddDiscriminators
AlignmentFromAssumptions
ArgumentPromotion [ArgPromotion] Preserve alignment of byval argument in new alloca 2017-08-04 17:09:11 +00:00
AtomicExpand
BDCE [BDCE] Don't check demanded bits on unsized types 2017-08-16 16:09:22 +00:00
BranchFolding
CalledValuePropagation Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
CallSiteSplitting [CallSiteSplitting] Refactor creating callsites. 2017-12-13 03:05:20 +00:00
CodeExtractor [InlineFunction] Set debug loc for call to forward varargs. 2017-12-09 14:25:33 +00:00
CodeGenPrepare [BypassSlowDivision] Improve our handling of divisions by constants 2017-12-04 19:21:58 +00:00
ConstantHoisting Fix out-of-order stepping behavior in programs with hoisted constants. 2017-11-09 20:01:31 +00:00
ConstantMerge Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
ConstProp
Coroutines [coroutines] Add support for symmetric control transfer (musttail on coro.resumes followed by a suspend) 2017-08-25 02:25:10 +00:00
CorrelatedValuePropagation [CVP] Remove some {s|u}sub.with.overflow checks. 2017-12-05 18:14:24 +00:00
CrossDSOCFI [cfi] Build __cfi_check as Thumb when applicable. 2017-08-29 22:29:15 +00:00
DCE Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
DeadArgElim Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
DeadStoreElimination Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
DivRemPairs [DivRemPairs] split tests per target to account for bots that don't build for all targets 2017-09-09 14:10:59 +00:00
EarlyCSE [EarlyCSE] recognize swapped variants of abs/nabs as equivalent 2017-12-13 22:57:35 +00:00
EliminateAvailableExternally
EntryExitInstrumenter EntryExitInstrumenter: set DebugLocs on the inserted call instructions (PR35412) 2017-11-28 18:44:26 +00:00
ExpandMemCmp/X86 re-land [ExpandMemCmp] Split ExpandMemCmp from CodeGen into its own pass." 2017-11-03 12:12:27 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
FunctionImport Fix bot failures by requiring x86 target 2017-08-19 19:15:04 +00:00
GCOVProfiling Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
GlobalDCE
GlobalMerge Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
GlobalOpt Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
GlobalSplit
GuardWidening
GVN Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
GVNHoist [GVNHoist] Fix: PR35222 gvn-hoist incorrectly erases load 2017-12-13 19:40:07 +00:00
GVNSink Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
IndVarSimplify [ScalarEvolution] Fix base condition in isNormalAddRecPHI. 2017-12-14 14:47:52 +00:00
InferAddressSpaces InferAddressSpaces: Fix bug about replacing addrspacecast 2017-10-30 21:19:41 +00:00
InferFunctionAttrs
Inline [InlineCost] Tracking Values through PHI Nodes 2017-12-14 14:36:18 +00:00
InstCombine Inserting several lit tests to reflect current behaviour 2017-12-14 12:00:04 +00:00
InstMerge
InstNamer
InstSimplify Reintroduce r320049, r320014 and r319894. 2017-12-13 11:21:18 +00:00
InterleavedAccess [X86][LLVM]Expanding Supports lowerInterleaved{store|load}() in X86InterleavedAccess (VF64 stride 3-4) 2017-10-02 07:35:25 +00:00
Internalize
IPConstantProp
IRCE [IRCE] Smart range intersection 2017-11-20 06:07:57 +00:00
JumpThreading Reverting [JumpThreading] Preservation of DT and LVI across the pass 2017-12-13 22:01:17 +00:00
LCSSA
LICM [LICM] Fix PR35342 2017-11-17 20:38:25 +00:00
LoadStoreVectorizer Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
LoopDataPrefetch
LoopDeletion [Dominators] Teach LoopDeletion to use the new incremental API 2017-08-02 18:17:52 +00:00
LoopDistribute
LoopIdiom Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
LoopInterchange [LoopInterchange] Fix phi node ordering miscompile. 2017-10-21 13:58:37 +00:00
LoopLoadElim
LoopPredication [Loop Predication] Teach LP about reverse loops 2017-12-04 15:11:48 +00:00
LoopReroll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
LoopRotate Fix llvm/test/Transforms/LoopRotate/pr35210.ll in rL318237, it uses debug options. 2017-11-15 06:46:58 +00:00
LoopSimplify [SCEV] Teach SCEV to find maxBECount when loop endbound is variant 2017-10-13 14:30:43 +00:00
LoopSimplifyCFG
LoopStrengthReduce LSR: Check more intrinsic pointer operands 2017-12-11 21:38:43 +00:00
LoopUnroll loop-unroll: teach remapInstruction to update dbg.value intrinsics. 2017-11-01 23:12:35 +00:00
LoopUnswitch [LoopUnswitch] Fix a simple bug which disables loop unswitch for select statement 2017-08-29 21:45:11 +00:00
LoopVectorize [LV] Support efficient vectorization of an induction with redundant casts 2017-12-14 07:56:31 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic LowerAtomic: Don't skip optnone functions; atomic still need lowering (PR34020) 2017-08-23 15:43:28 +00:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests Current implementation of Value::replaceUsesExceptBlockAddr() uses UseList 2017-11-17 00:30:24 +00:00
Mem2Reg [Debugify] Add a pass to test debug info preservation 2017-12-08 21:57:28 +00:00
MemCpyOpt Revert r319482 and r319483 "[memcpyopt] Teach memcpyopt to optimize across basic blocks" 2017-12-06 01:47:55 +00:00
MergeFunc [TailRecursionElimination] Skip debug intrinsics. 2017-11-28 09:32:25 +00:00
MergeICmps Re-land "[MergeICmps] Disable mergeicmps if the target does not want to handle memcmp expansion." 2017-10-10 08:00:45 +00:00
MetaRenamer [MetaRenamer] Leave @main alone. 2017-08-01 05:14:45 +00:00
NameAnonGlobals
NaryReassociate
NewGVN Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
ObjCARC ObjCARC: do not increment past the end of the BB 2017-10-24 00:09:10 +00:00
PartiallyInlineLibCalls [PartiallyInlineLibCalls][x86] add TTI hook to allow sqrt inlining to depend on arg rather than result 2017-11-27 21:15:43 +00:00
PGOProfile Split IndirectBr critical edges before PGO gen/use passes. 2017-12-12 19:07:43 +00:00
PhaseOrdering [PassManager, SimplifyCFG] add test for PR34603 / D38566; NFC 2017-11-15 16:37:30 +00:00
PlaceSafepoints All libcalls should be considered to be GC-leaf functions. 2017-07-27 16:49:39 +00:00
PreISelIntrinsicLowering
PruneEH
Reassociate Reassociate: add global reassociation algorithm 2017-12-12 19:18:02 +00:00
Reg2Mem
RewriteStatepointsForGC Strip off invariant.start because memory locations arent invariant 2017-11-02 18:24:04 +00:00
SafeStack Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
SampleProfile Include already promoted counts when computing SUM for VP. 2017-11-06 19:52:49 +00:00
Scalarizer Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
SCCP [SCCP] Pick the right lattice value for constants. 2017-11-22 03:04:55 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch [PM/Unswitch] Teach SimpleLoopUnswitch to do non-trivial unswitching, 2017-11-17 19:58:36 +00:00
SimplifyCFG Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
Sink Enhance synchscope representation 2017-07-11 22:23:00 +00:00
SLPVectorizer [SLP] Vectorize jumbled memory loads. 2017-12-13 03:08:29 +00:00
SpeculateAroundPHIs Add a new pass to speculate around PHI nodes with constant (integer) operands when profitable. 2017-11-28 11:32:31 +00:00
SpeculativeExecution
SROA Recommit rL319407: [SROA] enable splitting for non-whole-alloca loads and stores 2017-12-01 06:05:05 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
StructurizeCFG [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
TailCallElim Remove this test 2017-11-28 22:39:38 +00:00
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. 2017-11-30 23:05:52 +00:00
Util [InstCombine] Add a flag to disable LowerDbgDeclare 2017-09-13 01:43:25 +00:00
WholeProgramDevirt [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00