mirror of https://github.com/llvm/torch-mlir
62 lines
5.6 KiB
MLIR
62 lines
5.6 KiB
MLIR
// RUN: npcomp-opt %s -aten-layer-name -aten-op-report |& FileCheck %s
|
|
// CHECK-LABEL: "L0-native_batch_norm-0": {
|
|
// CHECK-LABEL: "L1-relu-0": {
|
|
// CHECK-LABEL: "L2-_convolution-0": {
|
|
// CHECK-LABEL: "L3-native_batch_norm-1": {
|
|
// CHECK-LABEL: "L4-relu-1": {
|
|
// CHECK-LABEL: "L5-_convolution-1": {
|
|
// CHECK-LABEL: "L6-native_batch_norm-2": {
|
|
// CHECK-LABEL: "L7-relu-2": {
|
|
// CHECK-LABEL: "L8-_convolution-2": {
|
|
// CHECK-LABEL: "L9-add-0": {
|
|
|
|
module {
|
|
func @graph(%arg0: tensor<1x16x128x128xf32>, %arg1: tensor<1x16x128x128xf32>, %arg2: tensor<16xf32>, %arg3: tensor<16xf32>, %arg4: tensor<16xf32>, %arg5: tensor<16xf32>, %arg6: tensor<8x16x1x1xf32>, %arg7: tensor<8xf32>, %arg8: tensor<8xf32>, %arg9: tensor<8xf32>, %arg10: tensor<8xf32>, %arg11: tensor<8xf32>, %arg12: tensor<8x8x3x3xf32>, %arg13: tensor<8xf32>, %arg14: tensor<8xf32>, %arg15: tensor<8xf32>, %arg16: tensor<8xf32>, %arg17: tensor<8xf32>, %arg18: tensor<16x8x1x1xf32>, %arg19: tensor<16xf32>) -> tensor<1x16x128x128xf32> {
|
|
%0 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%1 = "aten.constant"() {type = "f32", value = 1.000000e-01 : f32} : () -> f32
|
|
%2 = "aten.constant"() {type = "f32", value = 9.99999974E-6 : f32} : () -> f32
|
|
%3:3 = "aten.native_batch_norm"(%arg1, %arg2, %arg3, %arg4, %arg5, %0, %1, %2) : (tensor<1x16x128x128xf32>, tensor<16xf32>, tensor<16xf32>, tensor<16xf32>, tensor<16xf32>, i1, f32, f32) -> (tensor<1x16x128x128xf32>, tensor<16xf32>, tensor<16xf32>)
|
|
%4 = "aten.relu"(%3#0) : (tensor<1x16x128x128xf32>) -> tensor<1x16x128x128xf32>
|
|
%5 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%6 = "aten.constant"() {type = "List[i32]", value = dense<0> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%7 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%8 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%9 = "aten.constant"() {type = "List[i32]", value = dense<0> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%10 = "aten.constant"() {type = "i32", value = 1 : i32} : () -> i32
|
|
%11 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%12 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%13 = "aten._convolution"(%4, %arg6, %arg7, %5, %6, %7) : (tensor<1x16x128x128xf32>, tensor<8x16x1x1xf32>, tensor<8xf32>, !aten.list<i32>, !aten.list<i32>, !aten.list<i32>) -> tensor<1x8x128x128xf32>
|
|
%14 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%15 = "aten.constant"() {type = "f32", value = 1.000000e-01 : f32} : () -> f32
|
|
%16 = "aten.constant"() {type = "f32", value = 9.99999974E-6 : f32} : () -> f32
|
|
%17:3 = "aten.native_batch_norm"(%13, %arg8, %arg9, %arg10, %arg11, %14, %15, %16) : (tensor<1x8x128x128xf32>, tensor<8xf32>, tensor<8xf32>, tensor<8xf32>, tensor<8xf32>, i1, f32, f32) -> (tensor<1x8x128x128xf32>, tensor<8xf32>, tensor<8xf32>)
|
|
%18 = "aten.relu"(%17#0) : (tensor<1x8x128x128xf32>) -> tensor<1x8x128x128xf32>
|
|
%19 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%20 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%21 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%22 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%23 = "aten.constant"() {type = "List[i32]", value = dense<0> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%24 = "aten.constant"() {type = "i32", value = 1 : i32} : () -> i32
|
|
%25 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%26 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%27 = "aten._convolution"(%18, %arg12, %arg13, %19, %20, %21) : (tensor<1x8x128x128xf32>, tensor<8x8x3x3xf32>, tensor<8xf32>, !aten.list<i32>, !aten.list<i32>, !aten.list<i32>) -> tensor<1x8x128x128xf32>
|
|
%28 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%29 = "aten.constant"() {type = "f32", value = 1.000000e-01 : f32} : () -> f32
|
|
%30 = "aten.constant"() {type = "f32", value = 9.99999974E-6 : f32} : () -> f32
|
|
%31:3 = "aten.native_batch_norm"(%27, %arg14, %arg15, %arg16, %arg17, %28, %29, %30) : (tensor<1x8x128x128xf32>, tensor<8xf32>, tensor<8xf32>, tensor<8xf32>, tensor<8xf32>, i1, f32, f32) -> (tensor<1x8x128x128xf32>, tensor<8xf32>, tensor<8xf32>)
|
|
%32 = "aten.relu"(%31#0) : (tensor<1x8x128x128xf32>) -> tensor<1x8x128x128xf32>
|
|
%33 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%34 = "aten.constant"() {type = "List[i32]", value = dense<0> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%35 = "aten.constant"() {type = "List[i32]", value = dense<1> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%36 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%37 = "aten.constant"() {type = "List[i32]", value = dense<0> : vector<2xi32>} : () -> !aten.list<i32>
|
|
%38 = "aten.constant"() {type = "i32", value = 1 : i32} : () -> i32
|
|
%39 = "aten.constant"() {type = "bool", value = 0 : i1} : () -> i1
|
|
%40 = "aten.constant"() {type = "bool", value = 1 : i1} : () -> i1
|
|
%41 = "aten._convolution"(%32, %arg18, %arg19, %33, %34, %35) : (tensor<1x8x128x128xf32>, tensor<16x8x1x1xf32>, tensor<16xf32>, !aten.list<i32>, !aten.list<i32>, !aten.list<i32>) -> tensor<1x16x128x128xf32>
|
|
%42 = "aten.constant"() {type = "i32", value = 1 : i32} : () -> i32
|
|
%43 = "aten.add"(%arg0, %41, %42) : (tensor<1x16x128x128xf32>, tensor<1x16x128x128xf32>, i32) -> tensor<1x16x128x128xf32>
|
|
return %43 : tensor<1x16x128x128xf32>
|
|
}
|
|
}
|