search for: src_bb

Displaying 7 results from an estimated 7 matches for "src_bb".

Did you mean: src_bo
2006 Jul 05
0
[LLVMdev] Critical edges
...{ dst_has_many_pred = true; break; } } return src_has_many_succ && dst_has_many_pred; } void CriticalEdgeRemoval_Fer::split_critical_edge (MachineBasicBlock & src, MachineBasicBlock & dst, MachineFunction & mf) { const BasicBlock * src_bb = src.getBasicBlock(); const BasicBlock * dst_bb = dst.getBasicBlock(); MachineBasicBlock * crit_mbb = new MachineBasicBlock(src_bb); src.addSuccessor(crit_mbb); crit_mbb->addSuccessor(& dst); src.removeSuccessor(& dst); ilist<MachineBasicBlock>::iterator...
2006 Jul 09
2
[LLVMdev] Critical edges
...9: ;no_exit mr r2, r6 b LBB1_8 ;no_exit LBB1_4: ;no_exit.loopexit_llvm_crit_edge The code is this one below: void CriticalEdgeRemoval_Fer::split_critical_edge (MachineBasicBlock & src, MachineBasicBlock & dst, MachineFunction & mf) { const BasicBlock * src_bb = src.getBasicBlock(); MachineBasicBlock * crit_mbb = new MachineBasicBlock(src_bb); /// modify the llvm control flow graph src.addSuccessor(crit_mbb); crit_mbb->addSuccessor(& dst); src.removeSuccessor(& dst); /// insert the new block into the machine function....
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
2006 Oct 03
0
[LLVMdev] Out of range address
On Tue, 3 Oct 2006, Fernando Magno Quintao Pereira wrote: > I am having some problems when compiling huge programs (like gcc). > I have a machine pass to destroy critical edges, and I have to add > new basic blocks, but sometimes the program is too big, and the new > basic block gets out of addressing range. What is the proper way to > address this problem? I am producing code
2006 Oct 03
2
[LLVMdev] Out of range address
Dear guys, I am having some problems when compiling huge programs (like gcc). I have a machine pass to destroy critical edges, and I have to add new basic blocks, but sometimes the program is too big, and the new basic block gets out of addressing range. What is the proper way to address this problem? I am producing code for the PowerPC, and I had to implement the insert go-to method. I am
2006 Jul 09
0
[LLVMdev] Critical edges
...LBB1_8 ;no_exit > LBB1_4: ;no_exit.loopexit_llvm_crit_edge > > The code is this one below: > > void CriticalEdgeRemoval_Fer::split_critical_edge > (MachineBasicBlock & src, MachineBasicBlock & dst, MachineFunction & > mf) { > > const BasicBlock * src_bb = src.getBasicBlock(); > MachineBasicBlock * crit_mbb = new MachineBasicBlock(src_bb); > > /// modify the llvm control flow graph > src.addSuccessor(crit_mbb); > crit_mbb->addSuccessor(& dst); > src.removeSuccessor(& dst); > > /// insert the new...
2007 Aug 19
1
[LLVMdev] MBB Critical edges
...this error when compiling the // Ackermann function. //===---------------------------------------------------------------------===// void CriticalEdgeRemoval_Fer::split_critical_edge (MachineBasicBlock & src, MachineBasicBlock & dst, MachineFunction & mf) { const BasicBlock * src_bb = src.getBasicBlock(); const BasicBlock * dst_bb = dst.getBasicBlock(); MachineBasicBlock * crit_mbb = new MachineBasicBlock(src_bb); /// modify the llvm control flow graph src.removeSuccessor(& dst); src.addSuccessor(crit_mbb); crit_mbb->addSuccessor(& dst);...