llvm-mirror/lib/Transforms/Scalar
Chandler Carruth 095e171fae Refactor the SROA visitors for partitioning an alloca and building
partition use lists a bit. No functionality changed.

These visitors are actually visiting a tuple of a Use and an offset into
the alloca. However, we use the InstVisitor to handle the dispatch over
the users, and so the Use and Offset are stored in class member
variables and set just before each call to visit(). This is fairly
awkward and makes the functions a bit harder to read, but its the only
real option we have until InstVisitor can be rewritten to use variadic
templates.

However, this pattern shouldn't be followed on the helper member
functions where there is no interface constraint from the visitor. We
already were passing the instruction as a normal parameter rather than
use the Use to get at it, start passing the offset as well. This will
become more important in subsequent patches as the offset will in some
cases change while visiting a single instruction.

llvm-svn: 164003
2012-09-16 19:39:50 +00:00
..
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt Introduce a new SROA implementation. 2012-09-14 09:22:59 +00:00
CodeGenPrepare.cpp Stylistic and 80-col fixes 2012-09-14 21:25:34 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
DeadStoreElimination.cpp DSE: Poking holes into a SetVector is expensive, avoid it if possible. 2012-09-09 16:44:05 +00:00
EarlyCSE.cpp Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments. 2012-09-15 17:09:36 +00:00
GlobalMerge.cpp
GVN.cpp Release build: guard dump functions with 2012-09-12 05:06:18 +00:00
IndVarSimplify.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
JumpThreading.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
LICM.cpp LICM may hoist an instruction with undefined behavior above a trap. 2012-09-04 10:25:04 +00:00
LLVMBuild.txt
LoopDeletion.cpp
LoopIdiomRecognize.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
LoopInstSimplify.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
LoopRotation.cpp LoopRotation: Make the brute force DomTree update more brute force. 2012-09-02 11:57:22 +00:00
LoopStrengthReduce.cpp Release build: guard dump functions with 2012-09-12 05:06:18 +00:00
LoopUnrollPass.cpp
LoopUnswitch.cpp
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp MemCpyOpt: When forming a memset from stores also take GEP constexprs into account. 2012-09-13 16:29:49 +00:00
ObjCARC.cpp Fix Doxygen issues: 2012-09-14 14:57:36 +00:00
Reassociate.cpp
Reg2Mem.cpp
Scalar.cpp Introduce a new SROA implementation. 2012-09-14 09:22:59 +00:00
ScalarReplAggregates.cpp Port the global copy optimization from the SROA pass to InstCombine. 2012-08-21 08:39:44 +00:00
SCCP.cpp
SimplifyCFGPass.cpp Update function names to conform to guidelines. 2012-09-06 00:59:08 +00:00
SimplifyLibCalls.cpp SimplifyLibCalls: Give all safely-shrinkable libcalls the same treatment. 2012-08-22 19:39:15 +00:00
Sink.cpp
SROA.cpp Refactor the SROA visitors for partitioning an alloca and building 2012-09-16 19:39:50 +00:00
TailRecursionElimination.cpp