|
@@ -184,12 +184,15 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB,
|
|
|
/// finalizeBundle - Same functionality as the previous finalizeBundle except
|
|
|
/// the last instruction in the bundle is not provided as an input. This is
|
|
|
/// used in cases where bundles are pre-determined by marking instructions
|
|
|
-/// with 'InsideBundle' marker.
|
|
|
-void llvm::finalizeBundle(MachineBasicBlock &MBB,
|
|
|
- MachineBasicBlock::instr_iterator FirstMI) {
|
|
|
+/// with 'InsideBundle' marker. It returns the MBB instruction iterator that
|
|
|
+/// points to the end of the bundle.
|
|
|
+MachineBasicBlock::instr_iterator
|
|
|
+llvm::finalizeBundle(MachineBasicBlock &MBB,
|
|
|
+ MachineBasicBlock::instr_iterator FirstMI) {
|
|
|
MachineBasicBlock::instr_iterator E = MBB.instr_end();
|
|
|
MachineBasicBlock::instr_iterator LastMI = llvm::next(FirstMI);
|
|
|
while (LastMI != E && LastMI->isInsideBundle())
|
|
|
++LastMI;
|
|
|
finalizeBundle(MBB, FirstMI, LastMI);
|
|
|
+ return LastMI;
|
|
|
}
|