diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2010-02-13 01:56:41 +0000 | 
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2010-02-13 01:56:41 +0000 | 
| commit | 3b065cdb64b4dcd14c43e8d4e22f2bde680740a7 (patch) | |
| tree | 7e62bcbef3b9559ef29b5faa10e68f18883d485d /llvm/lib/Target/X86/X86RegisterInfo.cpp | |
| parent | 1a6672a3d4440482efeb2010d2a223ff86ac8eb4 (diff) | |
| download | bcm5719-llvm-3b065cdb64b4dcd14c43e8d4e22f2bde680740a7.tar.gz bcm5719-llvm-3b065cdb64b4dcd14c43e8d4e22f2bde680740a7.zip | |
Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.
llvm-svn: 96069
Diffstat (limited to 'llvm/lib/Target/X86/X86RegisterInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.cpp | 6 | 
1 files changed, 1 insertions, 5 deletions
| diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index 081c6d9061f..85242368c3c 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp @@ -485,7 +485,7 @@ X86RegisterInfo::getFrameIndexOffset(const MachineFunction &MF, int FI) const {        Offset += SlotSize;      } else {        unsigned Align = MFI->getObjectAlignment(FI); -      assert( (-(Offset + StackSize)) % Align == 0); +      assert((-(Offset + StackSize)) % Align == 0);        Align = 0;        return Offset + StackSize;      } @@ -627,10 +627,6 @@ X86RegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,                                                        RegScavenger *RS) const {    MachineFrameInfo *MFI = MF.getFrameInfo(); -  // Calculate and set max stack object alignment early, so we can decide -  // whether we will need stack realignment (and thus FP). -  MFI->calculateMaxStackAlignment(); -    X86MachineFunctionInfo *X86FI = MF.getInfo<X86MachineFunctionInfo>();    int32_t TailCallReturnAddrDelta = X86FI->getTCReturnAddrDelta(); | 

