mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-22 11:39:35 +00:00
Make OptimizeBlock take a MachineFunction::iterator instead of a
MachineBasicBlock* as a parameter so that nxext() and prior() helper functions can work naturally on it. llvm-svn: 15376
This commit is contained in:
parent
ecca71ce92
commit
1dd3ea5515
@ -28,8 +28,8 @@ namespace {
|
||||
virtual bool runOnMachineFunction(MachineFunction &MF);
|
||||
virtual const char *getPassName() const { return "Branch Folder"; }
|
||||
private:
|
||||
bool OptimizeBlock(MachineBasicBlock *MBB, const TargetInstrInfo &TII);
|
||||
|
||||
bool OptimizeBlock(MachineFunction::iterator MBB,
|
||||
const TargetInstrInfo &TII);
|
||||
|
||||
bool isUncondBranch(const MachineInstr *MI, const TargetInstrInfo &TII) {
|
||||
return TII.isBarrier(MI->getOpcode()) && TII.isBranch(MI->getOpcode());
|
||||
@ -108,13 +108,13 @@ static void ReplaceUsesOfBlockWith(MachineBasicBlock *BB,
|
||||
}
|
||||
|
||||
|
||||
bool BranchFolder::OptimizeBlock(MachineBasicBlock *MBB,
|
||||
bool BranchFolder::OptimizeBlock(MachineFunction::iterator MBB,
|
||||
const TargetInstrInfo &TII) {
|
||||
// If this block is empty, make everyone use it's fall-through, not the block
|
||||
// explicitly.
|
||||
if (MBB->empty()) {
|
||||
if (MBB->pred_empty()) return false;
|
||||
MachineFunction::iterator FallThrough =next(MachineFunction::iterator(MBB));
|
||||
MachineFunction::iterator FallThrough =next(MBB);
|
||||
assert(FallThrough != MBB->getParent()->end() &&
|
||||
"Fell off the end of the function!");
|
||||
while (!MBB->pred_empty()) {
|
||||
|
Loading…
Reference in New Issue
Block a user