| ; RUN: llc -O0 -mtriple=x86_64-linux -asm-verbose=false -verify-machineinstrs < %s | FileCheck %s |
| ; RUN: llc -O0 -mtriple=x86_64-windows-itanium -asm-verbose=false -verify-machineinstrs < %s | FileCheck %s |
| ; Fast-isel mustn't add a block to the MBB successor/predecessor list twice. |
| ; The machine verifier will catch and complain about this case. |
| define void @baz(i1 %arg) { |
| br i1 %arg, label %exit, label %exit |
| ; Fast-isel shouldn't try to look through the compare because it's in a |
| ; different basic block, so its operands aren't necessarily exported |
| ; CHECK: movb %al, [[OFS:[0-9]*]](%rsp) |
| ; CHECK: movb [[OFS]](%rsp), %al |
| define void @foo(i32 %a, i32 %b) nounwind personality ptr @__gxx_personality_v0 { |
| invoke void @bar() to label %next unwind label %unw |
| br i1 %t, label %true, label %return |
| %exn = landingpad {ptr, i32} |
| declare i32 @__gxx_personality_v0(...) |