git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250777
91177308-0d34-0410-b5e6-
96231b3b80d8
HANDLE_NODETYPE(RETURN)
HANDLE_NODETYPE(ARGUMENT)
HANDLE_NODETYPE(Wrapper)
HANDLE_NODETYPE(RETURN)
HANDLE_NODETYPE(ARGUMENT)
HANDLE_NODETYPE(Wrapper)
HANDLE_NODETYPE(SWITCH)
// add memory opcodes starting at ISD::FIRST_TARGET_MEMORY_OPCODE here...
HANDLE_NODETYPE(SWITCH)
// add memory opcodes starting at ISD::FIRST_TARGET_MEMORY_OPCODE here...
*/
let isBranch = 1, isTerminator = 1, hasCtrlDep = 1 in {
*/
let isBranch = 1, isTerminator = 1, hasCtrlDep = 1 in {
-def BRIF : I<(outs), (ins bb_op:$dst, I32:$a),
- [(brcond I32:$a, bb:$dst)]>;
+def BR_IF_ : I<(outs), (ins bb_op:$dst, I32:$a),
+ [(brcond I32:$a, bb:$dst)]>;
let isBarrier = 1 in {
def BR : I<(outs), (ins bb_op:$dst),
[(br bb:$dst)]>;
let isBarrier = 1 in {
def BR : I<(outs), (ins bb_op:$dst),
[(br bb:$dst)]>;
default:
// Unhandled instruction; bail out.
return true;
default:
// Unhandled instruction; bail out.
return true;
- case WebAssembly::BRIF:
+ case WebAssembly::BR_IF_:
if (HaveCond)
return true;
Cond.push_back(MI.getOperand(1));
if (HaveCond)
return true;
Cond.push_back(MI.getOperand(1));
- BuildMI(&MBB, DL, get(WebAssembly::BRIF))
+ BuildMI(&MBB, DL, get(WebAssembly::BR_IF_))
.addMBB(TBB)
.addOperand(Cond[0]);
if (!FBB)
.addMBB(TBB)
.addOperand(Cond[0]);
if (!FBB)
; CHECK-LABEL: test0:
; CHECK: loop
; CHECK: add
; CHECK-LABEL: test0:
; CHECK: loop
; CHECK: add
; CHECK: call
; CHECK: br $BB0_1{{$}}
; CHECK: return{{$}}
; CHECK: call
; CHECK: br $BB0_1{{$}}
; CHECK: return{{$}}
; CHECK-LABEL: test1:
; CHECK: loop
; CHECK: add
; CHECK-LABEL: test1:
; CHECK: loop
; CHECK: add
; CHECK: call
; CHECK: br $BB1_1{{$}}
; CHECK: return{{$}}
; CHECK: call
; CHECK: br $BB1_1{{$}}
; CHECK: return{{$}}
; CHECK-LABEL: test2:
; CHECK: block $BB2_2{{$}}
; CHECK-LABEL: test2:
; CHECK: block $BB2_2{{$}}
-; CHECK: brif $BB2_2, {{.*}}
+; CHECK: br_if $BB2_2, {{.*}}
-; CHECK: brif $BB2_1, (get_local 16){{$}}
+; CHECK: br_if $BB2_1, (get_local 16){{$}}
; CHECK: BB2_2:
; CHECK: return{{$}}
define void @test2(double* nocapture %p, i32 %n) {
; CHECK: BB2_2:
; CHECK: return{{$}}
define void @test2(double* nocapture %p, i32 %n) {
; CHECK: block $BB3_5{{$}}
; CHECK: block $BB3_4{{$}}
; CHECK: block $BB3_2{{$}}
; CHECK: block $BB3_5{{$}}
; CHECK: block $BB3_4{{$}}
; CHECK: block $BB3_2{{$}}
-; CHECK: brif $BB3_2, (get_local 7){{$}}
+; CHECK: br_if $BB3_2, (get_local 7){{$}}
; CHECK: br $BB3_5{{$}}
; CHECK: BB3_2:
; CHECK: br $BB3_5{{$}}
; CHECK: BB3_2:
-; CHECK: brif $BB3_4, (get_local 10){{$}}
+; CHECK: br_if $BB3_4, (get_local 10){{$}}
; CHECK: br $BB3_5{{$}}
; CHECK: BB3_4:
; CHECK: BB3_5:
; CHECK: br $BB3_5{{$}}
; CHECK: BB3_4:
; CHECK: BB3_5:
; CHECK-LABEL: triangle:
; CHECK: block $BB4_2{{$}}
; CHECK-LABEL: triangle:
; CHECK: block $BB4_2{{$}}
-; CHECK: brif $BB4_2, (get_local 5){{$}}
+; CHECK: br_if $BB4_2, (get_local 5){{$}}
; CHECK: BB4_2:
; CHECK: return (get_local 4){{$}}
define i32 @triangle(i32* %p, i32 %a) {
; CHECK: BB4_2:
; CHECK: return (get_local 4){{$}}
define i32 @triangle(i32* %p, i32 %a) {
; CHECK-LABEL: diamond:
; CHECK: block $BB5_3{{$}}
; CHECK: block $BB5_2{{$}}
; CHECK-LABEL: diamond:
; CHECK: block $BB5_3{{$}}
; CHECK: block $BB5_2{{$}}
-; CHECK: brif $BB5_2, (get_local 5){{$}}
+; CHECK: br_if $BB5_2, (get_local 5){{$}}
; CHECK: br $BB5_3{{$}}
; CHECK: BB5_2:
; CHECK: BB5_3:
; CHECK: br $BB5_3{{$}}
; CHECK: BB5_2:
; CHECK: BB5_3:
; CHECK-NOT: br
; CHECK: BB8_1:
; CHECK: loop $BB8_2{{$}}
; CHECK-NOT: br
; CHECK: BB8_1:
; CHECK: loop $BB8_2{{$}}
-; CHECK: brif $BB8_1, (get_local 6){{$}}
+; CHECK: br_if $BB8_1, (get_local 6){{$}}
; CHECK: return (get_local 4){{$}}
define i32 @simple_loop(i32* %p, i32 %a) {
entry:
; CHECK: return (get_local 4){{$}}
define i32 @simple_loop(i32* %p, i32 %a) {
entry:
; CHECK-LABEL: doubletriangle:
; CHECK: block $BB9_4{{$}}
; CHECK: block $BB9_3{{$}}
; CHECK-LABEL: doubletriangle:
; CHECK: block $BB9_4{{$}}
; CHECK: block $BB9_3{{$}}
-; CHECK: brif $BB9_4, (get_local 7){{$}}
-; CHECK: brif $BB9_3, (get_local 10){{$}}
+; CHECK: br_if $BB9_4, (get_local 7){{$}}
+; CHECK: br_if $BB9_3, (get_local 10){{$}}
; CHECK: BB9_3:
; CHECK: BB9_4:
; CHECK: return (get_local 6){{$}}
; CHECK: BB9_3:
; CHECK: BB9_4:
; CHECK: return (get_local 6){{$}}
; CHECK-LABEL: ifelse_earlyexits:
; CHECK: block $BB10_4{{$}}
; CHECK: block $BB10_2{{$}}
; CHECK-LABEL: ifelse_earlyexits:
; CHECK: block $BB10_4{{$}}
; CHECK: block $BB10_2{{$}}
-; CHECK: brif $BB10_2, (get_local 7){{$}}
+; CHECK: br_if $BB10_2, (get_local 7){{$}}
; CHECK: br $BB10_4{{$}}
; CHECK: BB10_2:
; CHECK: br $BB10_4{{$}}
; CHECK: BB10_2:
-; CHECK: brif $BB10_4, (get_local 10){{$}}
+; CHECK: br_if $BB10_4, (get_local 10){{$}}
; CHECK: BB10_4:
; CHECK: return (get_local 6){{$}}
define i32 @ifelse_earlyexits(i32 %a, i32 %b, i32* %p) {
; CHECK: BB10_4:
; CHECK: return (get_local 6){{$}}
define i32 @ifelse_earlyexits(i32 %a, i32 %b, i32* %p) {