search for: setscavengingframeindex

Displaying 2 results from an estimated 2 matches for "setscavengingframeindex".

2012 Oct 22
0
[LLVMdev] register scavenger
...r scavenger for MIPS to free up register AT which is currently reserved to load large immediates. All targets which currently use register scavenger to search for a scratch register (ARM, CellSPU, PowerPC and XCore) override function processFunctionBeforeCalleeSavedScan and call RegisterScavenger::setScavengingFrameIndex if they decide an emergency spill slot is needed. Since processFunctionBeforeCalleeSavedScan is called before it is known which callee-saved registers need to be spilled, the targets decide whether the spill slot is needed without knowing the exact stack frame size. It seems to me that it would be...
2011 Dec 05
2
[LLVMdev] bug in ARMFrameLowering.cpp:processFunctionBeforeCalleeSavedScan
...after BigStack is initialized. The specific issue this caused in my case was that BigStack got initialized as false because estimateRSSStackSizeLimit returned (1<<12)-1 instead of (1<<8)-1. The code thus never entered the if (BigStack && !ExtraCSSpill) block further down where setScavengingFrameIndex should have been set. As a result of it was not being set there, there was an assertion failure (ScavengingFrameIndex >= 0) and subsequent memory corruption in RegScavenger::scavengeRegister. I fixed this by performing the CanEliminateFrame and RegInfo->cannotEliminateFrame checks before the...