search for: getmbbendidx

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?