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",
1733
1733
1734
1734
```mlir
1735
1735
llvm.indirectbr %dest : !llvm.ptr, [
1736
- ^head(%arg0 : i32),
1737
- ^tail(%arg1 : i32)
1736
+ ^head(%arg0 : i32),
1737
+ ^tail(%arg1, %arg0 : i32, i32)
1738
1738
]
1739
1739
^head(%r0 : i32):
1740
1740
llvm.return %r0 : i32
1741
- ^tail(%r1 : i32):
1742
- llvm.return %r1 : i32
1743
-
1741
+ ^tail(%r1 : i32, %r2 : i32):
1742
+ ...
1744
1743
```
1745
1744
}];
1746
1745
let arguments = (ins LLVM_AnyPointer:$addr,
Original file line number Diff line number Diff line change 3
3
llvm.func @ib0 (%dest : !llvm.ptr , %arg0 : i32 , %arg1 : i32 ) -> i32 {
4
4
llvm.indirectbr %dest : !llvm.ptr , [
5
5
^head (%arg0 : i32 ),
6
- ^tail (%arg1 : i32 )
6
+ ^tail (%arg1 , %arg0 : i32 , i32 )
7
7
]
8
8
^head (%r0 : i32 ):
9
9
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
12
13
}
13
14
14
15
// CHECK: llvm.func @ib0(%[[Addr:.*]]: !llvm.ptr, %[[A0:.*]]: i32, %[[A1:.*]]: i32) -> i32 {
15
16
// CHECK: llvm.indirectbr %[[Addr]] : !llvm.ptr, [
16
17
// CHECK: ^bb1(%[[A0:.*]] : i32)
17
- // CHECK: ^bb2(%[[A1:.*]] : i32)
18
+ // CHECK: ^bb2(%[[A1:.*]], %[[A0]] : i32, i32)
18
19
// CHECK: ]
19
20
// CHECK: ^bb1(%[[Op0:.*]]: i32):
20
21
// 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
23
25
// CHECK: }
24
26
25
27
// -----
You can’t perform that action at this time.
0 commit comments