77 lines · plain
1// RUN: mlir-opt %s -test-func-erase-arg -split-input-file | FileCheck %s2 3// CHECK: func @f()4// CHECK-NOT: attributes{{.*}}arg5func.func @f(%arg0: f32 {test.erase_this_arg}) {6 return7}8 9// -----10 11// CHECK: func @f(%arg0: f32 {test.A})12// CHECK-NOT: attributes{{.*}}arg13func.func @f(14 %arg0: f32 {test.erase_this_arg},15 %arg1: f32 {test.A}) {16 return17}18 19// -----20 21// CHECK: func @f(%arg0: f32 {test.A})22// CHECK-NOT: attributes{{.*}}arg23func.func @f(24 %arg0: f32 {test.A},25 %arg1: f32 {test.erase_this_arg}) {26 return27}28 29// -----30 31// CHECK: func @f(%arg0: f32 {test.A}, %arg1: f32 {test.B})32// CHECK-NOT: attributes{{.*}}arg33func.func @f(34 %arg0: f32 {test.A},35 %arg1: f32 {test.erase_this_arg},36 %arg2: f32 {test.B}) {37 return38}39 40// -----41 42// CHECK: func @f(%arg0: f32 {test.A}, %arg1: f32 {test.B})43// CHECK-NOT: attributes{{.*}}arg44func.func @f(45 %arg0: f32 {test.A},46 %arg1: f32 {test.erase_this_arg},47 %arg2: f32 {test.erase_this_arg},48 %arg3: f32 {test.B}) {49 return50}51 52// -----53 54// CHECK: func @f(%arg0: f32 {test.A}, %arg1: f32 {test.B}, %arg2: f32 {test.C})55// CHECK-NOT: attributes{{.*}}arg56func.func @f(57 %arg0: f32 {test.A},58 %arg1: f32 {test.erase_this_arg},59 %arg2: f32 {test.B},60 %arg3: f32 {test.erase_this_arg},61 %arg4: f32 {test.C}) {62 return63}64 65// -----66 67// CHECK: func @f(%arg0: tensor<1xf32>, %arg1: tensor<2xf32>, %arg2: tensor<3xf32>)68// CHECK-NOT: attributes{{.*}}arg69func.func @f(70 %arg0: tensor<1xf32>,71 %arg1: f32 {test.erase_this_arg},72 %arg2: tensor<2xf32>,73 %arg3: f32 {test.erase_this_arg},74 %arg4: tensor<3xf32>) {75 return76}77