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