search for: setmachinebasicblock

Displaying 10 results from an estimated 10 matches for "setmachinebasicblock".

Did you mean: getmachinebasicblock
2007 Aug 10
2
[LLVMdev] MBB Critical edges
...for (unsigned i = 0, e = mii->getNumOperands(); i != e; ++i) { if (mii->getOperand(i).isMachineBasicBlock() && mii->getOperand(i).getMachineBasicBlock() == & dst) { found_branch = true; mii->getOperand(i).setMachineBasicBlock(crit_mbb); } } } Thanks a lot, Fernando
2007 Aug 17
0
[LLVMdev] MBB Critical edges
...ned i = 0, e = mii->getNumOperands(); i != e; ++i) { > if (mii->getOperand(i).isMachineBasicBlock() && > mii->getOperand(i).getMachineBasicBlock() == & dst) { > found_branch = true; > mii->getOperand(i).setMachineBasicBlock(crit_mbb); > } > } > } > > Thanks a lot, > > Fernando > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmde...
2007 Aug 19
1
[LLVMdev] MBB Critical edges
..., e = mii->getNumOperands(); i != e; ++i) { MachineOperand & mo = mii->getOperand(i); if (mo.isMachineBasicBlock() && mo.getMachineBasicBlock() == & dst) { found_branch = true; mo.setMachineBasicBlock(crit_mbb); } } } // Change jumps to go to the new basic block: if(isJumpTable) { mf.getJumpTableInfo()->ReplaceMBBInJumpTables(& dst, crit_mbb); } // TODO: This is tentative. It may be necessary to fix this code. Maybe // I am inserting t...
2008 Sep 30
2
[LLVMdev] Inserting MachineBasicBlock(s) before a MachineBasicBlock
I want to be able to do two things with LLVM (both just before code emission): 1. Insert a MachineBasicBlock just before a MachineBasicBlock. There is a function called AddPredecessor(). However, the comment says that it does not update the actual CFG. I want to redirect all CFG edges that are incoming to this MachineBasicBlock to the new one I create, and add just one outgoing edge (no branch)
2006 Jul 09
2
[LLVMdev] Critical edges
...// use of dst with crit_mbb. for (unsigned i = 0, e = mii->getNumOperands(); i != e; ++i) { if (mii->getOperand(i).isMachineBasicBlock() && mii->getOperand(i).getMachineBasicBlock() == & dst) { mii->getOperand(i).setMachineBasicBlock(crit_mbb); } } } }
2007 Aug 17
2
[LLVMdev] MBB Critical edges
...ii->getNumOperands(); i != e; ++i) { >> if (mii->getOperand(i).isMachineBasicBlock() && >> mii->getOperand(i).getMachineBasicBlock() == & dst) { >> found_branch = true; >> mii->getOperand(i).setMachineBasicBlock(crit_mbb); >> } >> } >> } >> >> Thanks a lot, >> >> Fernando >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http...
2006 Jul 09
0
[LLVMdev] Critical edges
...f dst with crit_mbb. > for (unsigned i = 0, e = mii->getNumOperands(); i != e; ++i) { > if (mii->getOperand(i).isMachineBasicBlock() && > mii->getOperand(i).getMachineBasicBlock() == & dst) { > mii->getOperand(i).setMachineBasicBlock(crit_mbb); > } > } > } > > } > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
2007 Aug 18
0
[LLVMdev] MBB Critical edges
...t; +i) { >>> if (mii->getOperand(i).isMachineBasicBlock() && >>> mii->getOperand(i).getMachineBasicBlock() == & >>> dst) { >>> found_branch = true; >>> mii->getOperand(i).setMachineBasicBlock(crit_mbb); >>> } >>> } >>> } >>> >>> Thanks a lot, >>> >>> Fernando >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu...
2006 Jul 05
0
[LLVMdev] Critical edges
> If you don't want critical edges in the machine code CFG, you're going to > have to write a machine code CFG critical edge splitting pass: LLVM > doesn't currently have one. > > -Chris Hey guys, I've coded a pass to break the critical edges of the machine control flow graph. The program works fine, but I am sure it is not the right way of implementing it.
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