llvm-project/llvm/lib/Transforms/Scalar
Chandler Carruth 2659e503c3 [SROA] Simplify the computing of alignment: we only ever need the
alignment of the slice being rewritten, not any arbitrary offset.

Every caller is really just trying to compute the alignment for the
whole slice, never for some arbitrary alignment. They are also just
passing a type when they have one to see if we can skip an explicit
alignment in the IR by using the type's alignment. This makes for a much
simpler interface.

Another refactoring inspired by the addrspace patch for SROA, although
only loosely related.

llvm-svn: 202230
2014-02-26 05:02:19 +00:00
..
ADCE.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
CMakeLists.txt [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
ConstantHoisting.cpp Fix typos 2014-02-25 04:21:15 +00:00
ConstantProp.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
CorrelatedValuePropagation.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
DCE.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
DeadStoreElimination.cpp Factor out calls to AA.getDataLayout(). 2014-02-25 15:52:19 +00:00
EarlyCSE.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
FlattenCFGPass.cpp Factor FlattenCFG out from SimplifyCFG 2013-08-06 02:43:45 +00:00
GVN.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
GlobalMerge.cpp Rename many DataLayout variables from TD to DL. 2014-02-21 00:06:31 +00:00
IndVarSimplify.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
JumpThreading.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
LICM.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
LoopDeletion.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LoopIdiomRecognize.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
LoopInstSimplify.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
LoopRerollPass.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
LoopRotation.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LoopStrengthReduce.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LoopUnrollPass.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LoopUnswitch.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LowerAtomic.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
Makefile
MemCpyOptimizer.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
PartiallyInlineLibCalls.cpp Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
Reassociate.cpp [reassociate] Switch two std::sort calls into std::stable_sort calls as 2014-02-25 21:54:50 +00:00
Reg2Mem.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SCCP.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
SROA.cpp [SROA] Simplify the computing of alignment: we only ever need the 2014-02-26 05:02:19 +00:00
SampleProfile.cpp Include <cctype> for isdigit(). 2014-02-22 06:34:10 +00:00
Scalar.cpp [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
ScalarReplAggregates.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
Scalarizer.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
SimplifyCFGPass.cpp Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
Sink.cpp [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00
StructurizeCFG.cpp cleanup: scc_iterator consumers should use isAtEnd 2014-02-04 19:19:07 +00:00
TailRecursionElimination.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00