Displaying 1 result from an estimated 1 matches for "split_mbb".
2020 Mar 13
2
How to simply split MachineBasicBlock ?
...instruction.
But I don't insert or delete any machine instruction.
I just "simply" , "purely" split the MachineBasicBlcok.
(So, I stole the idea from ARM64BranchRelaxation::splitBlockBeforeInstr.)
This is my code :
// I would pass call instruction to this function
void split_mbb(MachineInstr* mi){
MachineBasicBlock* mbb=mi->getParent();
MachineFunction* mf=mbb->getParent();
MachineBasicBlock*
new_mbb=mf->CreateMachineBasicBlock(mbb->getBasicBlock());
MachineFunction::iterator mbb_it(mbb);
mf->insert(mbb_it,new_mbb);
new_mbb->splice(new_mbb-&g...