1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Mark 'branch indirect' instruction as an indirect branch.

Not having it confused assembly printing of jumptables.

llvm-svn: 141862
This commit is contained in:
Kalle Raiskila 2011-10-13 11:40:03 +00:00
parent dcd9c25744
commit 15993a5d28
2 changed files with 10 additions and 8 deletions

View File

@ -3467,8 +3467,10 @@ let isBranch = 1, isTerminator = 1, hasCtrlDep = 1 in {
[/* no pattern */]>;
// Indirect branch
def BI:
BIForm<0b00010101100, "bi\t$func", [(brind R32C:$func)]>;
let isIndirectBranch = 1 in {
def BI:
BIForm<0b00010101100, "bi\t$func", [(brind R32C:$func)]>;
}
}
// Conditional branches:

View File

@ -4,18 +4,18 @@ define i32 @test(i32 %param) {
entry:
;CHECK: ai {{\$.}}, $3, -1
;CHECK: clgti {{\$., \$.}}, 3
;CHECK: brnz {{\$.}},.LBB0_2
switch i32 %param, label %bb1 [
i32 1, label %bb3
;CHECK: brnz {{\$.}},.LBB0_
switch i32 %param, label %bb2 [
i32 1, label %bb1
i32 2, label %bb2
i32 3, label %bb3
i32 4, label %bb1
i32 4, label %bb2
]
;CHECK-NOT: # BB#2
bb1:
ret i32 1
bb2:
ret i32 2
bb3:
ret i32 3
ret i32 %param
}