llvm-6502/lib/Transforms/Scalar
Hal Finkel 2c7c54c86c AA metadata refactoring (introduce AAMDNodes)
In order to enable the preservation of noalias function parameter information
after inlining, and the representation of block-level __restrict__ pointer
information (etc.), additional kinds of aliasing metadata will be introduced.
This metadata needs to be carried around in AliasAnalysis::Location objects
(and MMOs at the SDAG level), and so we need to generalize the current scheme
(which is hard-coded to just one TBAA MDNode*).

This commit introduces only the necessary refactoring to allow for the
introduction of other aliasing metadata types, but does not actually introduce
any (that will come in a follow-up commit). What it does introduce is a new
AAMDNodes structure to hold all of the aliasing metadata nodes associated with
a particular memory-accessing instruction, and uses that structure instead of
the raw MDNode* in AliasAnalysis::Location, etc.

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213859 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-24 12:16:19 +00:00
..
ADCE.cpp
CMakeLists.txt MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
ConstantHoisting.cpp
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
EarlyCSE.cpp
FlattenCFGPass.cpp
GVN.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
IndVarSimplify.cpp
JumpThreading.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
LICM.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
LLVMBuild.txt
LoadCombine.cpp
LoopDeletion.cpp
LoopIdiomRecognize.cpp
LoopInstSimplify.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
LoopRerollPass.cpp Feeding isSafeToSpeculativelyExecute its DataLayout pointer 2014-07-10 14:41:31 +00:00
LoopRotation.cpp
LoopStrengthReduce.cpp
LoopUnrollPass.cpp Do not add unroll disable metadata after unrolling pass for loops with #pragma clang loop unroll(full). 2014-07-23 20:05:44 +00:00
LoopUnswitch.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp Don't eliminate memcpy's when the address of the pointer may itself be relevant. Fixes PR18304. Patch by David Wiberg! 2014-07-14 18:52:02 +00:00
MergedLoadStoreMotion.cpp Fix for regression: [Bug 20369] wrong code at -O3 on x86_64-linux-gnu in 64-bit mode 2014-07-21 03:02:46 +00:00
PartiallyInlineLibCalls.cpp
Reassociate.cpp
Reg2Mem.cpp
SampleProfile.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
Scalar.cpp MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
Scalarizer.cpp
ScalarReplAggregates.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
SCCP.cpp
SeparateConstOffsetFromGEP.cpp Partially revert r210444 due to performance regression 2014-07-16 23:25:00 +00:00
SimplifyCFGPass.cpp
Sink.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
SROA.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
StructurizeCFG.cpp Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." 2014-07-21 17:06:51 +00:00
TailRecursionElimination.cpp We may visit a call that uses an alloca multiple times in callUsesLocalStack, sometimes with IsNocapture true and sometimes with IsNocapture false. We accidentally skipped work we needed to do in the IsNocapture=false case if we were called with IsNocapture=true the first time. Fixes PR20405! 2014-07-23 06:24:49 +00:00