Displaying 6 results from an estimated 6 matches for "getstackslot".
2008 May 28
3
[LLVMdev] Possible VirtRegMap Bug
I've been playing around with spillers and found that the SimpleSpiller fails
badly on a particular code.
The problem arises because SimpleSpiller does the test
VRM.isAssignedReg(virtReg) which is implemented as:
00183 bool isAssignedReg(unsigned virtReg) const {
00184 if (getStackSlot(virtReg) == NO_STACK_SLOT &&
00185 getReMatId(virtReg) == NO_STACK_SLOT)
00186 return true;
00187 // Split register can be assigned a physical register as well as a
00188 // stack slot or remat id.
00189 return (Virt2SplitMap[virtReg] && Virt2Phys...
2008 May 30
0
[LLVMdev] Possible VirtRegMap Bug
...ith spillers and found that the
> SimpleSpiller fails
> badly on a particular code.
>
> The problem arises because SimpleSpiller does the test
> VRM.isAssignedReg(virtReg) which is implemented as:
>
> 00183 bool isAssignedReg(unsigned virtReg) const {
> 00184 if (getStackSlot(virtReg) == NO_STACK_SLOT &&
> 00185 getReMatId(virtReg) == NO_STACK_SLOT)
> 00186 return true;
> 00187 // Split register can be assigned a physical register as
> well as a
> 00188 // stack slot or remat id.
> 00189 return (Virt2SplitM...
2006 Aug 14
2
[LLVMdev] Folding instructions
...& mo = mi->getOperand(u);
if(mo.isUse() && mo.isRegister() && mo.getReg()) {
if(MRegisterInfo::isVirtualRegister(mo.getReg())) {
unsigned v_reg = mo.getReg();
if(this->vrm->hasStackSlot(v_reg)) {
int slot = this->vrm->getStackSlot(v_reg);
// First, try to fold the memory reference into the
// instruction. If we can do this, we don't need to
// insert spill code.
const TargetMachine & target_machine =
this->machine_function->getTarget...
2006 Aug 14
0
[LLVMdev] Folding instructions
...etOperand(u);
> if(mo.isUse() && mo.isRegister() && mo.getReg()) {
> if(MRegisterInfo::isVirtualRegister(mo.getReg())) {
> unsigned v_reg = mo.getReg();
> if(this->vrm->hasStackSlot(v_reg)) {
> int slot = this->vrm->getStackSlot(v_reg);
> // First, try to fold the memory reference into the
> // instruction. If we can do this, we don't need to
> // insert spill code.
> const TargetMachine & target_machine =
> this->machine_fu...
2006 Aug 14
0
[LLVMdev] Folding instructions
On Aug 13, 2006, at 11:16 PM, Fernando Magno Quintao Pereira wrote:
>
> Dear LLVMers,
>
> I am trying to fold memory operands in the way that is done in
> RegAllocLocal.cpp, or in LiveIntervalAnalysis.cpp, but I am getting
> errors
> that
> I don't know how to fix. Could someone tell me which steps should I
> take
> in order
> to correctly fold memory
2006 Aug 14
2
[LLVMdev] Folding instructions
Dear LLVMers,
I am trying to fold memory operands in the way that is done in
RegAllocLocal.cpp, or in LiveIntervalAnalysis.cpp, but I am getting errors
that
I don't know how to fix. Could someone tell me which steps should I take
in order
to correctly fold memory operands? The code that I am using is:
const TargetMachine & target_machine =
this->machine_function->getTarget();