mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-02 04:24:22 +00:00
Count the total amount of stack space used in compiled functions.
Patch by Ivan Krasin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136921 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -54,6 +54,7 @@ INITIALIZE_PASS_END(PEI, "prologepilog",
|
|||||||
|
|
||||||
STATISTIC(NumVirtualFrameRegs, "Number of virtual frame regs encountered");
|
STATISTIC(NumVirtualFrameRegs, "Number of virtual frame regs encountered");
|
||||||
STATISTIC(NumScavengedRegs, "Number of frame index regs scavenged");
|
STATISTIC(NumScavengedRegs, "Number of frame index regs scavenged");
|
||||||
|
STATISTIC(NumBytesStackSpace, "Number of bytes used for stack in all functions");
|
||||||
|
|
||||||
/// createPrologEpilogCodeInserter - This function returns a pass that inserts
|
/// createPrologEpilogCodeInserter - This function returns a pass that inserts
|
||||||
/// prolog and epilog code, and eliminates abstract frame references.
|
/// prolog and epilog code, and eliminates abstract frame references.
|
||||||
@ -677,7 +678,9 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update frame info to pretend that this is part of the stack...
|
// Update frame info to pretend that this is part of the stack...
|
||||||
MFI->setStackSize(Offset - LocalAreaOffset);
|
int64_t StackSize = Offset - LocalAreaOffset;
|
||||||
|
MFI->setStackSize(StackSize);
|
||||||
|
NumBytesStackSpace += StackSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// insertPrologEpilogCode - Scan the function for modified callee saved
|
/// insertPrologEpilogCode - Scan the function for modified callee saved
|
||||||
|
Reference in New Issue
Block a user