Displaying 6 results from an estimated 6 matches for "getmbbendidx".
2008 Feb 11
0
[LLVMdev] Some questions about live intervals
...BPair>::const_iterator J =
> + ((I != Idx2MBBMap.end() && I->first > index) ||
> + (I == Idx2MBBMap.end() && Idx2MBBMap.size()>0)) ? (I-1): I;
> +
> + assert(J != Idx2MBBMap.end() && J->first < index+1 &&
> + index < getMBBEndIdx(J->second) &&
> + "index does not correspond to an MBB");
> + return J->second;
> + }
> +
> /// getInstructionIndex - returns the base index of instr
> unsigned getInstructionIndex(MachineInstr* instr) const {
> Mi2IndexMap::co...
2008 Feb 08
2
[LLVMdev] Some questions about live intervals
Hi Evan,
Here is a patch for the LiveIntervalAnalysis that we discussed.
--- Evan Cheng <evan.cheng at apple.com> schrieb:
> > 1) What is the easiest way to understand which MBB a given
> instruction index belongs to? All the required information is
> available in the
> > MBB2IdxMap of the LiveIntervalAnalysis class. Would it be useful
> to add a small function
2008 Feb 11
2
[LLVMdev] Some questions about live intervals
...J =
> > + ((I != Idx2MBBMap.end() && I->first > index) ||
> > + (I == Idx2MBBMap.end() && Idx2MBBMap.size()>0)) ? (I-1): I;
> > +
> > + assert(J != Idx2MBBMap.end() && J->first < index+1 &&
> > + index < getMBBEndIdx(J->second) &&
> > + "index does not correspond to an MBB");
> > + return J->second;
> > + }
> > +
> > /// getInstructionIndex - returns the base index of instr
> > unsigned getInstructionIndex(MachineInstr* instr) cons...
2010 Nov 05
0
[LLVMdev] Basic block liveouts
Because I feel bad for giving a non-answer:
An easy way to find if a virtual register is alive after the basic block is
to
While iterating over the virtual registers
- Check to see if the virtual register's "next" value exists outside of the
basic block.
for instance:
std::vector<unsigned> findLiveOut( MachineBasicBlock * mbb ) {
std::vector<unsigned> liveout;
for(
2008 Feb 12
0
[LLVMdev] Some questions about live intervals
...t; + ((I != Idx2MBBMap.end() && I->first > index) ||
>>> + (I == Idx2MBBMap.end() && Idx2MBBMap.size()>0)) ? (I-1): I;
>>> +
>>> + assert(J != Idx2MBBMap.end() && J->first < index+1 &&
>>> + index < getMBBEndIdx(J->second) &&
>>> + "index does not correspond to an MBB");
>>> + return J->second;
>>> + }
>>> +
>>> /// getInstructionIndex - returns the base index of instr
>>> unsigned getInstructionIndex(MachineIn...
2010 Nov 05
4
[LLVMdev] Basic block liveouts
Is there an easy way to obtain all liveout variables of a basic block? Liveins
can be found for each MachineBasicBlock, but I can only find liveouts for the
whole function, at MachineRegisterInfo. Do I need to find them out manually?