search for: mbb_succ

Displaying 3 results from an estimated 3 matches for "mbb_succ".

2006 Jul 05
0
[LLVMdev] Critical edges
...cal edges: for(unsigned u = 0; u < mf.size(); u++) { MachineBasicBlock * mbb = mf.getBlockNumbered(u); for(MachineBasicBlock::succ_iterator succ = mbb->succ_begin(); succ != mbb->succ_end(); succ++) { MachineBasicBlock * mbb_succ = *succ; if(is_critical_edge(*mbb, *mbb_succ)) { src_blocks.push_back(mbb); dst_blocks.push_back(mbb_succ); } } } // second, break the critical edges: for(unsigned u = 0; u < src_blocks.size() > 0; u++) { Mac...
2006 Jul 04
2
[LLVMdev] Critical edges
On Tue, 4 Jul 2006, Fernando Magno Quintao Pereira wrote: > However, it does not remove all the critical edges. I am getting a very > weird dataflow graph (even without the Break Critical edges pass). The > dataflow generated by MachineFunction::dump() for the program below is > given here: > http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_crit2.pdf ... > The
2007 Aug 19
1
[LLVMdev] MBB Critical edges
...s; for(unsigned u = 0; u < mf.size(); u++) { MachineBasicBlock * mbb = mf.getBlockNumbered(u); for(MachineBasicBlock::succ_iterator succ = mbb->succ_begin(); succ != mbb->succ_end(); succ++) { MachineBasicBlock * mbb_succ = *succ; // necessary and sufficient condition that characterizes a critical // edge: predecessor with many successors, successor with many // predecessors. if( (mbb->succ_size() > 1) && (mbb_succ->pred_size() > 1) ) {...