From 2e32cdcd1fdd386958fb5b3054efaee089f277df Mon Sep 17 00:00:00 2001 From: "Kazushi (Jam) Marukawa" Date: Sun, 22 Nov 2020 19:36:52 +0900 Subject: [PATCH] [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 --- lib/Target/VE/VERegisterInfo.cpp | 23 ----------------------- lib/Target/VE/VERegisterInfo.h | 2 -- 2 files changed, 25 deletions(-) diff --git a/lib/Target/VE/VERegisterInfo.cpp b/lib/Target/VE/VERegisterInfo.cpp index 0559c330368..07249616c24 100644 --- a/lib/Target/VE/VERegisterInfo.cpp +++ b/lib/Target/VE/VERegisterInfo.cpp @@ -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; -} diff --git a/lib/Target/VE/VERegisterInfo.h b/lib/Target/VE/VERegisterInfo.h index 9a32da16bea..334fb965a98 100644 --- a/lib/Target/VE/VERegisterInfo.h +++ b/lib/Target/VE/VERegisterInfo.h @@ -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