xref: /llvm-project/mlir/test/mlir-query/function-extraction.mlir (revision 58b44c8102afb0e76d1cb70d4a5d089f70d2f657)
1*58b44c81SJacques Pienaar// RUN: mlir-query %s -c "m hasOpName(\"arith.mulf\").extract(\"testmul\")" | FileCheck %s
2*58b44c81SJacques Pienaar
3*58b44c81SJacques Pienaar// CHECK: func.func @testmul({{.*}}) -> (f32, f32, f32) {
4*58b44c81SJacques Pienaar// CHECK:       %[[MUL0:.*]] = arith.mulf {{.*}} : f32
5*58b44c81SJacques Pienaar// CHECK:       %[[MUL1:.*]] = arith.mulf {{.*}}, %[[MUL0]] : f32
6*58b44c81SJacques Pienaar// CHECK:       %[[MUL2:.*]] = arith.mulf {{.*}} : f32
7*58b44c81SJacques Pienaar// CHECK-NEXT:  return %[[MUL0]], %[[MUL1]], %[[MUL2]] : f32, f32, f32
8*58b44c81SJacques Pienaar
9*58b44c81SJacques Pienaarfunc.func @mixedOperations(%a: f32, %b: f32, %c: f32) -> f32 {
10*58b44c81SJacques Pienaar  %sum0 = arith.addf %a, %b : f32
11*58b44c81SJacques Pienaar  %sub0 = arith.subf %sum0, %c : f32
12*58b44c81SJacques Pienaar  %mul0 = arith.mulf %a, %sub0 : f32
13*58b44c81SJacques Pienaar  %sum1 = arith.addf %b, %c : f32
14*58b44c81SJacques Pienaar  %mul1 = arith.mulf %sum1, %mul0 : f32
15*58b44c81SJacques Pienaar  %sub2 = arith.subf %mul1, %a : f32
16*58b44c81SJacques Pienaar  %sum2 = arith.addf %mul1, %b : f32
17*58b44c81SJacques Pienaar  %mul2 = arith.mulf %sub2, %sum2 : f32
18*58b44c81SJacques Pienaar  return %mul2 : f32
19*58b44c81SJacques Pienaar}
20