File tree Expand file tree Collapse file tree 2 files changed +12
-11
lines changed
include/mlir/Dialect/LLVMIR Expand file tree Collapse file tree 2 files changed +12
-11
lines changed Original file line number Diff line number Diff line change @@ -1733,14 +1733,13 @@ def LLVM_IndirectBrOp : LLVM_TerminatorOp<"indirectbr",
17331733
17341734 ```mlir
17351735 llvm.indirectbr %dest : !llvm.ptr, [
1736- ^head(%arg0 : i32),
1737- ^tail(%arg1 : i32)
1736+ ^head(%arg0 : i32),
1737+ ^tail(%arg1, %arg0 : i32, i32)
17381738 ]
17391739 ^head(%r0 : i32):
17401740 llvm.return %r0 : i32
1741- ^tail(%r1 : i32):
1742- llvm.return %r1 : i32
1743-
1741+ ^tail(%r1 : i32, %r2 : i32):
1742+ ...
17441743 ```
17451744 }];
17461745 let arguments = (ins LLVM_AnyPointer:$addr,
Original file line number Diff line number Diff line change 33llvm.func @ib0 (%dest : !llvm.ptr , %arg0 : i32 , %arg1 : i32 ) -> i32 {
44 llvm.indirectbr %dest : !llvm.ptr , [
55 ^head (%arg0 : i32 ),
6- ^tail (%arg1 : i32 )
6+ ^tail (%arg1 , %arg0 : i32 , i32 )
77 ]
88^head (%r0 : i32 ):
99 llvm.return %r0 : i32
10- ^tail (%r1 : i32 ):
11- llvm.return %r1 : i32
10+ ^tail (%r1 : i32 , %r2 : i32 ):
11+ %r = llvm.add %r1 , %r2 : i32
12+ llvm.return %r : i32
1213}
1314
1415// CHECK: llvm.func @ib0(%[[Addr:.*]]: !llvm.ptr, %[[A0:.*]]: i32, %[[A1:.*]]: i32) -> i32 {
1516// CHECK: llvm.indirectbr %[[Addr]] : !llvm.ptr, [
1617// CHECK: ^bb1(%[[A0:.*]] : i32)
17- // CHECK: ^bb2(%[[A1:.*]] : i32)
18+ // CHECK: ^bb2(%[[A1:.*]], %[[A0]] : i32, i32)
1819// CHECK: ]
1920// CHECK: ^bb1(%[[Op0:.*]]: i32):
2021// CHECK: llvm.return %[[Op0]] : i32
21- // CHECK: ^bb2(%[[Op1:.*]]: i32):
22- // CHECK: llvm.return %[[Op1]] : i32
22+ // CHECK: ^bb2(%[[Op1:.*]]: i32, %[[Op2:.*]]: i32):
23+ // CHECK: %[[Op3:.*]] = llvm.add %[[Op1]], %[[Op2]] : i32
24+ // CHECK: llvm.return %[[Op3]] : i32
2325// CHECK: }
2426
2527// -----
You can’t perform that action at this time.
0 commit comments