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