1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00

Try to fix build more -- like r252392 but for WebAssembly.

llvm-svn: 252394
This commit is contained in:
Nico Weber 2015-11-07 02:47:31 +00:00
parent 62bf9f3dd6
commit 80a9d54ee5

View File

@ -154,7 +154,7 @@ static void SortBlocks(MachineFunction &MF, const MachineLoopInfo &MLI) {
SmallPtrSet<MachineBasicBlock *, 16> Visited; SmallPtrSet<MachineBasicBlock *, 16> Visited;
SmallVector<POStackEntry, 16> Stack; SmallVector<POStackEntry, 16> Stack;
MachineBasicBlock *Entry = MF.begin(); MachineBasicBlock *Entry = &*MF.begin();
Visited.insert(Entry); Visited.insert(Entry);
Stack.push_back(POStackEntry(Entry, MF, MLI)); Stack.push_back(POStackEntry(Entry, MF, MLI));
@ -170,7 +170,7 @@ static void SortBlocks(MachineFunction &MF, const MachineLoopInfo &MLI) {
// Put the block in its position in the MachineFunction. // Put the block in its position in the MachineFunction.
MachineBasicBlock &MBB = *Entry.MBB; MachineBasicBlock &MBB = *Entry.MBB;
MBB.moveBefore(MF.begin()); MBB.moveBefore(&*MF.begin());
// Branch instructions may utilize a fallthrough, so update them if a // Branch instructions may utilize a fallthrough, so update them if a
// fallthrough has been added or removed. // fallthrough has been added or removed.
@ -196,7 +196,7 @@ static void SortBlocks(MachineFunction &MF, const MachineLoopInfo &MLI) {
assert(Loop->getHeader() == Loop->getTopBlock()); assert(Loop->getHeader() == Loop->getTopBlock());
assert((Loop->getHeader() == &MBB || assert((Loop->getHeader() == &MBB ||
Loop->contains( Loop->contains(
MLI.getLoopFor(prev(MachineFunction::iterator(&MBB))))) && MLI.getLoopFor(&*prev(MachineFunction::iterator(&MBB))))) &&
"Loop isn't contiguous"); "Loop isn't contiguous");
} else { } else {
// Assert that non-loops have no backedge predecessors. // Assert that non-loops have no backedge predecessors.
@ -257,7 +257,7 @@ static void PlaceMarkers(MachineFunction &MF, const MachineLoopInfo &MLI,
Iter = next(MachineFunction::iterator(Bottom)); Iter = next(MachineFunction::iterator(Bottom));
} }
BuildMI(MBB, MBB.begin(), DebugLoc(), TII.get(WebAssembly::LOOP)) BuildMI(MBB, MBB.begin(), DebugLoc(), TII.get(WebAssembly::LOOP))
.addMBB(Iter); .addMBB(&*Iter);
} }
// Check for forward branches and switches that need BLOCKS placed. // Check for forward branches and switches that need BLOCKS placed.