llvm-6502/lib/Transforms/Utils
Lang Hames bb5b3f3359 Add a natural stack alignment field to TargetData, and prevent InstCombine from
promoting allocas to preferred alignments that exceed the natural
alignment. This avoids some potentially expensive dynamic stack realignments.

The natural stack alignment is set in target data strings via the "S<size>"
option. Size is in bits and must be a multiple of 8. The natural stack alignment
defaults to "unspecified" (represented by a zero value), and the "unspecified"
value does not prevent any alignment promotions. Target maintainers that care
about avoiding promotions should explicitly add the "S<size>" option to their
target data strings.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141599 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10 23:42:08 +00:00
..
AddrModeMatcher.cpp
BasicBlockUtils.cpp
BasicInliner.cpp
BreakCriticalEdges.cpp LSR should avoid redundant edge splitting. 2011-10-04 03:50:44 +00:00
BuildLibCalls.cpp
CloneFunction.cpp Enhance a couple places where we were doing constant folding of instructions, 2011-10-02 09:12:55 +00:00
CloneModule.cpp
CMakeLists.txt
CodeExtractor.cpp
DemoteRegToStack.cpp
InlineFunction.cpp
InstructionNamer.cpp
LCSSA.cpp
Local.cpp Add a natural stack alignment field to TargetData, and prevent InstCombine from 2011-10-10 23:42:08 +00:00
LoopSimplify.cpp
LoopUnroll.cpp
LowerExpectIntrinsic.cpp
LowerInvoke.cpp
LowerSwitch.cpp Clean up uses of switch instructions so they are not dependent on the operand ordering. Patch by Stepan Dyatkovskiy. 2011-09-29 20:21:17 +00:00
Makefile
Mem2Reg.cpp
PromoteMemoryToRegister.cpp
SimplifyCFG.cpp
SimplifyIndVar.cpp
SimplifyInstructions.cpp
SSAUpdater.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp
ValueMapper.cpp