forked from OSchip/llvm-project
WebAssembly: fix build breakage.
Summary: processFunctionBeforeCalleeSavedScan was renamed to determineCalleeSaves and now takes a BitVector parameter as of rL242165, reviewed in http://reviews.llvm.org/D10909 WebAssembly is still marked as experimental and therefore doesn't build by default. It does, however, grep by default! I notice that processFunctionBeforeCalleeSavedScan is still mentioned in a few comments and error messages, which I also fixed. Reviewers: qcolombet, sunfish Subscribers: jfb, dsanders, hfinkel, MatzeB, llvm-commits Differential Revision: http://reviews.llvm.org/D11199 llvm-svn: 242242
This commit is contained in:
parent
da46d0ea8c
commit
c8f48c19d3
|
@ -769,7 +769,7 @@ public:
|
|||
/// x86, if the frame register is required, the first fixed stack object is
|
||||
/// reserved as its spill slot. This tells PEI not to create a new stack frame
|
||||
/// object for the given register. It should be called only after
|
||||
/// processFunctionBeforeCalleeSavedScan().
|
||||
/// determineCalleeSaves().
|
||||
virtual bool hasReservedSpillSlot(const MachineFunction &MF, unsigned Reg,
|
||||
int &FrameIdx) const {
|
||||
return false;
|
||||
|
|
|
@ -910,7 +910,7 @@ void AArch64FrameLowering::determineCalleeSaves(MachineFunction &MF,
|
|||
unsigned NumFPRSpilled = 0;
|
||||
bool ExtraCSSpill = false;
|
||||
bool CanEliminateFrame = true;
|
||||
DEBUG(dbgs() << "*** processFunctionBeforeCalleeSavedScan\nUsed CSRs:");
|
||||
DEBUG(dbgs() << "*** determineCalleeSaves\nUsed CSRs:");
|
||||
const MCPhysReg *CSRegs = RegInfo->getCalleeSavedRegs(&MF);
|
||||
|
||||
// Check pairs of consecutive callee-saved registers.
|
||||
|
|
|
@ -42,7 +42,7 @@ class AArch64FunctionInfo : public MachineFunctionInfo {
|
|||
unsigned ArgumentStackToRestore;
|
||||
|
||||
/// HasStackFrame - True if this function has a stack frame. Set by
|
||||
/// processFunctionBeforeCalleeSavedScan().
|
||||
/// determineCalleeSaves().
|
||||
bool HasStackFrame;
|
||||
|
||||
/// \brief Amount of stack frame size, not including callee-saved registers.
|
||||
|
|
|
@ -52,7 +52,7 @@ class ARMFunctionInfo : public MachineFunctionInfo {
|
|||
unsigned ReturnRegsCount;
|
||||
|
||||
/// HasStackFrame - True if this function has a stack frame. Set by
|
||||
/// processFunctionBeforeCalleeSavedScan().
|
||||
/// determineCalleeSaves().
|
||||
bool HasStackFrame;
|
||||
|
||||
/// RestoreSPFromFP - True if epilogue should restore SP from FP. Set by
|
||||
|
|
|
@ -68,7 +68,8 @@ void WebAssemblyFrameLowering::emitEpilogue(MachineFunction &MF,
|
|||
llvm_unreachable("TODO: implement emitEpilogue");
|
||||
}
|
||||
|
||||
void WebAssemblyFrameLowering::processFunctionBeforeCalleeSavedScan(
|
||||
MachineFunction &MF, RegScavenger *RS) const {
|
||||
llvm_unreachable("TODO: implement processFunctionBeforeCalleeSavedScan");
|
||||
void WebAssemblyFrameLowering::determineCalleeSaves(MachineFunction &MF,
|
||||
BitVector &SavedRegs,
|
||||
RegScavenger *RS) const {
|
||||
llvm_unreachable("TODO: implement determineCalleeSaves");
|
||||
}
|
||||
|
|
|
@ -39,8 +39,8 @@ public:
|
|||
bool hasFP(const MachineFunction &MF) const override;
|
||||
bool hasReservedCallFrame(const MachineFunction &MF) const override;
|
||||
|
||||
void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
RegScavenger *RS) const override;
|
||||
void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs,
|
||||
RegScavenger *RS = nullptr) const override;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
; RUN: llc -mtriple=arm64-apple-ios < %s
|
||||
@bar = common global i32 0, align 4
|
||||
|
||||
; Leaf function which uses all callee-saved registers and allocates >= 256 bytes on the stack
|
||||
; this will cause processFunctionBeforeCalleeSavedScan() to spill LR as an additional scratch
|
||||
; register.
|
||||
; Leaf function which uses all callee-saved registers and allocates >= 256 bytes
|
||||
; on the stack this will cause determineCalleeSaves() to spill LR as an
|
||||
; additional scratch register.
|
||||
;
|
||||
; This is a crash-only regression test for rdar://15124582.
|
||||
define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g, i32 %h) nounwind {
|
||||
|
|
Loading…
Reference in New Issue