search for: found_branch

Displaying 8 results from an estimated 8 matches for "found_branch".

Did you mean: cond_branch
2007 Aug 10
2
[LLVMdev] MBB Critical edges
...ead of the new. Could someone help me to fix this? If it works fine, I can send a patch for this pass. /// modify every branch in src that points to dst to point /// to the new machine basic block "crit_mbb" instead: MachineBasicBlock::iterator mii = src.end(); bool found_branch = false; while (mii != src.begin()) { mii--; // if there are no more branches, finish the loop if (!tii->isTerminatorInstr(mii->getOpcode())) { break; } // Scan the operands of this branch, replacing any // uses of dst wi...
2007 Aug 17
0
[LLVMdev] MBB Critical edges
...omeone help me to fix this? If it works fine, I can > send a patch for this pass. > > /// modify every branch in src that points to dst to point > /// to the new machine basic block "crit_mbb" instead: > MachineBasicBlock::iterator mii = src.end(); > bool found_branch = false; > while (mii != src.begin()) { > mii--; > // if there are no more branches, finish the loop > if (!tii->isTerminatorInstr(mii->getOpcode())) { > break; > } > // Scan the operands of this branch, replacing an...
2007 Aug 17
2
[LLVMdev] MBB Critical edges
...is? If it works fine, I can >> send a patch for this pass. >> >> /// modify every branch in src that points to dst to point >> /// to the new machine basic block "crit_mbb" instead: >> MachineBasicBlock::iterator mii = src.end(); >> bool found_branch = false; >> while (mii != src.begin()) { >> mii--; >> // if there are no more branches, finish the loop >> if (!tii->isTerminatorInstr(mii->getOpcode())) { >> break; >> } >> // Scan the operands...
2007 Aug 19
1
[LLVMdev] MBB Critical edges
...etMachine & tm = mf.getTarget(); const TargetInstrInfo * tii = tm.getInstrInfo(); tii->insertGoto(*crit_mbb, dst); /// modify every branch in src that points to dst to point to the new /// machine basic block instead: MachineBasicBlock::iterator mii = src.end(); bool found_branch = false; bool isJumpTable = false; while (mii != src.begin()) { mii--; // if there are no more branches, finish the loop if (!tii->isTerminatorInstr(mii->getOpcode())) { break; } else if (tii->isIndirectJump(mii->getOpcode())) {...
2008 Jan 27
0
[LLVMdev] BreakCriticalMachineEdge.h
Fernando, The code there should be more or less functional, though it's not currently used by anything. Eventually it should probably be moved to a method on MachineBasicBlock. The API breakage you're seeing is because some methods moved around. Feel free to fix it. :-) --Owen On Jan 26, 2008, at 6:31 PM, Fernando Magno Quintao Pereira wrote: > > Hi LLVMers, > >
2008 Jan 27
2
[LLVMdev] BreakCriticalMachineEdge.h
Hi LLVMers, what is the status of breaking critical edges in machine functions? I just compiled the top of the LLVM tree, and I found llvm/CodeGen/BreakCriticalMachineEdge.h. But this file seems not to be up-to-date with the other classes in the top of the tree. For instance, it calls isTerminatorInstr on llvm::TargetInstrInfo, but this method is no longer there. If I want to break
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)
2007 Aug 18
0
[LLVMdev] MBB Critical edges
...can >>> send a patch for this pass. >>> >>> /// modify every branch in src that points to dst to point >>> /// to the new machine basic block "crit_mbb" instead: >>> MachineBasicBlock::iterator mii = src.end(); >>> bool found_branch = false; >>> while (mii != src.begin()) { >>> mii--; >>> // if there are no more branches, finish the loop >>> if (!tii->isTerminatorInstr(mii->getOpcode())) { >>> break; >>> } >>>...