Completel forgot about unconditional branches

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75961 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anton Korobeynikov 2009-07-16 13:57:52 +00:00
parent bad769f11a
commit eb68f1c661
2 changed files with 21 additions and 0 deletions

View File

@ -271,6 +271,9 @@ let isReturn = 1, isTerminator = 1, isBarrier = 1, hasCtrlDep = 1 in {
}
let isBranch = 1, isTerminator = 1 in {
let isBarrier = 1 in
def JMP : Pseudo<(outs), (ins brtarget:$dst), "j\t{$dst}", [(br bb:$dst)]>;
let Uses = [PSW] in {
def JE : Pseudo<(outs), (ins brtarget:$dst),
"je\t$dst",

View File

@ -0,0 +1,18 @@
; RUN: llvm-as < %s | llc
target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
target triple = "s390x-linux"
define void @foo() noreturn nounwind {
entry:
tail call void @baz() nounwind
br label %l1
l1: ; preds = %entry, %l1
tail call void @bar() nounwind
br label %l1
}
declare void @bar()
declare void @baz()