[llvm-commits] [llvm] r77758 - /llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
Dan Gohman
gohman at apple.com
Fri Jul 31 17:31:02 PDT 2009
Author: djg
Date: Fri Jul 31 19:31:02 2009
New Revision: 77758
URL: http://llvm.org/viewvc/llvm-project?rev=77758&view=rev
Log:
The X86 maximal stack alignment calculator preserves the CFG. Also,
be more careful about the return value of runOnMachineFunction.
Modified:
llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=77758&r1=77757&r2=77758&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Fri Jul 31 19:31:02 2009
@@ -1451,14 +1451,21 @@
RegNum < RI.getLastVirtReg(); ++RegNum)
MaxAlign = std::max(MaxAlign, RI.getRegClass(RegNum)->getAlignment());
- FFI->setMaxAlignment(MaxAlign);
+ if (FFI->getMaxAlignment() == MaxAlign)
+ return false;
- return false;
+ FFI->setMaxAlignment(MaxAlign);
+ return true;
}
virtual const char *getPassName() const {
return "X86 Maximal Stack Alignment Calculator";
}
+
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesCFG();
+ MachineFunctionPass::getAnalysisUsage(AU);
+ }
};
char MSAC::ID = 0;
More information about the llvm-commits
mailing list