projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Detect need for autoalignment of the stack earlier to catch spills more
[oota-llvm.git]
/
lib
/
Target
/
ARM
/
ARMTargetMachine.cpp
diff --git
a/lib/Target/ARM/ARMTargetMachine.cpp
b/lib/Target/ARM/ARMTargetMachine.cpp
index 4d20a5c1a03da02d5de95589e59cf48e37009ded..2564ed925475066d62af411b63877722f4dd10c9 100644
(file)
--- a/
lib/Target/ARM/ARMTargetMachine.cpp
+++ b/
lib/Target/ARM/ARMTargetMachine.cpp
@@
-93,6
+93,10
@@
bool ARMBaseTargetMachine::addPreRegAlloc(PassManagerBase &PM,
if (Subtarget.hasNEON())
PM.add(createNEONPreAllocPass());
if (Subtarget.hasNEON())
PM.add(createNEONPreAllocPass());
+ // Calculate and set max stack object alignment early, so we can decide
+ // whether we will need stack realignment (and thus FP).
+ PM.add(createARMMaxStackAlignmentCalculatorPass());
+
// FIXME: temporarily disabling load / store optimization pass for Thumb1.
if (OptLevel != CodeGenOpt::None && !Subtarget.isThumb1Only())
PM.add(createARMLoadStoreOptimizationPass(true));
// FIXME: temporarily disabling load / store optimization pass for Thumb1.
if (OptLevel != CodeGenOpt::None && !Subtarget.isThumb1Only())
PM.add(createARMLoadStoreOptimizationPass(true));