This reverts r368997 (git commit 2a903c0b67)
It looks like this commit adds invalid predecessors to MBBs. The example
below fails the verifier after MachineBlockPlacement (run llc
-verify-machineinstrs):
@global.4 = external constant i8*
declare i32 @zot(...)
define i16* @snork.67() personality i8* bitcast (i32 (...)* @zot to i8*) {
bb:
invoke void undef()
to label %bb5 unwind label %bb4
bb4: ; preds = %bb
%tmp = landingpad { i8*, i32 }
catch i8* null
unreachable
bb5: ; preds = %bb
%tmp6 = load i32, i32* null, align 4
%tmp7 = icmp eq i32 %tmp6, 0
br i1 %tmp7, label %bb14, label %bb8
bb8: ; preds = %bb11, %bb5
invoke void undef()
to label %bb9 unwind label %bb11
bb9: ; preds = %bb8
%tmp10 = invoke i16* undef()
to label %bb14 unwind label %bb11
bb11: ; preds = %bb9, %bb8
%tmp12 = landingpad { i8*, i32 }
cleanup
catch i8* bitcast (i8** @global.4 to i8*)
%tmp13 = icmp ult i64 undef, undef
br i1 %tmp13, label %bb8, label %bb14
bb14: ; preds = %bb11, %bb9, %bb5
%tmp15 = phi i16* [ null, %bb5 ], [ null, %bb11 ], [ %tmp10, %bb9 ]
ret i16* %tmp15
}
llvm-svn: 369104
128 KiB
128 KiB