mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-19 18:24:05 +00:00
Really fix the fall-through logic.
Add a triple to the tests. llvm-svn: 132885
This commit is contained in:
parent
f73c2dc8f6
commit
8d0f7518b2
@ -1941,6 +1941,9 @@ isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB) const {
|
||||
if (TII->AnalyzeBranch(*Pred, PredTBB, PredFBB, PredCond))
|
||||
return false;
|
||||
|
||||
if (PredTBB == MBB || PredFBB == MBB)
|
||||
return false;
|
||||
|
||||
// This is a fall through if there is no conditions in the bb
|
||||
// or if there is no explicit false branch.
|
||||
return PredCond.empty() || !PredFBB;
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llc -O0 < %s | FileCheck %s
|
||||
; RUN: llc -mtriple=x86_64-apple-darwin10 -O0 < %s | FileCheck %s
|
||||
|
||||
; test that we print a label that we use. We had a bug where
|
||||
; we would print the jump, but not the label because it was considered
|
||||
|
22
test/CodeGen/X86/asm-label2.ll
Normal file
22
test/CodeGen/X86/asm-label2.ll
Normal file
@ -0,0 +1,22 @@
|
||||
; RUN: llc -mtriple=x86_64-apple-darwin10 -O0 < %s | FileCheck %s
|
||||
|
||||
; test that we print a label that we use. We had a bug where
|
||||
; we would print the jump, but not the label because it was considered
|
||||
; a fall through.
|
||||
|
||||
; CHECK: jmp LBB0_1
|
||||
; CHECK: LBB0_1:
|
||||
|
||||
define void @foobar() {
|
||||
entry:
|
||||
invoke void @_zed()
|
||||
to label %invoke.cont unwind label %lpad
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
ret void
|
||||
|
||||
lpad: ; preds = %entry
|
||||
unreachable
|
||||
}
|
||||
|
||||
declare void @_zed() ssp align 2
|
Loading…
x
Reference in New Issue
Block a user