mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
[VE] Clean canRealignStack implementation
Old canRealignStack calls TRI::canRealignStack and hasReservedCallFrame. But, this hasReservedCallFrame return true whenever for VE since VE allocates call frame all the time. It means this canRealignStack is identical to TRI::canRealignStack. This patch removes VE's canRealignStack and let caller call TRI::canRealignStack directly. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D91929
This commit is contained in:
parent
79162fb8e4
commit
2e32cdcd1f
@ -174,26 +174,3 @@ void VERegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
Register VERegisterInfo::getFrameRegister(const MachineFunction &MF) const {
|
||||
return VE::SX9;
|
||||
}
|
||||
|
||||
// VE has no architectural need for stack realignment support,
|
||||
// except that LLVM unfortunately currently implements overaligned
|
||||
// stack objects by depending upon stack realignment support.
|
||||
// If that ever changes, this can probably be deleted.
|
||||
bool VERegisterInfo::canRealignStack(const MachineFunction &MF) const {
|
||||
if (!TargetRegisterInfo::canRealignStack(MF))
|
||||
return false;
|
||||
|
||||
// VE always has a fixed frame pointer register, so don't need to
|
||||
// worry about needing to reserve it. [even if we don't have a frame
|
||||
// pointer for our frame, it still cannot be used for other things,
|
||||
// or register window traps will be SADNESS.]
|
||||
|
||||
// If there's a reserved call frame, we can use VE to access locals.
|
||||
if (getFrameLowering(MF)->hasReservedCallFrame(MF))
|
||||
return true;
|
||||
|
||||
// Otherwise, we'd need a base pointer, but those aren't implemented
|
||||
// for VE at the moment.
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -40,8 +40,6 @@ public:
|
||||
RegScavenger *RS = nullptr) const override;
|
||||
|
||||
Register getFrameRegister(const MachineFunction &MF) const override;
|
||||
|
||||
bool canRealignStack(const MachineFunction &MF) const override;
|
||||
};
|
||||
|
||||
} // namespace llvm
|
||||
|
Loading…
Reference in New Issue
Block a user