llvm-6502/test/Transforms
Arnold Schwaighofer 1bdb320dae BasicAA: Fix value equality and phi cycles
When there are cycles in the value graph we have to be careful interpreting
"Value*" identity as "value" equivalence. We interpret the value of a phi node
as the value of its operands.
When we check for value equivalence now we make sure that the "Value*" dominates
all cycles (phis).

%0 = phi [%noaliasval, %addr2]
%l = load %ptr
%addr1 = gep @a, 0, %l
%addr2 = gep @a, 0, (%l + 1)
store %ptr ...

Before this patch we would return NoAlias for (%0, %addr1) which is wrong
because the value of the load is from different iterations of the loop.

Tested on x86_64 -mavx at O3 and O3 -flto with no performance or compile time
regressions.

PR18068
radar://15653794

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198290 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-02 03:31:36 +00:00
..
ADCE
ArgumentPromotion ArgumentPromotion: correctly transfer TBAA tags and alignments. 2013-11-15 20:41:15 +00:00
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge Corruptly merge constants with explicit and implicit alignments. 2013-11-12 20:21:43 +00:00
ConstProp
CorrelatedValuePropagation
DeadArgElim Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
DeadStoreElimination Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
DebugIR
EarlyCSE
FunctionAttrs
GCOVProfiling Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
GlobalDCE
GlobalOpt Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers 2013-12-12 20:45:24 +00:00
GVN Fix PR17952. 2013-11-11 22:00:23 +00:00
IndVarSimplify Add support to indvars for optimizing sadd.with.overflow. 2013-12-23 23:31:49 +00:00
Inline [inliner] Fix PR18206 by preventing inlining functions that call setjmp 2013-12-13 08:00:01 +00:00
InstCombine Disable transforms that introduce calls to exp10*() on Linux due to 2013-12-28 02:40:19 +00:00
InstSimplify
Internalize Correct word hyphenations 2013-12-05 05:44:44 +00:00
IPConstantProp
JumpThreading Don't eliminate a partially redundant load if it's in a landing pad. 2013-10-21 04:09:17 +00:00
LCSSA
LICM Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
LoopDeletion
LoopIdiom Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
LoopReroll Add a loop rerolling pass 2013-11-16 23:59:05 +00:00
LoopRotate Rename test with misspelt filename 2013-12-02 04:31:36 +00:00
LoopSimplify
LoopStrengthReduce Fix "existant" typos 2013-10-29 02:35:28 +00:00
LoopUnroll
LoopUnswitch
LoopVectorize LoopVectorizer: Don't if-convert constant expressions that can trap 2013-12-17 01:11:01 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
MemCpyOpt
MergeFunc PR17925 bugfix. 2013-11-26 16:11:03 +00:00
MetaRenamer
ObjCARC BasicAA: Fix value equality and phi cycles 2014-01-02 03:31:36 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
SampleProfile llvm/test/Transforms/SampleProfile/syntax.ll: Relax an expression, not to check locale-dependent message. 2013-12-03 02:20:53 +00:00
Scalarizer Fix Scalarizer insertion point when replacing PHIs with insertelements 2013-12-23 14:51:56 +00:00
ScalarRepl Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
SCCP
SimplifyCFG Transforms: Don't create bad weights when eliminating dead cases 2013-12-20 08:21:30 +00:00
Sink
SLPVectorizer SLPVectorizer: An in-tree vectorized entry cannot also be a scalar external use 2013-12-05 15:14:40 +00:00
SROA Fix an issue where SROA computed different results based on the relative 2013-11-19 09:03:18 +00:00
StripSymbols Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
StructurizeCFG StructurizeCFG: Fix verification failure with some loops. 2013-11-22 19:24:39 +00:00
TailCallElim
TailDup