search for: p_reg

Displaying 11 results from an estimated 11 matches for "p_reg".

Did you mean: s_reg
2006 Aug 14
2
[LLVMdev] Folding instructions
...} // It was not possible to fold the spill into the // instruction: a register must be fond. if(seen_regs.find(v_reg) != seen_regs.end()) { continue; } else { seen_regs.insert(v_reg); } unsigned p_reg = reg_mapping->get_free_register(v_reg); if(p_reg != RegMapping_Fer::NO_REG) { this->reg_mapping->allocate_color(v_reg, p_reg); } else { // unused register may conflict with this virtual, because // they may be pre-colored,...
2006 Aug 14
0
[LLVMdev] Folding instructions
...not possible to fold the spill into the > // instruction: a register must be fond. > if(seen_regs.find(v_reg) != seen_regs.end()) { > continue; > } else { > seen_regs.insert(v_reg); > } > unsigned p_reg = reg_mapping->get_free_register(v_reg); > if(p_reg != RegMapping_Fer::NO_REG) { > this->reg_mapping->allocate_color(v_reg, p_reg); > } else { > // unused register may conflict with this virtual, because > // they...
2006 Aug 21
0
[LLVMdev] Recalculating live intervals
...unsigned v_reg, KillingSites_Fer & ks, const MachineBasicBlock & mbb ) { // First, find a place to store this register. Of course, this will be done // by the implementation of vrm. We just have to ask it. int slot = vrm->assignVirt2StackSlot(v_reg); unsigned p_reg = this->reg_mapping->get_physical_location(v_reg); // Now, it is necessary to break the live range of the spilled register. // This is done by creating new virtual registers, and substituting the // spilled register by the new registers. MachineInstr * last_seen; std::vec...
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 21
2
[LLVMdev] Recalculating live intervals
So what addIntervalsToSpills returns are new intervals to allocate with infinite weights, right? And I need not to allocate the old interval. Should hasStackSlot return true on its register then? On 8/21/06, Fernando Magno Quintao Pereira <fernando at cs.ucla.edu> wrote: > > > Well, someone correct me if am wrong, but, you still have to allocate > physical registers to them,
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();
2006 Aug 21
3
[LLVMdev] Recalculating live intervals
...ngSites_Fer & ks, > const MachineBasicBlock & mbb > ) { > // First, find a place to store this register. Of course, this will be > done > // by the implementation of vrm. We just have to ask it. > int slot = vrm->assignVirt2StackSlot(v_reg); > unsigned p_reg = this->reg_mapping->get_physical_location(v_reg); > > // Now, it is necessary to break the live range of the spilled > register. > // This is done by creating new virtual registers, and substituting > the > // spilled register by the new registers. > MachineI...
2018 Mar 29
4
Mapping virtual registers to physical registers
...n work. Basically, the programmer will have to specify where load and store instructions should be inserted in the target function being compiled in order to get and store values in memory. To assign a physical register to a virtual register present in a given operand, use ``MachineOperand::setReg(p_reg)``. To insert a store instruction, use ``TargetInstrInfo::storeRegToStackSlot(...)``, and to insert a load instruction, use ``TargetInstrInfo::loadRegFromStackSlot``. ... I tried the direct mapping as following: MachineOperand destination = MI->getOperand(0); MachineOp...
2018 Mar 30
0
Mapping virtual registers to physical registers
...n work. Basically, the programmer will have to specify where load and store instructions should be inserted in the target function being compiled in order to get and store values in memory. To assign a physical register to a virtual register present in a given operand, use ``MachineOperand::setReg(p_reg)``. To insert a store instruction, use ``TargetInstrInfo::storeRegToStackSlot(...)``, and to insert a load instruction, use ``TargetInstrInfo::loadRegFromStackSlot``. ... I tried the direct mapping as following: MachineOperand destination = MI->getOperand(0); MachineOp...
2018 Apr 02
0
Mapping virtual registers to physical registers
...cify where load and store > > instructions should be inserted in the target function being compiled in > order > > to get and store values in memory. To assign a physical register to a > virtual > > register present in a given operand, use > ``MachineOperand::setReg(p_reg)``. To > > insert a store instruction, use > ``TargetInstrInfo::storeRegToStackSlot(...)``, > > and to insert a load instruction, use > ``TargetInstrInfo::loadRegFromStackSlot``. > > … > > I tried the direct mapping as following: > >             MachineOp...
2018 Apr 03
1
Mapping virtual registers to physical registers
...here load and > store > > instructions should be inserted in the target function being compiled > in order > > to get and store values in memory. To assign a physical register to a > virtual > > register present in a given operand, use > ``MachineOperand::setReg(p_reg)``. To > > insert a store instruction, use > ``TargetInstrInfo::storeRegToStackSlot(...)``, > > and to insert a load instruction, use > ``TargetInstrInfo::loadRegFromStackSlot``. > > … > > I tried the direct mapping as following: > >             MachineOpe...