xref: /llvm-project/mlir/test/IR/test-func-insert-arg.mlir (revision 6a99d29022169ce9175e79983c235c438b76a030)
1// RUN: mlir-opt %s -test-func-insert-arg -split-input-file | FileCheck %s
2
3// CHECK: func @f(%arg0: i1 {test.A})
4func.func @f() attributes {test.insert_args = [
5  [0, i1, {test.A}]]} {
6  return
7}
8
9// -----
10
11// CHECK: func @f(%arg0: i1 {test.A}, %arg1: i2 {test.B})
12func.func @f(%arg0: i2 {test.B}) attributes {test.insert_args = [
13  [0, i1, {test.A}]]} {
14  return
15}
16
17// -----
18
19// CHECK: func @f(%arg0: i1 {test.A}, %arg1: i2 {test.B})
20func.func @f(%arg0: i1 {test.A}) attributes {test.insert_args = [
21  [1, i2, {test.B}]]} {
22  return
23}
24
25// -----
26
27// CHECK: func @f(%arg0: i1 {test.A}, %arg1: i2 {test.B}, %arg2: i3 {test.C})
28func.func @f(%arg0: i1 {test.A}, %arg1: i3 {test.C}) attributes {test.insert_args = [
29  [1, i2, {test.B}]]} {
30  return
31}
32
33// -----
34
35// CHECK: func @f(%arg0: i1 {test.A}, %arg1: i2 {test.B}, %arg2: i3 {test.C})
36func.func @f(%arg0: i2 {test.B}) attributes {test.insert_args = [
37  [0, i1, {test.A}],
38  [1, i3, {test.C}]]} {
39  return
40}
41
42// -----
43
44// CHECK: func @f(%arg0: i1 {test.A}, %arg1: i2 {test.B}, %arg2: i3 {test.C})
45func.func @f(%arg0: i3 {test.C}) attributes {test.insert_args = [
46  [0, i1, {test.A}],
47  [0, i2, {test.B}]]} {
48  return
49}
50