; ModuleID = 'TVMMod' source_filename = "TVMMod" target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" target triple = "ve-linux" %0 = type { double } %1 = type { i32*, i32 } %2 = type { i8*, %3, i32, %4, i64*, i64*, i64 } %3 = type { i32, i32 } %4 = type { i8, i8, i16 } %5 = type { float*, i8*, i8* } %6 = type { i8*, float* } %7 = type { i8*, i8* } %8 = type { float*, i8* } %9 = type { i8*, float* } %10 = type { i8*, i8* } %11 = type { i8*, i8* } %12 = type { i8*, i8* } %13 = type { i8*, i8*, i8* } %14 = type { i8*, i8*, i8* } %15 = type { i8*, i8* } %16 = type { i8*, i8*, i8* } %17 = type { i8*, i8*, i8* } %18 = type { i8*, i8*, i8* } %19 = type { i8*, i8*, i8* } %20 = type { i8*, i8*, i8*, i8*, i8*, i8* } %21 = type { i8*, i8* } %22 = type { i8*, i8* } %23 = type { i8*, i8*, i8*, i8*, i8*, i8* } %24 = type { i8*, i8* } %25 = type { i8*, i8* } %26 = type { i8*, i8* } @__tvm_module_ctx = linkonce dllexport local_unnamed_addr global i8* null, align 8 @__TVMFuncCall = linkonce dllexport local_unnamed_addr global i32 (i8*, %0*, i32*, i32, %0*, i32*)* null, align 8 @__TVMBackendGetFuncFromEnv = linkonce dllexport local_unnamed_addr global i32 (i8*, i8*, i8**)* null, align 8 @__TVMAPISetLastError = linkonce dllexport local_unnamed_addr global void (i8*)* null, align 8 @__TVMBackendParallelLaunch = linkonce dllexport local_unnamed_addr global i32 (i32 (i32, %1*, i8*)*, i8*, i32)* null, align 8 @.str = private constant [67 x i8] c"Assert fail: (num_args == 3), fused_variance: num_args should be 3\00", align 1 @.str.1 = private constant [142 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_variance: Expect arg[0] to be pointer\00", align 1 @.str.2 = private constant [142 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_variance: Expect arg[1] to be pointer\00", align 1 @.str.3 = private constant [142 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_variance: Expect arg[2] to be pointer\00", align 1 @.str.4 = private constant [85 x i8] c"Assert fail: (3 == tir.tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 3\00", align 1 @.str.5 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg0, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg0, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg0, 0, 7) == (uint16)1)), arg0.dtype is expected to be float32\00", align 1 @.str.6 = private constant [97 x i8] c"Assert fail: (128 == int32(arg0.shape[0])), Argument arg0.shape[0] has an unsatisfied constraint\00", align 1 @.str.7 = private constant [95 x i8] c"Assert fail: (1 == int32(arg0.shape[1])), Argument arg0.shape[1] has an unsatisfied constraint\00", align 1 @.str.8 = private constant [97 x i8] c"Assert fail: (768 == int32(arg0.shape[2])), Argument arg0.shape[2] has an unsatisfied constraint\00", align 1 @.str.9 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg0.strides[2])) && (768 == int32(arg0.strides[1]))) && (768 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.10 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg0, 0, 8)), Argument arg0.byte_offset has an unsatisfied constraint\00", align 1 @.str.11 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg0, 0, 10)), Argument arg0.device_type has an unsatisfied constraint\00", align 1 @.str.12 = private constant [85 x i8] c"Assert fail: (3 == tir.tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 3\00", align 1 @.str.13 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg1, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg1, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg1, 0, 7) == (uint16)1)), arg1.dtype is expected to be float32\00", align 1 @.str.14 = private constant [97 x i8] c"Assert fail: (128 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.15 = private constant [95 x i8] c"Assert fail: (1 == int32(arg1.shape[1])), Argument arg1.shape[1] has an unsatisfied constraint\00", align 1 @.str.16 = private constant [95 x i8] c"Assert fail: (1 == int32(arg1.shape[2])), Argument arg1.shape[2] has an unsatisfied constraint\00", align 1 @.str.17 = private constant [157 x i8] c"Assert fail: (((1 == int32(arg1.strides[2])) && (1 == int32(arg1.strides[1]))) && (1 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.18 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg1, 0, 8)), Argument arg1.byte_offset has an unsatisfied constraint\00", align 1 @.str.19 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg1, 0, 10)), Argument arg1.device_type has an unsatisfied constraint\00", align 1 @.str.20 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg1, 0, 9)), Argument arg1.device_id has an unsatisfied constraint\00", align 1 @.str.21 = private constant [85 x i8] c"Assert fail: (3 == tir.tvm_struct_get(arg2, 0, 4)), arg2.ndim is expected to equal 3\00", align 1 @.str.22 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg2, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg2, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg2, 0, 7) == (uint16)1)), arg2.dtype is expected to be float32\00", align 1 @.str.23 = private constant [97 x i8] c"Assert fail: (128 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.24 = private constant [95 x i8] c"Assert fail: (1 == int32(arg2.shape[1])), Argument arg2.shape[1] has an unsatisfied constraint\00", align 1 @.str.25 = private constant [95 x i8] c"Assert fail: (1 == int32(arg2.shape[2])), Argument arg2.shape[2] has an unsatisfied constraint\00", align 1 @.str.26 = private constant [157 x i8] c"Assert fail: (((1 == int32(arg2.strides[2])) && (1 == int32(arg2.strides[1]))) && (1 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.str.27 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg2, 0, 8)), Argument arg2.byte_offset has an unsatisfied constraint\00", align 1 @.str.28 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg2, 0, 10)), Argument arg2.device_type has an unsatisfied constraint\00", align 1 @.str.29 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg2, 0, 9)), Argument arg2.device_id has an unsatisfied constraint\00", align 1 @.str.31 = private constant [100 x i8] c"Assert fail: (num_args == 2), fused_contrib_reverse_reshape_transpose_reshape: num_args should be 2\00", align 1 @.str.32 = private constant [175 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_contrib_reverse_reshape_transpose_reshape: Expect arg[0] to be pointer\00", align 1 @.str.33 = private constant [175 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_contrib_reverse_reshape_transpose_reshape: Expect arg[1] to be pointer\00", align 1 @.str.34 = private constant [96 x i8] c"Assert fail: (12 == int32(arg0.shape[0])), Argument arg0.shape[0] has an unsatisfied constraint\00", align 1 @.str.35 = private constant [97 x i8] c"Assert fail: (128 == int32(arg0.shape[1])), Argument arg0.shape[1] has an unsatisfied constraint\00", align 1 @.str.36 = private constant [96 x i8] c"Assert fail: (64 == int32(arg0.shape[2])), Argument arg0.shape[2] has an unsatisfied constraint\00", align 1 @.str.37 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg0.strides[2])) && (64 == int32(arg0.strides[1]))) && (8192 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.38 = private constant [85 x i8] c"Assert fail: (2 == tir.tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 2\00", align 1 @.str.39 = private constant [97 x i8] c"Assert fail: (768 == int32(arg1.shape[1])), Argument arg1.shape[1] has an unsatisfied constraint\00", align 1 @.str.40 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg1.strides[1])) && (768 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.42 = private constant [63 x i8] c"Assert fail: (num_args == 2), fused_mean: num_args should be 2\00", align 1 @.str.43 = private constant [138 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_mean: Expect arg[0] to be pointer\00", align 1 @.str.44 = private constant [138 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_mean: Expect arg[1] to be pointer\00", align 1 @.str.47 = private constant [127 x i8] c"Assert fail: (num_args == 3), fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape: num_args should be 3\00", align 1 @.str.48 = private constant [202 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape: Expect arg[0] to be pointer\00", align 1 @.str.49 = private constant [202 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape: Expect arg[1] to be pointer\00", align 1 @.str.50 = private constant [202 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape: Expect arg[2] to be pointer\00", align 1 @.str.51 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 1\00", align 1 @.str.52 = private constant [95 x i8] c"Assert fail: (1 == int32(arg0.shape[0])), Argument arg0.shape[0] has an unsatisfied constraint\00", align 1 @.str.53 = private constant [87 x i8] c"Assert fail: (1 == int32(arg0.strides[0])), arg0.strides: expected to be compact array\00", align 1 @.str.54 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 1\00", align 1 @.str.55 = private constant [87 x i8] c"Assert fail: (1 == int32(arg1.strides[0])), arg1.strides: expected to be compact array\00", align 1 @.str.56 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg2, 0, 4)), arg2.ndim is expected to equal 1\00", align 1 @.str.57 = private constant [196 x i8] c"Assert fail: (((tir.tvm_struct_get(arg2, 0, 5) == (uint8)0) && (tir.tvm_struct_get(arg2, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg2, 0, 7) == (uint16)1)), arg2.dtype is expected to be int32\00", align 1 @.str.58 = private constant [98 x i8] c"Assert fail: (1536 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.59 = private constant [87 x i8] c"Assert fail: (1 == int32(arg2.strides[0])), arg2.strides: expected to be compact array\00", align 1 @.str.61 = private constant [84 x i8] c"Assert fail: (num_args == 2), fused_contrib_reverse_reshape_3: num_args should be 2\00", align 1 @.str.62 = private constant [159 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_contrib_reverse_reshape_3: Expect arg[0] to be pointer\00", align 1 @.str.63 = private constant [159 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_contrib_reverse_reshape_3: Expect arg[1] to be pointer\00", align 1 @.str.65 = private constant [104 x i8] c"Assert fail: (num_args == 2), fused_take_transpose_contrib_reverse_reshape_divide: num_args should be 2\00", align 1 @.str.66 = private constant [179 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_take_transpose_contrib_reverse_reshape_divide: Expect arg[0] to be pointer\00", align 1 @.str.67 = private constant [179 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_take_transpose_contrib_reverse_reshape_divide: Expect arg[1] to be pointer\00", align 1 @.str.68 = private constant [85 x i8] c"Assert fail: (5 == tir.tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 5\00", align 1 @.str.69 = private constant [96 x i8] c"Assert fail: (12 == int32(arg0.shape[2])), Argument arg0.shape[2] has an unsatisfied constraint\00", align 1 @.str.70 = private constant [95 x i8] c"Assert fail: (3 == int32(arg0.shape[3])), Argument arg0.shape[3] has an unsatisfied constraint\00", align 1 @.str.71 = private constant [96 x i8] c"Assert fail: (64 == int32(arg0.shape[4])), Argument arg0.shape[4] has an unsatisfied constraint\00", align 1 @.str.72 = private constant [236 x i8] c"Assert fail: (((((1 == int32(arg0.strides[4])) && (64 == int32(arg0.strides[3]))) && (192 == int32(arg0.strides[2]))) && (2304 == int32(arg0.strides[1]))) && (2304 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.73 = private constant [96 x i8] c"Assert fail: (12 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.74 = private constant [97 x i8] c"Assert fail: (128 == int32(arg1.shape[1])), Argument arg1.shape[1] has an unsatisfied constraint\00", align 1 @.str.75 = private constant [96 x i8] c"Assert fail: (64 == int32(arg1.shape[2])), Argument arg1.shape[2] has an unsatisfied constraint\00", align 1 @.str.76 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg1.strides[2])) && (64 == int32(arg1.strides[1]))) && (8192 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.78 = private constant [81 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add_fast_tanh: num_args should be 4\00", align 1 @.str.79 = private constant [156 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_fast_tanh: Expect arg[0] to be pointer\00", align 1 @.str.80 = private constant [156 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_fast_tanh: Expect arg[1] to be pointer\00", align 1 @.str.81 = private constant [156 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_fast_tanh: Expect arg[2] to be pointer\00", align 1 @.str.82 = private constant [156 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_fast_tanh: Expect arg[3] to be pointer\00", align 1 @.str.83 = private constant [85 x i8] c"Assert fail: (2 == tir.tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 2\00", align 1 @.str.84 = private constant [97 x i8] c"Assert fail: (768 == int32(arg0.shape[1])), Argument arg0.shape[1] has an unsatisfied constraint\00", align 1 @.str.85 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg0.strides[1])) && (768 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.86 = private constant [97 x i8] c"Assert fail: (768 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.87 = private constant [97 x i8] c"Assert fail: (768 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.88 = private constant [85 x i8] c"Assert fail: (2 == tir.tvm_struct_get(arg3, 0, 4)), arg3.ndim is expected to equal 2\00", align 1 @.str.89 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg3, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg3, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg3, 0, 7) == (uint16)1)), arg3.dtype is expected to be float32\00", align 1 @.str.90 = private constant [95 x i8] c"Assert fail: (1 == int32(arg3.shape[0])), Argument arg3.shape[0] has an unsatisfied constraint\00", align 1 @.str.91 = private constant [97 x i8] c"Assert fail: (768 == int32(arg3.shape[1])), Argument arg3.shape[1] has an unsatisfied constraint\00", align 1 @.str.92 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg3.strides[1])) && (768 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\00", align 1 @.str.93 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg3, 0, 8)), Argument arg3.byte_offset has an unsatisfied constraint\00", align 1 @.str.94 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg3, 0, 10)), Argument arg3.device_type has an unsatisfied constraint\00", align 1 @.str.95 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg3, 0, 9)), Argument arg3.device_id has an unsatisfied constraint\00", align 1 @__TVMBackendAllocWorkspace = linkonce dllexport local_unnamed_addr global i8* (i32, i32, i64, i32, i32)* null, align 8 @.tvm_func.tvm.contrib.cblas.matmul = internal unnamed_addr global i8* null, align 8 @.str.96 = private constant [25 x i8] c"tvm.contrib.cblas.matmul\00", align 1 @__TVMBackendFreeWorkspace = linkonce dllexport local_unnamed_addr global i32 (i32, i32, i8*)* null, align 8 @.str.97 = private constant [70 x i8] c"Assert fail: (num_args == 3), fused_reshape_add: num_args should be 3\00", align 1 @.str.98 = private constant [145 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_add: Expect arg[0] to be pointer\00", align 1 @.str.99 = private constant [145 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_add: Expect arg[1] to be pointer\00", align 1 @.str.100 = private constant [145 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_reshape_add: Expect arg[2] to be pointer\00", align 1 @.str.101 = private constant [97 x i8] c"Assert fail: (768 == int32(arg1.shape[2])), Argument arg1.shape[2] has an unsatisfied constraint\00", align 1 @.str.102 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg1.strides[2])) && (768 == int32(arg1.strides[1]))) && (768 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.103 = private constant [97 x i8] c"Assert fail: (768 == int32(arg2.shape[2])), Argument arg2.shape[2] has an unsatisfied constraint\00", align 1 @.str.104 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg2.strides[2])) && (768 == int32(arg2.strides[1]))) && (768 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.str.106 = private constant [73 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add_1: num_args should be 4\00", align 1 @.str.107 = private constant [148 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_1: Expect arg[0] to be pointer\00", align 1 @.str.108 = private constant [148 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_1: Expect arg[1] to be pointer\00", align 1 @.str.109 = private constant [148 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_1: Expect arg[2] to be pointer\00", align 1 @.str.110 = private constant [148 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_1: Expect arg[3] to be pointer\00", align 1 @.str.111 = private constant [98 x i8] c"Assert fail: (3072 == int32(arg0.shape[1])), Argument arg0.shape[1] has an unsatisfied constraint\00", align 1 @.str.112 = private constant [125 x i8] c"Assert fail: ((1 == int32(arg0.strides[1])) && (3072 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.113 = private constant [98 x i8] c"Assert fail: (3072 == int32(arg1.shape[1])), Argument arg1.shape[1] has an unsatisfied constraint\00", align 1 @.str.114 = private constant [125 x i8] c"Assert fail: ((1 == int32(arg1.strides[1])) && (3072 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.115 = private constant [97 x i8] c"Assert fail: (128 == int32(arg3.shape[0])), Argument arg3.shape[0] has an unsatisfied constraint\00", align 1 @.str.117 = private constant [128 x i8] c"Assert fail: (num_args == 2), fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape: num_args should be 2\00", align 1 @.str.118 = private constant [203 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape: Expect arg[0] to be pointer\00", align 1 @.str.119 = private constant [203 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape: Expect arg[1] to be pointer\00", align 1 @.str.121 = private constant [73 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add_2: num_args should be 4\00", align 1 @.str.122 = private constant [148 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_2: Expect arg[0] to be pointer\00", align 1 @.str.123 = private constant [148 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_2: Expect arg[1] to be pointer\00", align 1 @.str.124 = private constant [148 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_2: Expect arg[2] to be pointer\00", align 1 @.str.125 = private constant [148 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_2: Expect arg[3] to be pointer\00", align 1 @.str.126 = private constant [98 x i8] c"Assert fail: (3072 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.127 = private constant [98 x i8] c"Assert fail: (3072 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.128 = private constant [98 x i8] c"Assert fail: (3072 == int32(arg3.shape[1])), Argument arg3.shape[1] has an unsatisfied constraint\00", align 1 @.str.129 = private constant [125 x i8] c"Assert fail: ((1 == int32(arg3.strides[1])) && (3072 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\00", align 1 @.str.131 = private constant [76 x i8] c"Assert fail: (num_args == 3), fused_nn_batch_matmul_1: num_args should be 3\00", align 1 @.str.132 = private constant [151 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_batch_matmul_1: Expect arg[0] to be pointer\00", align 1 @.str.133 = private constant [151 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_batch_matmul_1: Expect arg[1] to be pointer\00", align 1 @.str.134 = private constant [151 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_batch_matmul_1: Expect arg[2] to be pointer\00", align 1 @.str.135 = private constant [96 x i8] c"Assert fail: (12 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.136 = private constant [97 x i8] c"Assert fail: (128 == int32(arg2.shape[1])), Argument arg2.shape[1] has an unsatisfied constraint\00", align 1 @.str.137 = private constant [97 x i8] c"Assert fail: (128 == int32(arg2.shape[2])), Argument arg2.shape[2] has an unsatisfied constraint\00", align 1 @.str.138 = private constant [163 x i8] c"Assert fail: (((1 == int32(arg2.strides[2])) && (128 == int32(arg2.strides[1]))) && (16384 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.tvm_func.tvm.contrib.cblas.batch_matmul = internal unnamed_addr global i8* null, align 8 @.str.139 = private constant [31 x i8] c"tvm.contrib.cblas.batch_matmul\00", align 1 @.str.140 = private constant [74 x i8] c"Assert fail: (num_args == 3), fused_nn_batch_matmul: num_args should be 3\00", align 1 @.str.141 = private constant [149 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_batch_matmul: Expect arg[0] to be pointer\00", align 1 @.str.142 = private constant [149 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_batch_matmul: Expect arg[1] to be pointer\00", align 1 @.str.143 = private constant [149 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_batch_matmul: Expect arg[2] to be pointer\00", align 1 @.str.144 = private constant [97 x i8] c"Assert fail: (128 == int32(arg0.shape[2])), Argument arg0.shape[2] has an unsatisfied constraint\00", align 1 @.str.145 = private constant [163 x i8] c"Assert fail: (((1 == int32(arg0.strides[2])) && (128 == int32(arg0.strides[1]))) && (16384 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.146 = private constant [96 x i8] c"Assert fail: (64 == int32(arg1.shape[1])), Argument arg1.shape[1] has an unsatisfied constraint\00", align 1 @.str.147 = private constant [97 x i8] c"Assert fail: (128 == int32(arg1.shape[2])), Argument arg1.shape[2] has an unsatisfied constraint\00", align 1 @.str.148 = private constant [162 x i8] c"Assert fail: (((1 == int32(arg1.strides[2])) && (128 == int32(arg1.strides[1]))) && (8192 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.149 = private constant [96 x i8] c"Assert fail: (64 == int32(arg2.shape[2])), Argument arg2.shape[2] has an unsatisfied constraint\00", align 1 @.str.150 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg2.strides[2])) && (64 == int32(arg2.strides[1]))) && (8192 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.str.151 = private constant [73 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add_4: num_args should be 4\00", align 1 @.str.152 = private constant [148 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_4: Expect arg[0] to be pointer\00", align 1 @.str.153 = private constant [148 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_4: Expect arg[1] to be pointer\00", align 1 @.str.154 = private constant [148 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_4: Expect arg[2] to be pointer\00", align 1 @.str.155 = private constant [148 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_4: Expect arg[3] to be pointer\00", align 1 @.str.156 = private constant [98 x i8] c"Assert fail: (2304 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.157 = private constant [98 x i8] c"Assert fail: (2304 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.158 = private constant [98 x i8] c"Assert fail: (2304 == int32(arg3.shape[1])), Argument arg3.shape[1] has an unsatisfied constraint\00", align 1 @.str.159 = private constant [125 x i8] c"Assert fail: ((1 == int32(arg3.strides[1])) && (2304 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\00", align 1 @.str.161 = private constant [73 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add_3: num_args should be 4\00", align 1 @.str.162 = private constant [148 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_3: Expect arg[0] to be pointer\00", align 1 @.str.163 = private constant [148 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_3: Expect arg[1] to be pointer\00", align 1 @.str.164 = private constant [148 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_3: Expect arg[2] to be pointer\00", align 1 @.str.165 = private constant [148 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_3: Expect arg[3] to be pointer\00", align 1 @.str.167 = private constant [80 x i8] c"Assert fail: (num_args == 3), fused_reshape_sequence_mask: num_args should be 3\00", align 1 @.str.168 = private constant [155 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_sequence_mask: Expect arg[0] to be pointer\00", align 1 @.str.169 = private constant [155 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_sequence_mask: Expect arg[1] to be pointer\00", align 1 @.str.170 = private constant [155 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_reshape_sequence_mask: Expect arg[2] to be pointer\00", align 1 @.str.171 = private constant [196 x i8] c"Assert fail: (((tir.tvm_struct_get(arg1, 0, 5) == (uint8)0) && (tir.tvm_struct_get(arg1, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg1, 0, 7) == (uint16)1)), arg1.dtype is expected to be int32\00", align 1 @.str.172 = private constant [98 x i8] c"Assert fail: (1536 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.173 = private constant [85 x i8] c"Assert fail: (2 == tir.tvm_struct_get(arg2, 0, 4)), arg2.ndim is expected to equal 2\00", align 1 @.str.174 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg2.strides[1])) && (128 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.str.176 = private constant [96 x i8] c"Assert fail: (num_args == 6), fused_cast_take_cast_take_add_transpose_add: num_args should be 6\00", align 1 @.str.177 = private constant [171 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[0] to be pointer\00", align 1 @.str.178 = private constant [171 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[1] to be pointer\00", align 1 @.str.179 = private constant [171 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[2] to be pointer\00", align 1 @.str.180 = private constant [171 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[3] to be pointer\00", align 1 @.str.181 = private constant [171 x i8] c"Assert fail: ((((arg4.code == 3) || (arg4.code == 13)) || (arg4.code == 7)) || (arg4.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[4] to be pointer\00", align 1 @.str.182 = private constant [171 x i8] c"Assert fail: ((((arg5.code == 3) || (arg5.code == 13)) || (arg5.code == 7)) || (arg5.code == 4)), fused_cast_take_cast_take_add_transpose_add: Expect arg[5] to be pointer\00", align 1 @.str.183 = private constant [99 x i8] c"Assert fail: (30522 == int32(arg0.shape[0])), Argument arg0.shape[0] has an unsatisfied constraint\00", align 1 @.str.184 = private constant [95 x i8] c"Assert fail: (1 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.185 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg1.strides[1])) && (128 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.186 = private constant [95 x i8] c"Assert fail: (2 == int32(arg2.shape[0])), Argument arg2.shape[0] has an unsatisfied constraint\00", align 1 @.str.187 = private constant [97 x i8] c"Assert fail: (768 == int32(arg2.shape[1])), Argument arg2.shape[1] has an unsatisfied constraint\00", align 1 @.str.188 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg2.strides[1])) && (768 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\00", align 1 @.str.189 = private constant [97 x i8] c"Assert fail: (128 == int32(arg3.shape[1])), Argument arg3.shape[1] has an unsatisfied constraint\00", align 1 @.str.190 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg3.strides[1])) && (128 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\00", align 1 @.str.191 = private constant [85 x i8] c"Assert fail: (3 == tir.tvm_struct_get(arg4, 0, 4)), arg4.ndim is expected to equal 3\00", align 1 @.str.192 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg4, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg4, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg4, 0, 7) == (uint16)1)), arg4.dtype is expected to be float32\00", align 1 @.str.193 = private constant [97 x i8] c"Assert fail: (128 == int32(arg4.shape[0])), Argument arg4.shape[0] has an unsatisfied constraint\00", align 1 @.str.194 = private constant [95 x i8] c"Assert fail: (1 == int32(arg4.shape[1])), Argument arg4.shape[1] has an unsatisfied constraint\00", align 1 @.str.195 = private constant [97 x i8] c"Assert fail: (768 == int32(arg4.shape[2])), Argument arg4.shape[2] has an unsatisfied constraint\00", align 1 @.str.196 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg4.strides[2])) && (768 == int32(arg4.strides[1]))) && (768 == int32(arg4.strides[0]))), arg4.strides: expected to be compact array\00", align 1 @.str.197 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg4, 0, 8)), Argument arg4.byte_offset has an unsatisfied constraint\00", align 1 @.str.198 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg4, 0, 10)), Argument arg4.device_type has an unsatisfied constraint\00", align 1 @.str.199 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg4, 0, 9)), Argument arg4.device_id has an unsatisfied constraint\00", align 1 @.str.200 = private constant [85 x i8] c"Assert fail: (3 == tir.tvm_struct_get(arg5, 0, 4)), arg5.ndim is expected to equal 3\00", align 1 @.str.201 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg5, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg5, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg5, 0, 7) == (uint16)1)), arg5.dtype is expected to be float32\00", align 1 @.str.202 = private constant [97 x i8] c"Assert fail: (128 == int32(arg5.shape[0])), Argument arg5.shape[0] has an unsatisfied constraint\00", align 1 @.str.203 = private constant [95 x i8] c"Assert fail: (1 == int32(arg5.shape[1])), Argument arg5.shape[1] has an unsatisfied constraint\00", align 1 @.str.204 = private constant [97 x i8] c"Assert fail: (768 == int32(arg5.shape[2])), Argument arg5.shape[2] has an unsatisfied constraint\00", align 1 @.str.205 = private constant [161 x i8] c"Assert fail: (((1 == int32(arg5.strides[2])) && (768 == int32(arg5.strides[1]))) && (768 == int32(arg5.strides[0]))), arg5.strides: expected to be compact array\00", align 1 @.str.206 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg5, 0, 8)), Argument arg5.byte_offset has an unsatisfied constraint\00", align 1 @.str.207 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg5, 0, 10)), Argument arg5.device_type has an unsatisfied constraint\00", align 1 @.str.208 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg5, 0, 9)), Argument arg5.device_id has an unsatisfied constraint\00", align 1 @.str.210 = private constant [107 x i8] c"Assert fail: (num_args == 2), fused_take_transpose_contrib_reverse_reshape_transpose: num_args should be 2\00", align 1 @.str.211 = private constant [182 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_take_transpose_contrib_reverse_reshape_transpose: Expect arg[0] to be pointer\00", align 1 @.str.212 = private constant [182 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_take_transpose_contrib_reverse_reshape_transpose: Expect arg[1] to be pointer\00", align 1 @.str.214 = private constant [68 x i8] c"Assert fail: (num_args == 2), fused_reshape_2: num_args should be 2\00", align 1 @.str.215 = private constant [143 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_2: Expect arg[0] to be pointer\00", align 1 @.str.216 = private constant [143 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_2: Expect arg[1] to be pointer\00", align 1 @.str.217 = private constant [98 x i8] c"Assert fail: (2304 == int32(arg0.shape[1])), Argument arg0.shape[1] has an unsatisfied constraint\00", align 1 @.str.218 = private constant [125 x i8] c"Assert fail: ((1 == int32(arg0.strides[1])) && (2304 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.219 = private constant [85 x i8] c"Assert fail: (5 == tir.tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 5\00", align 1 @.str.220 = private constant [96 x i8] c"Assert fail: (12 == int32(arg1.shape[2])), Argument arg1.shape[2] has an unsatisfied constraint\00", align 1 @.str.221 = private constant [95 x i8] c"Assert fail: (3 == int32(arg1.shape[3])), Argument arg1.shape[3] has an unsatisfied constraint\00", align 1 @.str.222 = private constant [96 x i8] c"Assert fail: (64 == int32(arg1.shape[4])), Argument arg1.shape[4] has an unsatisfied constraint\00", align 1 @.str.223 = private constant [236 x i8] c"Assert fail: (((((1 == int32(arg1.strides[4])) && (64 == int32(arg1.strides[3]))) && (192 == int32(arg1.strides[2]))) && (2304 == int32(arg1.strides[1]))) && (2304 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.225 = private constant [154 x i8] c"Assert fail: (num_args == 7), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: num_args should be 7\00", align 1 @.str.226 = private constant [229 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[0] to be pointer\00", align 1 @.str.227 = private constant [229 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[1] to be pointer\00", align 1 @.str.228 = private constant [229 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[2] to be pointer\00", align 1 @.str.229 = private constant [229 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[3] to be pointer\00", align 1 @.str.230 = private constant [229 x i8] c"Assert fail: ((((arg4.code == 3) || (arg4.code == 13)) || (arg4.code == 7)) || (arg4.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[4] to be pointer\00", align 1 @.str.231 = private constant [229 x i8] c"Assert fail: ((((arg5.code == 3) || (arg5.code == 13)) || (arg5.code == 7)) || (arg5.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[5] to be pointer\00", align 1 @.str.232 = private constant [229 x i8] c"Assert fail: ((((arg6.code == 3) || (arg6.code == 13)) || (arg6.code == 7)) || (arg6.code == 4)), fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_: Expect arg[6] to be pointer\00", align 1 @.str.233 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg3, 0, 4)), arg3.ndim is expected to equal 1\00", align 1 @.str.234 = private constant [97 x i8] c"Assert fail: (768 == int32(arg3.shape[0])), Argument arg3.shape[0] has an unsatisfied constraint\00", align 1 @.str.235 = private constant [87 x i8] c"Assert fail: (1 == int32(arg3.strides[0])), arg3.strides: expected to be compact array\00", align 1 @.str.236 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg4, 0, 4)), arg4.ndim is expected to equal 1\00", align 1 @.str.237 = private constant [97 x i8] c"Assert fail: (768 == int32(arg4.shape[0])), Argument arg4.shape[0] has an unsatisfied constraint\00", align 1 @.str.238 = private constant [87 x i8] c"Assert fail: (1 == int32(arg4.strides[0])), arg4.strides: expected to be compact array\00", align 1 @.str.239 = private constant [85 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg5, 0, 4)), arg5.ndim is expected to equal 1\00", align 1 @.str.240 = private constant [95 x i8] c"Assert fail: (1 == int32(arg5.shape[0])), Argument arg5.shape[0] has an unsatisfied constraint\00", align 1 @.str.241 = private constant [87 x i8] c"Assert fail: (1 == int32(arg5.strides[0])), arg5.strides: expected to be compact array\00", align 1 @.str.242 = private constant [85 x i8] c"Assert fail: (2 == tir.tvm_struct_get(arg6, 0, 4)), arg6.ndim is expected to equal 2\00", align 1 @.str.243 = private constant [198 x i8] c"Assert fail: (((tir.tvm_struct_get(arg6, 0, 5) == (uint8)2) && (tir.tvm_struct_get(arg6, 0, 6) == (uint8)32)) && (tir.tvm_struct_get(arg6, 0, 7) == (uint16)1)), arg6.dtype is expected to be float32\00", align 1 @.str.244 = private constant [95 x i8] c"Assert fail: (1 == int32(arg6.shape[0])), Argument arg6.shape[0] has an unsatisfied constraint\00", align 1 @.str.245 = private constant [97 x i8] c"Assert fail: (768 == int32(arg6.shape[1])), Argument arg6.shape[1] has an unsatisfied constraint\00", align 1 @.str.246 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg6.strides[1])) && (768 == int32(arg6.strides[0]))), arg6.strides: expected to be compact array\00", align 1 @.str.247 = private constant [116 x i8] c"Assert fail: ((uint64)0 == tir.tvm_struct_get(arg6, 0, 8)), Argument arg6.byte_offset has an unsatisfied constraint\00", align 1 @.str.248 = private constant [109 x i8] c"Assert fail: (1 == tir.tvm_struct_get(arg6, 0, 10)), Argument arg6.device_type has an unsatisfied constraint\00", align 1 @.str.249 = private constant [111 x i8] c"Assert fail: (dev_id == tir.tvm_struct_get(arg6, 0, 9)), Argument arg6.device_id has an unsatisfied constraint\00", align 1 @.str.250 = private constant [96 x i8] c"Assert fail: (num_args == 6), fused_subtract_add_sqrt_divide_multiply_add: num_args should be 6\00", align 1 @.str.251 = private constant [171 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[0] to be pointer\00", align 1 @.str.252 = private constant [171 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[1] to be pointer\00", align 1 @.str.253 = private constant [171 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[2] to be pointer\00", align 1 @.str.254 = private constant [171 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[3] to be pointer\00", align 1 @.str.255 = private constant [171 x i8] c"Assert fail: ((((arg4.code == 3) || (arg4.code == 13)) || (arg4.code == 7)) || (arg4.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[4] to be pointer\00", align 1 @.str.256 = private constant [171 x i8] c"Assert fail: ((((arg5.code == 3) || (arg5.code == 13)) || (arg5.code == 7)) || (arg5.code == 4)), fused_subtract_add_sqrt_divide_multiply_add: Expect arg[5] to be pointer\00", align 1 @.str.258 = private constant [68 x i8] c"Assert fail: (num_args == 2), fused_reshape_1: num_args should be 2\00", align 1 @.str.259 = private constant [143 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_1: Expect arg[0] to be pointer\00", align 1 @.str.260 = private constant [143 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_1: Expect arg[1] to be pointer\00", align 1 @.str.261 = private constant [98 x i8] c"Assert fail: (1536 == int32(arg0.shape[0])), Argument arg0.shape[0] has an unsatisfied constraint\00", align 1 @.str.262 = private constant [124 x i8] c"Assert fail: ((1 == int32(arg0.strides[1])) && (128 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\00", align 1 @.str.263 = private constant [163 x i8] c"Assert fail: (((1 == int32(arg1.strides[2])) && (128 == int32(arg1.strides[1]))) && (16384 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\00", align 1 @.str.265 = private constant [97 x i8] c"Assert fail: (num_args == 2), fused_take_transpose_contrib_reverse_reshape: num_args should be 2\00", align 1 @.str.266 = private constant [172 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_take_transpose_contrib_reverse_reshape: Expect arg[0] to be pointer\00", align 1 @.str.267 = private constant [172 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_take_transpose_contrib_reverse_reshape: Expect arg[1] to be pointer\00", align 1 @.str.269 = private constant [75 x i8] c"Assert fail: (num_args == 2), fused_nn_batch_flatten: num_args should be 2\00", align 1 @.str.270 = private constant [150 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_batch_flatten: Expect arg[0] to be pointer\00", align 1 @.str.271 = private constant [150 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_batch_flatten: Expect arg[1] to be pointer\00", align 1 @.str.272 = private constant [69 x i8] c"Assert fail: (num_args == 2), fused_nn_softmax: num_args should be 2\00", align 1 @.str.273 = private constant [144 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_softmax: Expect arg[0] to be pointer\00", align 1 @.str.274 = private constant [144 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_softmax: Expect arg[1] to be pointer\00", align 1 @.str.276 = private constant [71 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add: num_args should be 4\00", align 1 @.str.277 = private constant [146 x i8] c"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add: Expect arg[0] to be pointer\00", align 1 @.str.278 = private constant [146 x i8] c"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add: Expect arg[1] to be pointer\00", align 1 @.str.279 = private constant [146 x i8] c"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add: Expect arg[2] to be pointer\00", align 1 @.str.280 = private constant [146 x i8] c"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add: Expect arg[3] to be pointer\00", align 1 @.str.281 = private constant [95 x i8] c"Assert fail: (2 == int32(arg1.shape[0])), Argument arg1.shape[0] has an unsatisfied constraint\00", align 1 @.str.282 = private constant [95 x i8] c"Assert fail: (2 == int32(arg3.shape[1])), Argument arg3.shape[1] has an unsatisfied constraint\00", align 1 @.str.283 = private constant [122 x i8] c"Assert fail: ((1 == int32(arg3.strides[1])) && (2 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\00", align 1 @llvm.global_ctors = appending global [0 x { i32, void ()*, i8* }] zeroinitializer define dllexport i32 @fused_variance(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 3 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !9 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !23 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !25 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %25 = load i8*, i8** %24, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %25, i64 128) ] %26 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %27 = load i64*, i64** %26, align 8 %28 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %31 = load i32, i32* %30, align 4 %32 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %33 = load i8*, i8** %32, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %33, i64 128) ] %34 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %35 = load i64*, i64** %34, align 8 %36 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %39 = load i8*, i8** %38, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %39, i64 128) ] %40 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %43 = load i64*, i64** %42, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %44 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %44(i8* getelementptr inbounds ([142 x i8], [142 x i8]* @.str.1, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %45 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %45(i8* getelementptr inbounds ([142 x i8], [142 x i8]* @.str.2, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %46(i8* getelementptr inbounds ([142 x i8], [142 x i8]* @.str.3, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %47 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %48 = load i32, i32* %47, align 4 %49 = icmp eq i32 %48, 3 br i1 %49, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %51 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %52 = load i16, i16* %51, align 2 %53 = icmp eq i16 %52, 1 %54 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %55 = load i8, i8* %54, align 1 %56 = icmp eq i8 %55, 32 %57 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %58 = load i8, i8* %57, align 1 %59 = icmp eq i8 %58, 2 %60 = and i1 %56, %59 %61 = and i1 %53, %60 br i1 %61, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !28 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 128 br i1 %65, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %67 = getelementptr inbounds i64, i64* %27, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !42 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 1 br i1 %70, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %72 = getelementptr inbounds i64, i64* %27, i64 2 %73 = load i64, i64* %72, align 8, !tbaa !44 %74 = trunc i64 %73 to i32 %75 = icmp eq i32 %74, 768 br i1 %75, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %76 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %76(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.8, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %29, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %77 = load i64, i64* %29, align 8, !tbaa !48 %78 = trunc i64 %77 to i32 %79 = icmp eq i32 %78, 768 %80 = getelementptr inbounds i64, i64* %29, i64 1 %81 = load i64, i64* %80, align 8, !tbaa !62 %82 = trunc i64 %81 to i32 %83 = icmp eq i32 %82, 768 %84 = getelementptr inbounds i64, i64* %29, i64 2 %85 = load i64, i64* %84, align 8, !tbaa !64 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 1 %88 = and i1 %83, %87 %89 = and i1 %79, %88 br i1 %89, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %90 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %91 = load i64, i64* %90, align 8 %92 = icmp eq i64 %91, 0 br i1 %92, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %93 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %93(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.9, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %94(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %95 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %96 = load i32, i32* %95, align 4 %97 = icmp eq i32 %96, 1 br i1 %97, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %99 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %100 = load i32, i32* %99, align 4 %101 = icmp eq i32 %100, 3 br i1 %101, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %102 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %102(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %103 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %104 = load i16, i16* %103, align 2 %105 = icmp eq i16 %104, 1 %106 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %107 = load i8, i8* %106, align 1 %108 = icmp eq i8 %107, 32 %109 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %110 = load i8, i8* %109, align 1 %111 = icmp eq i8 %110, 2 %112 = and i1 %108, %111 %113 = and i1 %105, %112 br i1 %113, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %114(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %115 = load i64, i64* %35, align 8, !tbaa !67 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 128 br i1 %117, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %119 = getelementptr inbounds i64, i64* %35, i64 1 %120 = load i64, i64* %119, align 8, !tbaa !81 %121 = trunc i64 %120 to i32 %122 = icmp eq i32 %121, 1 br i1 %122, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %124 = getelementptr inbounds i64, i64* %35, i64 2 %125 = load i64, i64* %124, align 8, !tbaa !83 %126 = trunc i64 %125 to i32 %127 = icmp eq i32 %126, 1 br i1 %127, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %128(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.16, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %.not69 = icmp eq i64* %37, null br i1 %.not69, label %if_end38, label %if_then37, !prof !47 if_then37: ; preds = %assert_end36 %129 = load i64, i64* %37, align 8, !tbaa !86 %130 = trunc i64 %129 to i32 %131 = icmp eq i32 %130, 1 %132 = getelementptr inbounds i64, i64* %37, i64 1 %133 = load i64, i64* %132, align 8, !tbaa !100 %134 = trunc i64 %133 to i32 %135 = icmp eq i32 %134, 1 %136 = getelementptr inbounds i64, i64* %37, i64 2 %137 = load i64, i64* %136, align 8, !tbaa !102 %138 = trunc i64 %137 to i32 %139 = icmp eq i32 %138, 1 %140 = and i1 %135, %139 %141 = and i1 %131, %140 br i1 %141, label %if_end38, label %assert_fail39, !prof !5 if_end38: ; preds = %if_then37, %assert_end36 %142 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %143 = load i64, i64* %142, align 8 %144 = icmp eq i64 %143, 0 br i1 %144, label %assert_end42, label %assert_fail41, !prof !5 assert_fail39: ; preds = %if_then37 %145 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %145(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.17, i64 0, i64 0)) ret i32 -1 assert_fail41: ; preds = %if_end38 %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %146(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %if_end38 %147 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %148 = load i32, i32* %147, align 4 %149 = icmp eq i32 %148, 1 br i1 %149, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %151 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %152 = load i32, i32* %151, align 4 %153 = icmp eq i32 %31, %152 br i1 %153, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %154(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %155 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %156 = load i32, i32* %155, align 4 %157 = icmp eq i32 %156, 3 br i1 %157, label %assert_end50, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %158(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end46 %159 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %160 = load i16, i16* %159, align 2 %161 = icmp eq i16 %160, 1 %162 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 32 %165 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %166 = load i8, i8* %165, align 1 %167 = icmp eq i8 %166, 2 %168 = and i1 %164, %167 %169 = and i1 %161, %168 br i1 %169, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %170 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %170(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %171 = load i64, i64* %41, align 8, !tbaa !105 %172 = trunc i64 %171 to i32 %173 = icmp eq i32 %172, 128 br i1 %173, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %174 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %174(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.23, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %175 = getelementptr inbounds i64, i64* %41, i64 1 %176 = load i64, i64* %175, align 8, !tbaa !119 %177 = trunc i64 %176 to i32 %178 = icmp eq i32 %177, 1 br i1 %178, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.24, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %180 = getelementptr inbounds i64, i64* %41, i64 2 %181 = load i64, i64* %180, align 8, !tbaa !121 %182 = trunc i64 %181 to i32 %183 = icmp eq i32 %182, 1 br i1 %183, label %assert_end58, label %assert_fail57, !prof !5 assert_fail57: ; preds = %assert_end56 %184 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %184(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.25, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %.not70 = icmp eq i64* %43, null br i1 %.not70, label %if_end60, label %if_then59, !prof !47 if_then59: ; preds = %assert_end58 %185 = load i64, i64* %43, align 8, !tbaa !124 %186 = trunc i64 %185 to i32 %187 = icmp eq i32 %186, 1 %188 = getelementptr inbounds i64, i64* %43, i64 1 %189 = load i64, i64* %188, align 8, !tbaa !138 %190 = trunc i64 %189 to i32 %191 = icmp eq i32 %190, 1 %192 = getelementptr inbounds i64, i64* %43, i64 2 %193 = load i64, i64* %192, align 8, !tbaa !140 %194 = trunc i64 %193 to i32 %195 = icmp eq i32 %194, 1 %196 = and i1 %191, %195 %197 = and i1 %187, %196 br i1 %197, label %if_end60, label %assert_fail61, !prof !5 if_end60: ; preds = %if_then59, %assert_end58 %198 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %199 = load i64, i64* %198, align 8 %200 = icmp eq i64 %199, 0 br i1 %200, label %assert_end64, label %assert_fail63, !prof !5 assert_fail61: ; preds = %if_then59 %201 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %201(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.26, i64 0, i64 0)) ret i32 -1 assert_fail63: ; preds = %if_end60 %202 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %202(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %if_end60 %203 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %204 = load i32, i32* %203, align 4 %205 = icmp eq i32 %204, 1 br i1 %205, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %206 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %206(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %207 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %208 = load i32, i32* %207, align 4 %209 = icmp eq i32 %31, %208 br i1 %209, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %210 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %210(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %211 = tail call fastcc i32 @fused_variance_compute_(i8* %25, i8* %33, i8* %39) ret i32 %211 } ; Function Attrs: nofree nosync nounwind willreturn declare void @llvm.assume(i1 noundef) #0 ; Function Attrs: noinline define private fastcc i32 @fused_variance_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1, i8* noalias align 128 %2) unnamed_addr #1 { entry: %3 = alloca [128 x float], align 16 %4 = alloca %5, align 8 %.sub = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 0 %5 = getelementptr inbounds %5, %5* %4, i64 0, i32 0 store float* %.sub, float** %5, align 8 %6 = getelementptr inbounds %5, %5* %4, i64 0, i32 1 store i8* %0, i8** %6, align 8 %7 = getelementptr inbounds %5, %5* %4, i64 0, i32 2 store i8* %1, i8** %7, align 8 %8 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %9 = bitcast %5* %4 to i8* %10 = call i32 %8(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda, i8* nonnull %9, i32 0) %11 = icmp eq i32 %10, 0 br i1 %11, label %call_end, label %call_fail, !prof !5 call_fail: ; preds = %entry ret i32 %10 call_end: ; preds = %entry %12 = alloca %6, align 8 %13 = getelementptr inbounds %6, %6* %12, i64 0, i32 0 store i8* %2, i8** %13, align 8 %14 = getelementptr inbounds %6, %6* %12, i64 0, i32 1 store float* %.sub, float** %14, align 8 %15 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %16 = bitcast %6* %12 to i8* %17 = call i32 %15(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.30, i8* nonnull %16, i32 0) ret i32 %17 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_body.preheader, label %for_end, !prof !5 for_body.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 br label %for_body for_body: ; preds = %for_body.preheader, %for_end3 %indvars.iv5 = phi i64 [ %23, %for_body.preheader ], [ %indvars.iv.next6, %for_end3 ] %24 = getelementptr inbounds float, float* %4, i64 %indvars.iv5 store float 0.000000e+00, float* %24, align 4, !tbaa !143 %25 = getelementptr inbounds float, float* %10, i64 %indvars.iv5 %26 = load float, float* %25, align 4, !tbaa !146 %27 = mul nsw i64 %indvars.iv5, 768 br label %for_body2 for_end: ; preds = %for_end3, %entry ret i32 0 for_body2: ; preds = %for_body, %for_body2 %indvars.iv = phi i64 [ 0, %for_body ], [ %indvars.iv.next, %for_body2 ] %28 = phi float [ 0.000000e+00, %for_body ], [ %33, %for_body2 ] %29 = add nsw i64 %indvars.iv, %27 %30 = getelementptr inbounds float, float* %7, i64 %29 %31 = load float, float* %30, align 4, !tbaa !149 %32 = fsub float %31, %26 %square = fmul float %32, %32 %33 = fadd float %28, %square %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 768 br i1 %exitcond.not, label %for_end3, label %for_body2, !prof !47 for_end3: ; preds = %for_body2 store float %33, float* %24, align 4, !tbaa !143 %indvars.iv.next6 = add nsw i64 %indvars.iv5, 1 %exitcond7.not = icmp eq i64 %indvars.iv.next6, %wide.trip.count br i1 %exitcond7.not, label %for_end, label %for_body, !prof !47 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.30(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_body.preheader, label %for_end, !prof !5 for_body.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 %21 = sub nsw i64 %wide.trip.count, %20 %min.iters.check = icmp ult i64 %21, 512 br i1 %min.iters.check, label %for_body.preheader1, label %vector.ph vector.ph: ; preds = %for_body.preheader %n.vec = and i64 %21, -512 %ind.end = add nsw i64 %n.vec, %20 %22 = add nsw i64 %n.vec, -512 %23 = lshr exact i64 %22, 9 %24 = add nuw nsw i64 %23, 1 %xtraiter = and i64 %24, 7 %25 = icmp ult i64 %22, 3584 br i1 %25, label %middle.block.unr-lcssa, label %vector.ph.new vector.ph.new: ; preds = %vector.ph %unroll_iter = and i64 %24, 72057594037927928 br label %vector.body vector.body: ; preds = %vector.body, %vector.ph.new %index = phi i64 [ 0, %vector.ph.new ], [ %index.next.7, %vector.body ] %niter = phi i64 [ %unroll_iter, %vector.ph.new ], [ %niter.nsub.7, %vector.body ] %offset.idx = add i64 %index, %20 %26 = getelementptr inbounds float, float* %7, i64 %offset.idx %27 = bitcast float* %26 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %27, align 4, !tbaa !143 %28 = fmul <512 x float> %wide.load, %29 = getelementptr inbounds float, float* %4, i64 %offset.idx %30 = bitcast float* %29 to <512 x float>* store <512 x float> %28, <512 x float>* %30, align 4, !tbaa !152 %index.next = or i64 %index, 512 %offset.idx.1 = add i64 %index.next, %20 %31 = getelementptr inbounds float, float* %7, i64 %offset.idx.1 %32 = bitcast float* %31 to <512 x float>* %wide.load.1 = load <512 x float>, <512 x float>* %32, align 4, !tbaa !143 %33 = fmul <512 x float> %wide.load.1, %34 = getelementptr inbounds float, float* %4, i64 %offset.idx.1 %35 = bitcast float* %34 to <512 x float>* store <512 x float> %33, <512 x float>* %35, align 4, !tbaa !152 %index.next.1 = or i64 %index, 1024 %offset.idx.2 = add i64 %index.next.1, %20 %36 = getelementptr inbounds float, float* %7, i64 %offset.idx.2 %37 = bitcast float* %36 to <512 x float>* %wide.load.2 = load <512 x float>, <512 x float>* %37, align 4, !tbaa !143 %38 = fmul <512 x float> %wide.load.2, %39 = getelementptr inbounds float, float* %4, i64 %offset.idx.2 %40 = bitcast float* %39 to <512 x float>* store <512 x float> %38, <512 x float>* %40, align 4, !tbaa !152 %index.next.2 = or i64 %index, 1536 %offset.idx.3 = add i64 %index.next.2, %20 %41 = getelementptr inbounds float, float* %7, i64 %offset.idx.3 %42 = bitcast float* %41 to <512 x float>* %wide.load.3 = load <512 x float>, <512 x float>* %42, align 4, !tbaa !143 %43 = fmul <512 x float> %wide.load.3, %44 = getelementptr inbounds float, float* %4, i64 %offset.idx.3 %45 = bitcast float* %44 to <512 x float>* store <512 x float> %43, <512 x float>* %45, align 4, !tbaa !152 %index.next.3 = or i64 %index, 2048 %offset.idx.4 = add i64 %index.next.3, %20 %46 = getelementptr inbounds float, float* %7, i64 %offset.idx.4 %47 = bitcast float* %46 to <512 x float>* %wide.load.4 = load <512 x float>, <512 x float>* %47, align 4, !tbaa !143 %48 = fmul <512 x float> %wide.load.4, %49 = getelementptr inbounds float, float* %4, i64 %offset.idx.4 %50 = bitcast float* %49 to <512 x float>* store <512 x float> %48, <512 x float>* %50, align 4, !tbaa !152 %index.next.4 = or i64 %index, 2560 %offset.idx.5 = add i64 %index.next.4, %20 %51 = getelementptr inbounds float, float* %7, i64 %offset.idx.5 %52 = bitcast float* %51 to <512 x float>* %wide.load.5 = load <512 x float>, <512 x float>* %52, align 4, !tbaa !143 %53 = fmul <512 x float> %wide.load.5, %54 = getelementptr inbounds float, float* %4, i64 %offset.idx.5 %55 = bitcast float* %54 to <512 x float>* store <512 x float> %53, <512 x float>* %55, align 4, !tbaa !152 %index.next.5 = or i64 %index, 3072 %offset.idx.6 = add i64 %index.next.5, %20 %56 = getelementptr inbounds float, float* %7, i64 %offset.idx.6 %57 = bitcast float* %56 to <512 x float>* %wide.load.6 = load <512 x float>, <512 x float>* %57, align 4, !tbaa !143 %58 = fmul <512 x float> %wide.load.6, %59 = getelementptr inbounds float, float* %4, i64 %offset.idx.6 %60 = bitcast float* %59 to <512 x float>* store <512 x float> %58, <512 x float>* %60, align 4, !tbaa !152 %index.next.6 = or i64 %index, 3584 %offset.idx.7 = add i64 %index.next.6, %20 %61 = getelementptr inbounds float, float* %7, i64 %offset.idx.7 %62 = bitcast float* %61 to <512 x float>* %wide.load.7 = load <512 x float>, <512 x float>* %62, align 4, !tbaa !143 %63 = fmul <512 x float> %wide.load.7, %64 = getelementptr inbounds float, float* %4, i64 %offset.idx.7 %65 = bitcast float* %64 to <512 x float>* store <512 x float> %63, <512 x float>* %65, align 4, !tbaa !152 %index.next.7 = add i64 %index, 4096 %niter.nsub.7 = add i64 %niter, -8 %niter.ncmp.7 = icmp eq i64 %niter.nsub.7, 0 br i1 %niter.ncmp.7, label %middle.block.unr-lcssa, label %vector.body, !prof !155, !llvm.loop !156 middle.block.unr-lcssa: ; preds = %vector.body, %vector.ph %index.unr = phi i64 [ 0, %vector.ph ], [ %index.next.7, %vector.body ] %lcmp.mod.not = icmp eq i64 %xtraiter, 0 br i1 %lcmp.mod.not, label %middle.block, label %vector.body.epil vector.body.epil: ; preds = %middle.block.unr-lcssa, %vector.body.epil %index.epil = phi i64 [ %index.next.epil, %vector.body.epil ], [ %index.unr, %middle.block.unr-lcssa ] %epil.iter = phi i64 [ %epil.iter.sub, %vector.body.epil ], [ %xtraiter, %middle.block.unr-lcssa ] %offset.idx.epil = add i64 %index.epil, %20 %66 = getelementptr inbounds float, float* %7, i64 %offset.idx.epil %67 = bitcast float* %66 to <512 x float>* %wide.load.epil = load <512 x float>, <512 x float>* %67, align 4, !tbaa !143 %68 = fmul <512 x float> %wide.load.epil, %69 = getelementptr inbounds float, float* %4, i64 %offset.idx.epil %70 = bitcast float* %69 to <512 x float>* store <512 x float> %68, <512 x float>* %70, align 4, !tbaa !152 %index.next.epil = add i64 %index.epil, 512 %epil.iter.sub = add i64 %epil.iter, -1 %epil.iter.cmp.not = icmp eq i64 %epil.iter.sub, 0 br i1 %epil.iter.cmp.not, label %middle.block, label %vector.body.epil, !prof !158, !llvm.loop !159 middle.block: ; preds = %vector.body.epil, %middle.block.unr-lcssa %cmp.n = icmp eq i64 %21, %n.vec br i1 %cmp.n, label %for_end, label %for_body.preheader1 for_body.preheader1: ; preds = %middle.block, %for_body.preheader %indvars.iv.ph = phi i64 [ %20, %for_body.preheader ], [ %ind.end, %middle.block ] br label %for_body for_body: ; preds = %for_body.preheader1, %for_body %indvars.iv = phi i64 [ %indvars.iv.next, %for_body ], [ %indvars.iv.ph, %for_body.preheader1 ] %71 = getelementptr inbounds float, float* %7, i64 %indvars.iv %72 = load float, float* %71, align 4, !tbaa !143 %73 = fmul float %72, 0x3F55555560000000 %74 = getelementptr inbounds float, float* %4, i64 %indvars.iv store float %73, float* %74, align 4, !tbaa !152 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %for_end, label %for_body, !prof !161, !llvm.loop !162 for_end: ; preds = %for_body, %middle.block, %entry ret i32 0 } define dllexport i32 @fused_contrib_reverse_reshape_transpose_reshape(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([100 x i8], [100 x i8]* @.str.31, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !164 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !178 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([175 x i8], [175 x i8]* @.str.32, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([175 x i8], [175 x i8]* @.str.33, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 3 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !180 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 12 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.34, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !194 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 128 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !196 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 64 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.36, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !199 %65 = trunc i64 %64 to i32 %66 = icmp eq i32 %65, 8192 %67 = getelementptr inbounds i64, i64* %23, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !213 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 64 %71 = getelementptr inbounds i64, i64* %23, i64 2 %72 = load i64, i64* %71, align 8, !tbaa !215 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 1 %75 = and i1 %70, %74 %76 = and i1 %66, %75 br i1 %76, label %if_end, label %assert_fail17, !prof !5 if_end: ; preds = %if_then, %assert_end16 %77 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %78 = load i64, i64* %77, align 8 %79 = icmp eq i64 %78, 0 br i1 %79, label %assert_end20, label %assert_fail19, !prof !5 assert_fail17: ; preds = %if_then %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.37, i64 0, i64 0)) ret i32 -1 assert_fail19: ; preds = %if_end %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %81(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %if_end %82 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %83 = load i32, i32* %82, align 4 %84 = icmp eq i32 %83, 1 br i1 %84, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %85(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %87 = load i32, i32* %86, align 4 %88 = icmp eq i32 %87, 2 br i1 %88, label %assert_end26, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %89(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end22 %90 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %91 = load i16, i16* %90, align 2 %92 = icmp eq i16 %91, 1 %93 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %94 = load i8, i8* %93, align 1 %95 = icmp eq i8 %94, 32 %96 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 2 %99 = and i1 %95, %98 %100 = and i1 %92, %99 br i1 %100, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !218 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 128 br i1 %104, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %106 = getelementptr inbounds i64, i64* %29, i64 1 %107 = load i64, i64* %106, align 8, !tbaa !232 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 768 br i1 %109, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %.not43 = icmp eq i64* %31, null br i1 %.not43, label %if_end34, label %if_then33, !prof !47 if_then33: ; preds = %assert_end32 %111 = load i64, i64* %31, align 8, !tbaa !234 %112 = trunc i64 %111 to i32 %113 = icmp eq i32 %112, 768 %114 = getelementptr inbounds i64, i64* %31, i64 1 %115 = load i64, i64* %114, align 8, !tbaa !248 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 1 %118 = and i1 %113, %117 br i1 %118, label %if_end34, label %assert_fail35, !prof !5 if_end34: ; preds = %if_then33, %assert_end32 %119 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %120 = load i64, i64* %119, align 8 %121 = icmp eq i64 %120, 0 br i1 %121, label %assert_end38, label %assert_fail37, !prof !5 assert_fail35: ; preds = %if_then33 %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail37: ; preds = %if_end34 %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %if_end34 %124 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %125 = load i32, i32* %124, align 4 %126 = icmp eq i32 %125, 1 br i1 %126, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %128 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %129 = load i32, i32* %128, align 4 %130 = icmp eq i32 %25, %129 br i1 %130, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %131 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %131(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %132 = tail call fastcc i32 @fused_contrib_reverse_reshape_transpose_reshape_compute_(i8* %27, i8* %19) ret i32 %132 } ; Function Attrs: noinline define private fastcc i32 @fused_contrib_reverse_reshape_transpose_reshape_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %7, align 8 %3 = getelementptr inbounds %7, %7* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %7, %7* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %7* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.41, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.41(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader, label %for_end, !prof !5 for_begin1.preheader: ; preds = %entry, %for_end3 %20 = phi i32 [ %247, %for_end3 ], [ %18, %entry ] %21 = mul nsw i32 %20, 768 %22 = shl nsw i32 %20, 6 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %23 = shl nsw i64 %indvars.iv, 4 %24 = trunc i64 %23 to i32 %25 = add i32 %21, %24 %indvars.iv.tr = trunc i64 %indvars.iv to i32 %26 = shl i32 %indvars.iv.tr, 11 %27 = and i32 %26, 2147475456 %28 = add nsw i32 %27, %22 %29 = trunc i64 %23 to i32 %30 = and i32 %29, 48 %31 = or i32 %28, %30 %32 = sext i32 %31 to i64 %33 = getelementptr inbounds float, float* %7, i64 %32 %34 = load float, float* %33, align 4, !tbaa !250 %35 = sext i32 %25 to i64 %36 = getelementptr inbounds float, float* %4, i64 %35 store float %34, float* %36, align 4, !tbaa !253 %37 = or i64 %23, 1 %38 = trunc i64 %37 to i32 %39 = add i32 %21, %38 %indvars.iv.tr9 = trunc i64 %indvars.iv to i32 %40 = shl i32 %indvars.iv.tr9, 11 %41 = and i32 %40, 2147475456 %42 = add nsw i32 %41, %22 %43 = trunc i64 %37 to i32 %44 = and i32 %43, 49 %45 = or i32 %42, %44 %46 = sext i32 %45 to i64 %47 = getelementptr inbounds float, float* %7, i64 %46 %48 = load float, float* %47, align 4, !tbaa !250 %49 = sext i32 %39 to i64 %50 = getelementptr inbounds float, float* %4, i64 %49 store float %48, float* %50, align 4, !tbaa !253 %51 = or i64 %23, 2 %52 = trunc i64 %51 to i32 %53 = add i32 %21, %52 %indvars.iv.tr11 = trunc i64 %indvars.iv to i32 %54 = shl i32 %indvars.iv.tr11, 11 %55 = and i32 %54, 2147475456 %56 = add nsw i32 %55, %22 %57 = trunc i64 %51 to i32 %58 = and i32 %57, 50 %59 = or i32 %56, %58 %60 = sext i32 %59 to i64 %61 = getelementptr inbounds float, float* %7, i64 %60 %62 = load float, float* %61, align 4, !tbaa !250 %63 = sext i32 %53 to i64 %64 = getelementptr inbounds float, float* %4, i64 %63 store float %62, float* %64, align 4, !tbaa !253 %65 = or i64 %23, 3 %66 = trunc i64 %65 to i32 %67 = add i32 %21, %66 %indvars.iv.tr13 = trunc i64 %indvars.iv to i32 %68 = shl i32 %indvars.iv.tr13, 11 %69 = and i32 %68, 2147475456 %70 = add nsw i32 %69, %22 %71 = trunc i64 %65 to i32 %72 = and i32 %71, 51 %73 = or i32 %70, %72 %74 = sext i32 %73 to i64 %75 = getelementptr inbounds float, float* %7, i64 %74 %76 = load float, float* %75, align 4, !tbaa !250 %77 = sext i32 %67 to i64 %78 = getelementptr inbounds float, float* %4, i64 %77 store float %76, float* %78, align 4, !tbaa !253 %79 = or i64 %23, 4 %80 = trunc i64 %79 to i32 %81 = add i32 %21, %80 %indvars.iv.tr15 = trunc i64 %indvars.iv to i32 %82 = shl i32 %indvars.iv.tr15, 11 %83 = and i32 %82, 2147475456 %84 = add nsw i32 %83, %22 %85 = trunc i64 %79 to i32 %86 = and i32 %85, 52 %87 = or i32 %84, %86 %88 = sext i32 %87 to i64 %89 = getelementptr inbounds float, float* %7, i64 %88 %90 = load float, float* %89, align 4, !tbaa !250 %91 = sext i32 %81 to i64 %92 = getelementptr inbounds float, float* %4, i64 %91 store float %90, float* %92, align 4, !tbaa !253 %93 = or i64 %23, 5 %94 = trunc i64 %93 to i32 %95 = add i32 %21, %94 %indvars.iv.tr17 = trunc i64 %indvars.iv to i32 %96 = shl i32 %indvars.iv.tr17, 11 %97 = and i32 %96, 2147475456 %98 = add nsw i32 %97, %22 %99 = trunc i64 %93 to i32 %100 = and i32 %99, 53 %101 = or i32 %98, %100 %102 = sext i32 %101 to i64 %103 = getelementptr inbounds float, float* %7, i64 %102 %104 = load float, float* %103, align 4, !tbaa !250 %105 = sext i32 %95 to i64 %106 = getelementptr inbounds float, float* %4, i64 %105 store float %104, float* %106, align 4, !tbaa !253 %107 = or i64 %23, 6 %108 = trunc i64 %107 to i32 %109 = add i32 %21, %108 %indvars.iv.tr19 = trunc i64 %indvars.iv to i32 %110 = shl i32 %indvars.iv.tr19, 11 %111 = and i32 %110, 2147475456 %112 = add nsw i32 %111, %22 %113 = trunc i64 %107 to i32 %114 = and i32 %113, 54 %115 = or i32 %112, %114 %116 = sext i32 %115 to i64 %117 = getelementptr inbounds float, float* %7, i64 %116 %118 = load float, float* %117, align 4, !tbaa !250 %119 = sext i32 %109 to i64 %120 = getelementptr inbounds float, float* %4, i64 %119 store float %118, float* %120, align 4, !tbaa !253 %121 = or i64 %23, 7 %122 = trunc i64 %121 to i32 %123 = add i32 %21, %122 %indvars.iv.tr21 = trunc i64 %indvars.iv to i32 %124 = shl i32 %indvars.iv.tr21, 11 %125 = and i32 %124, 2147475456 %126 = add nsw i32 %125, %22 %127 = trunc i64 %121 to i32 %128 = and i32 %127, 55 %129 = or i32 %126, %128 %130 = sext i32 %129 to i64 %131 = getelementptr inbounds float, float* %7, i64 %130 %132 = load float, float* %131, align 4, !tbaa !250 %133 = sext i32 %123 to i64 %134 = getelementptr inbounds float, float* %4, i64 %133 store float %132, float* %134, align 4, !tbaa !253 %135 = or i64 %23, 8 %136 = trunc i64 %135 to i32 %137 = add i32 %21, %136 %indvars.iv.tr23 = trunc i64 %indvars.iv to i32 %138 = shl i32 %indvars.iv.tr23, 11 %139 = and i32 %138, 2147475456 %140 = add nsw i32 %139, %22 %141 = trunc i64 %135 to i32 %142 = and i32 %141, 56 %143 = or i32 %140, %142 %144 = sext i32 %143 to i64 %145 = getelementptr inbounds float, float* %7, i64 %144 %146 = load float, float* %145, align 4, !tbaa !250 %147 = sext i32 %137 to i64 %148 = getelementptr inbounds float, float* %4, i64 %147 store float %146, float* %148, align 4, !tbaa !253 %149 = or i64 %23, 9 %150 = trunc i64 %149 to i32 %151 = add i32 %21, %150 %indvars.iv.tr25 = trunc i64 %indvars.iv to i32 %152 = shl i32 %indvars.iv.tr25, 11 %153 = and i32 %152, 2147475456 %154 = add nsw i32 %153, %22 %155 = trunc i64 %149 to i32 %156 = and i32 %155, 57 %157 = or i32 %154, %156 %158 = sext i32 %157 to i64 %159 = getelementptr inbounds float, float* %7, i64 %158 %160 = load float, float* %159, align 4, !tbaa !250 %161 = sext i32 %151 to i64 %162 = getelementptr inbounds float, float* %4, i64 %161 store float %160, float* %162, align 4, !tbaa !253 %163 = or i64 %23, 10 %164 = trunc i64 %163 to i32 %165 = add i32 %21, %164 %indvars.iv.tr27 = trunc i64 %indvars.iv to i32 %166 = shl i32 %indvars.iv.tr27, 11 %167 = and i32 %166, 2147475456 %168 = add nsw i32 %167, %22 %169 = trunc i64 %163 to i32 %170 = and i32 %169, 58 %171 = or i32 %168, %170 %172 = sext i32 %171 to i64 %173 = getelementptr inbounds float, float* %7, i64 %172 %174 = load float, float* %173, align 4, !tbaa !250 %175 = sext i32 %165 to i64 %176 = getelementptr inbounds float, float* %4, i64 %175 store float %174, float* %176, align 4, !tbaa !253 %177 = or i64 %23, 11 %178 = trunc i64 %177 to i32 %179 = add i32 %21, %178 %indvars.iv.tr29 = trunc i64 %indvars.iv to i32 %180 = shl i32 %indvars.iv.tr29, 11 %181 = and i32 %180, 2147475456 %182 = add nsw i32 %181, %22 %183 = trunc i64 %177 to i32 %184 = and i32 %183, 59 %185 = or i32 %182, %184 %186 = sext i32 %185 to i64 %187 = getelementptr inbounds float, float* %7, i64 %186 %188 = load float, float* %187, align 4, !tbaa !250 %189 = sext i32 %179 to i64 %190 = getelementptr inbounds float, float* %4, i64 %189 store float %188, float* %190, align 4, !tbaa !253 %191 = or i64 %23, 12 %192 = trunc i64 %191 to i32 %193 = add i32 %21, %192 %indvars.iv.tr31 = trunc i64 %indvars.iv to i32 %194 = shl i32 %indvars.iv.tr31, 11 %195 = and i32 %194, 2147475456 %196 = add nsw i32 %195, %22 %197 = trunc i64 %191 to i32 %198 = and i32 %197, 60 %199 = or i32 %196, %198 %200 = sext i32 %199 to i64 %201 = getelementptr inbounds float, float* %7, i64 %200 %202 = load float, float* %201, align 4, !tbaa !250 %203 = sext i32 %193 to i64 %204 = getelementptr inbounds float, float* %4, i64 %203 store float %202, float* %204, align 4, !tbaa !253 %205 = or i64 %23, 13 %206 = trunc i64 %205 to i32 %207 = add i32 %21, %206 %indvars.iv.tr33 = trunc i64 %indvars.iv to i32 %208 = shl i32 %indvars.iv.tr33, 11 %209 = and i32 %208, 2147475456 %210 = add nsw i32 %209, %22 %211 = trunc i64 %205 to i32 %212 = and i32 %211, 61 %213 = or i32 %210, %212 %214 = sext i32 %213 to i64 %215 = getelementptr inbounds float, float* %7, i64 %214 %216 = load float, float* %215, align 4, !tbaa !250 %217 = sext i32 %207 to i64 %218 = getelementptr inbounds float, float* %4, i64 %217 store float %216, float* %218, align 4, !tbaa !253 %219 = or i64 %23, 14 %220 = trunc i64 %219 to i32 %221 = add i32 %21, %220 %indvars.iv.tr35 = trunc i64 %indvars.iv to i32 %222 = shl i32 %indvars.iv.tr35, 11 %223 = and i32 %222, 2147475456 %224 = add nsw i32 %223, %22 %225 = trunc i64 %219 to i32 %226 = and i32 %225, 62 %227 = or i32 %224, %226 %228 = sext i32 %227 to i64 %229 = getelementptr inbounds float, float* %7, i64 %228 %230 = load float, float* %229, align 4, !tbaa !250 %231 = sext i32 %221 to i64 %232 = getelementptr inbounds float, float* %4, i64 %231 store float %230, float* %232, align 4, !tbaa !253 %233 = or i64 %23, 15 %234 = trunc i64 %233 to i32 %235 = add i32 %21, %234 %indvars.iv.tr37 = trunc i64 %indvars.iv to i32 %236 = shl i32 %indvars.iv.tr37, 11 %237 = and i32 %236, 2147475456 %238 = add nsw i32 %237, %22 %239 = trunc i64 %233 to i32 %240 = and i32 %239, 63 %241 = or i32 %238, %240 %242 = sext i32 %241 to i64 %243 = getelementptr inbounds float, float* %7, i64 %242 %244 = load float, float* %243, align 4, !tbaa !250 %245 = sext i32 %235 to i64 %246 = getelementptr inbounds float, float* %4, i64 %245 store float %244, float* %246, align 4, !tbaa !253 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 48 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %247 = add nsw i32 %20, 1 %exitcond7.not = icmp eq i32 %247, %15 br i1 %exitcond7.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_mean(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.42, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !256 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !270 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([138 x i8], [138 x i8]* @.str.43, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([138 x i8], [138 x i8]* @.str.44, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 3 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !272 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !286 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 1 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !288 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 768 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.8, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !291 %65 = trunc i64 %64 to i32 %66 = icmp eq i32 %65, 768 %67 = getelementptr inbounds i64, i64* %23, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !305 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 768 %71 = getelementptr inbounds i64, i64* %23, i64 2 %72 = load i64, i64* %71, align 8, !tbaa !307 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 1 %75 = and i1 %70, %74 %76 = and i1 %66, %75 br i1 %76, label %if_end, label %assert_fail17, !prof !5 if_end: ; preds = %if_then, %assert_end16 %77 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %78 = load i64, i64* %77, align 8 %79 = icmp eq i64 %78, 0 br i1 %79, label %assert_end20, label %assert_fail19, !prof !5 assert_fail17: ; preds = %if_then %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.9, i64 0, i64 0)) ret i32 -1 assert_fail19: ; preds = %if_end %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %81(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %if_end %82 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %83 = load i32, i32* %82, align 4 %84 = icmp eq i32 %83, 1 br i1 %84, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %85(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %87 = load i32, i32* %86, align 4 %88 = icmp eq i32 %87, 3 br i1 %88, label %assert_end26, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %89(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end22 %90 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %91 = load i16, i16* %90, align 2 %92 = icmp eq i16 %91, 1 %93 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %94 = load i8, i8* %93, align 1 %95 = icmp eq i8 %94, 32 %96 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 2 %99 = and i1 %95, %98 %100 = and i1 %92, %99 br i1 %100, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !310 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 128 br i1 %104, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %106 = getelementptr inbounds i64, i64* %29, i64 1 %107 = load i64, i64* %106, align 8, !tbaa !324 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 1 br i1 %109, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %111 = getelementptr inbounds i64, i64* %29, i64 2 %112 = load i64, i64* %111, align 8, !tbaa !326 %113 = trunc i64 %112 to i32 %114 = icmp eq i32 %113, 1 br i1 %114, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %115 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %115(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.16, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not45 = icmp eq i64* %31, null br i1 %.not45, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %116 = load i64, i64* %31, align 8, !tbaa !329 %117 = trunc i64 %116 to i32 %118 = icmp eq i32 %117, 1 %119 = getelementptr inbounds i64, i64* %31, i64 1 %120 = load i64, i64* %119, align 8, !tbaa !343 %121 = trunc i64 %120 to i32 %122 = icmp eq i32 %121, 1 %123 = getelementptr inbounds i64, i64* %31, i64 2 %124 = load i64, i64* %123, align 8, !tbaa !345 %125 = trunc i64 %124 to i32 %126 = icmp eq i32 %125, 1 %127 = and i1 %122, %126 %128 = and i1 %118, %127 br i1 %128, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %129 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %130 = load i64, i64* %129, align 8 %131 = icmp eq i64 %130, 0 br i1 %131, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %132(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.17, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %133(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %134 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %135 = load i32, i32* %134, align 4 %136 = icmp eq i32 %135, 1 br i1 %136, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %137 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %137(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %138 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %139 = load i32, i32* %138, align 4 %140 = icmp eq i32 %25, %139 br i1 %140, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %141 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %141(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %142 = tail call fastcc i32 @fused_mean_compute_(i8* %19, i8* %27) ret i32 %142 } ; Function Attrs: noinline define private fastcc i32 @fused_mean_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca [128 x float], align 16 %3 = alloca %8, align 8 %.sub = getelementptr inbounds [128 x float], [128 x float]* %2, i64 0, i64 0 %4 = getelementptr inbounds %8, %8* %3, i64 0, i32 0 store float* %.sub, float** %4, align 8 %5 = getelementptr inbounds %8, %8* %3, i64 0, i32 1 store i8* %0, i8** %5, align 8 %6 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %7 = bitcast %8* %3 to i8* %8 = call i32 %6(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.45, i8* nonnull %7, i32 0) %9 = icmp eq i32 %8, 0 br i1 %9, label %call_end, label %call_fail, !prof !5 call_fail: ; preds = %entry ret i32 %8 call_end: ; preds = %entry %10 = alloca %9, align 8 %11 = getelementptr inbounds %9, %9* %10, i64 0, i32 0 store i8* %1, i8** %11, align 8 %12 = getelementptr inbounds %9, %9* %10, i64 0, i32 1 store float* %.sub, float** %12, align 8 %13 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %14 = bitcast %9* %10 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.46, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.45(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_body.preheader, label %for_end, !prof !5 for_body.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_body for_body: ; preds = %for_body.preheader, %for_end3 %indvars.iv5 = phi i64 [ %20, %for_body.preheader ], [ %indvars.iv.next6, %for_end3 ] %21 = getelementptr inbounds float, float* %4, i64 %indvars.iv5 store float 0.000000e+00, float* %21, align 4, !tbaa !348 %22 = mul nsw i64 %indvars.iv5, 768 br label %for_body2 for_end: ; preds = %for_end3, %entry ret i32 0 for_body2: ; preds = %for_body, %for_body2 %indvars.iv = phi i64 [ 0, %for_body ], [ %indvars.iv.next, %for_body2 ] %23 = phi float [ 0.000000e+00, %for_body ], [ %27, %for_body2 ] %24 = add nsw i64 %indvars.iv, %22 %25 = getelementptr inbounds float, float* %7, i64 %24 %26 = load float, float* %25, align 4, !tbaa !351 %27 = fadd float %26, %23 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 768 br i1 %exitcond.not, label %for_end3, label %for_body2, !prof !47 for_end3: ; preds = %for_body2 store float %27, float* %21, align 4, !tbaa !348 %indvars.iv.next6 = add nsw i64 %indvars.iv5, 1 %exitcond7.not = icmp eq i64 %indvars.iv.next6, %wide.trip.count br i1 %exitcond7.not, label %for_end, label %for_body, !prof !47 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.46(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_body.preheader, label %for_end, !prof !5 for_body.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 %21 = sub nsw i64 %wide.trip.count, %20 %min.iters.check = icmp ult i64 %21, 512 br i1 %min.iters.check, label %for_body.preheader1, label %vector.ph vector.ph: ; preds = %for_body.preheader %n.vec = and i64 %21, -512 %ind.end = add nsw i64 %n.vec, %20 %22 = add nsw i64 %n.vec, -512 %23 = lshr exact i64 %22, 9 %24 = add nuw nsw i64 %23, 1 %xtraiter = and i64 %24, 7 %25 = icmp ult i64 %22, 3584 br i1 %25, label %middle.block.unr-lcssa, label %vector.ph.new vector.ph.new: ; preds = %vector.ph %unroll_iter = and i64 %24, 72057594037927928 br label %vector.body vector.body: ; preds = %vector.body, %vector.ph.new %index = phi i64 [ 0, %vector.ph.new ], [ %index.next.7, %vector.body ] %niter = phi i64 [ %unroll_iter, %vector.ph.new ], [ %niter.nsub.7, %vector.body ] %offset.idx = add i64 %index, %20 %26 = getelementptr inbounds float, float* %7, i64 %offset.idx %27 = bitcast float* %26 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %27, align 4, !tbaa !348 %28 = fmul <512 x float> %wide.load, %29 = getelementptr inbounds float, float* %4, i64 %offset.idx %30 = bitcast float* %29 to <512 x float>* store <512 x float> %28, <512 x float>* %30, align 4, !tbaa !354 %index.next = or i64 %index, 512 %offset.idx.1 = add i64 %index.next, %20 %31 = getelementptr inbounds float, float* %7, i64 %offset.idx.1 %32 = bitcast float* %31 to <512 x float>* %wide.load.1 = load <512 x float>, <512 x float>* %32, align 4, !tbaa !348 %33 = fmul <512 x float> %wide.load.1, %34 = getelementptr inbounds float, float* %4, i64 %offset.idx.1 %35 = bitcast float* %34 to <512 x float>* store <512 x float> %33, <512 x float>* %35, align 4, !tbaa !354 %index.next.1 = or i64 %index, 1024 %offset.idx.2 = add i64 %index.next.1, %20 %36 = getelementptr inbounds float, float* %7, i64 %offset.idx.2 %37 = bitcast float* %36 to <512 x float>* %wide.load.2 = load <512 x float>, <512 x float>* %37, align 4, !tbaa !348 %38 = fmul <512 x float> %wide.load.2, %39 = getelementptr inbounds float, float* %4, i64 %offset.idx.2 %40 = bitcast float* %39 to <512 x float>* store <512 x float> %38, <512 x float>* %40, align 4, !tbaa !354 %index.next.2 = or i64 %index, 1536 %offset.idx.3 = add i64 %index.next.2, %20 %41 = getelementptr inbounds float, float* %7, i64 %offset.idx.3 %42 = bitcast float* %41 to <512 x float>* %wide.load.3 = load <512 x float>, <512 x float>* %42, align 4, !tbaa !348 %43 = fmul <512 x float> %wide.load.3, %44 = getelementptr inbounds float, float* %4, i64 %offset.idx.3 %45 = bitcast float* %44 to <512 x float>* store <512 x float> %43, <512 x float>* %45, align 4, !tbaa !354 %index.next.3 = or i64 %index, 2048 %offset.idx.4 = add i64 %index.next.3, %20 %46 = getelementptr inbounds float, float* %7, i64 %offset.idx.4 %47 = bitcast float* %46 to <512 x float>* %wide.load.4 = load <512 x float>, <512 x float>* %47, align 4, !tbaa !348 %48 = fmul <512 x float> %wide.load.4, %49 = getelementptr inbounds float, float* %4, i64 %offset.idx.4 %50 = bitcast float* %49 to <512 x float>* store <512 x float> %48, <512 x float>* %50, align 4, !tbaa !354 %index.next.4 = or i64 %index, 2560 %offset.idx.5 = add i64 %index.next.4, %20 %51 = getelementptr inbounds float, float* %7, i64 %offset.idx.5 %52 = bitcast float* %51 to <512 x float>* %wide.load.5 = load <512 x float>, <512 x float>* %52, align 4, !tbaa !348 %53 = fmul <512 x float> %wide.load.5, %54 = getelementptr inbounds float, float* %4, i64 %offset.idx.5 %55 = bitcast float* %54 to <512 x float>* store <512 x float> %53, <512 x float>* %55, align 4, !tbaa !354 %index.next.5 = or i64 %index, 3072 %offset.idx.6 = add i64 %index.next.5, %20 %56 = getelementptr inbounds float, float* %7, i64 %offset.idx.6 %57 = bitcast float* %56 to <512 x float>* %wide.load.6 = load <512 x float>, <512 x float>* %57, align 4, !tbaa !348 %58 = fmul <512 x float> %wide.load.6, %59 = getelementptr inbounds float, float* %4, i64 %offset.idx.6 %60 = bitcast float* %59 to <512 x float>* store <512 x float> %58, <512 x float>* %60, align 4, !tbaa !354 %index.next.6 = or i64 %index, 3584 %offset.idx.7 = add i64 %index.next.6, %20 %61 = getelementptr inbounds float, float* %7, i64 %offset.idx.7 %62 = bitcast float* %61 to <512 x float>* %wide.load.7 = load <512 x float>, <512 x float>* %62, align 4, !tbaa !348 %63 = fmul <512 x float> %wide.load.7, %64 = getelementptr inbounds float, float* %4, i64 %offset.idx.7 %65 = bitcast float* %64 to <512 x float>* store <512 x float> %63, <512 x float>* %65, align 4, !tbaa !354 %index.next.7 = add i64 %index, 4096 %niter.nsub.7 = add i64 %niter, -8 %niter.ncmp.7 = icmp eq i64 %niter.nsub.7, 0 br i1 %niter.ncmp.7, label %middle.block.unr-lcssa, label %vector.body, !prof !155, !llvm.loop !357 middle.block.unr-lcssa: ; preds = %vector.body, %vector.ph %index.unr = phi i64 [ 0, %vector.ph ], [ %index.next.7, %vector.body ] %lcmp.mod.not = icmp eq i64 %xtraiter, 0 br i1 %lcmp.mod.not, label %middle.block, label %vector.body.epil vector.body.epil: ; preds = %middle.block.unr-lcssa, %vector.body.epil %index.epil = phi i64 [ %index.next.epil, %vector.body.epil ], [ %index.unr, %middle.block.unr-lcssa ] %epil.iter = phi i64 [ %epil.iter.sub, %vector.body.epil ], [ %xtraiter, %middle.block.unr-lcssa ] %offset.idx.epil = add i64 %index.epil, %20 %66 = getelementptr inbounds float, float* %7, i64 %offset.idx.epil %67 = bitcast float* %66 to <512 x float>* %wide.load.epil = load <512 x float>, <512 x float>* %67, align 4, !tbaa !348 %68 = fmul <512 x float> %wide.load.epil, %69 = getelementptr inbounds float, float* %4, i64 %offset.idx.epil %70 = bitcast float* %69 to <512 x float>* store <512 x float> %68, <512 x float>* %70, align 4, !tbaa !354 %index.next.epil = add i64 %index.epil, 512 %epil.iter.sub = add i64 %epil.iter, -1 %epil.iter.cmp.not = icmp eq i64 %epil.iter.sub, 0 br i1 %epil.iter.cmp.not, label %middle.block, label %vector.body.epil, !prof !158, !llvm.loop !358 middle.block: ; preds = %vector.body.epil, %middle.block.unr-lcssa %cmp.n = icmp eq i64 %21, %n.vec br i1 %cmp.n, label %for_end, label %for_body.preheader1 for_body.preheader1: ; preds = %middle.block, %for_body.preheader %indvars.iv.ph = phi i64 [ %20, %for_body.preheader ], [ %ind.end, %middle.block ] br label %for_body for_body: ; preds = %for_body.preheader1, %for_body %indvars.iv = phi i64 [ %indvars.iv.next, %for_body ], [ %indvars.iv.ph, %for_body.preheader1 ] %71 = getelementptr inbounds float, float* %7, i64 %indvars.iv %72 = load float, float* %71, align 4, !tbaa !348 %73 = fmul float %72, 0x3F55555560000000 %74 = getelementptr inbounds float, float* %4, i64 %indvars.iv store float %73, float* %74, align 4, !tbaa !354 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %for_end, label %for_body, !prof !161, !llvm.loop !359 for_end: ; preds = %for_body, %middle.block, %entry ret i32 0 } define dllexport i32 @fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 3 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([127 x i8], [127 x i8]* @.str.47, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !360 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !374 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !376 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %25 = load i8*, i8** %24, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %25, i64 128) ] %26 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %27 = load i64*, i64** %26, align 8 %28 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %31 = load i32, i32* %30, align 4 %32 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %33 = load i8*, i8** %32, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %33, i64 128) ] %34 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %35 = load i64*, i64** %34, align 8 %36 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %39 = load i8*, i8** %38, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %39, i64 128) ] %40 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %43 = load i64*, i64** %42, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %44 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %44(i8* getelementptr inbounds ([202 x i8], [202 x i8]* @.str.48, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %45 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %45(i8* getelementptr inbounds ([202 x i8], [202 x i8]* @.str.49, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %46(i8* getelementptr inbounds ([202 x i8], [202 x i8]* @.str.50, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %47 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %48 = load i32, i32* %47, align 4 %49 = icmp eq i32 %48, 1 br i1 %49, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.51, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %51 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %52 = load i16, i16* %51, align 2 %53 = icmp eq i16 %52, 1 %54 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %55 = load i8, i8* %54, align 1 %56 = icmp eq i8 %55, 32 %57 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %58 = load i8, i8* %57, align 1 %59 = icmp eq i8 %58, 2 %60 = and i1 %56, %59 %61 = and i1 %53, %60 br i1 %61, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !379 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 br i1 %65, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.52, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %29, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %67 = load i64, i64* %29, align 8, !tbaa !393 %68 = trunc i64 %67 to i32 %69 = icmp eq i32 %68, 1 br i1 %69, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %70 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %71 = load i64, i64* %70, align 8 %72 = icmp eq i64 %71, 0 br i1 %72, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %73(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.53, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %74 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %74(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %75 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %76 = load i32, i32* %75, align 4 %77 = icmp eq i32 %76, 1 br i1 %77, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %78 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %78(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %79 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %80 = load i32, i32* %79, align 4 %81 = icmp eq i32 %80, 1 br i1 %81, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %82(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.54, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %84 = load i16, i16* %83, align 2 %85 = icmp eq i16 %84, 1 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 32 %89 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %90 = load i8, i8* %89, align 1 %91 = icmp eq i8 %90, 2 %92 = and i1 %88, %91 %93 = and i1 %85, %92 br i1 %93, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %94(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %95 = load i64, i64* %35, align 8, !tbaa !407 %96 = trunc i64 %95 to i32 %97 = icmp eq i32 %96, 128 br i1 %97, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %.not57 = icmp eq i64* %37, null br i1 %.not57, label %if_end30, label %if_then29, !prof !47 if_then29: ; preds = %assert_end28 %99 = load i64, i64* %37, align 8, !tbaa !421 %100 = trunc i64 %99 to i32 %101 = icmp eq i32 %100, 1 br i1 %101, label %if_end30, label %assert_fail31, !prof !5 if_end30: ; preds = %if_then29, %assert_end28 %102 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %103 = load i64, i64* %102, align 8 %104 = icmp eq i64 %103, 0 br i1 %104, label %assert_end34, label %assert_fail33, !prof !5 assert_fail31: ; preds = %if_then29 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.55, i64 0, i64 0)) ret i32 -1 assert_fail33: ; preds = %if_end30 %106 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %106(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %if_end30 %107 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %108 = load i32, i32* %107, align 4 %109 = icmp eq i32 %108, 1 br i1 %109, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %111 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %112 = load i32, i32* %111, align 4 %113 = icmp eq i32 %31, %112 br i1 %113, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %114(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %115 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %116 = load i32, i32* %115, align 4 %117 = icmp eq i32 %116, 1 br i1 %117, label %assert_end42, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end38 %119 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %120 = load i16, i16* %119, align 2 %121 = icmp eq i16 %120, 1 %122 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %123 = load i8, i8* %122, align 1 %124 = icmp eq i8 %123, 32 %125 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %126 = load i8, i8* %125, align 1 %127 = icmp eq i8 %126, 0 %128 = and i1 %124, %127 %129 = and i1 %121, %128 br i1 %129, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([196 x i8], [196 x i8]* @.str.57, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %131 = load i64, i64* %41, align 8, !tbaa !435 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 1536 br i1 %133, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %134 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %134(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.58, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %.not58 = icmp eq i64* %43, null br i1 %.not58, label %if_end48, label %if_then47, !prof !47 if_then47: ; preds = %assert_end46 %135 = load i64, i64* %43, align 8, !tbaa !449 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 br i1 %137, label %if_end48, label %assert_fail49, !prof !5 if_end48: ; preds = %if_then47, %assert_end46 %138 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %139 = load i64, i64* %138, align 8 %140 = icmp eq i64 %139, 0 br i1 %140, label %assert_end52, label %assert_fail51, !prof !5 assert_fail49: ; preds = %if_then47 %141 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %141(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail51: ; preds = %if_end48 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %if_end48 %143 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %144 = load i32, i32* %143, align 4 %145 = icmp eq i32 %144, 1 br i1 %145, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %146(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %147 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %148 = load i32, i32* %147, align 4 %149 = icmp eq i32 %31, %148 br i1 %149, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %151 = tail call fastcc i32 @fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape_compute_(i8* %39, i8* %25) ret i32 %151 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_zeros_like_reshape_add_cast_expand_dims_broadcast_to_reshape_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %10, align 8 %3 = getelementptr inbounds %10, %10* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %10, %10* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %10* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.60, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.60(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to i32** %4 = load i32*, i32** %3, align 8 %5 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %6 = load i32, i32* %5, align 4 %7 = add nsw i32 %6, 95 %8 = sdiv i32 %7, %6 %9 = add nsw i32 %0, 1 %10 = mul nsw i32 %8, %9 %11 = icmp slt i32 %10, 96 %12 = select i1 %11, i32 %10, i32 96 %13 = mul nsw i32 %8, %0 %14 = icmp slt i32 %13, 96 %15 = select i1 %14, i32 %13, i32 96 %16 = icmp slt i32 %15, %12 br i1 %16, label %for_begin1.preheader.lr.ph, label %for_end, !prof !5 for_begin1.preheader.lr.ph: ; preds = %entry %17 = getelementptr inbounds i8, i8* %2, i64 8 %18 = bitcast i8* %17 to float** %19 = load float*, float** %18, align 8 %20 = load float, float* %19, align 128, !tbaa !463 %21 = fptosi float %20 to i32 %22 = sext i32 %15 to i64 %wide.trip.count = sext i32 %12 to i64 %23 = sub nsw i64 %wide.trip.count, %22 %min.iters.check = icmp ult i64 %23, 512 br i1 %min.iters.check, label %for_begin1.preheader.preheader, label %vector.ph vector.ph: ; preds = %for_begin1.preheader.lr.ph %n.vec = and i64 %23, -512 %ind.end = add nsw i64 %n.vec, %22 %cast.crd = trunc i64 %n.vec to i32 %ind.end5 = add i32 %15, %cast.crd %.splatinsert = insertelement <512 x i32> undef, i32 %15, i32 0 %.splat = shufflevector <512 x i32> %.splatinsert, <512 x i32> undef, <512 x i32> zeroinitializer %induction = add <512 x i32> %.splat, %broadcast.splatinsert = insertelement <512 x i32> undef, i32 %21, i32 0 %broadcast.splat = shufflevector <512 x i32> %broadcast.splatinsert, <512 x i32> undef, <512 x i32> zeroinitializer br label %vector.body vector.body: ; preds = %vector.body, %vector.ph %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %vec.ind = phi <512 x i32> [ %induction, %vector.ph ], [ %vec.ind.next, %vector.body ] %24 = shl nsw <512 x i32> %vec.ind, %25 = sext <512 x i32> %24 to <512 x i64> %26 = getelementptr inbounds i32, i32* %4, <512 x i64> %25 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %26, i32 4, <512 x i1> ), !tbaa !477 %27 = or <512 x i64> %25, %28 = getelementptr inbounds i32, i32* %4, <512 x i64> %27 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %28, i32 4, <512 x i1> ), !tbaa !477 %29 = or <512 x i64> %25, %30 = getelementptr inbounds i32, i32* %4, <512 x i64> %29 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %30, i32 4, <512 x i1> ), !tbaa !477 %31 = or <512 x i64> %25, %32 = getelementptr inbounds i32, i32* %4, <512 x i64> %31 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %32, i32 4, <512 x i1> ), !tbaa !477 %33 = or <512 x i64> %25, %34 = getelementptr inbounds i32, i32* %4, <512 x i64> %33 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %34, i32 4, <512 x i1> ), !tbaa !477 %35 = or <512 x i64> %25, %36 = getelementptr inbounds i32, i32* %4, <512 x i64> %35 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %36, i32 4, <512 x i1> ), !tbaa !477 %37 = or <512 x i64> %25, %38 = getelementptr inbounds i32, i32* %4, <512 x i64> %37 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %38, i32 4, <512 x i1> ), !tbaa !477 %39 = or <512 x i64> %25, %40 = getelementptr inbounds i32, i32* %4, <512 x i64> %39 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %40, i32 4, <512 x i1> ), !tbaa !477 %41 = or <512 x i64> %25, %42 = getelementptr inbounds i32, i32* %4, <512 x i64> %41 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %42, i32 4, <512 x i1> ), !tbaa !477 %43 = or <512 x i64> %25, %44 = getelementptr inbounds i32, i32* %4, <512 x i64> %43 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %44, i32 4, <512 x i1> ), !tbaa !477 %45 = or <512 x i64> %25, %46 = getelementptr inbounds i32, i32* %4, <512 x i64> %45 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %46, i32 4, <512 x i1> ), !tbaa !477 %47 = or <512 x i64> %25, %48 = getelementptr inbounds i32, i32* %4, <512 x i64> %47 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %48, i32 4, <512 x i1> ), !tbaa !477 %49 = or <512 x i64> %25, %50 = getelementptr inbounds i32, i32* %4, <512 x i64> %49 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %50, i32 4, <512 x i1> ), !tbaa !477 %51 = or <512 x i64> %25, %52 = getelementptr inbounds i32, i32* %4, <512 x i64> %51 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %52, i32 4, <512 x i1> ), !tbaa !477 %53 = or <512 x i64> %25, %54 = getelementptr inbounds i32, i32* %4, <512 x i64> %53 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %54, i32 4, <512 x i1> ), !tbaa !477 %55 = or <512 x i64> %25, %56 = getelementptr inbounds i32, i32* %4, <512 x i64> %55 call void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32> %broadcast.splat, <512 x i32*> %56, i32 4, <512 x i1> ), !tbaa !477 %index.next = add i64 %index, 512 %vec.ind.next = add <512 x i32> %vec.ind, %57 = icmp eq i64 %index.next, %n.vec br i1 %57, label %middle.block, label %vector.body, !prof !155, !llvm.loop !480 middle.block: ; preds = %vector.body %cmp.n = icmp eq i64 %23, %n.vec br i1 %cmp.n, label %for_end, label %for_begin1.preheader.preheader for_begin1.preheader.preheader: ; preds = %middle.block, %for_begin1.preheader.lr.ph %indvars.iv.ph = phi i64 [ %22, %for_begin1.preheader.lr.ph ], [ %ind.end, %middle.block ] %.ph = phi i32 [ %15, %for_begin1.preheader.lr.ph ], [ %ind.end5, %middle.block ] br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_begin1.preheader %indvars.iv = phi i64 [ %indvars.iv.next, %for_begin1.preheader ], [ %indvars.iv.ph, %for_begin1.preheader.preheader ] %58 = phi i32 [ %92, %for_begin1.preheader ], [ %.ph, %for_begin1.preheader.preheader ] %59 = shl nsw i32 %58, 4 %60 = sext i32 %59 to i64 %61 = getelementptr inbounds i32, i32* %4, i64 %60 store i32 %21, i32* %61, align 4, !tbaa !477 %62 = or i64 %60, 1 %63 = getelementptr inbounds i32, i32* %4, i64 %62 store i32 %21, i32* %63, align 4, !tbaa !477 %64 = or i64 %60, 2 %65 = getelementptr inbounds i32, i32* %4, i64 %64 store i32 %21, i32* %65, align 4, !tbaa !477 %66 = or i64 %60, 3 %67 = getelementptr inbounds i32, i32* %4, i64 %66 store i32 %21, i32* %67, align 4, !tbaa !477 %68 = or i64 %60, 4 %69 = getelementptr inbounds i32, i32* %4, i64 %68 store i32 %21, i32* %69, align 4, !tbaa !477 %70 = or i64 %60, 5 %71 = getelementptr inbounds i32, i32* %4, i64 %70 store i32 %21, i32* %71, align 4, !tbaa !477 %72 = or i64 %60, 6 %73 = getelementptr inbounds i32, i32* %4, i64 %72 store i32 %21, i32* %73, align 4, !tbaa !477 %74 = or i64 %60, 7 %75 = getelementptr inbounds i32, i32* %4, i64 %74 store i32 %21, i32* %75, align 4, !tbaa !477 %76 = or i64 %60, 8 %77 = getelementptr inbounds i32, i32* %4, i64 %76 store i32 %21, i32* %77, align 4, !tbaa !477 %78 = or i64 %60, 9 %79 = getelementptr inbounds i32, i32* %4, i64 %78 store i32 %21, i32* %79, align 4, !tbaa !477 %80 = or i64 %60, 10 %81 = getelementptr inbounds i32, i32* %4, i64 %80 store i32 %21, i32* %81, align 4, !tbaa !477 %82 = or i64 %60, 11 %83 = getelementptr inbounds i32, i32* %4, i64 %82 store i32 %21, i32* %83, align 4, !tbaa !477 %84 = or i64 %60, 12 %85 = getelementptr inbounds i32, i32* %4, i64 %84 store i32 %21, i32* %85, align 4, !tbaa !477 %86 = or i64 %60, 13 %87 = getelementptr inbounds i32, i32* %4, i64 %86 store i32 %21, i32* %87, align 4, !tbaa !477 %88 = or i64 %60, 14 %89 = getelementptr inbounds i32, i32* %4, i64 %88 store i32 %21, i32* %89, align 4, !tbaa !477 %90 = or i64 %60, 15 %91 = getelementptr inbounds i32, i32* %4, i64 %90 store i32 %21, i32* %91, align 4, !tbaa !477 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %92 = add nsw i32 %58, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %for_end, label %for_begin1.preheader, !prof !161, !llvm.loop !481 for_end: ; preds = %for_begin1.preheader, %middle.block, %entry ret i32 0 } define dllexport i32 @fused_contrib_reverse_reshape_3(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.61, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !482 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !496 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([159 x i8], [159 x i8]* @.str.62, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([159 x i8], [159 x i8]* @.str.63, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 3 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !498 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !512 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 1 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !514 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 768 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.8, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !517 %65 = trunc i64 %64 to i32 %66 = icmp eq i32 %65, 768 %67 = getelementptr inbounds i64, i64* %23, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !531 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 768 %71 = getelementptr inbounds i64, i64* %23, i64 2 %72 = load i64, i64* %71, align 8, !tbaa !533 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 1 %75 = and i1 %70, %74 %76 = and i1 %66, %75 br i1 %76, label %if_end, label %assert_fail17, !prof !5 if_end: ; preds = %if_then, %assert_end16 %77 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %78 = load i64, i64* %77, align 8 %79 = icmp eq i64 %78, 0 br i1 %79, label %assert_end20, label %assert_fail19, !prof !5 assert_fail17: ; preds = %if_then %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.9, i64 0, i64 0)) ret i32 -1 assert_fail19: ; preds = %if_end %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %81(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %if_end %82 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %83 = load i32, i32* %82, align 4 %84 = icmp eq i32 %83, 1 br i1 %84, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %85(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %87 = load i32, i32* %86, align 4 %88 = icmp eq i32 %87, 2 br i1 %88, label %assert_end26, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %89(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end22 %90 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %91 = load i16, i16* %90, align 2 %92 = icmp eq i16 %91, 1 %93 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %94 = load i8, i8* %93, align 1 %95 = icmp eq i8 %94, 32 %96 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 2 %99 = and i1 %95, %98 %100 = and i1 %92, %99 br i1 %100, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !536 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 128 br i1 %104, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %106 = getelementptr inbounds i64, i64* %29, i64 1 %107 = load i64, i64* %106, align 8, !tbaa !550 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 768 br i1 %109, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %.not43 = icmp eq i64* %31, null br i1 %.not43, label %if_end34, label %if_then33, !prof !47 if_then33: ; preds = %assert_end32 %111 = load i64, i64* %31, align 8, !tbaa !552 %112 = trunc i64 %111 to i32 %113 = icmp eq i32 %112, 768 %114 = getelementptr inbounds i64, i64* %31, i64 1 %115 = load i64, i64* %114, align 8, !tbaa !566 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 1 %118 = and i1 %113, %117 br i1 %118, label %if_end34, label %assert_fail35, !prof !5 if_end34: ; preds = %if_then33, %assert_end32 %119 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %120 = load i64, i64* %119, align 8 %121 = icmp eq i64 %120, 0 br i1 %121, label %assert_end38, label %assert_fail37, !prof !5 assert_fail35: ; preds = %if_then33 %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail37: ; preds = %if_end34 %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %if_end34 %124 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %125 = load i32, i32* %124, align 4 %126 = icmp eq i32 %125, 1 br i1 %126, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %128 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %129 = load i32, i32* %128, align 4 %130 = icmp eq i32 %25, %129 br i1 %130, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %131 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %131(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %132 = tail call fastcc i32 @fused_contrib_reverse_reshape_3_compute_(i8* %27, i8* %19) ret i32 %132 } ; Function Attrs: noinline define private fastcc i32 @fused_contrib_reverse_reshape_3_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %11, align 8 %3 = getelementptr inbounds %11, %11* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %11, %11* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %11* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.64, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.64(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv10 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next11, %for_end3 ] %21 = mul nsw i64 %indvars.iv10, 768 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %22 = shl nsw i64 %indvars.iv, 4 %23 = add nsw i64 %22, %21 %24 = getelementptr inbounds float, float* %7, i64 %23 %25 = load float, float* %24, align 4, !tbaa !568 %26 = getelementptr inbounds float, float* %4, i64 %23 store float %25, float* %26, align 4, !tbaa !571 %27 = or i64 %23, 1 %28 = getelementptr inbounds float, float* %7, i64 %27 %29 = load float, float* %28, align 4, !tbaa !568 %30 = getelementptr inbounds float, float* %4, i64 %27 store float %29, float* %30, align 4, !tbaa !571 %31 = or i64 %23, 2 %32 = getelementptr inbounds float, float* %7, i64 %31 %33 = load float, float* %32, align 4, !tbaa !568 %34 = getelementptr inbounds float, float* %4, i64 %31 store float %33, float* %34, align 4, !tbaa !571 %35 = or i64 %23, 3 %36 = getelementptr inbounds float, float* %7, i64 %35 %37 = load float, float* %36, align 4, !tbaa !568 %38 = getelementptr inbounds float, float* %4, i64 %35 store float %37, float* %38, align 4, !tbaa !571 %39 = or i64 %23, 4 %40 = getelementptr inbounds float, float* %7, i64 %39 %41 = load float, float* %40, align 4, !tbaa !568 %42 = getelementptr inbounds float, float* %4, i64 %39 store float %41, float* %42, align 4, !tbaa !571 %43 = or i64 %23, 5 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = load float, float* %44, align 4, !tbaa !568 %46 = getelementptr inbounds float, float* %4, i64 %43 store float %45, float* %46, align 4, !tbaa !571 %47 = or i64 %23, 6 %48 = getelementptr inbounds float, float* %7, i64 %47 %49 = load float, float* %48, align 4, !tbaa !568 %50 = getelementptr inbounds float, float* %4, i64 %47 store float %49, float* %50, align 4, !tbaa !571 %51 = or i64 %23, 7 %52 = getelementptr inbounds float, float* %7, i64 %51 %53 = load float, float* %52, align 4, !tbaa !568 %54 = getelementptr inbounds float, float* %4, i64 %51 store float %53, float* %54, align 4, !tbaa !571 %55 = or i64 %23, 8 %56 = getelementptr inbounds float, float* %7, i64 %55 %57 = load float, float* %56, align 4, !tbaa !568 %58 = getelementptr inbounds float, float* %4, i64 %55 store float %57, float* %58, align 4, !tbaa !571 %59 = or i64 %23, 9 %60 = getelementptr inbounds float, float* %7, i64 %59 %61 = load float, float* %60, align 4, !tbaa !568 %62 = getelementptr inbounds float, float* %4, i64 %59 store float %61, float* %62, align 4, !tbaa !571 %63 = or i64 %23, 10 %64 = getelementptr inbounds float, float* %7, i64 %63 %65 = load float, float* %64, align 4, !tbaa !568 %66 = getelementptr inbounds float, float* %4, i64 %63 store float %65, float* %66, align 4, !tbaa !571 %67 = or i64 %23, 11 %68 = getelementptr inbounds float, float* %7, i64 %67 %69 = load float, float* %68, align 4, !tbaa !568 %70 = getelementptr inbounds float, float* %4, i64 %67 store float %69, float* %70, align 4, !tbaa !571 %71 = or i64 %23, 12 %72 = getelementptr inbounds float, float* %7, i64 %71 %73 = load float, float* %72, align 4, !tbaa !568 %74 = getelementptr inbounds float, float* %4, i64 %71 store float %73, float* %74, align 4, !tbaa !571 %75 = or i64 %23, 13 %76 = getelementptr inbounds float, float* %7, i64 %75 %77 = load float, float* %76, align 4, !tbaa !568 %78 = getelementptr inbounds float, float* %4, i64 %75 store float %77, float* %78, align 4, !tbaa !571 %79 = or i64 %23, 14 %80 = getelementptr inbounds float, float* %7, i64 %79 %81 = load float, float* %80, align 4, !tbaa !568 %82 = getelementptr inbounds float, float* %4, i64 %79 store float %81, float* %82, align 4, !tbaa !571 %83 = or i64 %23, 15 %84 = getelementptr inbounds float, float* %7, i64 %83 %85 = load float, float* %84, align 4, !tbaa !568 %86 = getelementptr inbounds float, float* %4, i64 %83 store float %85, float* %86, align 4, !tbaa !571 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 48 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !161, !llvm.loop !574 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next11 = add nsw i64 %indvars.iv10, 1 %exitcond12.not = icmp eq i64 %indvars.iv.next11, %wide.trip.count br i1 %exitcond12.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_take_transpose_contrib_reverse_reshape_divide(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([104 x i8], [104 x i8]* @.str.65, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !575 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !589 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([179 x i8], [179 x i8]* @.str.66, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([179 x i8], [179 x i8]* @.str.67, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 5 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.68, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !591 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !605 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 1 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !607 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 12 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.69, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %64 = getelementptr inbounds i64, i64* %21, i64 3 %65 = load i64, i64* %64, align 8, !tbaa !610 %66 = trunc i64 %65 to i32 %67 = icmp eq i32 %66, 3 br i1 %67, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %68(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %69 = getelementptr inbounds i64, i64* %21, i64 4 %70 = load i64, i64* %69, align 8, !tbaa !612 %71 = trunc i64 %70 to i32 %72 = icmp eq i32 %71, 64 br i1 %72, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %73(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.71, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !616 %75 = trunc i64 %74 to i32 %76 = icmp eq i32 %75, 2304 %77 = getelementptr inbounds i64, i64* %23, i64 1 %78 = load i64, i64* %77, align 8, !tbaa !630 %79 = trunc i64 %78 to i32 %80 = icmp eq i32 %79, 2304 %81 = getelementptr inbounds i64, i64* %23, i64 2 %82 = load i64, i64* %81, align 8, !tbaa !632 %83 = trunc i64 %82 to i32 %84 = icmp eq i32 %83, 192 %85 = getelementptr inbounds i64, i64* %23, i64 3 %86 = load i64, i64* %85, align 8, !tbaa !635 %87 = trunc i64 %86 to i32 %88 = icmp eq i32 %87, 64 %89 = getelementptr inbounds i64, i64* %23, i64 4 %90 = load i64, i64* %89, align 8, !tbaa !637 %91 = trunc i64 %90 to i32 %92 = icmp eq i32 %91, 1 %93 = and i1 %88, %92 %94 = and i1 %84, %93 %95 = and i1 %80, %94 %96 = and i1 %76, %95 br i1 %96, label %if_end, label %assert_fail21, !prof !5 if_end: ; preds = %if_then, %assert_end20 %97 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end24, label %assert_fail23, !prof !5 assert_fail21: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([236 x i8], [236 x i8]* @.str.72, i64 0, i64 0)) ret i32 -1 assert_fail23: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %106 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 3 br i1 %108, label %assert_end30, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end26 %110 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !641 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 12 br i1 %124, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %126 = getelementptr inbounds i64, i64* %29, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !655 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 128 br i1 %129, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %131 = getelementptr inbounds i64, i64* %29, i64 2 %132 = load i64, i64* %131, align 8, !tbaa !657 %133 = trunc i64 %132 to i32 %134 = icmp eq i32 %133, 64 br i1 %134, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %135 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %135(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.75, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %.not49 = icmp eq i64* %31, null br i1 %.not49, label %if_end40, label %if_then39, !prof !47 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !660 %137 = trunc i64 %136 to i32 %138 = icmp eq i32 %137, 8192 %139 = getelementptr inbounds i64, i64* %31, i64 1 %140 = load i64, i64* %139, align 8, !tbaa !674 %141 = trunc i64 %140 to i32 %142 = icmp eq i32 %141, 64 %143 = getelementptr inbounds i64, i64* %31, i64 2 %144 = load i64, i64* %143, align 8, !tbaa !676 %145 = trunc i64 %144 to i32 %146 = icmp eq i32 %145, 1 %147 = and i1 %142, %146 %148 = and i1 %138, %147 br i1 %148, label %if_end40, label %assert_fail41, !prof !5 if_end40: ; preds = %if_then39, %assert_end38 %149 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %150 = load i64, i64* %149, align 8 %151 = icmp eq i64 %150, 0 br i1 %151, label %assert_end44, label %assert_fail43, !prof !5 assert_fail41: ; preds = %if_then39 %152 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %152(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.76, i64 0, i64 0)) ret i32 -1 assert_fail43: ; preds = %if_end40 %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %153(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %if_end40 %154 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %155 = load i32, i32* %154, align 4 %156 = icmp eq i32 %155, 1 br i1 %156, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %157(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %158 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %159 = load i32, i32* %158, align 4 %160 = icmp eq i32 %25, %159 br i1 %160, label %assert_end48, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %161 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %161(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %162 = tail call fastcc i32 @fused_take_transpose_contrib_reverse_reshape_divide_compute_(i8* %27, i8* %19) ret i32 %162 } ; Function Attrs: noinline define private fastcc i32 @fused_take_transpose_contrib_reverse_reshape_divide_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %12, align 8 %3 = getelementptr inbounds %12, %12* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %12, %12* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %12* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.77, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.77(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 1535 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 1536 %15 = select i1 %14, i32 %13, i32 1536 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 1536 %18 = select i1 %17, i32 %16, i32 1536 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %21 = phi i32 [ %18, %for_begin1.preheader.preheader ], [ %221, %for_end3 ] %22 = shl nsw i32 %21, 6 %23 = trunc i64 %indvars.iv7 to i32 %24 = ashr i32 %23, 7 %25 = mul nsw i32 %24, 192 %26 = and i32 %23, 127 %27 = mul nuw nsw i32 %26, 2304 %28 = sext i32 %22 to i64 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %29 = phi i32 [ 0, %for_begin1.preheader ], [ %220, %for_begin4.preheader ] %30 = shl nsw i64 %indvars.iv, 4 %31 = shl nsw i32 %29, 4 %32 = add nsw i64 %30, %28 %33 = add nuw nsw i32 %31, %25 %34 = add i32 %33, %27 %35 = sext i32 %34 to i64 %36 = getelementptr inbounds float, float* %7, i64 %35 %37 = load float, float* %36, align 4, !tbaa !679 %38 = fmul float %37, 1.250000e-01 %39 = getelementptr inbounds float, float* %4, i64 %32 store float %38, float* %39, align 4, !tbaa !682 %40 = trunc i64 %30 to i32 %41 = or i32 %40, 1 %42 = add nsw i32 %41, %22 %43 = or i32 %31, 1 %44 = add nuw nsw i32 %43, %25 %45 = add i32 %44, %27 %46 = sext i32 %45 to i64 %47 = getelementptr inbounds float, float* %7, i64 %46 %48 = load float, float* %47, align 4, !tbaa !679 %49 = fmul float %48, 1.250000e-01 %50 = sext i32 %42 to i64 %51 = getelementptr inbounds float, float* %4, i64 %50 store float %49, float* %51, align 4, !tbaa !682 %52 = trunc i64 %30 to i32 %53 = or i32 %52, 2 %54 = add i32 %53, %22 %55 = or i32 %31, 2 %56 = add nuw nsw i32 %55, %25 %57 = add i32 %56, %27 %58 = sext i32 %57 to i64 %59 = getelementptr inbounds float, float* %7, i64 %58 %60 = load float, float* %59, align 4, !tbaa !679 %61 = fmul float %60, 1.250000e-01 %62 = sext i32 %54 to i64 %63 = getelementptr inbounds float, float* %4, i64 %62 store float %61, float* %63, align 4, !tbaa !682 %64 = trunc i64 %30 to i32 %65 = or i32 %64, 3 %66 = add i32 %65, %22 %67 = or i32 %31, 3 %68 = add nuw nsw i32 %67, %25 %69 = add i32 %68, %27 %70 = sext i32 %69 to i64 %71 = getelementptr inbounds float, float* %7, i64 %70 %72 = load float, float* %71, align 4, !tbaa !679 %73 = fmul float %72, 1.250000e-01 %74 = sext i32 %66 to i64 %75 = getelementptr inbounds float, float* %4, i64 %74 store float %73, float* %75, align 4, !tbaa !682 %76 = trunc i64 %30 to i32 %77 = or i32 %76, 4 %78 = add i32 %77, %22 %79 = or i32 %31, 4 %80 = add nuw nsw i32 %79, %25 %81 = add i32 %80, %27 %82 = sext i32 %81 to i64 %83 = getelementptr inbounds float, float* %7, i64 %82 %84 = load float, float* %83, align 4, !tbaa !679 %85 = fmul float %84, 1.250000e-01 %86 = sext i32 %78 to i64 %87 = getelementptr inbounds float, float* %4, i64 %86 store float %85, float* %87, align 4, !tbaa !682 %88 = trunc i64 %30 to i32 %89 = or i32 %88, 5 %90 = add i32 %89, %22 %91 = or i32 %31, 5 %92 = add nuw nsw i32 %91, %25 %93 = add i32 %92, %27 %94 = sext i32 %93 to i64 %95 = getelementptr inbounds float, float* %7, i64 %94 %96 = load float, float* %95, align 4, !tbaa !679 %97 = fmul float %96, 1.250000e-01 %98 = sext i32 %90 to i64 %99 = getelementptr inbounds float, float* %4, i64 %98 store float %97, float* %99, align 4, !tbaa !682 %100 = trunc i64 %30 to i32 %101 = or i32 %100, 6 %102 = add i32 %101, %22 %103 = or i32 %31, 6 %104 = add nuw nsw i32 %103, %25 %105 = add i32 %104, %27 %106 = sext i32 %105 to i64 %107 = getelementptr inbounds float, float* %7, i64 %106 %108 = load float, float* %107, align 4, !tbaa !679 %109 = fmul float %108, 1.250000e-01 %110 = sext i32 %102 to i64 %111 = getelementptr inbounds float, float* %4, i64 %110 store float %109, float* %111, align 4, !tbaa !682 %112 = trunc i64 %30 to i32 %113 = or i32 %112, 7 %114 = add i32 %113, %22 %115 = or i32 %31, 7 %116 = add nuw nsw i32 %115, %25 %117 = add i32 %116, %27 %118 = sext i32 %117 to i64 %119 = getelementptr inbounds float, float* %7, i64 %118 %120 = load float, float* %119, align 4, !tbaa !679 %121 = fmul float %120, 1.250000e-01 %122 = sext i32 %114 to i64 %123 = getelementptr inbounds float, float* %4, i64 %122 store float %121, float* %123, align 4, !tbaa !682 %124 = trunc i64 %30 to i32 %125 = or i32 %124, 8 %126 = add i32 %125, %22 %127 = or i32 %31, 8 %128 = add nuw nsw i32 %127, %25 %129 = add i32 %128, %27 %130 = sext i32 %129 to i64 %131 = getelementptr inbounds float, float* %7, i64 %130 %132 = load float, float* %131, align 4, !tbaa !679 %133 = fmul float %132, 1.250000e-01 %134 = sext i32 %126 to i64 %135 = getelementptr inbounds float, float* %4, i64 %134 store float %133, float* %135, align 4, !tbaa !682 %136 = trunc i64 %30 to i32 %137 = or i32 %136, 9 %138 = add i32 %137, %22 %139 = or i32 %31, 9 %140 = add nuw nsw i32 %139, %25 %141 = add i32 %140, %27 %142 = sext i32 %141 to i64 %143 = getelementptr inbounds float, float* %7, i64 %142 %144 = load float, float* %143, align 4, !tbaa !679 %145 = fmul float %144, 1.250000e-01 %146 = sext i32 %138 to i64 %147 = getelementptr inbounds float, float* %4, i64 %146 store float %145, float* %147, align 4, !tbaa !682 %148 = trunc i64 %30 to i32 %149 = or i32 %148, 10 %150 = add i32 %149, %22 %151 = or i32 %31, 10 %152 = add nuw nsw i32 %151, %25 %153 = add i32 %152, %27 %154 = sext i32 %153 to i64 %155 = getelementptr inbounds float, float* %7, i64 %154 %156 = load float, float* %155, align 4, !tbaa !679 %157 = fmul float %156, 1.250000e-01 %158 = sext i32 %150 to i64 %159 = getelementptr inbounds float, float* %4, i64 %158 store float %157, float* %159, align 4, !tbaa !682 %160 = trunc i64 %30 to i32 %161 = or i32 %160, 11 %162 = add i32 %161, %22 %163 = or i32 %31, 11 %164 = add nuw nsw i32 %163, %25 %165 = add i32 %164, %27 %166 = sext i32 %165 to i64 %167 = getelementptr inbounds float, float* %7, i64 %166 %168 = load float, float* %167, align 4, !tbaa !679 %169 = fmul float %168, 1.250000e-01 %170 = sext i32 %162 to i64 %171 = getelementptr inbounds float, float* %4, i64 %170 store float %169, float* %171, align 4, !tbaa !682 %172 = trunc i64 %30 to i32 %173 = or i32 %172, 12 %174 = add i32 %173, %22 %175 = or i32 %31, 12 %176 = add nuw nsw i32 %175, %25 %177 = add i32 %176, %27 %178 = sext i32 %177 to i64 %179 = getelementptr inbounds float, float* %7, i64 %178 %180 = load float, float* %179, align 4, !tbaa !679 %181 = fmul float %180, 1.250000e-01 %182 = sext i32 %174 to i64 %183 = getelementptr inbounds float, float* %4, i64 %182 store float %181, float* %183, align 4, !tbaa !682 %184 = trunc i64 %30 to i32 %185 = or i32 %184, 13 %186 = add i32 %185, %22 %187 = or i32 %31, 13 %188 = add nuw nsw i32 %187, %25 %189 = add i32 %188, %27 %190 = sext i32 %189 to i64 %191 = getelementptr inbounds float, float* %7, i64 %190 %192 = load float, float* %191, align 4, !tbaa !679 %193 = fmul float %192, 1.250000e-01 %194 = sext i32 %186 to i64 %195 = getelementptr inbounds float, float* %4, i64 %194 store float %193, float* %195, align 4, !tbaa !682 %196 = trunc i64 %30 to i32 %197 = or i32 %196, 14 %198 = add i32 %197, %22 %199 = or i32 %31, 14 %200 = add nuw nsw i32 %199, %25 %201 = add i32 %200, %27 %202 = sext i32 %201 to i64 %203 = getelementptr inbounds float, float* %7, i64 %202 %204 = load float, float* %203, align 4, !tbaa !679 %205 = fmul float %204, 1.250000e-01 %206 = sext i32 %198 to i64 %207 = getelementptr inbounds float, float* %4, i64 %206 store float %205, float* %207, align 4, !tbaa !682 %208 = trunc i64 %30 to i32 %209 = or i32 %208, 15 %210 = add i32 %209, %22 %211 = or i32 %31, 15 %212 = add nuw nsw i32 %211, %25 %213 = add i32 %212, %27 %214 = sext i32 %213 to i64 %215 = getelementptr inbounds float, float* %7, i64 %214 %216 = load float, float* %215, align 4, !tbaa !679 %217 = fmul float %216, 1.250000e-01 %218 = sext i32 %210 to i64 %219 = getelementptr inbounds float, float* %4, i64 %218 store float %217, float* %219, align 4, !tbaa !682 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %220 = add nuw nsw i32 %29, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 4 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %221 = add nsw i32 %21, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_nn_dense_add_fast_tanh(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.78, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !685 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !699 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !701 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !704 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([156 x i8], [156 x i8]* @.str.79, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([156 x i8], [156 x i8]* @.str.80, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([156 x i8], [156 x i8]* @.str.81, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([156 x i8], [156 x i8]* @.str.82, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !706 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 1 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.52, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !720 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 768 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !722 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 768 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !736 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !738 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 768 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.86, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !752 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 768 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !754 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 768 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !768 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !770 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 768 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.87, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !784 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !798 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 1 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.90, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !812 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 768 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.91, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !814 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 768 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !828 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.92, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_fast_tanh_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_fast_tanh_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias nocapture align 128 %7, i8* noalias nocapture readonly align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = load i8* (i32, i32, i64, i32, i32)*, i8* (i32, i32, i64, i32, i32)** @__TVMBackendAllocWorkspace, align 8, !tbaa !6 %11 = tail call i8* %10(i32 1, i32 %3, i64 3072, i32 2, i32 32) call void @llvm.assume(i1 true) [ "align"(i8* %11, i64 128) ] %12 = icmp eq i8* %11, null br i1 %12, label %if_then, label %if_end, !prof !5 if_then: ; preds = %handle_init_end, %handle_init, %entry %merge = phi i32 [ -1, %entry ], [ %66, %handle_init ], [ %72, %handle_init_end ] ret i32 %merge if_end: ; preds = %entry store i64 1, i64* %0, align 8, !tbaa !830 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !844 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %15, align 8 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %16, align 8 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %17, align 4 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %18, align 1 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %19, align 1 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %20, align 2 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %21, align 8 %22 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %22, align 4 %23 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %23, align 4 %24 = getelementptr inbounds i64, i64* %0, i64 2 store i64 768, i64* %24, align 8, !tbaa !846 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !849 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %24, i64** %27, align 8 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %28, align 8 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %29, align 4 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %30, align 1 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %31, align 1 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %32, align 2 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %33, align 8 %34 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %34, align 4 %35 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %35, align 4 %36 = getelementptr inbounds i64, i64* %0, i64 4 store i64 1, i64* %36, align 8, !tbaa !851 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !855 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %11, i8** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %36, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %40, align 8 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %41, align 4 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %43, align 1 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %44, align 2 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %45, align 8 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %46, align 4 %47 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %47, align 4 %48 = bitcast %0* %5 to %2** store %2* %1, %2** %48, align 8 store i32 7, i32* %6, align 4, !tbaa !857 %49 = getelementptr inbounds %2, %2* %1, i64 1 %50 = getelementptr inbounds %0, %0* %5, i64 1 %51 = bitcast %0* %50 to %2** store %2* %49, %2** %51, align 8 %52 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %52, align 4, !tbaa !871 %53 = getelementptr inbounds %2, %2* %1, i64 2 %54 = getelementptr inbounds %0, %0* %5, i64 2 %55 = bitcast %0* %54 to %2** store %2* %53, %2** %55, align 8 %56 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %56, align 4, !tbaa !873 %57 = getelementptr inbounds %0, %0* %5, i64 3 %58 = bitcast %0* %57 to i64* store i64 0, i64* %58, align 8 %59 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %59, align 4, !tbaa !876 %60 = getelementptr inbounds %0, %0* %5, i64 4 %61 = bitcast %0* %60 to i64* store i64 1, i64* %61, align 8 %62 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %62, align 4, !tbaa !878 %63 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %63, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %if_end %64 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %65 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %66 = call i32 %65(i8* %64, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %67 = icmp eq i32 %66, 0 br i1 %67, label %call_end, label %if_then, !prof !5 handle_init_end: ; preds = %call_end, %if_end %68 = phi i8* [ %63, %if_end ], [ %101, %call_end ] %69 = getelementptr inbounds %0, %0* %5, i64 5 %70 = getelementptr inbounds i32, i32* %6, i64 5 %71 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %72 = call i32 %71(i8* %68, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %69, i32* nonnull %70) %73 = icmp eq i32 %72, 0 br i1 %73, label %for_begin.preheader, label %if_then, !prof !5 for_begin.preheader: ; preds = %handle_init_end %74 = bitcast i8* %8 to float* %75 = bitcast i8* %11 to float* %76 = bitcast i8* %7 to float* br label %vector.body vector.body: ; preds = %vector.body, %for_begin.preheader %index = phi i64 [ 0, %for_begin.preheader ], [ %index.next, %vector.body ] %77 = getelementptr inbounds float, float* %74, i64 %index %78 = bitcast float* %77 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %78, align 128, !tbaa !882 %79 = getelementptr inbounds float, float* %75, i64 %index %80 = bitcast float* %79 to <512 x float>* %wide.load11 = load <512 x float>, <512 x float>* %80, align 128, !tbaa !885 %81 = fadd <512 x float> %wide.load, %wide.load11 %82 = fcmp olt <512 x float> %81, %83 = select <512 x i1> %82, <512 x float> %81, <512 x float> %84 = fcmp ogt <512 x float> %83, %85 = select <512 x i1> %84, <512 x float> %83, <512 x float> %86 = fmul <512 x float> %85, %85 %87 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> , <512 x float> ) %88 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %87, <512 x float> ) %89 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %88, <512 x float> ) %90 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %89, <512 x float> ) %91 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %90, <512 x float> ) %92 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %91, <512 x float> ) %93 = fmul <512 x float> %85, %92 %94 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> , <512 x float> ) %95 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %94, <512 x float> ) %96 = call <512 x float> @llvm.fmuladd.v512f32(<512 x float> %86, <512 x float> %95, <512 x float> ) %97 = fdiv <512 x float> %93, %96 %98 = getelementptr inbounds float, float* %76, i64 %index %99 = bitcast float* %98 to <512 x float>* store <512 x float> %97, <512 x float>* %99, align 128, !tbaa !888 %index.next = add i64 %index, 512 %100 = icmp eq i64 %index, 0 br i1 %100, label %for_body, label %vector.body, !prof !155, !llvm.loop !891 call_end: ; preds = %handle_init %101 = load i8*, i8** %9, align 8 store i8* %101, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end for_body: ; preds = %vector.body, %for_body %indvars.iv = phi i64 [ %indvars.iv.next, %for_body ], [ 512, %vector.body ] %102 = getelementptr inbounds float, float* %74, i64 %indvars.iv %103 = load float, float* %102, align 4, !tbaa !882 %104 = getelementptr inbounds float, float* %75, i64 %indvars.iv %105 = load float, float* %104, align 4, !tbaa !885 %106 = fadd float %103, %105 %107 = fcmp olt float %106, 9.000000e+00 %108 = select i1 %107, float %106, float 9.000000e+00 %109 = fcmp ogt float %108, -9.000000e+00 %110 = select i1 %109, float %108, float -9.000000e+00 %111 = fmul float %110, %110 %112 = call float @llvm.fmuladd.f32(float %111, float 0xBCB3E4B800000000, float 0x3D4C266FC0000000) %113 = call float @llvm.fmuladd.f32(float %111, float %112, float 0xBDD7A6FFE0000000) %114 = call float @llvm.fmuladd.f32(float %111, float %113, float 0x3E6B800820000000) %115 = call float @llvm.fmuladd.f32(float %111, float %114, float 0x3EEF286940000000) %116 = call float @llvm.fmuladd.f32(float %111, float %115, float 0x3F44E1BDA0000000) %117 = call float @llvm.fmuladd.f32(float %111, float %116, float 0x3F740B3B80000000) %118 = fmul float %110, %117 %119 = call float @llvm.fmuladd.f32(float %111, float 0x3EB41A7B00000000, float 0x3F1F12BAC0000000) %120 = call float @llvm.fmuladd.f32(float %111, float %119, float 0x3F629540A0000000) %121 = call float @llvm.fmuladd.f32(float %111, float %120, float 0x3F740B3BA0000000) %122 = fdiv float %118, %121 %123 = getelementptr inbounds float, float* %76, i64 %indvars.iv store float %122, float* %123, align 4, !tbaa !888 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 768 br i1 %exitcond.not, label %for_end, label %for_body, !prof !161, !llvm.loop !892 for_end: ; preds = %for_body %124 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %125 = call i32 %124(i32 1, i32 %3, i8* nonnull %11) %.not10 = icmp ne i32 %125, 0 %spec.select = sext i1 %.not10 to i32 ret i32 %spec.select } ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare float @llvm.fmuladd.f32(float, float, float) #3 define dllexport i32 @fused_reshape_add(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 3 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.97, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !893 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !907 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !909 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %25 = load i8*, i8** %24, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %25, i64 128) ] %26 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %27 = load i64*, i64** %26, align 8 %28 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %31 = load i32, i32* %30, align 4 %32 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %33 = load i8*, i8** %32, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %33, i64 128) ] %34 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %35 = load i64*, i64** %34, align 8 %36 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %39 = load i8*, i8** %38, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %39, i64 128) ] %40 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %43 = load i64*, i64** %42, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %44 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %44(i8* getelementptr inbounds ([145 x i8], [145 x i8]* @.str.98, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %45 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %45(i8* getelementptr inbounds ([145 x i8], [145 x i8]* @.str.99, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %46(i8* getelementptr inbounds ([145 x i8], [145 x i8]* @.str.100, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %47 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %48 = load i32, i32* %47, align 4 %49 = icmp eq i32 %48, 2 br i1 %49, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %51 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %52 = load i16, i16* %51, align 2 %53 = icmp eq i16 %52, 1 %54 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %55 = load i8, i8* %54, align 1 %56 = icmp eq i8 %55, 32 %57 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %58 = load i8, i8* %57, align 1 %59 = icmp eq i8 %58, 2 %60 = and i1 %56, %59 %61 = and i1 %53, %60 br i1 %61, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !912 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 128 br i1 %65, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %67 = getelementptr inbounds i64, i64* %27, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !926 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 768 br i1 %70, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %.not = icmp eq i64* %29, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end16 %72 = load i64, i64* %29, align 8, !tbaa !928 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 768 %75 = getelementptr inbounds i64, i64* %29, i64 1 %76 = load i64, i64* %75, align 8, !tbaa !942 %77 = trunc i64 %76 to i32 %78 = icmp eq i32 %77, 1 %79 = and i1 %74, %78 br i1 %79, label %if_end, label %assert_fail17, !prof !5 if_end: ; preds = %if_then, %assert_end16 %80 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %81 = load i64, i64* %80, align 8 %82 = icmp eq i64 %81, 0 br i1 %82, label %assert_end20, label %assert_fail19, !prof !5 assert_fail17: ; preds = %if_then %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail19: ; preds = %if_end %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %84(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %if_end %85 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %86 = load i32, i32* %85, align 4 %87 = icmp eq i32 %86, 1 br i1 %87, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %89 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %90 = load i32, i32* %89, align 4 %91 = icmp eq i32 %90, 3 br i1 %91, label %assert_end26, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %92 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %92(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end22 %93 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %94 = load i16, i16* %93, align 2 %95 = icmp eq i16 %94, 1 %96 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 32 %99 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %100 = load i8, i8* %99, align 1 %101 = icmp eq i8 %100, 2 %102 = and i1 %98, %101 %103 = and i1 %95, %102 br i1 %103, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %104(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %105 = load i64, i64* %35, align 8, !tbaa !944 %106 = trunc i64 %105 to i32 %107 = icmp eq i32 %106, 128 br i1 %107, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %108 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %108(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %109 = getelementptr inbounds i64, i64* %35, i64 1 %110 = load i64, i64* %109, align 8, !tbaa !958 %111 = trunc i64 %110 to i32 %112 = icmp eq i32 %111, 1 br i1 %112, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %113(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %114 = getelementptr inbounds i64, i64* %35, i64 2 %115 = load i64, i64* %114, align 8, !tbaa !960 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 768 br i1 %117, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.101, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not67 = icmp eq i64* %37, null br i1 %.not67, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %119 = load i64, i64* %37, align 8, !tbaa !963 %120 = trunc i64 %119 to i32 %121 = icmp eq i32 %120, 768 %122 = getelementptr inbounds i64, i64* %37, i64 1 %123 = load i64, i64* %122, align 8, !tbaa !977 %124 = trunc i64 %123 to i32 %125 = icmp eq i32 %124, 768 %126 = getelementptr inbounds i64, i64* %37, i64 2 %127 = load i64, i64* %126, align 8, !tbaa !979 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 1 %130 = and i1 %125, %129 %131 = and i1 %121, %130 br i1 %131, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %132 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %133 = load i64, i64* %132, align 8 %134 = icmp eq i64 %133, 0 br i1 %134, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %135 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %135(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.102, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %136 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %136(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %137 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %138 = load i32, i32* %137, align 4 %139 = icmp eq i32 %138, 1 br i1 %139, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %140 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %140(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %141 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %142 = load i32, i32* %141, align 4 %143 = icmp eq i32 %31, %142 br i1 %143, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %144 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %144(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %145 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %146 = load i32, i32* %145, align 4 %147 = icmp eq i32 %146, 3 br i1 %147, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %148(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %149 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %150 = load i16, i16* %149, align 2 %151 = icmp eq i16 %150, 1 %152 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %153 = load i8, i8* %152, align 1 %154 = icmp eq i8 %153, 32 %155 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %156 = load i8, i8* %155, align 1 %157 = icmp eq i8 %156, 2 %158 = and i1 %154, %157 %159 = and i1 %151, %158 br i1 %159, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %160 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %160(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %161 = load i64, i64* %41, align 8, !tbaa !982 %162 = trunc i64 %161 to i32 %163 = icmp eq i32 %162, 128 br i1 %163, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %164 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %164(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.23, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %165 = getelementptr inbounds i64, i64* %41, i64 1 %166 = load i64, i64* %165, align 8, !tbaa !996 %167 = trunc i64 %166 to i32 %168 = icmp eq i32 %167, 1 br i1 %168, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %169 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %169(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.24, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %170 = getelementptr inbounds i64, i64* %41, i64 2 %171 = load i64, i64* %170, align 8, !tbaa !998 %172 = trunc i64 %171 to i32 %173 = icmp eq i32 %172, 768 br i1 %173, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %174 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %174(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.103, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %.not68 = icmp eq i64* %43, null br i1 %.not68, label %if_end58, label %if_then57, !prof !47 if_then57: ; preds = %assert_end56 %175 = load i64, i64* %43, align 8, !tbaa !1001 %176 = trunc i64 %175 to i32 %177 = icmp eq i32 %176, 768 %178 = getelementptr inbounds i64, i64* %43, i64 1 %179 = load i64, i64* %178, align 8, !tbaa !1015 %180 = trunc i64 %179 to i32 %181 = icmp eq i32 %180, 768 %182 = getelementptr inbounds i64, i64* %43, i64 2 %183 = load i64, i64* %182, align 8, !tbaa !1017 %184 = trunc i64 %183 to i32 %185 = icmp eq i32 %184, 1 %186 = and i1 %181, %185 %187 = and i1 %177, %186 br i1 %187, label %if_end58, label %assert_fail59, !prof !5 if_end58: ; preds = %if_then57, %assert_end56 %188 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %189 = load i64, i64* %188, align 8 %190 = icmp eq i64 %189, 0 br i1 %190, label %assert_end62, label %assert_fail61, !prof !5 assert_fail59: ; preds = %if_then57 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.104, i64 0, i64 0)) ret i32 -1 assert_fail61: ; preds = %if_end58 %192 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %192(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %if_end58 %193 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %194 = load i32, i32* %193, align 4 %195 = icmp eq i32 %194, 1 br i1 %195, label %assert_end64, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %196 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %196(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %assert_end62 %197 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %198 = load i32, i32* %197, align 4 %199 = icmp eq i32 %31, %198 br i1 %199, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %200 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %200(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %201 = tail call fastcc i32 @fused_reshape_add_compute_(i8* %39, i8* %25, i8* %33) ret i32 %201 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_add_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1, i8* noalias align 128 %2) unnamed_addr #1 { entry: %3 = alloca %13, align 8 %4 = getelementptr inbounds %13, %13* %3, i64 0, i32 0 store i8* %0, i8** %4, align 8 %5 = getelementptr inbounds %13, %13* %3, i64 0, i32 1 store i8* %1, i8** %5, align 8 %6 = getelementptr inbounds %13, %13* %3, i64 0, i32 2 store i8* %2, i8** %6, align 8 %7 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %8 = bitcast %13* %3 to i8* %9 = call i32 %7(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.105, i8* nonnull %8, i32 0) ret i32 %9 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.105(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %24 = mul nsw i64 %indvars.iv7, 768 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %25 = shl nsw i64 %indvars.iv, 4 %26 = add nsw i64 %25, %24 %27 = getelementptr inbounds float, float* %10, i64 %26 %28 = load float, float* %27, align 4, !tbaa !1020 %29 = getelementptr inbounds float, float* %7, i64 %26 %30 = load float, float* %29, align 4, !tbaa !1023 %31 = fadd float %28, %30 %32 = getelementptr inbounds float, float* %4, i64 %26 store float %31, float* %32, align 4, !tbaa !1026 %33 = or i64 %26, 1 %34 = getelementptr inbounds float, float* %10, i64 %33 %35 = load float, float* %34, align 4, !tbaa !1020 %36 = getelementptr inbounds float, float* %7, i64 %33 %37 = load float, float* %36, align 4, !tbaa !1023 %38 = fadd float %35, %37 %39 = getelementptr inbounds float, float* %4, i64 %33 store float %38, float* %39, align 4, !tbaa !1026 %40 = or i64 %26, 2 %41 = getelementptr inbounds float, float* %10, i64 %40 %42 = load float, float* %41, align 4, !tbaa !1020 %43 = getelementptr inbounds float, float* %7, i64 %40 %44 = load float, float* %43, align 4, !tbaa !1023 %45 = fadd float %42, %44 %46 = getelementptr inbounds float, float* %4, i64 %40 store float %45, float* %46, align 4, !tbaa !1026 %47 = or i64 %26, 3 %48 = getelementptr inbounds float, float* %10, i64 %47 %49 = load float, float* %48, align 4, !tbaa !1020 %50 = getelementptr inbounds float, float* %7, i64 %47 %51 = load float, float* %50, align 4, !tbaa !1023 %52 = fadd float %49, %51 %53 = getelementptr inbounds float, float* %4, i64 %47 store float %52, float* %53, align 4, !tbaa !1026 %54 = or i64 %26, 4 %55 = getelementptr inbounds float, float* %10, i64 %54 %56 = load float, float* %55, align 4, !tbaa !1020 %57 = getelementptr inbounds float, float* %7, i64 %54 %58 = load float, float* %57, align 4, !tbaa !1023 %59 = fadd float %56, %58 %60 = getelementptr inbounds float, float* %4, i64 %54 store float %59, float* %60, align 4, !tbaa !1026 %61 = or i64 %26, 5 %62 = getelementptr inbounds float, float* %10, i64 %61 %63 = load float, float* %62, align 4, !tbaa !1020 %64 = getelementptr inbounds float, float* %7, i64 %61 %65 = load float, float* %64, align 4, !tbaa !1023 %66 = fadd float %63, %65 %67 = getelementptr inbounds float, float* %4, i64 %61 store float %66, float* %67, align 4, !tbaa !1026 %68 = or i64 %26, 6 %69 = getelementptr inbounds float, float* %10, i64 %68 %70 = load float, float* %69, align 4, !tbaa !1020 %71 = getelementptr inbounds float, float* %7, i64 %68 %72 = load float, float* %71, align 4, !tbaa !1023 %73 = fadd float %70, %72 %74 = getelementptr inbounds float, float* %4, i64 %68 store float %73, float* %74, align 4, !tbaa !1026 %75 = or i64 %26, 7 %76 = getelementptr inbounds float, float* %10, i64 %75 %77 = load float, float* %76, align 4, !tbaa !1020 %78 = getelementptr inbounds float, float* %7, i64 %75 %79 = load float, float* %78, align 4, !tbaa !1023 %80 = fadd float %77, %79 %81 = getelementptr inbounds float, float* %4, i64 %75 store float %80, float* %81, align 4, !tbaa !1026 %82 = or i64 %26, 8 %83 = getelementptr inbounds float, float* %10, i64 %82 %84 = load float, float* %83, align 4, !tbaa !1020 %85 = getelementptr inbounds float, float* %7, i64 %82 %86 = load float, float* %85, align 4, !tbaa !1023 %87 = fadd float %84, %86 %88 = getelementptr inbounds float, float* %4, i64 %82 store float %87, float* %88, align 4, !tbaa !1026 %89 = or i64 %26, 9 %90 = getelementptr inbounds float, float* %10, i64 %89 %91 = load float, float* %90, align 4, !tbaa !1020 %92 = getelementptr inbounds float, float* %7, i64 %89 %93 = load float, float* %92, align 4, !tbaa !1023 %94 = fadd float %91, %93 %95 = getelementptr inbounds float, float* %4, i64 %89 store float %94, float* %95, align 4, !tbaa !1026 %96 = or i64 %26, 10 %97 = getelementptr inbounds float, float* %10, i64 %96 %98 = load float, float* %97, align 4, !tbaa !1020 %99 = getelementptr inbounds float, float* %7, i64 %96 %100 = load float, float* %99, align 4, !tbaa !1023 %101 = fadd float %98, %100 %102 = getelementptr inbounds float, float* %4, i64 %96 store float %101, float* %102, align 4, !tbaa !1026 %103 = or i64 %26, 11 %104 = getelementptr inbounds float, float* %10, i64 %103 %105 = load float, float* %104, align 4, !tbaa !1020 %106 = getelementptr inbounds float, float* %7, i64 %103 %107 = load float, float* %106, align 4, !tbaa !1023 %108 = fadd float %105, %107 %109 = getelementptr inbounds float, float* %4, i64 %103 store float %108, float* %109, align 4, !tbaa !1026 %110 = or i64 %26, 12 %111 = getelementptr inbounds float, float* %10, i64 %110 %112 = load float, float* %111, align 4, !tbaa !1020 %113 = getelementptr inbounds float, float* %7, i64 %110 %114 = load float, float* %113, align 4, !tbaa !1023 %115 = fadd float %112, %114 %116 = getelementptr inbounds float, float* %4, i64 %110 store float %115, float* %116, align 4, !tbaa !1026 %117 = or i64 %26, 13 %118 = getelementptr inbounds float, float* %10, i64 %117 %119 = load float, float* %118, align 4, !tbaa !1020 %120 = getelementptr inbounds float, float* %7, i64 %117 %121 = load float, float* %120, align 4, !tbaa !1023 %122 = fadd float %119, %121 %123 = getelementptr inbounds float, float* %4, i64 %117 store float %122, float* %123, align 4, !tbaa !1026 %124 = or i64 %26, 14 %125 = getelementptr inbounds float, float* %10, i64 %124 %126 = load float, float* %125, align 4, !tbaa !1020 %127 = getelementptr inbounds float, float* %7, i64 %124 %128 = load float, float* %127, align 4, !tbaa !1023 %129 = fadd float %126, %128 %130 = getelementptr inbounds float, float* %4, i64 %124 store float %129, float* %130, align 4, !tbaa !1026 %131 = or i64 %26, 15 %132 = getelementptr inbounds float, float* %10, i64 %131 %133 = load float, float* %132, align 4, !tbaa !1020 %134 = getelementptr inbounds float, float* %7, i64 %131 %135 = load float, float* %134, align 4, !tbaa !1023 %136 = fadd float %133, %135 %137 = getelementptr inbounds float, float* %4, i64 %131 store float %136, float* %137, align 4, !tbaa !1026 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 48 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !161, !llvm.loop !1029 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_nn_dense_add_1(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.106, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !1030 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !1044 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !1046 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !1049 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.107, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.108, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.109, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.110, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1051 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 128 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !1065 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 3072 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.111, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !1067 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 3072 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !1081 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.112, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !1083 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 768 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.86, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !1097 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 3072 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.113, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !1099 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 3072 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !1113 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.114, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !1115 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 768 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.87, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !1129 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !1143 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 128 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.115, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !1157 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 768 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.91, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !1159 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 768 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !1173 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.92, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_1_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_1_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias align 128 %7, i8* noalias align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = load i8* (i32, i32, i64, i32, i32)*, i8* (i32, i32, i64, i32, i32)** @__TVMBackendAllocWorkspace, align 8, !tbaa !6 %11 = tail call i8* %10(i32 1, i32 %3, i64 393216, i32 2, i32 32) call void @llvm.assume(i1 true) [ "align"(i8* %11, i64 128) ] %12 = icmp eq i8* %11, null br i1 %12, label %if_then, label %if_end, !prof !5 if_then: ; preds = %call_end2, %handle_init_end, %handle_init, %entry %merge = phi i32 [ -1, %entry ], [ %66, %handle_init ], [ %72, %handle_init_end ], [ %81, %call_end2 ] ret i32 %merge if_end: ; preds = %entry store i64 128, i64* %0, align 8, !tbaa !1175 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 3072, i64* %13, align 8, !tbaa !1189 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %15, align 8 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %16, align 8 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %17, align 4 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %18, align 1 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %19, align 1 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %20, align 2 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %21, align 8 %22 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %22, align 4 %23 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %23, align 4 %24 = getelementptr inbounds i64, i64* %0, i64 2 store i64 768, i64* %24, align 8, !tbaa !1191 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 3072, i64* %25, align 8, !tbaa !1194 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %24, i64** %27, align 8 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %28, align 8 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %29, align 4 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %30, align 1 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %31, align 1 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %32, align 2 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %33, align 8 %34 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %34, align 4 %35 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %35, align 4 %36 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %36, align 8, !tbaa !1196 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !1200 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %11, i8** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %36, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %40, align 8 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %41, align 4 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %43, align 1 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %44, align 2 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %45, align 8 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %46, align 4 %47 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %47, align 4 %48 = bitcast %0* %5 to %2** store %2* %1, %2** %48, align 8 store i32 7, i32* %6, align 4, !tbaa !1202 %49 = getelementptr inbounds %2, %2* %1, i64 1 %50 = getelementptr inbounds %0, %0* %5, i64 1 %51 = bitcast %0* %50 to %2** store %2* %49, %2** %51, align 8 %52 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %52, align 4, !tbaa !1216 %53 = getelementptr inbounds %2, %2* %1, i64 2 %54 = getelementptr inbounds %0, %0* %5, i64 2 %55 = bitcast %0* %54 to %2** store %2* %53, %2** %55, align 8 %56 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %56, align 4, !tbaa !1218 %57 = getelementptr inbounds %0, %0* %5, i64 3 %58 = bitcast %0* %57 to i64* store i64 0, i64* %58, align 8 %59 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %59, align 4, !tbaa !1221 %60 = getelementptr inbounds %0, %0* %5, i64 4 %61 = bitcast %0* %60 to i64* store i64 1, i64* %61, align 8 %62 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %62, align 4, !tbaa !1223 %63 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %63, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %if_end %64 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %65 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %66 = call i32 %65(i8* %64, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %67 = icmp eq i32 %66, 0 br i1 %67, label %call_end, label %if_then, !prof !5 handle_init_end: ; preds = %call_end, %if_end %68 = phi i8* [ %63, %if_end ], [ %74, %call_end ] %69 = getelementptr inbounds %0, %0* %5, i64 5 %70 = getelementptr inbounds i32, i32* %6, i64 5 %71 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %72 = call i32 %71(i8* %68, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %69, i32* nonnull %70) %73 = icmp eq i32 %72, 0 br i1 %73, label %call_end2, label %if_then, !prof !5 call_end: ; preds = %handle_init %74 = load i8*, i8** %9, align 8 store i8* %74, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end call_end2: ; preds = %handle_init_end %75 = alloca %14, align 8 %76 = getelementptr inbounds %14, %14* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %14, %14* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %14, %14* %75, i64 0, i32 2 store i8* %8, i8** %78, align 8 %79 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %80 = bitcast %14* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.116, i8* nonnull %80, i32 0) %82 = icmp eq i32 %81, 0 br i1 %82, label %call_end4, label %if_then, !prof !5 call_end4: ; preds = %call_end2 %83 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %84 = call i32 %83(i32 1, i32 %3, i8* nonnull %11) %.not12 = icmp ne i32 %84, 0 %spec.select = sext i1 %.not12 to i32 ret i32 %spec.select } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.116(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 %24 = bitcast float* %10 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %24, align 4, !tbaa !1227 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %25 = mul nsw i64 %indvars.iv4, 768 %26 = getelementptr inbounds float, float* %7, i64 %25 %27 = bitcast float* %26 to <512 x float>* %wide.load7 = load <512 x float>, <512 x float>* %27, align 4, !tbaa !1230 %28 = fadd <512 x float> %wide.load, %wide.load7 %29 = getelementptr inbounds float, float* %4, i64 %25 %30 = bitcast float* %29 to <512 x float>* store <512 x float> %28, <512 x float>* %30, align 4, !tbaa !1233 br label %for_body2 for_end: ; preds = %for_end3, %entry ret i32 0 for_body2: ; preds = %for_begin1.preheader, %for_body2 %indvars.iv = phi i64 [ %indvars.iv.next, %for_body2 ], [ 512, %for_begin1.preheader ] %31 = add nsw i64 %indvars.iv, %25 %32 = getelementptr inbounds float, float* %10, i64 %indvars.iv %33 = load float, float* %32, align 4, !tbaa !1227 %34 = getelementptr inbounds float, float* %7, i64 %31 %35 = load float, float* %34, align 4, !tbaa !1230 %36 = fadd float %33, %35 %37 = getelementptr inbounds float, float* %4, i64 %31 store float %36, float* %37, align 4, !tbaa !1233 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 768 br i1 %exitcond.not, label %for_end3, label %for_body2, !prof !161, !llvm.loop !1236 for_end3: ; preds = %for_body2 %indvars.iv.next5 = add nsw i64 %indvars.iv4, 1 %exitcond6.not = icmp eq i64 %indvars.iv.next5, %wide.trip.count br i1 %exitcond6.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([128 x i8], [128 x i8]* @.str.117, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !1237 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !1251 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([203 x i8], [203 x i8]* @.str.118, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([203 x i8], [203 x i8]* @.str.119, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 2 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !1253 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !1267 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 3072 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.111, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !1269 %60 = trunc i64 %59 to i32 %61 = icmp eq i32 %60, 3072 %62 = getelementptr inbounds i64, i64* %23, i64 1 %63 = load i64, i64* %62, align 8, !tbaa !1283 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 %66 = and i1 %61, %65 br i1 %66, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %67 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %68 = load i64, i64* %67, align 8 %69 = icmp eq i64 %68, 0 br i1 %69, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.112, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %72 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %73 = load i32, i32* %72, align 4 %74 = icmp eq i32 %73, 1 br i1 %74, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %76 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %77 = load i32, i32* %76, align 4 %78 = icmp eq i32 %77, 2 br i1 %78, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %80 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %81 = load i16, i16* %80, align 2 %82 = icmp eq i16 %81, 1 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %84 = load i8, i8* %83, align 1 %85 = icmp eq i8 %84, 32 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 2 %89 = and i1 %85, %88 %90 = and i1 %82, %89 br i1 %90, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %91 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %91(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !1285 %93 = trunc i64 %92 to i32 %94 = icmp eq i32 %93, 128 br i1 %94, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %96 = getelementptr inbounds i64, i64* %29, i64 1 %97 = load i64, i64* %96, align 8, !tbaa !1299 %98 = trunc i64 %97 to i32 %99 = icmp eq i32 %98, 3072 br i1 %99, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.113, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %.not41 = icmp eq i64* %31, null br i1 %.not41, label %if_end32, label %if_then31, !prof !47 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !1301 %102 = trunc i64 %101 to i32 %103 = icmp eq i32 %102, 3072 %104 = getelementptr inbounds i64, i64* %31, i64 1 %105 = load i64, i64* %104, align 8, !tbaa !1315 %106 = trunc i64 %105 to i32 %107 = icmp eq i32 %106, 1 %108 = and i1 %103, %107 br i1 %108, label %if_end32, label %assert_fail33, !prof !5 if_end32: ; preds = %if_then31, %assert_end30 %109 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %110 = load i64, i64* %109, align 8 %111 = icmp eq i64 %110, 0 br i1 %111, label %assert_end36, label %assert_fail35, !prof !5 assert_fail33: ; preds = %if_then31 %112 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %112(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.114, i64 0, i64 0)) ret i32 -1 assert_fail35: ; preds = %if_end32 %113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %113(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %if_end32 %114 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %115 = load i32, i32* %114, align 4 %116 = icmp eq i32 %115, 1 br i1 %116, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %117 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %117(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %118 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %119 = load i32, i32* %118, align 4 %120 = icmp eq i32 %25, %119 br i1 %120, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %122 = tail call fastcc i32 @fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape_compute_(i8* %27, i8* %19) ret i32 %122 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_multiply_divide_fast_erf_add_multiply_contrib_reverse_reshape_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %15, align 8 %3 = getelementptr inbounds %15, %15* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %15, %15* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %15* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.120, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.120(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #4 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 127 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 128 %15 = select i1 %14, i32 %13, i32 128 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv10 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next11, %for_end3 ] %21 = mul nsw i64 %indvars.iv10, 3072 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin4.preheader, %for_begin1.preheader %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next8.1, %for_begin4.preheader ] %22 = shl nsw i64 %indvars.iv7, 4 %23 = add nsw i64 %22, %21 %24 = getelementptr inbounds float, float* %7, i64 %23 %25 = bitcast float* %24 to <16 x float>* %wide.load = load <16 x float>, <16 x float>* %25, align 4, !tbaa !1317 %26 = fmul <16 x float> %wide.load, %27 = fcmp olt <16 x float> %26, %28 = select <16 x i1> %27, <16 x float> %26, <16 x float> %29 = fcmp ogt <16 x float> %28, %30 = select <16 x i1> %29, <16 x float> %28, <16 x float> %31 = fmul <16 x float> %30, %30 %32 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> , <16 x float> ) %33 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %32, <16 x float> ) %34 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %33, <16 x float> ) %35 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %34, <16 x float> ) %36 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %35, <16 x float> ) %37 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %36, <16 x float> ) %38 = fmul <16 x float> %30, %37 %39 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> , <16 x float> ) %40 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %39, <16 x float> ) %41 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %40, <16 x float> ) %42 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %41, <16 x float> ) %43 = fdiv <16 x float> %38, %42 %44 = fadd <16 x float> %43, %45 = fmul <16 x float> %wide.load, %46 = fmul <16 x float> %45, %44 %47 = getelementptr inbounds float, float* %4, i64 %23 %48 = bitcast float* %47 to <16 x float>* store <16 x float> %46, <16 x float>* %48, align 4, !tbaa !1320 %indvars.iv.next8 = shl i64 %indvars.iv7, 4 %49 = or i64 %indvars.iv.next8, 16 %50 = add nsw i64 %49, %21 %51 = getelementptr inbounds float, float* %7, i64 %50 %52 = bitcast float* %51 to <16 x float>* %wide.load.1 = load <16 x float>, <16 x float>* %52, align 4, !tbaa !1317 %53 = fmul <16 x float> %wide.load.1, %54 = fcmp olt <16 x float> %53, %55 = select <16 x i1> %54, <16 x float> %53, <16 x float> %56 = fcmp ogt <16 x float> %55, %57 = select <16 x i1> %56, <16 x float> %55, <16 x float> %58 = fmul <16 x float> %57, %57 %59 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> , <16 x float> ) %60 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %59, <16 x float> ) %61 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %60, <16 x float> ) %62 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %61, <16 x float> ) %63 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %62, <16 x float> ) %64 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %63, <16 x float> ) %65 = fmul <16 x float> %57, %64 %66 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> , <16 x float> ) %67 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %66, <16 x float> ) %68 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %67, <16 x float> ) %69 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %68, <16 x float> ) %70 = fdiv <16 x float> %65, %69 %71 = fadd <16 x float> %70, %72 = fmul <16 x float> %wide.load.1, %73 = fmul <16 x float> %72, %71 %74 = getelementptr inbounds float, float* %4, i64 %50 %75 = bitcast float* %74 to <16 x float>* store <16 x float> %73, <16 x float>* %75, align 4, !tbaa !1320 %indvars.iv.next8.1 = add nuw nsw i64 %indvars.iv7, 2 %exitcond9.not.1 = icmp eq i64 %indvars.iv.next8.1, 192 br i1 %exitcond9.not.1, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next11 = add nsw i64 %indvars.iv10, 1 %exitcond12.not = icmp eq i64 %indvars.iv.next11, %wide.trip.count br i1 %exitcond12.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_nn_dense_add_2(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.121, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !1323 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !1337 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !1339 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !1342 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.122, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.123, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.124, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.125, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1344 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 128 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !1358 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 768 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !1360 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 768 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !1374 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !1376 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 3072 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.126, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !1390 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 768 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !1392 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 768 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !1406 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !1408 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 3072 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.127, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !1422 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !1436 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 128 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.115, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !1450 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 3072 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.128, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !1452 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 3072 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !1466 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.129, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_2_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_2_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias align 128 %7, i8* noalias align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = load i8* (i32, i32, i64, i32, i32)*, i8* (i32, i32, i64, i32, i32)** @__TVMBackendAllocWorkspace, align 8, !tbaa !6 %11 = tail call i8* %10(i32 1, i32 %3, i64 1572864, i32 2, i32 32) call void @llvm.assume(i1 true) [ "align"(i8* %11, i64 128) ] %12 = icmp eq i8* %11, null br i1 %12, label %if_then, label %if_end, !prof !5 if_then: ; preds = %call_end2, %handle_init_end, %handle_init, %entry %merge = phi i32 [ -1, %entry ], [ %66, %handle_init ], [ %72, %handle_init_end ], [ %81, %call_end2 ] ret i32 %merge if_end: ; preds = %entry store i64 128, i64* %0, align 8, !tbaa !1468 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !1482 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %15, align 8 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %16, align 8 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %17, align 4 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %18, align 1 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %19, align 1 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %20, align 2 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %21, align 8 %22 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %22, align 4 %23 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %23, align 4 %24 = getelementptr inbounds i64, i64* %0, i64 2 store i64 3072, i64* %24, align 8, !tbaa !1484 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !1487 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %24, i64** %27, align 8 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %28, align 8 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %29, align 4 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %30, align 1 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %31, align 1 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %32, align 2 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %33, align 8 %34 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %34, align 4 %35 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %35, align 4 %36 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %36, align 8, !tbaa !1489 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 3072, i64* %37, align 8, !tbaa !1493 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %11, i8** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %36, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %40, align 8 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %41, align 4 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %43, align 1 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %44, align 2 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %45, align 8 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %46, align 4 %47 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %47, align 4 %48 = bitcast %0* %5 to %2** store %2* %1, %2** %48, align 8 store i32 7, i32* %6, align 4, !tbaa !1495 %49 = getelementptr inbounds %2, %2* %1, i64 1 %50 = getelementptr inbounds %0, %0* %5, i64 1 %51 = bitcast %0* %50 to %2** store %2* %49, %2** %51, align 8 %52 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %52, align 4, !tbaa !1509 %53 = getelementptr inbounds %2, %2* %1, i64 2 %54 = getelementptr inbounds %0, %0* %5, i64 2 %55 = bitcast %0* %54 to %2** store %2* %53, %2** %55, align 8 %56 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %56, align 4, !tbaa !1511 %57 = getelementptr inbounds %0, %0* %5, i64 3 %58 = bitcast %0* %57 to i64* store i64 0, i64* %58, align 8 %59 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %59, align 4, !tbaa !1514 %60 = getelementptr inbounds %0, %0* %5, i64 4 %61 = bitcast %0* %60 to i64* store i64 1, i64* %61, align 8 %62 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %62, align 4, !tbaa !1516 %63 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %63, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %if_end %64 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %65 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %66 = call i32 %65(i8* %64, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %67 = icmp eq i32 %66, 0 br i1 %67, label %call_end, label %if_then, !prof !5 handle_init_end: ; preds = %call_end, %if_end %68 = phi i8* [ %63, %if_end ], [ %74, %call_end ] %69 = getelementptr inbounds %0, %0* %5, i64 5 %70 = getelementptr inbounds i32, i32* %6, i64 5 %71 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %72 = call i32 %71(i8* %68, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %69, i32* nonnull %70) %73 = icmp eq i32 %72, 0 br i1 %73, label %call_end2, label %if_then, !prof !5 call_end: ; preds = %handle_init %74 = load i8*, i8** %9, align 8 store i8* %74, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end call_end2: ; preds = %handle_init_end %75 = alloca %16, align 8 %76 = getelementptr inbounds %16, %16* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %16, %16* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %16, %16* %75, i64 0, i32 2 store i8* %8, i8** %78, align 8 %79 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %80 = bitcast %16* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.130, i8* nonnull %80, i32 0) %82 = icmp eq i32 %81, 0 br i1 %82, label %call_end4, label %if_then, !prof !5 call_end4: ; preds = %call_end2 %83 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %84 = call i32 %83(i32 1, i32 %3, i8* nonnull %11) %.not12 = icmp ne i32 %84, 0 %spec.select = sext i1 %.not12 to i32 ret i32 %spec.select } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.130(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 %24 = bitcast float* %10 to <512 x float>* %25 = sub nsw i64 %wide.trip.count, %23 %26 = xor i64 %23, -1 %xtraiter = and i64 %25, 1 %lcmp.mod.not = icmp eq i64 %xtraiter, 0 br i1 %lcmp.mod.not, label %for_begin1.preheader.prol.loopexit, label %for_begin1.preheader.prol for_begin1.preheader.prol: ; preds = %for_begin1.preheader.preheader %27 = mul nsw i64 %23, 3072 %wide.load.prol = load <512 x float>, <512 x float>* %24, align 4, !tbaa !1520 %28 = getelementptr inbounds float, float* %7, i64 %27 %29 = bitcast float* %28 to <512 x float>* %wide.load7.prol = load <512 x float>, <512 x float>* %29, align 4, !tbaa !1523 %30 = fadd <512 x float> %wide.load.prol, %wide.load7.prol %31 = getelementptr inbounds float, float* %4, i64 %27 %32 = bitcast float* %31 to <512 x float>* store <512 x float> %30, <512 x float>* %32, align 4, !tbaa !1526 %33 = or i64 %27, 512 %34 = getelementptr inbounds float, float* %10, i64 512 %35 = bitcast float* %34 to <512 x float>* %wide.load.1.prol = load <512 x float>, <512 x float>* %35, align 4, !tbaa !1520 %36 = getelementptr inbounds float, float* %7, i64 %33 %37 = bitcast float* %36 to <512 x float>* %wide.load7.1.prol = load <512 x float>, <512 x float>* %37, align 4, !tbaa !1523 %38 = fadd <512 x float> %wide.load.1.prol, %wide.load7.1.prol %39 = getelementptr inbounds float, float* %4, i64 %33 %40 = bitcast float* %39 to <512 x float>* store <512 x float> %38, <512 x float>* %40, align 4, !tbaa !1526 %41 = add nsw i64 %27, 1024 %42 = getelementptr inbounds float, float* %10, i64 1024 %43 = bitcast float* %42 to <512 x float>* %wide.load.2.prol = load <512 x float>, <512 x float>* %43, align 4, !tbaa !1520 %44 = getelementptr inbounds float, float* %7, i64 %41 %45 = bitcast float* %44 to <512 x float>* %wide.load7.2.prol = load <512 x float>, <512 x float>* %45, align 4, !tbaa !1523 %46 = fadd <512 x float> %wide.load.2.prol, %wide.load7.2.prol %47 = getelementptr inbounds float, float* %4, i64 %41 %48 = bitcast float* %47 to <512 x float>* store <512 x float> %46, <512 x float>* %48, align 4, !tbaa !1526 %49 = add nsw i64 %27, 1536 %50 = getelementptr inbounds float, float* %10, i64 1536 %51 = bitcast float* %50 to <512 x float>* %wide.load.3.prol = load <512 x float>, <512 x float>* %51, align 4, !tbaa !1520 %52 = getelementptr inbounds float, float* %7, i64 %49 %53 = bitcast float* %52 to <512 x float>* %wide.load7.3.prol = load <512 x float>, <512 x float>* %53, align 4, !tbaa !1523 %54 = fadd <512 x float> %wide.load.3.prol, %wide.load7.3.prol %55 = getelementptr inbounds float, float* %4, i64 %49 %56 = bitcast float* %55 to <512 x float>* store <512 x float> %54, <512 x float>* %56, align 4, !tbaa !1526 %57 = add nsw i64 %27, 2048 %58 = getelementptr inbounds float, float* %10, i64 2048 %59 = bitcast float* %58 to <512 x float>* %wide.load.4.prol = load <512 x float>, <512 x float>* %59, align 4, !tbaa !1520 %60 = getelementptr inbounds float, float* %7, i64 %57 %61 = bitcast float* %60 to <512 x float>* %wide.load7.4.prol = load <512 x float>, <512 x float>* %61, align 4, !tbaa !1523 %62 = fadd <512 x float> %wide.load.4.prol, %wide.load7.4.prol %63 = getelementptr inbounds float, float* %4, i64 %57 %64 = bitcast float* %63 to <512 x float>* store <512 x float> %62, <512 x float>* %64, align 4, !tbaa !1526 %65 = add nsw i64 %27, 2560 %66 = getelementptr inbounds float, float* %10, i64 2560 %67 = bitcast float* %66 to <512 x float>* %wide.load.5.prol = load <512 x float>, <512 x float>* %67, align 4, !tbaa !1520 %68 = getelementptr inbounds float, float* %7, i64 %65 %69 = bitcast float* %68 to <512 x float>* %wide.load7.5.prol = load <512 x float>, <512 x float>* %69, align 4, !tbaa !1523 %70 = fadd <512 x float> %wide.load.5.prol, %wide.load7.5.prol %71 = getelementptr inbounds float, float* %4, i64 %65 %72 = bitcast float* %71 to <512 x float>* store <512 x float> %70, <512 x float>* %72, align 4, !tbaa !1526 %indvars.iv.next5.prol = add nsw i64 %23, 1 br label %for_begin1.preheader.prol.loopexit for_begin1.preheader.prol.loopexit: ; preds = %for_begin1.preheader.prol, %for_begin1.preheader.preheader %indvars.iv4.unr = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5.prol, %for_begin1.preheader.prol ] %73 = sub nsw i64 0, %wide.trip.count %74 = icmp eq i64 %26, %73 br i1 %74, label %for_end, label %for_begin1.preheader.preheader.new for_begin1.preheader.preheader.new: ; preds = %for_begin1.preheader.prol.loopexit %wide.load = load <512 x float>, <512 x float>* %24, align 4, !tbaa !1520 %75 = getelementptr inbounds float, float* %10, i64 512 %76 = bitcast float* %75 to <512 x float>* %wide.load.1 = load <512 x float>, <512 x float>* %76, align 4, !tbaa !1520 %77 = getelementptr inbounds float, float* %10, i64 1024 %78 = bitcast float* %77 to <512 x float>* %wide.load.2 = load <512 x float>, <512 x float>* %78, align 4, !tbaa !1520 %79 = getelementptr inbounds float, float* %10, i64 1536 %80 = bitcast float* %79 to <512 x float>* %wide.load.3 = load <512 x float>, <512 x float>* %80, align 4, !tbaa !1520 %81 = getelementptr inbounds float, float* %10, i64 2048 %82 = bitcast float* %81 to <512 x float>* %wide.load.4 = load <512 x float>, <512 x float>* %82, align 4, !tbaa !1520 %83 = getelementptr inbounds float, float* %10, i64 2560 %84 = bitcast float* %83 to <512 x float>* %wide.load.5 = load <512 x float>, <512 x float>* %84, align 4, !tbaa !1520 %wide.load.18 = load <512 x float>, <512 x float>* %24, align 4, !tbaa !1520 %85 = getelementptr inbounds float, float* %10, i64 512 %86 = bitcast float* %85 to <512 x float>* %wide.load.1.1 = load <512 x float>, <512 x float>* %86, align 4, !tbaa !1520 %87 = getelementptr inbounds float, float* %10, i64 1024 %88 = bitcast float* %87 to <512 x float>* %wide.load.2.1 = load <512 x float>, <512 x float>* %88, align 4, !tbaa !1520 %89 = getelementptr inbounds float, float* %10, i64 1536 %90 = bitcast float* %89 to <512 x float>* %wide.load.3.1 = load <512 x float>, <512 x float>* %90, align 4, !tbaa !1520 %91 = getelementptr inbounds float, float* %10, i64 2048 %92 = bitcast float* %91 to <512 x float>* %wide.load.4.1 = load <512 x float>, <512 x float>* %92, align 4, !tbaa !1520 %93 = getelementptr inbounds float, float* %10, i64 2560 %94 = bitcast float* %93 to <512 x float>* %wide.load.5.1 = load <512 x float>, <512 x float>* %94, align 4, !tbaa !1520 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader, %for_begin1.preheader.preheader.new %indvars.iv4 = phi i64 [ %indvars.iv4.unr, %for_begin1.preheader.preheader.new ], [ %indvars.iv.next5.1, %for_begin1.preheader ] %95 = mul nsw i64 %indvars.iv4, 3072 %96 = getelementptr inbounds float, float* %7, i64 %95 %97 = bitcast float* %96 to <512 x float>* %wide.load7 = load <512 x float>, <512 x float>* %97, align 4, !tbaa !1523 %98 = fadd <512 x float> %wide.load, %wide.load7 %99 = getelementptr inbounds float, float* %4, i64 %95 %100 = bitcast float* %99 to <512 x float>* store <512 x float> %98, <512 x float>* %100, align 4, !tbaa !1526 %101 = or i64 %95, 512 %102 = getelementptr inbounds float, float* %7, i64 %101 %103 = bitcast float* %102 to <512 x float>* %wide.load7.1 = load <512 x float>, <512 x float>* %103, align 4, !tbaa !1523 %104 = fadd <512 x float> %wide.load.1, %wide.load7.1 %105 = getelementptr inbounds float, float* %4, i64 %101 %106 = bitcast float* %105 to <512 x float>* store <512 x float> %104, <512 x float>* %106, align 4, !tbaa !1526 %107 = add nsw i64 %95, 1024 %108 = getelementptr inbounds float, float* %7, i64 %107 %109 = bitcast float* %108 to <512 x float>* %wide.load7.2 = load <512 x float>, <512 x float>* %109, align 4, !tbaa !1523 %110 = fadd <512 x float> %wide.load.2, %wide.load7.2 %111 = getelementptr inbounds float, float* %4, i64 %107 %112 = bitcast float* %111 to <512 x float>* store <512 x float> %110, <512 x float>* %112, align 4, !tbaa !1526 %113 = add nsw i64 %95, 1536 %114 = getelementptr inbounds float, float* %7, i64 %113 %115 = bitcast float* %114 to <512 x float>* %wide.load7.3 = load <512 x float>, <512 x float>* %115, align 4, !tbaa !1523 %116 = fadd <512 x float> %wide.load.3, %wide.load7.3 %117 = getelementptr inbounds float, float* %4, i64 %113 %118 = bitcast float* %117 to <512 x float>* store <512 x float> %116, <512 x float>* %118, align 4, !tbaa !1526 %119 = add nsw i64 %95, 2048 %120 = getelementptr inbounds float, float* %7, i64 %119 %121 = bitcast float* %120 to <512 x float>* %wide.load7.4 = load <512 x float>, <512 x float>* %121, align 4, !tbaa !1523 %122 = fadd <512 x float> %wide.load.4, %wide.load7.4 %123 = getelementptr inbounds float, float* %4, i64 %119 %124 = bitcast float* %123 to <512 x float>* store <512 x float> %122, <512 x float>* %124, align 4, !tbaa !1526 %125 = add nsw i64 %95, 2560 %126 = getelementptr inbounds float, float* %7, i64 %125 %127 = bitcast float* %126 to <512 x float>* %wide.load7.5 = load <512 x float>, <512 x float>* %127, align 4, !tbaa !1523 %128 = fadd <512 x float> %wide.load.5, %wide.load7.5 %129 = getelementptr inbounds float, float* %4, i64 %125 %130 = bitcast float* %129 to <512 x float>* store <512 x float> %128, <512 x float>* %130, align 4, !tbaa !1526 %131 = mul i64 %indvars.iv4, 3072 %132 = add i64 %131, 3072 %133 = getelementptr inbounds float, float* %7, i64 %132 %134 = bitcast float* %133 to <512 x float>* %wide.load7.19 = load <512 x float>, <512 x float>* %134, align 4, !tbaa !1523 %135 = fadd <512 x float> %wide.load.18, %wide.load7.19 %136 = getelementptr inbounds float, float* %4, i64 %132 %137 = bitcast float* %136 to <512 x float>* store <512 x float> %135, <512 x float>* %137, align 4, !tbaa !1526 %138 = or i64 %132, 512 %139 = getelementptr inbounds float, float* %7, i64 %138 %140 = bitcast float* %139 to <512 x float>* %wide.load7.1.1 = load <512 x float>, <512 x float>* %140, align 4, !tbaa !1523 %141 = fadd <512 x float> %wide.load.1.1, %wide.load7.1.1 %142 = getelementptr inbounds float, float* %4, i64 %138 %143 = bitcast float* %142 to <512 x float>* store <512 x float> %141, <512 x float>* %143, align 4, !tbaa !1526 %144 = add i64 %131, 4096 %145 = getelementptr inbounds float, float* %7, i64 %144 %146 = bitcast float* %145 to <512 x float>* %wide.load7.2.1 = load <512 x float>, <512 x float>* %146, align 4, !tbaa !1523 %147 = fadd <512 x float> %wide.load.2.1, %wide.load7.2.1 %148 = getelementptr inbounds float, float* %4, i64 %144 %149 = bitcast float* %148 to <512 x float>* store <512 x float> %147, <512 x float>* %149, align 4, !tbaa !1526 %150 = add i64 %131, 4608 %151 = getelementptr inbounds float, float* %7, i64 %150 %152 = bitcast float* %151 to <512 x float>* %wide.load7.3.1 = load <512 x float>, <512 x float>* %152, align 4, !tbaa !1523 %153 = fadd <512 x float> %wide.load.3.1, %wide.load7.3.1 %154 = getelementptr inbounds float, float* %4, i64 %150 %155 = bitcast float* %154 to <512 x float>* store <512 x float> %153, <512 x float>* %155, align 4, !tbaa !1526 %156 = add i64 %131, 5120 %157 = getelementptr inbounds float, float* %7, i64 %156 %158 = bitcast float* %157 to <512 x float>* %wide.load7.4.1 = load <512 x float>, <512 x float>* %158, align 4, !tbaa !1523 %159 = fadd <512 x float> %wide.load.4.1, %wide.load7.4.1 %160 = getelementptr inbounds float, float* %4, i64 %156 %161 = bitcast float* %160 to <512 x float>* store <512 x float> %159, <512 x float>* %161, align 4, !tbaa !1526 %162 = add i64 %131, 5632 %163 = getelementptr inbounds float, float* %7, i64 %162 %164 = bitcast float* %163 to <512 x float>* %wide.load7.5.1 = load <512 x float>, <512 x float>* %164, align 4, !tbaa !1523 %165 = fadd <512 x float> %wide.load.5.1, %wide.load7.5.1 %166 = getelementptr inbounds float, float* %4, i64 %162 %167 = bitcast float* %166 to <512 x float>* store <512 x float> %165, <512 x float>* %167, align 4, !tbaa !1526 %indvars.iv.next5.1 = add nsw i64 %indvars.iv4, 2 %exitcond6.not.1 = icmp eq i64 %indvars.iv.next5.1, %wide.trip.count br i1 %exitcond6.not.1, label %for_end, label %for_begin1.preheader, !prof !47 for_end: ; preds = %for_begin1.preheader.prol.loopexit, %for_begin1.preheader, %entry ret i32 0 } define dllexport i32 @fused_nn_batch_matmul_1(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [9 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 3 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.131, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !1529 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !1543 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !1545 %28 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %29 = load i8*, i8** %28, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %29, i64 128) ] %30 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %31 = load i64*, i64** %30, align 8 %32 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %33 = load i64*, i64** %32, align 8 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %35 = load i32, i32* %34, align 4 %36 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %37 = load i8*, i8** %36, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %37, i64 128) ] %38 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %48 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %48(i8* getelementptr inbounds ([151 x i8], [151 x i8]* @.str.132, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([151 x i8], [151 x i8]* @.str.133, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([151 x i8], [151 x i8]* @.str.134, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %51 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %52 = load i32, i32* %51, align 4 %53 = icmp eq i32 %52, 3 br i1 %53, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %54 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %54(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %55 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %56 = load i16, i16* %55, align 2 %57 = icmp eq i16 %56, 1 %58 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %59 = load i8, i8* %58, align 1 %60 = icmp eq i8 %59, 32 %61 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %62 = load i8, i8* %61, align 1 %63 = icmp eq i8 %62, 2 %64 = and i1 %60, %63 %65 = and i1 %57, %64 br i1 %65, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %67 = load i64, i64* %31, align 8, !tbaa !1548 %68 = trunc i64 %67 to i32 %69 = icmp eq i32 %68, 12 br i1 %69, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.34, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %71 = getelementptr inbounds i64, i64* %31, i64 1 %72 = load i64, i64* %71, align 8, !tbaa !1562 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 128 br i1 %74, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %76 = getelementptr inbounds i64, i64* %31, i64 2 %77 = load i64, i64* %76, align 8, !tbaa !1564 %78 = trunc i64 %77 to i32 %79 = icmp eq i32 %78, 64 br i1 %79, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.36, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %33, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %81 = load i64, i64* %33, align 8, !tbaa !1567 %82 = trunc i64 %81 to i32 %83 = icmp eq i32 %82, 8192 %84 = getelementptr inbounds i64, i64* %33, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !1581 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 64 %88 = getelementptr inbounds i64, i64* %33, i64 2 %89 = load i64, i64* %88, align 8, !tbaa !1583 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 1 %92 = and i1 %87, %91 %93 = and i1 %83, %92 br i1 %93, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %94 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %95 = load i64, i64* %94, align 8 %96 = icmp eq i64 %95, 0 br i1 %96, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %97 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %97(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.37, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %99 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %100 = load i32, i32* %99, align 4 %101 = icmp eq i32 %100, 1 br i1 %101, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %102 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %102(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %103 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %104 = load i32, i32* %103, align 4 %105 = icmp eq i32 %104, 3 br i1 %105, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %106 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %106(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %107 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %108 = load i16, i16* %107, align 2 %109 = icmp eq i16 %108, 1 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %111 = load i8, i8* %110, align 1 %112 = icmp eq i8 %111, 32 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 2 %116 = and i1 %112, %115 %117 = and i1 %109, %116 br i1 %117, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %119 = load i64, i64* %39, align 8, !tbaa !1586 %120 = trunc i64 %119 to i32 %121 = icmp eq i32 %120, 12 br i1 %121, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %123 = getelementptr inbounds i64, i64* %39, i64 1 %124 = load i64, i64* %123, align 8, !tbaa !1600 %125 = trunc i64 %124 to i32 %126 = icmp eq i32 %125, 128 br i1 %126, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %128 = getelementptr inbounds i64, i64* %39, i64 2 %129 = load i64, i64* %128, align 8, !tbaa !1602 %130 = trunc i64 %129 to i32 %131 = icmp eq i32 %130, 64 br i1 %131, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %132(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.75, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %.not72 = icmp eq i64* %41, null br i1 %.not72, label %if_end38, label %if_then37, !prof !47 if_then37: ; preds = %assert_end36 %133 = load i64, i64* %41, align 8, !tbaa !1605 %134 = trunc i64 %133 to i32 %135 = icmp eq i32 %134, 8192 %136 = getelementptr inbounds i64, i64* %41, i64 1 %137 = load i64, i64* %136, align 8, !tbaa !1619 %138 = trunc i64 %137 to i32 %139 = icmp eq i32 %138, 64 %140 = getelementptr inbounds i64, i64* %41, i64 2 %141 = load i64, i64* %140, align 8, !tbaa !1621 %142 = trunc i64 %141 to i32 %143 = icmp eq i32 %142, 1 %144 = and i1 %139, %143 %145 = and i1 %135, %144 br i1 %145, label %if_end38, label %assert_fail39, !prof !5 if_end38: ; preds = %if_then37, %assert_end36 %146 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %147 = load i64, i64* %146, align 8 %148 = icmp eq i64 %147, 0 br i1 %148, label %assert_end42, label %assert_fail41, !prof !5 assert_fail39: ; preds = %if_then37 %149 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %149(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.76, i64 0, i64 0)) ret i32 -1 assert_fail41: ; preds = %if_end38 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %if_end38 %151 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %152 = load i32, i32* %151, align 4 %153 = icmp eq i32 %152, 1 br i1 %153, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %154(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %155 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %156 = load i32, i32* %155, align 4 %157 = icmp eq i32 %35, %156 br i1 %157, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %158(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %160 = load i32, i32* %159, align 4 %161 = icmp eq i32 %160, 3 br i1 %161, label %assert_end50, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %162 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %162(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end46 %163 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %164 = load i16, i16* %163, align 2 %165 = icmp eq i16 %164, 1 %166 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %167 = load i8, i8* %166, align 1 %168 = icmp eq i8 %167, 32 %169 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %170 = load i8, i8* %169, align 1 %171 = icmp eq i8 %170, 2 %172 = and i1 %168, %171 %173 = and i1 %165, %172 br i1 %173, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %174 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %174(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %175 = load i64, i64* %45, align 8, !tbaa !1624 %176 = trunc i64 %175 to i32 %177 = icmp eq i32 %176, 12 br i1 %177, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.135, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %179 = getelementptr inbounds i64, i64* %45, i64 1 %180 = load i64, i64* %179, align 8, !tbaa !1638 %181 = trunc i64 %180 to i32 %182 = icmp eq i32 %181, 128 br i1 %182, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.136, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %184 = getelementptr inbounds i64, i64* %45, i64 2 %185 = load i64, i64* %184, align 8, !tbaa !1640 %186 = trunc i64 %185 to i32 %187 = icmp eq i32 %186, 128 br i1 %187, label %assert_end58, label %assert_fail57, !prof !5 assert_fail57: ; preds = %assert_end56 %188 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %188(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.137, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %.not73 = icmp eq i64* %47, null br i1 %.not73, label %if_end60, label %if_then59, !prof !47 if_then59: ; preds = %assert_end58 %189 = load i64, i64* %47, align 8, !tbaa !1643 %190 = trunc i64 %189 to i32 %191 = icmp eq i32 %190, 16384 %192 = getelementptr inbounds i64, i64* %47, i64 1 %193 = load i64, i64* %192, align 8, !tbaa !1657 %194 = trunc i64 %193 to i32 %195 = icmp eq i32 %194, 128 %196 = getelementptr inbounds i64, i64* %47, i64 2 %197 = load i64, i64* %196, align 8, !tbaa !1659 %198 = trunc i64 %197 to i32 %199 = icmp eq i32 %198, 1 %200 = and i1 %195, %199 %201 = and i1 %191, %200 br i1 %201, label %if_end60, label %assert_fail61, !prof !5 if_end60: ; preds = %if_then59, %assert_end58 %202 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %203 = load i64, i64* %202, align 8 %204 = icmp eq i64 %203, 0 br i1 %204, label %assert_end64, label %assert_fail63, !prof !5 assert_fail61: ; preds = %if_then59 %205 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %205(i8* getelementptr inbounds ([163 x i8], [163 x i8]* @.str.138, i64 0, i64 0)) ret i32 -1 assert_fail63: ; preds = %if_end60 %206 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %206(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %if_end60 %207 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %208 = load i32, i32* %207, align 4 %209 = icmp eq i32 %208, 1 br i1 %209, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %210 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %210(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %211 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %212 = load i32, i32* %211, align 4 %213 = icmp eq i32 %35, %212 br i1 %213, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %214 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %214(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %.sub71 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub70 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub69 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [9 x i64], [9 x i64]* %6, i64 0, i64 0 %215 = call fastcc i32 @fused_nn_batch_matmul_1_compute_(i64* nonnull %.sub, %2* nonnull %.sub69, i8* %29, i32 %35, i8* %37, i8* %43, %0* nonnull %.sub70, i32* nonnull %.sub71) ret i32 %215 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_batch_matmul_1_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, i8* noalias align 128 %5, %0* noalias %6, i32* noalias %7) unnamed_addr #1 { entry: %8 = alloca i8*, align 8 store i64 12, i64* %0, align 8, !tbaa !1662 %9 = getelementptr inbounds i64, i64* %0, i64 1 store i64 128, i64* %9, align 8, !tbaa !1676 %10 = getelementptr inbounds i64, i64* %0, i64 2 store i64 64, i64* %10, align 8, !tbaa !1678 %11 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %11, align 8 %12 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %12, align 8 %13 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %13, align 8 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 3, i32* %14, align 4 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %15, align 1 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %16, align 1 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %17, align 2 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %18, align 8 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %19, align 4 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %20, align 4 %21 = getelementptr inbounds i64, i64* %0, i64 3 store i64 12, i64* %21, align 8, !tbaa !1681 %22 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %22, align 8, !tbaa !1683 %23 = getelementptr inbounds i64, i64* %0, i64 5 store i64 64, i64* %23, align 8, !tbaa !1687 %24 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %24, align 8 %25 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %21, i64** %25, align 8 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 3, i32* %27, align 4 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %28, align 1 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %29, align 1 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %30, align 2 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %31, align 8 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %32, align 4 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %33, align 4 %34 = getelementptr inbounds i64, i64* %0, i64 6 store i64 12, i64* %34, align 8, !tbaa !1689 %35 = getelementptr inbounds i64, i64* %0, i64 7 store i64 128, i64* %35, align 8, !tbaa !1692 %36 = getelementptr inbounds i64, i64* %0, i64 8 store i64 128, i64* %36, align 8, !tbaa !1694 %37 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %5, i8** %37, align 8 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %34, i64** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 3, i32* %40, align 4 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %41, align 1 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %43, align 2 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %44, align 8 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %45, align 4 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %46, align 4 %47 = bitcast %0* %6 to %2** store %2* %1, %2** %47, align 8 store i32 7, i32* %7, align 4, !tbaa !1699 %48 = getelementptr inbounds %2, %2* %1, i64 1 %49 = getelementptr inbounds %0, %0* %6, i64 1 %50 = bitcast %0* %49 to %2** store %2* %48, %2** %50, align 8 %51 = getelementptr inbounds i32, i32* %7, i64 1 store i32 7, i32* %51, align 4, !tbaa !1713 %52 = getelementptr inbounds %2, %2* %1, i64 2 %53 = getelementptr inbounds %0, %0* %6, i64 2 %54 = bitcast %0* %53 to %2** store %2* %52, %2** %54, align 8 %55 = getelementptr inbounds i32, i32* %7, i64 2 store i32 7, i32* %55, align 4, !tbaa !1715 %56 = getelementptr inbounds %0, %0* %6, i64 3 %57 = bitcast %0* %56 to i64* store i64 0, i64* %57, align 8 %58 = getelementptr inbounds i32, i32* %7, i64 3 store i32 0, i32* %58, align 4, !tbaa !1718 %59 = getelementptr inbounds %0, %0* %6, i64 4 %60 = bitcast %0* %59 to i64* store i64 1, i64* %60, align 8 %61 = getelementptr inbounds i32, i32* %7, i64 4 store i32 0, i32* %61, align 4, !tbaa !1720 %62 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.batch_matmul, align 8 %.not = icmp eq i8* %62, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %entry %63 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %64 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %65 = call i32 %64(i8* %63, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.139, i64 0, i64 0), i8** nonnull %8) %66 = icmp eq i32 %65, 0 br i1 %66, label %call_end, label %call_fail, !prof !5 handle_init_end: ; preds = %call_end, %entry %67 = phi i8* [ %62, %entry ], [ %72, %call_end ] %68 = getelementptr inbounds %0, %0* %6, i64 5 %69 = getelementptr inbounds i32, i32* %7, i64 5 %70 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %71 = call i32 %70(i8* %67, %0* nonnull %6, i32* nonnull %7, i32 5, %0* nonnull %68, i32* nonnull %69) br label %call_fail call_fail: ; preds = %handle_init_end, %handle_init %merge = phi i32 [ %65, %handle_init ], [ %71, %handle_init_end ] ret i32 %merge call_end: ; preds = %handle_init %72 = load i8*, i8** %8, align 8 store i8* %72, i8** @.tvm_func.tvm.contrib.cblas.batch_matmul, align 8 br label %handle_init_end } define dllexport i32 @fused_nn_batch_matmul(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [9 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 3 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.140, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !1724 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !1738 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !1740 %28 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %29 = load i8*, i8** %28, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %29, i64 128) ] %30 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %31 = load i64*, i64** %30, align 8 %32 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %33 = load i64*, i64** %32, align 8 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %35 = load i32, i32* %34, align 4 %36 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %37 = load i8*, i8** %36, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %37, i64 128) ] %38 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %48 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %48(i8* getelementptr inbounds ([149 x i8], [149 x i8]* @.str.141, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([149 x i8], [149 x i8]* @.str.142, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([149 x i8], [149 x i8]* @.str.143, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %51 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %52 = load i32, i32* %51, align 4 %53 = icmp eq i32 %52, 3 br i1 %53, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %54 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %54(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %55 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %56 = load i16, i16* %55, align 2 %57 = icmp eq i16 %56, 1 %58 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %59 = load i8, i8* %58, align 1 %60 = icmp eq i8 %59, 32 %61 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %62 = load i8, i8* %61, align 1 %63 = icmp eq i8 %62, 2 %64 = and i1 %60, %63 %65 = and i1 %57, %64 br i1 %65, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %67 = load i64, i64* %31, align 8, !tbaa !1743 %68 = trunc i64 %67 to i32 %69 = icmp eq i32 %68, 12 br i1 %69, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.34, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %71 = getelementptr inbounds i64, i64* %31, i64 1 %72 = load i64, i64* %71, align 8, !tbaa !1757 %73 = trunc i64 %72 to i32 %74 = icmp eq i32 %73, 128 br i1 %74, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %76 = getelementptr inbounds i64, i64* %31, i64 2 %77 = load i64, i64* %76, align 8, !tbaa !1759 %78 = trunc i64 %77 to i32 %79 = icmp eq i32 %78, 128 br i1 %79, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.144, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %33, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %81 = load i64, i64* %33, align 8, !tbaa !1762 %82 = trunc i64 %81 to i32 %83 = icmp eq i32 %82, 16384 %84 = getelementptr inbounds i64, i64* %33, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !1776 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 128 %88 = getelementptr inbounds i64, i64* %33, i64 2 %89 = load i64, i64* %88, align 8, !tbaa !1778 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 1 %92 = and i1 %87, %91 %93 = and i1 %83, %92 br i1 %93, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %94 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %95 = load i64, i64* %94, align 8 %96 = icmp eq i64 %95, 0 br i1 %96, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %97 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %97(i8* getelementptr inbounds ([163 x i8], [163 x i8]* @.str.145, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %99 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %100 = load i32, i32* %99, align 4 %101 = icmp eq i32 %100, 1 br i1 %101, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %102 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %102(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %103 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %104 = load i32, i32* %103, align 4 %105 = icmp eq i32 %104, 3 br i1 %105, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %106 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %106(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %107 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %108 = load i16, i16* %107, align 2 %109 = icmp eq i16 %108, 1 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %111 = load i8, i8* %110, align 1 %112 = icmp eq i8 %111, 32 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 2 %116 = and i1 %112, %115 %117 = and i1 %109, %116 br i1 %117, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %119 = load i64, i64* %39, align 8, !tbaa !1781 %120 = trunc i64 %119 to i32 %121 = icmp eq i32 %120, 12 br i1 %121, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %123 = getelementptr inbounds i64, i64* %39, i64 1 %124 = load i64, i64* %123, align 8, !tbaa !1795 %125 = trunc i64 %124 to i32 %126 = icmp eq i32 %125, 64 br i1 %126, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.146, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %128 = getelementptr inbounds i64, i64* %39, i64 2 %129 = load i64, i64* %128, align 8, !tbaa !1797 %130 = trunc i64 %129 to i32 %131 = icmp eq i32 %130, 128 br i1 %131, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %132(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.147, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %.not72 = icmp eq i64* %41, null br i1 %.not72, label %if_end38, label %if_then37, !prof !47 if_then37: ; preds = %assert_end36 %133 = load i64, i64* %41, align 8, !tbaa !1800 %134 = trunc i64 %133 to i32 %135 = icmp eq i32 %134, 8192 %136 = getelementptr inbounds i64, i64* %41, i64 1 %137 = load i64, i64* %136, align 8, !tbaa !1814 %138 = trunc i64 %137 to i32 %139 = icmp eq i32 %138, 128 %140 = getelementptr inbounds i64, i64* %41, i64 2 %141 = load i64, i64* %140, align 8, !tbaa !1816 %142 = trunc i64 %141 to i32 %143 = icmp eq i32 %142, 1 %144 = and i1 %139, %143 %145 = and i1 %135, %144 br i1 %145, label %if_end38, label %assert_fail39, !prof !5 if_end38: ; preds = %if_then37, %assert_end36 %146 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %147 = load i64, i64* %146, align 8 %148 = icmp eq i64 %147, 0 br i1 %148, label %assert_end42, label %assert_fail41, !prof !5 assert_fail39: ; preds = %if_then37 %149 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %149(i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.148, i64 0, i64 0)) ret i32 -1 assert_fail41: ; preds = %if_end38 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %if_end38 %151 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %152 = load i32, i32* %151, align 4 %153 = icmp eq i32 %152, 1 br i1 %153, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %154(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %155 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %156 = load i32, i32* %155, align 4 %157 = icmp eq i32 %35, %156 br i1 %157, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %158(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %160 = load i32, i32* %159, align 4 %161 = icmp eq i32 %160, 3 br i1 %161, label %assert_end50, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %162 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %162(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end46 %163 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %164 = load i16, i16* %163, align 2 %165 = icmp eq i16 %164, 1 %166 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %167 = load i8, i8* %166, align 1 %168 = icmp eq i8 %167, 32 %169 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %170 = load i8, i8* %169, align 1 %171 = icmp eq i8 %170, 2 %172 = and i1 %168, %171 %173 = and i1 %165, %172 br i1 %173, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %174 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %174(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %175 = load i64, i64* %45, align 8, !tbaa !1819 %176 = trunc i64 %175 to i32 %177 = icmp eq i32 %176, 12 br i1 %177, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.135, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %179 = getelementptr inbounds i64, i64* %45, i64 1 %180 = load i64, i64* %179, align 8, !tbaa !1833 %181 = trunc i64 %180 to i32 %182 = icmp eq i32 %181, 128 br i1 %182, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.136, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %184 = getelementptr inbounds i64, i64* %45, i64 2 %185 = load i64, i64* %184, align 8, !tbaa !1835 %186 = trunc i64 %185 to i32 %187 = icmp eq i32 %186, 64 br i1 %187, label %assert_end58, label %assert_fail57, !prof !5 assert_fail57: ; preds = %assert_end56 %188 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %188(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.149, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %.not73 = icmp eq i64* %47, null br i1 %.not73, label %if_end60, label %if_then59, !prof !47 if_then59: ; preds = %assert_end58 %189 = load i64, i64* %47, align 8, !tbaa !1838 %190 = trunc i64 %189 to i32 %191 = icmp eq i32 %190, 8192 %192 = getelementptr inbounds i64, i64* %47, i64 1 %193 = load i64, i64* %192, align 8, !tbaa !1852 %194 = trunc i64 %193 to i32 %195 = icmp eq i32 %194, 64 %196 = getelementptr inbounds i64, i64* %47, i64 2 %197 = load i64, i64* %196, align 8, !tbaa !1854 %198 = trunc i64 %197 to i32 %199 = icmp eq i32 %198, 1 %200 = and i1 %195, %199 %201 = and i1 %191, %200 br i1 %201, label %if_end60, label %assert_fail61, !prof !5 if_end60: ; preds = %if_then59, %assert_end58 %202 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %203 = load i64, i64* %202, align 8 %204 = icmp eq i64 %203, 0 br i1 %204, label %assert_end64, label %assert_fail63, !prof !5 assert_fail61: ; preds = %if_then59 %205 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %205(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.150, i64 0, i64 0)) ret i32 -1 assert_fail63: ; preds = %if_end60 %206 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %206(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %if_end60 %207 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %208 = load i32, i32* %207, align 4 %209 = icmp eq i32 %208, 1 br i1 %209, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %210 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %210(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %211 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %212 = load i32, i32* %211, align 4 %213 = icmp eq i32 %35, %212 br i1 %213, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %214 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %214(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %.sub71 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub70 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub69 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [9 x i64], [9 x i64]* %6, i64 0, i64 0 %215 = call fastcc i32 @fused_nn_batch_matmul_compute_(i64* nonnull %.sub, %2* nonnull %.sub69, i8* %29, i32 %35, i8* %37, i8* %43, %0* nonnull %.sub70, i32* nonnull %.sub71) ret i32 %215 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_batch_matmul_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, i8* noalias align 128 %5, %0* noalias %6, i32* noalias %7) unnamed_addr #1 { entry: %8 = alloca i8*, align 8 store i64 12, i64* %0, align 8, !tbaa !1857 %9 = getelementptr inbounds i64, i64* %0, i64 1 store i64 128, i64* %9, align 8, !tbaa !1871 %10 = getelementptr inbounds i64, i64* %0, i64 2 store i64 128, i64* %10, align 8, !tbaa !1873 %11 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %11, align 8 %12 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %12, align 8 %13 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %13, align 8 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 3, i32* %14, align 4 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %15, align 1 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %16, align 1 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %17, align 2 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %18, align 8 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %19, align 4 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %20, align 4 %21 = getelementptr inbounds i64, i64* %0, i64 3 store i64 12, i64* %21, align 8, !tbaa !1876 %22 = getelementptr inbounds i64, i64* %0, i64 4 store i64 64, i64* %22, align 8, !tbaa !1878 %23 = getelementptr inbounds i64, i64* %0, i64 5 store i64 128, i64* %23, align 8, !tbaa !1882 %24 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %24, align 8 %25 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %21, i64** %25, align 8 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 3, i32* %27, align 4 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %28, align 1 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %29, align 1 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %30, align 2 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %31, align 8 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %32, align 4 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %33, align 4 %34 = getelementptr inbounds i64, i64* %0, i64 6 store i64 12, i64* %34, align 8, !tbaa !1884 %35 = getelementptr inbounds i64, i64* %0, i64 7 store i64 128, i64* %35, align 8, !tbaa !1887 %36 = getelementptr inbounds i64, i64* %0, i64 8 store i64 64, i64* %36, align 8, !tbaa !1889 %37 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %5, i8** %37, align 8 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %34, i64** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 3, i32* %40, align 4 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %41, align 1 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %43, align 2 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %44, align 8 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %45, align 4 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %46, align 4 %47 = bitcast %0* %6 to %2** store %2* %1, %2** %47, align 8 store i32 7, i32* %7, align 4, !tbaa !1894 %48 = getelementptr inbounds %2, %2* %1, i64 1 %49 = getelementptr inbounds %0, %0* %6, i64 1 %50 = bitcast %0* %49 to %2** store %2* %48, %2** %50, align 8 %51 = getelementptr inbounds i32, i32* %7, i64 1 store i32 7, i32* %51, align 4, !tbaa !1908 %52 = getelementptr inbounds %2, %2* %1, i64 2 %53 = getelementptr inbounds %0, %0* %6, i64 2 %54 = bitcast %0* %53 to %2** store %2* %52, %2** %54, align 8 %55 = getelementptr inbounds i32, i32* %7, i64 2 store i32 7, i32* %55, align 4, !tbaa !1910 %56 = getelementptr inbounds %0, %0* %6, i64 3 %57 = bitcast %0* %56 to i64* store i64 0, i64* %57, align 8 %58 = getelementptr inbounds i32, i32* %7, i64 3 store i32 0, i32* %58, align 4, !tbaa !1913 %59 = getelementptr inbounds %0, %0* %6, i64 4 %60 = bitcast %0* %59 to i64* store i64 1, i64* %60, align 8 %61 = getelementptr inbounds i32, i32* %7, i64 4 store i32 0, i32* %61, align 4, !tbaa !1915 %62 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.batch_matmul, align 8 %.not = icmp eq i8* %62, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %entry %63 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %64 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %65 = call i32 %64(i8* %63, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.139, i64 0, i64 0), i8** nonnull %8) %66 = icmp eq i32 %65, 0 br i1 %66, label %call_end, label %call_fail, !prof !5 handle_init_end: ; preds = %call_end, %entry %67 = phi i8* [ %62, %entry ], [ %72, %call_end ] %68 = getelementptr inbounds %0, %0* %6, i64 5 %69 = getelementptr inbounds i32, i32* %7, i64 5 %70 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %71 = call i32 %70(i8* %67, %0* nonnull %6, i32* nonnull %7, i32 5, %0* nonnull %68, i32* nonnull %69) br label %call_fail call_fail: ; preds = %handle_init_end, %handle_init %merge = phi i32 [ %65, %handle_init ], [ %71, %handle_init_end ] ret i32 %merge call_end: ; preds = %handle_init %72 = load i8*, i8** %8, align 8 store i8* %72, i8** @.tvm_func.tvm.contrib.cblas.batch_matmul, align 8 br label %handle_init_end } define dllexport i32 @fused_nn_dense_add_4(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.151, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !1919 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !1933 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !1935 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !1938 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.152, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.153, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.154, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.155, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1940 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 128 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !1954 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 768 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !1956 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 768 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !1970 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !1972 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 2304 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.156, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !1986 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 768 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !1988 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 768 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !2002 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !2004 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 2304 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.157, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !2018 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !2032 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 128 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.115, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !2046 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 2304 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.158, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !2048 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 2304 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !2062 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.159, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_4_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_4_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias align 128 %7, i8* noalias align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = load i8* (i32, i32, i64, i32, i32)*, i8* (i32, i32, i64, i32, i32)** @__TVMBackendAllocWorkspace, align 8, !tbaa !6 %11 = tail call i8* %10(i32 1, i32 %3, i64 1179648, i32 2, i32 32) call void @llvm.assume(i1 true) [ "align"(i8* %11, i64 128) ] %12 = icmp eq i8* %11, null br i1 %12, label %if_then, label %if_end, !prof !5 if_then: ; preds = %call_end2, %handle_init_end, %handle_init, %entry %merge = phi i32 [ -1, %entry ], [ %66, %handle_init ], [ %72, %handle_init_end ], [ %81, %call_end2 ] ret i32 %merge if_end: ; preds = %entry store i64 128, i64* %0, align 8, !tbaa !2064 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !2078 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %15, align 8 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %16, align 8 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %17, align 4 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %18, align 1 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %19, align 1 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %20, align 2 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %21, align 8 %22 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %22, align 4 %23 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %23, align 4 %24 = getelementptr inbounds i64, i64* %0, i64 2 store i64 2304, i64* %24, align 8, !tbaa !2080 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !2083 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %24, i64** %27, align 8 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %28, align 8 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %29, align 4 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %30, align 1 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %31, align 1 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %32, align 2 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %33, align 8 %34 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %34, align 4 %35 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %35, align 4 %36 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %36, align 8, !tbaa !2085 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 2304, i64* %37, align 8, !tbaa !2089 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %11, i8** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %36, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %40, align 8 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %41, align 4 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %43, align 1 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %44, align 2 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %45, align 8 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %46, align 4 %47 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %47, align 4 %48 = bitcast %0* %5 to %2** store %2* %1, %2** %48, align 8 store i32 7, i32* %6, align 4, !tbaa !2091 %49 = getelementptr inbounds %2, %2* %1, i64 1 %50 = getelementptr inbounds %0, %0* %5, i64 1 %51 = bitcast %0* %50 to %2** store %2* %49, %2** %51, align 8 %52 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %52, align 4, !tbaa !2105 %53 = getelementptr inbounds %2, %2* %1, i64 2 %54 = getelementptr inbounds %0, %0* %5, i64 2 %55 = bitcast %0* %54 to %2** store %2* %53, %2** %55, align 8 %56 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %56, align 4, !tbaa !2107 %57 = getelementptr inbounds %0, %0* %5, i64 3 %58 = bitcast %0* %57 to i64* store i64 0, i64* %58, align 8 %59 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %59, align 4, !tbaa !2110 %60 = getelementptr inbounds %0, %0* %5, i64 4 %61 = bitcast %0* %60 to i64* store i64 1, i64* %61, align 8 %62 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %62, align 4, !tbaa !2112 %63 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %63, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %if_end %64 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %65 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %66 = call i32 %65(i8* %64, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %67 = icmp eq i32 %66, 0 br i1 %67, label %call_end, label %if_then, !prof !5 handle_init_end: ; preds = %call_end, %if_end %68 = phi i8* [ %63, %if_end ], [ %74, %call_end ] %69 = getelementptr inbounds %0, %0* %5, i64 5 %70 = getelementptr inbounds i32, i32* %6, i64 5 %71 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %72 = call i32 %71(i8* %68, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %69, i32* nonnull %70) %73 = icmp eq i32 %72, 0 br i1 %73, label %call_end2, label %if_then, !prof !5 call_end: ; preds = %handle_init %74 = load i8*, i8** %9, align 8 store i8* %74, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end call_end2: ; preds = %handle_init_end %75 = alloca %17, align 8 %76 = getelementptr inbounds %17, %17* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %17, %17* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %17, %17* %75, i64 0, i32 2 store i8* %8, i8** %78, align 8 %79 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %80 = bitcast %17* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.160, i8* nonnull %80, i32 0) %82 = icmp eq i32 %81, 0 br i1 %82, label %call_end4, label %if_then, !prof !5 call_end4: ; preds = %call_end2 %83 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %84 = call i32 %83(i32 1, i32 %3, i8* nonnull %11) %.not12 = icmp ne i32 %84, 0 %spec.select = sext i1 %.not12 to i32 ret i32 %spec.select } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.160(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 %24 = bitcast float* %10 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %24, align 4, !tbaa !2116 %25 = getelementptr inbounds float, float* %10, i64 512 %26 = bitcast float* %25 to <512 x float>* %wide.load.1 = load <512 x float>, <512 x float>* %26, align 4, !tbaa !2116 %27 = getelementptr inbounds float, float* %10, i64 1024 %28 = bitcast float* %27 to <512 x float>* %wide.load.2 = load <512 x float>, <512 x float>* %28, align 4, !tbaa !2116 %29 = getelementptr inbounds float, float* %10, i64 1536 %30 = bitcast float* %29 to <512 x float>* %wide.load.3 = load <512 x float>, <512 x float>* %30, align 4, !tbaa !2116 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %31 = mul nsw i64 %indvars.iv4, 2304 %32 = getelementptr inbounds float, float* %7, i64 %31 %33 = bitcast float* %32 to <512 x float>* %wide.load7 = load <512 x float>, <512 x float>* %33, align 4, !tbaa !2119 %34 = fadd <512 x float> %wide.load, %wide.load7 %35 = getelementptr inbounds float, float* %4, i64 %31 %36 = bitcast float* %35 to <512 x float>* store <512 x float> %34, <512 x float>* %36, align 4, !tbaa !2122 %37 = add nsw i64 %31, 512 %38 = getelementptr inbounds float, float* %7, i64 %37 %39 = bitcast float* %38 to <512 x float>* %wide.load7.1 = load <512 x float>, <512 x float>* %39, align 4, !tbaa !2119 %40 = fadd <512 x float> %wide.load.1, %wide.load7.1 %41 = getelementptr inbounds float, float* %4, i64 %37 %42 = bitcast float* %41 to <512 x float>* store <512 x float> %40, <512 x float>* %42, align 4, !tbaa !2122 %43 = add nsw i64 %31, 1024 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = bitcast float* %44 to <512 x float>* %wide.load7.2 = load <512 x float>, <512 x float>* %45, align 4, !tbaa !2119 %46 = fadd <512 x float> %wide.load.2, %wide.load7.2 %47 = getelementptr inbounds float, float* %4, i64 %43 %48 = bitcast float* %47 to <512 x float>* store <512 x float> %46, <512 x float>* %48, align 4, !tbaa !2122 %49 = add nsw i64 %31, 1536 %50 = getelementptr inbounds float, float* %7, i64 %49 %51 = bitcast float* %50 to <512 x float>* %wide.load7.3 = load <512 x float>, <512 x float>* %51, align 4, !tbaa !2119 %52 = fadd <512 x float> %wide.load.3, %wide.load7.3 %53 = getelementptr inbounds float, float* %4, i64 %49 %54 = bitcast float* %53 to <512 x float>* store <512 x float> %52, <512 x float>* %54, align 4, !tbaa !2122 br label %for_body2 for_end: ; preds = %for_end3, %entry ret i32 0 for_body2: ; preds = %for_begin1.preheader, %for_body2 %indvars.iv = phi i64 [ %indvars.iv.next, %for_body2 ], [ 2048, %for_begin1.preheader ] %55 = add nsw i64 %indvars.iv, %31 %56 = getelementptr inbounds float, float* %10, i64 %indvars.iv %57 = load float, float* %56, align 4, !tbaa !2116 %58 = getelementptr inbounds float, float* %7, i64 %55 %59 = load float, float* %58, align 4, !tbaa !2119 %60 = fadd float %57, %59 %61 = getelementptr inbounds float, float* %4, i64 %55 store float %60, float* %61, align 4, !tbaa !2122 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 2304 br i1 %exitcond.not, label %for_end3, label %for_body2, !prof !161, !llvm.loop !2125 for_end3: ; preds = %for_body2 %indvars.iv.next5 = add nsw i64 %indvars.iv4, 1 %exitcond6.not = icmp eq i64 %indvars.iv.next5, %wide.trip.count br i1 %exitcond6.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_nn_dense_add_3(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.161, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !2126 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !2140 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !2142 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !2145 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.162, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.163, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.164, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.165, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !2147 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 128 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !2161 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 768 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !2163 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 768 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !2177 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !2179 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 768 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.86, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !2193 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 768 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !2195 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 768 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !2209 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !2211 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 768 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.87, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !2225 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !2239 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 128 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.115, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !2253 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 768 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.91, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !2255 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 768 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !2269 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.92, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_3_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_3_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias align 128 %7, i8* noalias align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = load i8* (i32, i32, i64, i32, i32)*, i8* (i32, i32, i64, i32, i32)** @__TVMBackendAllocWorkspace, align 8, !tbaa !6 %11 = tail call i8* %10(i32 1, i32 %3, i64 393216, i32 2, i32 32) call void @llvm.assume(i1 true) [ "align"(i8* %11, i64 128) ] %12 = icmp eq i8* %11, null br i1 %12, label %if_then, label %if_end, !prof !5 if_then: ; preds = %call_end2, %handle_init_end, %handle_init, %entry %merge = phi i32 [ -1, %entry ], [ %66, %handle_init ], [ %72, %handle_init_end ], [ %81, %call_end2 ] ret i32 %merge if_end: ; preds = %entry store i64 128, i64* %0, align 8, !tbaa !2271 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !2285 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %15, align 8 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %16, align 8 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %17, align 4 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %18, align 1 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %19, align 1 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %20, align 2 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %21, align 8 %22 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %22, align 4 %23 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %23, align 4 %24 = getelementptr inbounds i64, i64* %0, i64 2 store i64 768, i64* %24, align 8, !tbaa !2287 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !2290 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %24, i64** %27, align 8 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %28, align 8 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %29, align 4 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %30, align 1 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %31, align 1 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %32, align 2 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %33, align 8 %34 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %34, align 4 %35 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %35, align 4 %36 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %36, align 8, !tbaa !2292 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !2296 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 store i8* %11, i8** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %36, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %40, align 8 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %41, align 4 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %43, align 1 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %44, align 2 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %45, align 8 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %46, align 4 %47 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %47, align 4 %48 = bitcast %0* %5 to %2** store %2* %1, %2** %48, align 8 store i32 7, i32* %6, align 4, !tbaa !2298 %49 = getelementptr inbounds %2, %2* %1, i64 1 %50 = getelementptr inbounds %0, %0* %5, i64 1 %51 = bitcast %0* %50 to %2** store %2* %49, %2** %51, align 8 %52 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %52, align 4, !tbaa !2312 %53 = getelementptr inbounds %2, %2* %1, i64 2 %54 = getelementptr inbounds %0, %0* %5, i64 2 %55 = bitcast %0* %54 to %2** store %2* %53, %2** %55, align 8 %56 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %56, align 4, !tbaa !2314 %57 = getelementptr inbounds %0, %0* %5, i64 3 %58 = bitcast %0* %57 to i64* store i64 0, i64* %58, align 8 %59 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %59, align 4, !tbaa !2317 %60 = getelementptr inbounds %0, %0* %5, i64 4 %61 = bitcast %0* %60 to i64* store i64 1, i64* %61, align 8 %62 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %62, align 4, !tbaa !2319 %63 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %63, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %if_end %64 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %65 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %66 = call i32 %65(i8* %64, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %67 = icmp eq i32 %66, 0 br i1 %67, label %call_end, label %if_then, !prof !5 handle_init_end: ; preds = %call_end, %if_end %68 = phi i8* [ %63, %if_end ], [ %74, %call_end ] %69 = getelementptr inbounds %0, %0* %5, i64 5 %70 = getelementptr inbounds i32, i32* %6, i64 5 %71 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %72 = call i32 %71(i8* %68, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %69, i32* nonnull %70) %73 = icmp eq i32 %72, 0 br i1 %73, label %call_end2, label %if_then, !prof !5 call_end: ; preds = %handle_init %74 = load i8*, i8** %9, align 8 store i8* %74, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end call_end2: ; preds = %handle_init_end %75 = alloca %18, align 8 %76 = getelementptr inbounds %18, %18* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %18, %18* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %18, %18* %75, i64 0, i32 2 store i8* %8, i8** %78, align 8 %79 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %80 = bitcast %18* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.166, i8* nonnull %80, i32 0) %82 = icmp eq i32 %81, 0 br i1 %82, label %call_end4, label %if_then, !prof !5 call_end4: ; preds = %call_end2 %83 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %84 = call i32 %83(i32 1, i32 %3, i8* nonnull %11) %.not12 = icmp ne i32 %84, 0 %spec.select = sext i1 %.not12 to i32 ret i32 %spec.select } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.166(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 127 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 128 %18 = select i1 %17, i32 %16, i32 128 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 128 %21 = select i1 %20, i32 %19, i32 128 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 %24 = bitcast float* %10 to <512 x float>* %wide.load = load <512 x float>, <512 x float>* %24, align 4, !tbaa !2323 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %25 = mul nsw i64 %indvars.iv4, 768 %26 = getelementptr inbounds float, float* %7, i64 %25 %27 = bitcast float* %26 to <512 x float>* %wide.load7 = load <512 x float>, <512 x float>* %27, align 4, !tbaa !2326 %28 = fadd <512 x float> %wide.load, %wide.load7 %29 = getelementptr inbounds float, float* %4, i64 %25 %30 = bitcast float* %29 to <512 x float>* store <512 x float> %28, <512 x float>* %30, align 4, !tbaa !2329 br label %for_body2 for_end: ; preds = %for_end3, %entry ret i32 0 for_body2: ; preds = %for_begin1.preheader, %for_body2 %indvars.iv = phi i64 [ %indvars.iv.next, %for_body2 ], [ 512, %for_begin1.preheader ] %31 = add nsw i64 %indvars.iv, %25 %32 = getelementptr inbounds float, float* %10, i64 %indvars.iv %33 = load float, float* %32, align 4, !tbaa !2323 %34 = getelementptr inbounds float, float* %7, i64 %31 %35 = load float, float* %34, align 4, !tbaa !2326 %36 = fadd float %33, %35 %37 = getelementptr inbounds float, float* %4, i64 %31 store float %36, float* %37, align 4, !tbaa !2329 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 768 br i1 %exitcond.not, label %for_end3, label %for_body2, !prof !161, !llvm.loop !2332 for_end3: ; preds = %for_body2 %indvars.iv.next5 = add nsw i64 %indvars.iv4, 1 %exitcond6.not = icmp eq i64 %indvars.iv.next5, %wide.trip.count br i1 %exitcond6.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_reshape_sequence_mask(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 3 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.167, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !2333 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !2347 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !2349 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %25 = load i8*, i8** %24, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %25, i64 128) ] %26 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %27 = load i64*, i64** %26, align 8 %28 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %31 = load i32, i32* %30, align 4 %32 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %33 = load i8*, i8** %32, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %33, i64 128) ] %34 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %35 = load i64*, i64** %34, align 8 %36 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %39 = load i8*, i8** %38, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %39, i64 128) ] %40 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %41 = load i64*, i64** %40, align 8 %42 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %43 = load i64*, i64** %42, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %44 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %44(i8* getelementptr inbounds ([155 x i8], [155 x i8]* @.str.168, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %45 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %45(i8* getelementptr inbounds ([155 x i8], [155 x i8]* @.str.169, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %46(i8* getelementptr inbounds ([155 x i8], [155 x i8]* @.str.170, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 %47 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %48 = load i32, i32* %47, align 4 %49 = icmp eq i32 %48, 3 br i1 %49, label %assert_end10, label %assert_fail7, !prof !5 assert_fail7: ; preds = %assert_end6 %50 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %50(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end6 %51 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %52 = load i16, i16* %51, align 2 %53 = icmp eq i16 %52, 1 %54 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %55 = load i8, i8* %54, align 1 %56 = icmp eq i8 %55, 32 %57 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %58 = load i8, i8* %57, align 1 %59 = icmp eq i8 %58, 2 %60 = and i1 %56, %59 %61 = and i1 %53, %60 br i1 %61, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !2352 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 12 br i1 %65, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %66(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.34, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %67 = getelementptr inbounds i64, i64* %27, i64 1 %68 = load i64, i64* %67, align 8, !tbaa !2366 %69 = trunc i64 %68 to i32 %70 = icmp eq i32 %69, 128 br i1 %70, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %72 = getelementptr inbounds i64, i64* %27, i64 2 %73 = load i64, i64* %72, align 8, !tbaa !2368 %74 = trunc i64 %73 to i32 %75 = icmp eq i32 %74, 128 br i1 %75, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %76 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %76(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.144, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %29, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %77 = load i64, i64* %29, align 8, !tbaa !2371 %78 = trunc i64 %77 to i32 %79 = icmp eq i32 %78, 16384 %80 = getelementptr inbounds i64, i64* %29, i64 1 %81 = load i64, i64* %80, align 8, !tbaa !2385 %82 = trunc i64 %81 to i32 %83 = icmp eq i32 %82, 128 %84 = getelementptr inbounds i64, i64* %29, i64 2 %85 = load i64, i64* %84, align 8, !tbaa !2387 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 1 %88 = and i1 %83, %87 %89 = and i1 %79, %88 br i1 %89, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %90 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %91 = load i64, i64* %90, align 8 %92 = icmp eq i64 %91, 0 br i1 %92, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %93 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %93(i8* getelementptr inbounds ([163 x i8], [163 x i8]* @.str.145, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %94(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %95 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %96 = load i32, i32* %95, align 4 %97 = icmp eq i32 %96, 1 br i1 %97, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %99 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %100 = load i32, i32* %99, align 4 %101 = icmp eq i32 %100, 1 br i1 %101, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %102 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %102(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.54, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %103 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %104 = load i16, i16* %103, align 2 %105 = icmp eq i16 %104, 1 %106 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %107 = load i8, i8* %106, align 1 %108 = icmp eq i8 %107, 32 %109 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %110 = load i8, i8* %109, align 1 %111 = icmp eq i8 %110, 0 %112 = and i1 %108, %111 %113 = and i1 %105, %112 br i1 %113, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %114(i8* getelementptr inbounds ([196 x i8], [196 x i8]* @.str.171, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %115 = load i64, i64* %35, align 8, !tbaa !2390 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 1536 br i1 %117, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.172, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %.not63 = icmp eq i64* %37, null br i1 %.not63, label %if_end34, label %if_then33, !prof !47 if_then33: ; preds = %assert_end32 %119 = load i64, i64* %37, align 8, !tbaa !2404 %120 = trunc i64 %119 to i32 %121 = icmp eq i32 %120, 1 br i1 %121, label %if_end34, label %assert_fail35, !prof !5 if_end34: ; preds = %if_then33, %assert_end32 %122 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %123 = load i64, i64* %122, align 8 %124 = icmp eq i64 %123, 0 br i1 %124, label %assert_end38, label %assert_fail37, !prof !5 assert_fail35: ; preds = %if_then33 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.55, i64 0, i64 0)) ret i32 -1 assert_fail37: ; preds = %if_end34 %126 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %126(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %if_end34 %127 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %128 = load i32, i32* %127, align 4 %129 = icmp eq i32 %128, 1 br i1 %129, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %131 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %132 = load i32, i32* %131, align 4 %133 = icmp eq i32 %31, %132 br i1 %133, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %134 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %134(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %135 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %136 = load i32, i32* %135, align 4 %137 = icmp eq i32 %136, 2 br i1 %137, label %assert_end46, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %138 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %138(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.173, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end42 %139 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %140 = load i16, i16* %139, align 2 %141 = icmp eq i16 %140, 1 %142 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %143 = load i8, i8* %142, align 1 %144 = icmp eq i8 %143, 32 %145 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %146 = load i8, i8* %145, align 1 %147 = icmp eq i8 %146, 2 %148 = and i1 %144, %147 %149 = and i1 %141, %148 br i1 %149, label %assert_end48, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %151 = load i64, i64* %41, align 8, !tbaa !2418 %152 = trunc i64 %151 to i32 %153 = icmp eq i32 %152, 1536 br i1 %153, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %154(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.58, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %155 = getelementptr inbounds i64, i64* %41, i64 1 %156 = load i64, i64* %155, align 8, !tbaa !2432 %157 = trunc i64 %156 to i32 %158 = icmp eq i32 %157, 128 br i1 %158, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %159 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %159(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.136, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not64 = icmp eq i64* %43, null br i1 %.not64, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %160 = load i64, i64* %43, align 8, !tbaa !2434 %161 = trunc i64 %160 to i32 %162 = icmp eq i32 %161, 128 %163 = getelementptr inbounds i64, i64* %43, i64 1 %164 = load i64, i64* %163, align 8, !tbaa !2448 %165 = trunc i64 %164 to i32 %166 = icmp eq i32 %165, 1 %167 = and i1 %162, %166 br i1 %167, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %168 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %169 = load i64, i64* %168, align 8 %170 = icmp eq i64 %169, 0 br i1 %170, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.174, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %172(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %173 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %174 = load i32, i32* %173, align 4 %175 = icmp eq i32 %174, 1 br i1 %175, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %176(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %177 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %178 = load i32, i32* %177, align 4 %179 = icmp eq i32 %31, %178 br i1 %179, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %180(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %181 = tail call fastcc i32 @fused_reshape_sequence_mask_compute_(i8* %39, i8* %33, i8* %25) ret i32 %181 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_sequence_mask_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1, i8* noalias align 128 %2) unnamed_addr #1 { entry: %3 = alloca %19, align 8 %4 = getelementptr inbounds %19, %19* %3, i64 0, i32 0 store i8* %0, i8** %4, align 8 %5 = getelementptr inbounds %19, %19* %3, i64 0, i32 1 store i8* %1, i8** %5, align 8 %6 = getelementptr inbounds %19, %19* %3, i64 0, i32 2 store i8* %2, i8** %6, align 8 %7 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %8 = bitcast %19* %3 to i8* %9 = call i32 %7(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.175, i8* nonnull %8, i32 0) ret i32 %9 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.175(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to i32** %7 = load i32*, i32** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %12 = load i32, i32* %11, align 4 %13 = add nsw i32 %12, 1535 %14 = sdiv i32 %13, %12 %15 = add nsw i32 %0, 1 %16 = mul nsw i32 %14, %15 %17 = icmp slt i32 %16, 1536 %18 = select i1 %17, i32 %16, i32 1536 %19 = mul nsw i32 %14, %0 %20 = icmp slt i32 %19, 1536 %21 = select i1 %20, i32 %19, i32 1536 %22 = icmp slt i32 %21, %18 br i1 %22, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %23 = sext i32 %21 to i64 %wide.trip.count = sext i32 %18 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %24 = trunc i64 %indvars.iv7 to i32 %25 = shl nsw i32 %24, 7 %26 = getelementptr inbounds i32, i32* %7, i64 %indvars.iv7 %27 = load i32, i32* %26, align 4, !tbaa !2450 %28 = sext i32 %27 to i64 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %if_end.15 %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %if_end.15 ] %29 = shl nsw i64 %indvars.iv, 4 %30 = trunc i64 %29 to i32 %31 = add i32 %25, %30 %.not = icmp slt i64 %29, %28 %32 = sext i32 %31 to i64 br i1 %.not, label %if_else, label %if_end for_end3: ; preds = %if_end.15 %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 if_else: ; preds = %for_begin4.preheader %33 = getelementptr inbounds float, float* %10, i64 %32 %34 = load float, float* %33, align 4, !tbaa !2453 br label %if_end if_end: ; preds = %for_begin4.preheader, %if_else %35 = phi float [ %34, %if_else ], [ 0xC7EFFFFFE0000000, %for_begin4.preheader ] %36 = getelementptr inbounds float, float* %4, i64 %32 store float %35, float* %36, align 4, !tbaa !2456 %37 = or i64 %29, 1 %38 = trunc i64 %37 to i32 %39 = add i32 %25, %38 %.not.1 = icmp slt i64 %37, %28 %40 = sext i32 %39 to i64 br i1 %.not.1, label %if_else.1, label %if_end.1 if_else.1: ; preds = %if_end %41 = getelementptr inbounds float, float* %10, i64 %40 %42 = load float, float* %41, align 4, !tbaa !2453 br label %if_end.1 if_end.1: ; preds = %if_end, %if_else.1 %43 = phi float [ %42, %if_else.1 ], [ 0xC7EFFFFFE0000000, %if_end ] %44 = getelementptr inbounds float, float* %4, i64 %40 store float %43, float* %44, align 4, !tbaa !2456 %45 = or i64 %29, 2 %46 = trunc i64 %45 to i32 %47 = add i32 %25, %46 %.not.2 = icmp slt i64 %45, %28 %48 = sext i32 %47 to i64 br i1 %.not.2, label %if_else.2, label %if_end.2 if_else.2: ; preds = %if_end.1 %49 = getelementptr inbounds float, float* %10, i64 %48 %50 = load float, float* %49, align 4, !tbaa !2453 br label %if_end.2 if_end.2: ; preds = %if_end.1, %if_else.2 %51 = phi float [ %50, %if_else.2 ], [ 0xC7EFFFFFE0000000, %if_end.1 ] %52 = getelementptr inbounds float, float* %4, i64 %48 store float %51, float* %52, align 4, !tbaa !2456 %53 = or i64 %29, 3 %54 = trunc i64 %53 to i32 %55 = add i32 %25, %54 %.not.3 = icmp slt i64 %53, %28 %56 = sext i32 %55 to i64 br i1 %.not.3, label %if_else.3, label %if_end.3 if_else.3: ; preds = %if_end.2 %57 = getelementptr inbounds float, float* %10, i64 %56 %58 = load float, float* %57, align 4, !tbaa !2453 br label %if_end.3 if_end.3: ; preds = %if_end.2, %if_else.3 %59 = phi float [ %58, %if_else.3 ], [ 0xC7EFFFFFE0000000, %if_end.2 ] %60 = getelementptr inbounds float, float* %4, i64 %56 store float %59, float* %60, align 4, !tbaa !2456 %61 = or i64 %29, 4 %62 = trunc i64 %61 to i32 %63 = add i32 %25, %62 %.not.4 = icmp slt i64 %61, %28 %64 = sext i32 %63 to i64 br i1 %.not.4, label %if_else.4, label %if_end.4 if_else.4: ; preds = %if_end.3 %65 = getelementptr inbounds float, float* %10, i64 %64 %66 = load float, float* %65, align 4, !tbaa !2453 br label %if_end.4 if_end.4: ; preds = %if_end.3, %if_else.4 %67 = phi float [ %66, %if_else.4 ], [ 0xC7EFFFFFE0000000, %if_end.3 ] %68 = getelementptr inbounds float, float* %4, i64 %64 store float %67, float* %68, align 4, !tbaa !2456 %69 = or i64 %29, 5 %70 = trunc i64 %69 to i32 %71 = add i32 %25, %70 %.not.5 = icmp slt i64 %69, %28 %72 = sext i32 %71 to i64 br i1 %.not.5, label %if_else.5, label %if_end.5 if_else.5: ; preds = %if_end.4 %73 = getelementptr inbounds float, float* %10, i64 %72 %74 = load float, float* %73, align 4, !tbaa !2453 br label %if_end.5 if_end.5: ; preds = %if_end.4, %if_else.5 %75 = phi float [ %74, %if_else.5 ], [ 0xC7EFFFFFE0000000, %if_end.4 ] %76 = getelementptr inbounds float, float* %4, i64 %72 store float %75, float* %76, align 4, !tbaa !2456 %77 = or i64 %29, 6 %78 = trunc i64 %77 to i32 %79 = add i32 %25, %78 %.not.6 = icmp slt i64 %77, %28 %80 = sext i32 %79 to i64 br i1 %.not.6, label %if_else.6, label %if_end.6 if_else.6: ; preds = %if_end.5 %81 = getelementptr inbounds float, float* %10, i64 %80 %82 = load float, float* %81, align 4, !tbaa !2453 br label %if_end.6 if_end.6: ; preds = %if_end.5, %if_else.6 %83 = phi float [ %82, %if_else.6 ], [ 0xC7EFFFFFE0000000, %if_end.5 ] %84 = getelementptr inbounds float, float* %4, i64 %80 store float %83, float* %84, align 4, !tbaa !2456 %85 = or i64 %29, 7 %86 = trunc i64 %85 to i32 %87 = add i32 %25, %86 %.not.7 = icmp slt i64 %85, %28 %88 = sext i32 %87 to i64 br i1 %.not.7, label %if_else.7, label %if_end.7 if_else.7: ; preds = %if_end.6 %89 = getelementptr inbounds float, float* %10, i64 %88 %90 = load float, float* %89, align 4, !tbaa !2453 br label %if_end.7 if_end.7: ; preds = %if_end.6, %if_else.7 %91 = phi float [ %90, %if_else.7 ], [ 0xC7EFFFFFE0000000, %if_end.6 ] %92 = getelementptr inbounds float, float* %4, i64 %88 store float %91, float* %92, align 4, !tbaa !2456 %93 = or i64 %29, 8 %94 = trunc i64 %93 to i32 %95 = add i32 %25, %94 %.not.8 = icmp slt i64 %93, %28 %96 = sext i32 %95 to i64 br i1 %.not.8, label %if_else.8, label %if_end.8 if_else.8: ; preds = %if_end.7 %97 = getelementptr inbounds float, float* %10, i64 %96 %98 = load float, float* %97, align 4, !tbaa !2453 br label %if_end.8 if_end.8: ; preds = %if_end.7, %if_else.8 %99 = phi float [ %98, %if_else.8 ], [ 0xC7EFFFFFE0000000, %if_end.7 ] %100 = getelementptr inbounds float, float* %4, i64 %96 store float %99, float* %100, align 4, !tbaa !2456 %101 = or i64 %29, 9 %102 = trunc i64 %101 to i32 %103 = add i32 %25, %102 %.not.9 = icmp slt i64 %101, %28 %104 = sext i32 %103 to i64 br i1 %.not.9, label %if_else.9, label %if_end.9 if_else.9: ; preds = %if_end.8 %105 = getelementptr inbounds float, float* %10, i64 %104 %106 = load float, float* %105, align 4, !tbaa !2453 br label %if_end.9 if_end.9: ; preds = %if_end.8, %if_else.9 %107 = phi float [ %106, %if_else.9 ], [ 0xC7EFFFFFE0000000, %if_end.8 ] %108 = getelementptr inbounds float, float* %4, i64 %104 store float %107, float* %108, align 4, !tbaa !2456 %109 = or i64 %29, 10 %110 = trunc i64 %109 to i32 %111 = add i32 %25, %110 %.not.10 = icmp slt i64 %109, %28 %112 = sext i32 %111 to i64 br i1 %.not.10, label %if_else.10, label %if_end.10 if_else.10: ; preds = %if_end.9 %113 = getelementptr inbounds float, float* %10, i64 %112 %114 = load float, float* %113, align 4, !tbaa !2453 br label %if_end.10 if_end.10: ; preds = %if_end.9, %if_else.10 %115 = phi float [ %114, %if_else.10 ], [ 0xC7EFFFFFE0000000, %if_end.9 ] %116 = getelementptr inbounds float, float* %4, i64 %112 store float %115, float* %116, align 4, !tbaa !2456 %117 = or i64 %29, 11 %118 = trunc i64 %117 to i32 %119 = add i32 %25, %118 %.not.11 = icmp slt i64 %117, %28 %120 = sext i32 %119 to i64 br i1 %.not.11, label %if_else.11, label %if_end.11 if_else.11: ; preds = %if_end.10 %121 = getelementptr inbounds float, float* %10, i64 %120 %122 = load float, float* %121, align 4, !tbaa !2453 br label %if_end.11 if_end.11: ; preds = %if_end.10, %if_else.11 %123 = phi float [ %122, %if_else.11 ], [ 0xC7EFFFFFE0000000, %if_end.10 ] %124 = getelementptr inbounds float, float* %4, i64 %120 store float %123, float* %124, align 4, !tbaa !2456 %125 = or i64 %29, 12 %126 = trunc i64 %125 to i32 %127 = add i32 %25, %126 %.not.12 = icmp slt i64 %125, %28 %128 = sext i32 %127 to i64 br i1 %.not.12, label %if_else.12, label %if_end.12 if_else.12: ; preds = %if_end.11 %129 = getelementptr inbounds float, float* %10, i64 %128 %130 = load float, float* %129, align 4, !tbaa !2453 br label %if_end.12 if_end.12: ; preds = %if_end.11, %if_else.12 %131 = phi float [ %130, %if_else.12 ], [ 0xC7EFFFFFE0000000, %if_end.11 ] %132 = getelementptr inbounds float, float* %4, i64 %128 store float %131, float* %132, align 4, !tbaa !2456 %133 = or i64 %29, 13 %134 = trunc i64 %133 to i32 %135 = add i32 %25, %134 %.not.13 = icmp slt i64 %133, %28 %136 = sext i32 %135 to i64 br i1 %.not.13, label %if_else.13, label %if_end.13 if_else.13: ; preds = %if_end.12 %137 = getelementptr inbounds float, float* %10, i64 %136 %138 = load float, float* %137, align 4, !tbaa !2453 br label %if_end.13 if_end.13: ; preds = %if_end.12, %if_else.13 %139 = phi float [ %138, %if_else.13 ], [ 0xC7EFFFFFE0000000, %if_end.12 ] %140 = getelementptr inbounds float, float* %4, i64 %136 store float %139, float* %140, align 4, !tbaa !2456 %141 = or i64 %29, 14 %142 = trunc i64 %141 to i32 %143 = add i32 %25, %142 %.not.14 = icmp slt i64 %141, %28 %144 = sext i32 %143 to i64 br i1 %.not.14, label %if_else.14, label %if_end.14 if_else.14: ; preds = %if_end.13 %145 = getelementptr inbounds float, float* %10, i64 %144 %146 = load float, float* %145, align 4, !tbaa !2453 br label %if_end.14 if_end.14: ; preds = %if_end.13, %if_else.14 %147 = phi float [ %146, %if_else.14 ], [ 0xC7EFFFFFE0000000, %if_end.13 ] %148 = getelementptr inbounds float, float* %4, i64 %144 store float %147, float* %148, align 4, !tbaa !2456 %149 = or i64 %29, 15 %150 = trunc i64 %149 to i32 %151 = add i32 %25, %150 %.not.15 = icmp slt i64 %149, %28 %152 = sext i32 %151 to i64 br i1 %.not.15, label %if_else.15, label %if_end.15 if_else.15: ; preds = %if_end.14 %153 = getelementptr inbounds float, float* %10, i64 %152 %154 = load float, float* %153, align 4, !tbaa !2453 br label %if_end.15 if_end.15: ; preds = %if_end.14, %if_else.15 %155 = phi float [ %154, %if_else.15 ], [ 0xC7EFFFFFE0000000, %if_end.14 ] %156 = getelementptr inbounds float, float* %4, i64 %152 store float %155, float* %156, align 4, !tbaa !2456 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 8 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !47 } define dllexport i32 @fused_cast_take_cast_take_add_transpose_add(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 6 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.176, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !2459 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !2473 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !2475 %24 = getelementptr inbounds i8, i8* %0, i64 24 %25 = bitcast i8* %24 to %2** %26 = load %2*, %2** %25, align 8 %27 = getelementptr inbounds i8, i8* %1, i64 12 %28 = bitcast i8* %27 to i32* %29 = load i32, i32* %28, align 4, !tbaa !2478 %30 = getelementptr inbounds i8, i8* %0, i64 32 %31 = bitcast i8* %30 to %2** %32 = load %2*, %2** %31, align 8 %33 = getelementptr inbounds i8, i8* %1, i64 16 %34 = bitcast i8* %33 to i32* %35 = load i32, i32* %34, align 4, !tbaa !2480 %36 = getelementptr inbounds i8, i8* %0, i64 40 %37 = bitcast i8* %36 to %2** %38 = load %2*, %2** %37, align 8 %39 = getelementptr inbounds i8, i8* %1, i64 20 %40 = bitcast i8* %39 to i32* %41 = load i32, i32* %40, align 4, !tbaa !2484 %42 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %49 = load i32, i32* %48, align 4 %50 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %51 = load i8*, i8** %50, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %51, i64 128) ] %52 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %55 = load i64*, i64** %54, align 8 %56 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %57 = load i8*, i8** %56, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %57, i64 128) ] %58 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %59 = load i64*, i64** %58, align 8 %60 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %61 = load i64*, i64** %60, align 8 %62 = getelementptr inbounds %2, %2* %26, i64 0, i32 0 %63 = load i8*, i8** %62, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %63, i64 128) ] %64 = getelementptr inbounds %2, %2* %26, i64 0, i32 4 %65 = load i64*, i64** %64, align 8 %66 = getelementptr inbounds %2, %2* %26, i64 0, i32 5 %67 = load i64*, i64** %66, align 8 %68 = getelementptr inbounds %2, %2* %32, i64 0, i32 0 %69 = load i8*, i8** %68, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %69, i64 128) ] %70 = getelementptr inbounds %2, %2* %32, i64 0, i32 4 %71 = load i64*, i64** %70, align 8 %72 = getelementptr inbounds %2, %2* %32, i64 0, i32 5 %73 = load i64*, i64** %72, align 8 %74 = getelementptr inbounds %2, %2* %38, i64 0, i32 0 %75 = load i8*, i8** %74, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %75, i64 128) ] %76 = getelementptr inbounds %2, %2* %38, i64 0, i32 4 %77 = load i64*, i64** %76, align 8 %78 = getelementptr inbounds %2, %2* %38, i64 0, i32 5 %79 = load i64*, i64** %78, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.177, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %81(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.178, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %82(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.179, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %29, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.180, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 switch i32 %35, label %assert_fail9 [ i32 13, label %assert_end10 i32 7, label %assert_end10 i32 4, label %assert_end10 i32 3, label %assert_end10 ] assert_fail9: ; preds = %assert_end8 %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %84(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.181, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8 switch i32 %41, label %assert_fail11 [ i32 13, label %assert_end12 i32 7, label %assert_end12 i32 4, label %assert_end12 i32 3, label %assert_end12 ] assert_fail11: ; preds = %assert_end10 %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %85(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.182, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10, %assert_end10, %assert_end10, %assert_end10 %86 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %87 = load i32, i32* %86, align 4 %88 = icmp eq i32 %87, 2 br i1 %88, label %assert_end16, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %89(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end12 %90 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %91 = load i16, i16* %90, align 2 %92 = icmp eq i16 %91, 1 %93 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %94 = load i8, i8* %93, align 1 %95 = icmp eq i8 %94, 32 %96 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 2 %99 = and i1 %95, %98 %100 = and i1 %92, %99 br i1 %100, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %102 = load i64, i64* %45, align 8, !tbaa !2486 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 30522 br i1 %104, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.183, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %106 = getelementptr inbounds i64, i64* %45, i64 1 %107 = load i64, i64* %106, align 8, !tbaa !2500 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 768 br i1 %109, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %.not = icmp eq i64* %47, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end22 %111 = load i64, i64* %47, align 8, !tbaa !2502 %112 = trunc i64 %111 to i32 %113 = icmp eq i32 %112, 768 %114 = getelementptr inbounds i64, i64* %47, i64 1 %115 = load i64, i64* %114, align 8, !tbaa !2516 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 1 %118 = and i1 %113, %117 br i1 %118, label %if_end, label %assert_fail23, !prof !5 if_end: ; preds = %if_then, %assert_end22 %119 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %120 = load i64, i64* %119, align 8 %121 = icmp eq i64 %120, 0 br i1 %121, label %assert_end26, label %assert_fail25, !prof !5 assert_fail23: ; preds = %if_then %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail25: ; preds = %if_end %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %if_end %124 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %125 = load i32, i32* %124, align 4 %126 = icmp eq i32 %125, 1 br i1 %126, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %128 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %129 = load i32, i32* %128, align 4 %130 = icmp eq i32 %129, 2 br i1 %130, label %assert_end32, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %131 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %131(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end28 %132 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %133 = load i16, i16* %132, align 2 %134 = icmp eq i16 %133, 1 %135 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %136 = load i8, i8* %135, align 1 %137 = icmp eq i8 %136, 32 %138 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %139 = load i8, i8* %138, align 1 %140 = icmp eq i8 %139, 2 %141 = and i1 %137, %140 %142 = and i1 %134, %141 br i1 %142, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %144 = load i64, i64* %53, align 8, !tbaa !2518 %145 = trunc i64 %144 to i32 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.184, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %148 = getelementptr inbounds i64, i64* %53, i64 1 %149 = load i64, i64* %148, align 8, !tbaa !2532 %150 = trunc i64 %149 to i32 %151 = icmp eq i32 %150, 128 br i1 %151, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %152 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %152(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %.not133 = icmp eq i64* %55, null br i1 %.not133, label %if_end40, label %if_then39, !prof !47 if_then39: ; preds = %assert_end38 %153 = load i64, i64* %55, align 8, !tbaa !2534 %154 = trunc i64 %153 to i32 %155 = icmp eq i32 %154, 128 %156 = getelementptr inbounds i64, i64* %55, i64 1 %157 = load i64, i64* %156, align 8, !tbaa !2548 %158 = trunc i64 %157 to i32 %159 = icmp eq i32 %158, 1 %160 = and i1 %155, %159 br i1 %160, label %if_end40, label %assert_fail41, !prof !5 if_end40: ; preds = %if_then39, %assert_end38 %161 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %162 = load i64, i64* %161, align 8 %163 = icmp eq i64 %162, 0 br i1 %163, label %assert_end44, label %assert_fail43, !prof !5 assert_fail41: ; preds = %if_then39 %164 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %164(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.185, i64 0, i64 0)) ret i32 -1 assert_fail43: ; preds = %if_end40 %165 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %165(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %if_end40 %166 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %167 = load i32, i32* %166, align 4 %168 = icmp eq i32 %167, 1 br i1 %168, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %169 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %169(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %170 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %171 = load i32, i32* %170, align 4 %172 = icmp eq i32 %49, %171 br i1 %172, label %assert_end48, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %173 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %173(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %174 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %175 = load i32, i32* %174, align 4 %176 = icmp eq i32 %175, 2 br i1 %176, label %assert_end52, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %177 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %177(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.173, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end48 %178 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %179 = load i16, i16* %178, align 2 %180 = icmp eq i16 %179, 1 %181 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %182 = load i8, i8* %181, align 1 %183 = icmp eq i8 %182, 32 %184 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %185 = load i8, i8* %184, align 1 %186 = icmp eq i8 %185, 2 %187 = and i1 %183, %186 %188 = and i1 %180, %187 br i1 %188, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %189 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %189(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %190 = load i64, i64* %59, align 8, !tbaa !2550 %191 = trunc i64 %190 to i32 %192 = icmp eq i32 %191, 2 br i1 %192, label %assert_end56, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %193 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %193(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.186, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end54 %194 = getelementptr inbounds i64, i64* %59, i64 1 %195 = load i64, i64* %194, align 8, !tbaa !2564 %196 = trunc i64 %195 to i32 %197 = icmp eq i32 %196, 768 br i1 %197, label %assert_end58, label %assert_fail57, !prof !5 assert_fail57: ; preds = %assert_end56 %198 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %198(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.187, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %.not134 = icmp eq i64* %61, null br i1 %.not134, label %if_end60, label %if_then59, !prof !47 if_then59: ; preds = %assert_end58 %199 = load i64, i64* %61, align 8, !tbaa !2566 %200 = trunc i64 %199 to i32 %201 = icmp eq i32 %200, 768 %202 = getelementptr inbounds i64, i64* %61, i64 1 %203 = load i64, i64* %202, align 8, !tbaa !2580 %204 = trunc i64 %203 to i32 %205 = icmp eq i32 %204, 1 %206 = and i1 %201, %205 br i1 %206, label %if_end60, label %assert_fail61, !prof !5 if_end60: ; preds = %if_then59, %assert_end58 %207 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %208 = load i64, i64* %207, align 8 %209 = icmp eq i64 %208, 0 br i1 %209, label %assert_end64, label %assert_fail63, !prof !5 assert_fail61: ; preds = %if_then59 %210 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %210(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.188, i64 0, i64 0)) ret i32 -1 assert_fail63: ; preds = %if_end60 %211 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %211(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %if_end60 %212 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %213 = load i32, i32* %212, align 4 %214 = icmp eq i32 %213, 1 br i1 %214, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %215 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %215(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %216 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %217 = load i32, i32* %216, align 4 %218 = icmp eq i32 %49, %217 br i1 %218, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %219 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %219(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %220 = getelementptr inbounds %2, %2* %26, i64 0, i32 2 %221 = load i32, i32* %220, align 4 %222 = icmp eq i32 %221, 2 br i1 %222, label %assert_end72, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %223 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %223(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end68 %224 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 2 %225 = load i16, i16* %224, align 2 %226 = icmp eq i16 %225, 1 %227 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 1 %228 = load i8, i8* %227, align 1 %229 = icmp eq i8 %228, 32 %230 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 0 %231 = load i8, i8* %230, align 1 %232 = icmp eq i8 %231, 2 %233 = and i1 %229, %232 %234 = and i1 %226, %233 br i1 %234, label %assert_end74, label %assert_fail73, !prof !5 assert_fail73: ; preds = %assert_end72 %235 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %235(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end74: ; preds = %assert_end72 %236 = load i64, i64* %65, align 8, !tbaa !2582 %237 = trunc i64 %236 to i32 %238 = icmp eq i32 %237, 1 br i1 %238, label %assert_end76, label %assert_fail75, !prof !5 assert_fail75: ; preds = %assert_end74 %239 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %239(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.90, i64 0, i64 0)) ret i32 -1 assert_end76: ; preds = %assert_end74 %240 = getelementptr inbounds i64, i64* %65, i64 1 %241 = load i64, i64* %240, align 8, !tbaa !2596 %242 = trunc i64 %241 to i32 %243 = icmp eq i32 %242, 128 br i1 %243, label %assert_end78, label %assert_fail77, !prof !5 assert_fail77: ; preds = %assert_end76 %244 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %244(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.189, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %assert_end76 %.not135 = icmp eq i64* %67, null br i1 %.not135, label %if_end80, label %if_then79, !prof !47 if_then79: ; preds = %assert_end78 %245 = load i64, i64* %67, align 8, !tbaa !2598 %246 = trunc i64 %245 to i32 %247 = icmp eq i32 %246, 128 %248 = getelementptr inbounds i64, i64* %67, i64 1 %249 = load i64, i64* %248, align 8, !tbaa !2612 %250 = trunc i64 %249 to i32 %251 = icmp eq i32 %250, 1 %252 = and i1 %247, %251 br i1 %252, label %if_end80, label %assert_fail81, !prof !5 if_end80: ; preds = %if_then79, %assert_end78 %253 = getelementptr inbounds %2, %2* %26, i64 0, i32 6 %254 = load i64, i64* %253, align 8 %255 = icmp eq i64 %254, 0 br i1 %255, label %assert_end84, label %assert_fail83, !prof !5 assert_fail81: ; preds = %if_then79 %256 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %256(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.190, i64 0, i64 0)) ret i32 -1 assert_fail83: ; preds = %if_end80 %257 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %257(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end84: ; preds = %if_end80 %258 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 0 %259 = load i32, i32* %258, align 4 %260 = icmp eq i32 %259, 1 br i1 %260, label %assert_end86, label %assert_fail85, !prof !5 assert_fail85: ; preds = %assert_end84 %261 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %261(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end86: ; preds = %assert_end84 %262 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 1 %263 = load i32, i32* %262, align 4 %264 = icmp eq i32 %49, %263 br i1 %264, label %assert_end88, label %assert_fail87, !prof !5 assert_fail87: ; preds = %assert_end86 %265 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %265(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end88: ; preds = %assert_end86 %266 = getelementptr inbounds %2, %2* %32, i64 0, i32 2 %267 = load i32, i32* %266, align 4 %268 = icmp eq i32 %267, 3 br i1 %268, label %assert_end92, label %assert_fail89, !prof !5 assert_fail89: ; preds = %assert_end88 %269 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %269(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.191, i64 0, i64 0)) ret i32 -1 assert_end92: ; preds = %assert_end88 %270 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 2 %271 = load i16, i16* %270, align 2 %272 = icmp eq i16 %271, 1 %273 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 1 %274 = load i8, i8* %273, align 1 %275 = icmp eq i8 %274, 32 %276 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 0 %277 = load i8, i8* %276, align 1 %278 = icmp eq i8 %277, 2 %279 = and i1 %275, %278 %280 = and i1 %272, %279 br i1 %280, label %assert_end94, label %assert_fail93, !prof !5 assert_fail93: ; preds = %assert_end92 %281 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %281(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.192, i64 0, i64 0)) ret i32 -1 assert_end94: ; preds = %assert_end92 %282 = load i64, i64* %71, align 8, !tbaa !2614 %283 = trunc i64 %282 to i32 %284 = icmp eq i32 %283, 128 br i1 %284, label %assert_end96, label %assert_fail95, !prof !5 assert_fail95: ; preds = %assert_end94 %285 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %285(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.193, i64 0, i64 0)) ret i32 -1 assert_end96: ; preds = %assert_end94 %286 = getelementptr inbounds i64, i64* %71, i64 1 %287 = load i64, i64* %286, align 8, !tbaa !2628 %288 = trunc i64 %287 to i32 %289 = icmp eq i32 %288, 1 br i1 %289, label %assert_end98, label %assert_fail97, !prof !5 assert_fail97: ; preds = %assert_end96 %290 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %290(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.194, i64 0, i64 0)) ret i32 -1 assert_end98: ; preds = %assert_end96 %291 = getelementptr inbounds i64, i64* %71, i64 2 %292 = load i64, i64* %291, align 8, !tbaa !2630 %293 = trunc i64 %292 to i32 %294 = icmp eq i32 %293, 768 br i1 %294, label %assert_end100, label %assert_fail99, !prof !5 assert_fail99: ; preds = %assert_end98 %295 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %295(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.195, i64 0, i64 0)) ret i32 -1 assert_end100: ; preds = %assert_end98 %.not136 = icmp eq i64* %73, null br i1 %.not136, label %if_end102, label %if_then101, !prof !47 if_then101: ; preds = %assert_end100 %296 = load i64, i64* %73, align 8, !tbaa !2633 %297 = trunc i64 %296 to i32 %298 = icmp eq i32 %297, 768 %299 = getelementptr inbounds i64, i64* %73, i64 1 %300 = load i64, i64* %299, align 8, !tbaa !2647 %301 = trunc i64 %300 to i32 %302 = icmp eq i32 %301, 768 %303 = getelementptr inbounds i64, i64* %73, i64 2 %304 = load i64, i64* %303, align 8, !tbaa !2649 %305 = trunc i64 %304 to i32 %306 = icmp eq i32 %305, 1 %307 = and i1 %302, %306 %308 = and i1 %298, %307 br i1 %308, label %if_end102, label %assert_fail103, !prof !5 if_end102: ; preds = %if_then101, %assert_end100 %309 = getelementptr inbounds %2, %2* %32, i64 0, i32 6 %310 = load i64, i64* %309, align 8 %311 = icmp eq i64 %310, 0 br i1 %311, label %assert_end106, label %assert_fail105, !prof !5 assert_fail103: ; preds = %if_then101 %312 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %312(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.196, i64 0, i64 0)) ret i32 -1 assert_fail105: ; preds = %if_end102 %313 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %313(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.197, i64 0, i64 0)) ret i32 -1 assert_end106: ; preds = %if_end102 %314 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 0 %315 = load i32, i32* %314, align 4 %316 = icmp eq i32 %315, 1 br i1 %316, label %assert_end108, label %assert_fail107, !prof !5 assert_fail107: ; preds = %assert_end106 %317 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %317(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.198, i64 0, i64 0)) ret i32 -1 assert_end108: ; preds = %assert_end106 %318 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 1 %319 = load i32, i32* %318, align 4 %320 = icmp eq i32 %49, %319 br i1 %320, label %assert_end110, label %assert_fail109, !prof !5 assert_fail109: ; preds = %assert_end108 %321 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %321(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.199, i64 0, i64 0)) ret i32 -1 assert_end110: ; preds = %assert_end108 %322 = getelementptr inbounds %2, %2* %38, i64 0, i32 2 %323 = load i32, i32* %322, align 4 %324 = icmp eq i32 %323, 3 br i1 %324, label %assert_end114, label %assert_fail111, !prof !5 assert_fail111: ; preds = %assert_end110 %325 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %325(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.200, i64 0, i64 0)) ret i32 -1 assert_end114: ; preds = %assert_end110 %326 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 2 %327 = load i16, i16* %326, align 2 %328 = icmp eq i16 %327, 1 %329 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 1 %330 = load i8, i8* %329, align 1 %331 = icmp eq i8 %330, 32 %332 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 0 %333 = load i8, i8* %332, align 1 %334 = icmp eq i8 %333, 2 %335 = and i1 %331, %334 %336 = and i1 %328, %335 br i1 %336, label %assert_end116, label %assert_fail115, !prof !5 assert_fail115: ; preds = %assert_end114 %337 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %337(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.201, i64 0, i64 0)) ret i32 -1 assert_end116: ; preds = %assert_end114 %338 = load i64, i64* %77, align 8, !tbaa !2652 %339 = trunc i64 %338 to i32 %340 = icmp eq i32 %339, 128 br i1 %340, label %assert_end118, label %assert_fail117, !prof !5 assert_fail117: ; preds = %assert_end116 %341 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %341(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.202, i64 0, i64 0)) ret i32 -1 assert_end118: ; preds = %assert_end116 %342 = getelementptr inbounds i64, i64* %77, i64 1 %343 = load i64, i64* %342, align 8, !tbaa !2666 %344 = trunc i64 %343 to i32 %345 = icmp eq i32 %344, 1 br i1 %345, label %assert_end120, label %assert_fail119, !prof !5 assert_fail119: ; preds = %assert_end118 %346 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %346(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.203, i64 0, i64 0)) ret i32 -1 assert_end120: ; preds = %assert_end118 %347 = getelementptr inbounds i64, i64* %77, i64 2 %348 = load i64, i64* %347, align 8, !tbaa !2668 %349 = trunc i64 %348 to i32 %350 = icmp eq i32 %349, 768 br i1 %350, label %assert_end122, label %assert_fail121, !prof !5 assert_fail121: ; preds = %assert_end120 %351 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %351(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.204, i64 0, i64 0)) ret i32 -1 assert_end122: ; preds = %assert_end120 %.not137 = icmp eq i64* %79, null br i1 %.not137, label %if_end124, label %if_then123, !prof !47 if_then123: ; preds = %assert_end122 %352 = load i64, i64* %79, align 8, !tbaa !2671 %353 = trunc i64 %352 to i32 %354 = icmp eq i32 %353, 768 %355 = getelementptr inbounds i64, i64* %79, i64 1 %356 = load i64, i64* %355, align 8, !tbaa !2685 %357 = trunc i64 %356 to i32 %358 = icmp eq i32 %357, 768 %359 = getelementptr inbounds i64, i64* %79, i64 2 %360 = load i64, i64* %359, align 8, !tbaa !2687 %361 = trunc i64 %360 to i32 %362 = icmp eq i32 %361, 1 %363 = and i1 %358, %362 %364 = and i1 %354, %363 br i1 %364, label %if_end124, label %assert_fail125, !prof !5 if_end124: ; preds = %if_then123, %assert_end122 %365 = getelementptr inbounds %2, %2* %38, i64 0, i32 6 %366 = load i64, i64* %365, align 8 %367 = icmp eq i64 %366, 0 br i1 %367, label %assert_end128, label %assert_fail127, !prof !5 assert_fail125: ; preds = %if_then123 %368 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %368(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.205, i64 0, i64 0)) ret i32 -1 assert_fail127: ; preds = %if_end124 %369 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %369(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.206, i64 0, i64 0)) ret i32 -1 assert_end128: ; preds = %if_end124 %370 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 0 %371 = load i32, i32* %370, align 4 %372 = icmp eq i32 %371, 1 br i1 %372, label %assert_end130, label %assert_fail129, !prof !5 assert_fail129: ; preds = %assert_end128 %373 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %373(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.207, i64 0, i64 0)) ret i32 -1 assert_end130: ; preds = %assert_end128 %374 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 1 %375 = load i32, i32* %374, align 4 %376 = icmp eq i32 %49, %375 br i1 %376, label %assert_end132, label %assert_fail131, !prof !5 assert_fail131: ; preds = %assert_end130 %377 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %377(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.208, i64 0, i64 0)) ret i32 -1 assert_end132: ; preds = %assert_end130 %378 = tail call fastcc i32 @fused_cast_take_cast_take_add_transpose_add_compute_(i8* %75, i8* %43, i8* %51, i8* %57, i8* %63, i8* %69) ret i32 %378 } ; Function Attrs: noinline define private fastcc i32 @fused_cast_take_cast_take_add_transpose_add_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1, i8* noalias align 128 %2, i8* noalias align 128 %3, i8* noalias align 128 %4, i8* noalias align 128 %5) unnamed_addr #1 { entry: %6 = alloca %20, align 8 %7 = getelementptr inbounds %20, %20* %6, i64 0, i32 0 store i8* %0, i8** %7, align 8 %8 = getelementptr inbounds %20, %20* %6, i64 0, i32 1 store i8* %1, i8** %8, align 8 %9 = getelementptr inbounds %20, %20* %6, i64 0, i32 2 store i8* %2, i8** %9, align 8 %10 = getelementptr inbounds %20, %20* %6, i64 0, i32 3 store i8* %3, i8** %10, align 8 %11 = getelementptr inbounds %20, %20* %6, i64 0, i32 4 store i8* %4, i8** %11, align 8 %12 = getelementptr inbounds %20, %20* %6, i64 0, i32 5 store i8* %5, i8** %12, align 8 %13 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %14 = bitcast %20* %6 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.209, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.209(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds i8, i8* %2, i64 24 %12 = bitcast i8* %11 to float** %13 = load float*, float** %12, align 8 %14 = getelementptr inbounds i8, i8* %2, i64 32 %15 = bitcast i8* %14 to float** %16 = load float*, float** %15, align 8 %17 = getelementptr inbounds i8, i8* %2, i64 40 %18 = bitcast i8* %17 to float** %19 = load float*, float** %18, align 8 %20 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %21 = load i32, i32* %20, align 4 %22 = add nsw i32 %21, 127 %23 = sdiv i32 %22, %21 %24 = add nsw i32 %0, 1 %25 = mul nsw i32 %23, %24 %26 = icmp slt i32 %25, 128 %27 = select i1 %26, i32 %25, i32 128 %28 = mul nsw i32 %23, %0 %29 = icmp slt i32 %28, 128 %30 = select i1 %29, i32 %28, i32 128 %31 = icmp slt i32 %30, %27 br i1 %31, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %32 = sext i32 %30 to i64 %wide.trip.count = sext i32 %27 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %32, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %33 = getelementptr inbounds float, float* %16, i64 %indvars.iv7 %34 = load float, float* %33, align 4, !tbaa !2690 %35 = fptosi float %34 to i32 %36 = icmp sgt i32 %35, 0 %37 = select i1 %36, i32 %35, i32 0 %38 = icmp slt i32 %37, 1 %39 = select i1 %38, i32 %37, i32 1 %40 = mul nuw nsw i32 %39, 768 %41 = getelementptr inbounds float, float* %10, i64 %indvars.iv7 %42 = load float, float* %41, align 4, !tbaa !2693 %43 = fptosi float %42 to i32 %44 = icmp sgt i32 %43, 0 %45 = select i1 %44, i32 %43, i32 0 %46 = icmp slt i32 %45, 30521 %47 = select i1 %46, i32 %45, i32 30521 %48 = mul nuw nsw i32 %47, 768 %49 = zext i32 %48 to i64 %50 = zext i32 %40 to i64 %51 = trunc i64 %indvars.iv7 to i32 %52 = mul i32 %51, 768 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %53 = shl nsw i64 %indvars.iv, 4 %54 = trunc i64 %53 to i32 %55 = add i32 %52, %54 %56 = sext i32 %55 to i64 %57 = getelementptr inbounds float, float* %19, i64 %56 %58 = load float, float* %57, align 4, !tbaa !2696 %59 = add nuw nsw i64 %53, %50 %60 = getelementptr inbounds float, float* %13, i64 %59 %61 = load float, float* %60, align 4, !tbaa !2699 %62 = add nuw nsw i64 %53, %49 %63 = getelementptr inbounds float, float* %7, i64 %62 %64 = load float, float* %63, align 4, !tbaa !2702 %65 = fadd float %61, %64 %66 = fadd float %58, %65 %67 = getelementptr inbounds float, float* %4, i64 %56 store float %66, float* %67, align 4, !tbaa !2705 %68 = or i64 %53, 1 %69 = trunc i64 %68 to i32 %70 = add i32 %52, %69 %71 = sext i32 %70 to i64 %72 = getelementptr inbounds float, float* %19, i64 %71 %73 = load float, float* %72, align 4, !tbaa !2696 %74 = add nuw nsw i64 %68, %50 %75 = getelementptr inbounds float, float* %13, i64 %74 %76 = load float, float* %75, align 4, !tbaa !2699 %77 = add nuw nsw i64 %68, %49 %78 = getelementptr inbounds float, float* %7, i64 %77 %79 = load float, float* %78, align 4, !tbaa !2702 %80 = fadd float %76, %79 %81 = fadd float %73, %80 %82 = getelementptr inbounds float, float* %4, i64 %71 store float %81, float* %82, align 4, !tbaa !2705 %83 = or i64 %53, 2 %84 = trunc i64 %83 to i32 %85 = add i32 %52, %84 %86 = sext i32 %85 to i64 %87 = getelementptr inbounds float, float* %19, i64 %86 %88 = load float, float* %87, align 4, !tbaa !2696 %89 = add nuw nsw i64 %83, %50 %90 = getelementptr inbounds float, float* %13, i64 %89 %91 = load float, float* %90, align 4, !tbaa !2699 %92 = add nuw nsw i64 %83, %49 %93 = getelementptr inbounds float, float* %7, i64 %92 %94 = load float, float* %93, align 4, !tbaa !2702 %95 = fadd float %91, %94 %96 = fadd float %88, %95 %97 = getelementptr inbounds float, float* %4, i64 %86 store float %96, float* %97, align 4, !tbaa !2705 %98 = or i64 %53, 3 %99 = trunc i64 %98 to i32 %100 = add i32 %52, %99 %101 = sext i32 %100 to i64 %102 = getelementptr inbounds float, float* %19, i64 %101 %103 = load float, float* %102, align 4, !tbaa !2696 %104 = add nuw nsw i64 %98, %50 %105 = getelementptr inbounds float, float* %13, i64 %104 %106 = load float, float* %105, align 4, !tbaa !2699 %107 = add nuw nsw i64 %98, %49 %108 = getelementptr inbounds float, float* %7, i64 %107 %109 = load float, float* %108, align 4, !tbaa !2702 %110 = fadd float %106, %109 %111 = fadd float %103, %110 %112 = getelementptr inbounds float, float* %4, i64 %101 store float %111, float* %112, align 4, !tbaa !2705 %113 = or i64 %53, 4 %114 = trunc i64 %113 to i32 %115 = add i32 %52, %114 %116 = sext i32 %115 to i64 %117 = getelementptr inbounds float, float* %19, i64 %116 %118 = load float, float* %117, align 4, !tbaa !2696 %119 = add nuw nsw i64 %113, %50 %120 = getelementptr inbounds float, float* %13, i64 %119 %121 = load float, float* %120, align 4, !tbaa !2699 %122 = add nuw nsw i64 %113, %49 %123 = getelementptr inbounds float, float* %7, i64 %122 %124 = load float, float* %123, align 4, !tbaa !2702 %125 = fadd float %121, %124 %126 = fadd float %118, %125 %127 = getelementptr inbounds float, float* %4, i64 %116 store float %126, float* %127, align 4, !tbaa !2705 %128 = or i64 %53, 5 %129 = trunc i64 %128 to i32 %130 = add i32 %52, %129 %131 = sext i32 %130 to i64 %132 = getelementptr inbounds float, float* %19, i64 %131 %133 = load float, float* %132, align 4, !tbaa !2696 %134 = add nuw nsw i64 %128, %50 %135 = getelementptr inbounds float, float* %13, i64 %134 %136 = load float, float* %135, align 4, !tbaa !2699 %137 = add nuw nsw i64 %128, %49 %138 = getelementptr inbounds float, float* %7, i64 %137 %139 = load float, float* %138, align 4, !tbaa !2702 %140 = fadd float %136, %139 %141 = fadd float %133, %140 %142 = getelementptr inbounds float, float* %4, i64 %131 store float %141, float* %142, align 4, !tbaa !2705 %143 = or i64 %53, 6 %144 = trunc i64 %143 to i32 %145 = add i32 %52, %144 %146 = sext i32 %145 to i64 %147 = getelementptr inbounds float, float* %19, i64 %146 %148 = load float, float* %147, align 4, !tbaa !2696 %149 = add nuw nsw i64 %143, %50 %150 = getelementptr inbounds float, float* %13, i64 %149 %151 = load float, float* %150, align 4, !tbaa !2699 %152 = add nuw nsw i64 %143, %49 %153 = getelementptr inbounds float, float* %7, i64 %152 %154 = load float, float* %153, align 4, !tbaa !2702 %155 = fadd float %151, %154 %156 = fadd float %148, %155 %157 = getelementptr inbounds float, float* %4, i64 %146 store float %156, float* %157, align 4, !tbaa !2705 %158 = or i64 %53, 7 %159 = trunc i64 %158 to i32 %160 = add i32 %52, %159 %161 = sext i32 %160 to i64 %162 = getelementptr inbounds float, float* %19, i64 %161 %163 = load float, float* %162, align 4, !tbaa !2696 %164 = add nuw nsw i64 %158, %50 %165 = getelementptr inbounds float, float* %13, i64 %164 %166 = load float, float* %165, align 4, !tbaa !2699 %167 = add nuw nsw i64 %158, %49 %168 = getelementptr inbounds float, float* %7, i64 %167 %169 = load float, float* %168, align 4, !tbaa !2702 %170 = fadd float %166, %169 %171 = fadd float %163, %170 %172 = getelementptr inbounds float, float* %4, i64 %161 store float %171, float* %172, align 4, !tbaa !2705 %173 = or i64 %53, 8 %174 = trunc i64 %173 to i32 %175 = add i32 %52, %174 %176 = sext i32 %175 to i64 %177 = getelementptr inbounds float, float* %19, i64 %176 %178 = load float, float* %177, align 4, !tbaa !2696 %179 = add nuw nsw i64 %173, %50 %180 = getelementptr inbounds float, float* %13, i64 %179 %181 = load float, float* %180, align 4, !tbaa !2699 %182 = add nuw nsw i64 %173, %49 %183 = getelementptr inbounds float, float* %7, i64 %182 %184 = load float, float* %183, align 4, !tbaa !2702 %185 = fadd float %181, %184 %186 = fadd float %178, %185 %187 = getelementptr inbounds float, float* %4, i64 %176 store float %186, float* %187, align 4, !tbaa !2705 %188 = or i64 %53, 9 %189 = trunc i64 %188 to i32 %190 = add i32 %52, %189 %191 = sext i32 %190 to i64 %192 = getelementptr inbounds float, float* %19, i64 %191 %193 = load float, float* %192, align 4, !tbaa !2696 %194 = add nuw nsw i64 %188, %50 %195 = getelementptr inbounds float, float* %13, i64 %194 %196 = load float, float* %195, align 4, !tbaa !2699 %197 = add nuw nsw i64 %188, %49 %198 = getelementptr inbounds float, float* %7, i64 %197 %199 = load float, float* %198, align 4, !tbaa !2702 %200 = fadd float %196, %199 %201 = fadd float %193, %200 %202 = getelementptr inbounds float, float* %4, i64 %191 store float %201, float* %202, align 4, !tbaa !2705 %203 = or i64 %53, 10 %204 = trunc i64 %203 to i32 %205 = add i32 %52, %204 %206 = sext i32 %205 to i64 %207 = getelementptr inbounds float, float* %19, i64 %206 %208 = load float, float* %207, align 4, !tbaa !2696 %209 = add nuw nsw i64 %203, %50 %210 = getelementptr inbounds float, float* %13, i64 %209 %211 = load float, float* %210, align 4, !tbaa !2699 %212 = add nuw nsw i64 %203, %49 %213 = getelementptr inbounds float, float* %7, i64 %212 %214 = load float, float* %213, align 4, !tbaa !2702 %215 = fadd float %211, %214 %216 = fadd float %208, %215 %217 = getelementptr inbounds float, float* %4, i64 %206 store float %216, float* %217, align 4, !tbaa !2705 %218 = or i64 %53, 11 %219 = trunc i64 %218 to i32 %220 = add i32 %52, %219 %221 = sext i32 %220 to i64 %222 = getelementptr inbounds float, float* %19, i64 %221 %223 = load float, float* %222, align 4, !tbaa !2696 %224 = add nuw nsw i64 %218, %50 %225 = getelementptr inbounds float, float* %13, i64 %224 %226 = load float, float* %225, align 4, !tbaa !2699 %227 = add nuw nsw i64 %218, %49 %228 = getelementptr inbounds float, float* %7, i64 %227 %229 = load float, float* %228, align 4, !tbaa !2702 %230 = fadd float %226, %229 %231 = fadd float %223, %230 %232 = getelementptr inbounds float, float* %4, i64 %221 store float %231, float* %232, align 4, !tbaa !2705 %233 = or i64 %53, 12 %234 = trunc i64 %233 to i32 %235 = add i32 %52, %234 %236 = sext i32 %235 to i64 %237 = getelementptr inbounds float, float* %19, i64 %236 %238 = load float, float* %237, align 4, !tbaa !2696 %239 = add nuw nsw i64 %233, %50 %240 = getelementptr inbounds float, float* %13, i64 %239 %241 = load float, float* %240, align 4, !tbaa !2699 %242 = add nuw nsw i64 %233, %49 %243 = getelementptr inbounds float, float* %7, i64 %242 %244 = load float, float* %243, align 4, !tbaa !2702 %245 = fadd float %241, %244 %246 = fadd float %238, %245 %247 = getelementptr inbounds float, float* %4, i64 %236 store float %246, float* %247, align 4, !tbaa !2705 %248 = or i64 %53, 13 %249 = trunc i64 %248 to i32 %250 = add i32 %52, %249 %251 = sext i32 %250 to i64 %252 = getelementptr inbounds float, float* %19, i64 %251 %253 = load float, float* %252, align 4, !tbaa !2696 %254 = add nuw nsw i64 %248, %50 %255 = getelementptr inbounds float, float* %13, i64 %254 %256 = load float, float* %255, align 4, !tbaa !2699 %257 = add nuw nsw i64 %248, %49 %258 = getelementptr inbounds float, float* %7, i64 %257 %259 = load float, float* %258, align 4, !tbaa !2702 %260 = fadd float %256, %259 %261 = fadd float %253, %260 %262 = getelementptr inbounds float, float* %4, i64 %251 store float %261, float* %262, align 4, !tbaa !2705 %263 = or i64 %53, 14 %264 = trunc i64 %263 to i32 %265 = add i32 %52, %264 %266 = sext i32 %265 to i64 %267 = getelementptr inbounds float, float* %19, i64 %266 %268 = load float, float* %267, align 4, !tbaa !2696 %269 = add nuw nsw i64 %263, %50 %270 = getelementptr inbounds float, float* %13, i64 %269 %271 = load float, float* %270, align 4, !tbaa !2699 %272 = add nuw nsw i64 %263, %49 %273 = getelementptr inbounds float, float* %7, i64 %272 %274 = load float, float* %273, align 4, !tbaa !2702 %275 = fadd float %271, %274 %276 = fadd float %268, %275 %277 = getelementptr inbounds float, float* %4, i64 %266 store float %276, float* %277, align 4, !tbaa !2705 %278 = or i64 %53, 15 %279 = trunc i64 %278 to i32 %280 = add i32 %52, %279 %281 = sext i32 %280 to i64 %282 = getelementptr inbounds float, float* %19, i64 %281 %283 = load float, float* %282, align 4, !tbaa !2696 %284 = add nuw nsw i64 %278, %50 %285 = getelementptr inbounds float, float* %13, i64 %284 %286 = load float, float* %285, align 4, !tbaa !2699 %287 = add nuw nsw i64 %278, %49 %288 = getelementptr inbounds float, float* %7, i64 %287 %289 = load float, float* %288, align 4, !tbaa !2702 %290 = fadd float %286, %289 %291 = fadd float %283, %290 %292 = getelementptr inbounds float, float* %4, i64 %281 store float %291, float* %292, align 4, !tbaa !2705 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 48 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_take_transpose_contrib_reverse_reshape_transpose(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.210, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !2708 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !2722 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([182 x i8], [182 x i8]* @.str.211, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([182 x i8], [182 x i8]* @.str.212, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 5 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.68, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2724 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !2738 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 1 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !2740 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 12 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.69, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %64 = getelementptr inbounds i64, i64* %21, i64 3 %65 = load i64, i64* %64, align 8, !tbaa !2743 %66 = trunc i64 %65 to i32 %67 = icmp eq i32 %66, 3 br i1 %67, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %68(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %69 = getelementptr inbounds i64, i64* %21, i64 4 %70 = load i64, i64* %69, align 8, !tbaa !2745 %71 = trunc i64 %70 to i32 %72 = icmp eq i32 %71, 64 br i1 %72, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %73(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.71, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !2749 %75 = trunc i64 %74 to i32 %76 = icmp eq i32 %75, 2304 %77 = getelementptr inbounds i64, i64* %23, i64 1 %78 = load i64, i64* %77, align 8, !tbaa !2763 %79 = trunc i64 %78 to i32 %80 = icmp eq i32 %79, 2304 %81 = getelementptr inbounds i64, i64* %23, i64 2 %82 = load i64, i64* %81, align 8, !tbaa !2765 %83 = trunc i64 %82 to i32 %84 = icmp eq i32 %83, 192 %85 = getelementptr inbounds i64, i64* %23, i64 3 %86 = load i64, i64* %85, align 8, !tbaa !2768 %87 = trunc i64 %86 to i32 %88 = icmp eq i32 %87, 64 %89 = getelementptr inbounds i64, i64* %23, i64 4 %90 = load i64, i64* %89, align 8, !tbaa !2770 %91 = trunc i64 %90 to i32 %92 = icmp eq i32 %91, 1 %93 = and i1 %88, %92 %94 = and i1 %84, %93 %95 = and i1 %80, %94 %96 = and i1 %76, %95 br i1 %96, label %if_end, label %assert_fail21, !prof !5 if_end: ; preds = %if_then, %assert_end20 %97 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end24, label %assert_fail23, !prof !5 assert_fail21: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([236 x i8], [236 x i8]* @.str.72, i64 0, i64 0)) ret i32 -1 assert_fail23: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %106 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 3 br i1 %108, label %assert_end30, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end26 %110 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !2774 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 12 br i1 %124, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %126 = getelementptr inbounds i64, i64* %29, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !2788 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 64 br i1 %129, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.146, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %131 = getelementptr inbounds i64, i64* %29, i64 2 %132 = load i64, i64* %131, align 8, !tbaa !2790 %133 = trunc i64 %132 to i32 %134 = icmp eq i32 %133, 128 br i1 %134, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %135 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %135(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.147, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %.not49 = icmp eq i64* %31, null br i1 %.not49, label %if_end40, label %if_then39, !prof !47 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !2793 %137 = trunc i64 %136 to i32 %138 = icmp eq i32 %137, 8192 %139 = getelementptr inbounds i64, i64* %31, i64 1 %140 = load i64, i64* %139, align 8, !tbaa !2807 %141 = trunc i64 %140 to i32 %142 = icmp eq i32 %141, 128 %143 = getelementptr inbounds i64, i64* %31, i64 2 %144 = load i64, i64* %143, align 8, !tbaa !2809 %145 = trunc i64 %144 to i32 %146 = icmp eq i32 %145, 1 %147 = and i1 %142, %146 %148 = and i1 %138, %147 br i1 %148, label %if_end40, label %assert_fail41, !prof !5 if_end40: ; preds = %if_then39, %assert_end38 %149 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %150 = load i64, i64* %149, align 8 %151 = icmp eq i64 %150, 0 br i1 %151, label %assert_end44, label %assert_fail43, !prof !5 assert_fail41: ; preds = %if_then39 %152 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %152(i8* getelementptr inbounds ([162 x i8], [162 x i8]* @.str.148, i64 0, i64 0)) ret i32 -1 assert_fail43: ; preds = %if_end40 %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %153(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %if_end40 %154 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %155 = load i32, i32* %154, align 4 %156 = icmp eq i32 %155, 1 br i1 %156, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %157(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %158 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %159 = load i32, i32* %158, align 4 %160 = icmp eq i32 %25, %159 br i1 %160, label %assert_end48, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %161 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %161(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %162 = tail call fastcc i32 @fused_take_transpose_contrib_reverse_reshape_transpose_compute_(i8* %27, i8* %19) ret i32 %162 } ; Function Attrs: noinline define private fastcc i32 @fused_take_transpose_contrib_reverse_reshape_transpose_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %21, align 8 %3 = getelementptr inbounds %21, %21* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %21, %21* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %21* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.213, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.213(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 767 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 768 %15 = select i1 %14, i32 %13, i32 768 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 768 %18 = select i1 %17, i32 %16, i32 768 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %21 = phi i32 [ %18, %for_begin1.preheader.preheader ], [ %275, %for_end3 ] %22 = shl nsw i32 %21, 7 %23 = trunc i64 %indvars.iv7 to i32 %24 = and i32 %23, 63 %25 = ashr i32 %23, 6 %26 = mul nsw i32 %25, 192 %27 = or i32 %24, 128 %28 = add i32 %27, %26 %29 = sext i32 %22 to i64 %30 = mul i32 %25, 192 %31 = add i32 %27, %30 %32 = icmp sgt i32 %31, 2147225599 %33 = or i32 %24, 2432 %34 = add i32 %33, %30 %35 = icmp sgt i32 %34, 2147225599 %36 = or i1 %32, %35 %37 = or i32 %24, 4736 %38 = add i32 %37, %30 %39 = icmp sgt i32 %38, 2147225599 %40 = or i1 %36, %39 %41 = or i32 %24, 7040 %42 = add i32 %41, %30 %43 = icmp sgt i32 %42, 2147225599 %44 = or i1 %40, %43 %45 = or i32 %24, 9344 %46 = add i32 %45, %30 %47 = icmp sgt i32 %46, 2147225599 %48 = or i1 %44, %47 %49 = or i32 %24, 11648 %50 = add i32 %49, %30 %51 = icmp sgt i32 %50, 2147225599 %52 = or i1 %48, %51 %53 = or i32 %24, 13952 %54 = add i32 %53, %30 %55 = icmp sgt i32 %54, 2147225599 %56 = or i1 %52, %55 %57 = or i32 %24, 16256 %58 = add i32 %57, %30 %59 = icmp sgt i32 %58, 2147225599 %60 = or i1 %56, %59 %61 = or i32 %24, 18560 %62 = add i32 %61, %30 %63 = icmp sgt i32 %62, 2147225599 %64 = or i1 %60, %63 %65 = or i32 %24, 20864 %66 = add i32 %65, %30 %67 = icmp sgt i32 %66, 2147225599 %68 = or i1 %64, %67 %69 = or i32 %24, 23168 %70 = add i32 %69, %30 %71 = icmp sgt i32 %70, 2147225599 %72 = or i1 %68, %71 %73 = or i32 %24, 25472 %74 = add i32 %73, %30 %75 = icmp sgt i32 %74, 2147225599 %76 = or i1 %72, %75 %77 = or i32 %24, 27776 %78 = add i32 %77, %30 %79 = icmp sgt i32 %78, 2147225599 %80 = or i1 %76, %79 %81 = or i32 %24, 30080 %82 = add i32 %81, %30 %83 = icmp sgt i32 %82, 2147225599 %84 = or i1 %80, %83 %85 = or i32 %24, 32384 %86 = add i32 %85, %30 %87 = icmp sgt i32 %86, 2147225599 %88 = or i1 %84, %87 %89 = or i32 %24, 34688 %90 = add i32 %89, %30 %91 = icmp sgt i32 %90, 2147225599 %92 = or i1 %88, %91 br i1 %92, label %for_begin4.preheader, label %vector.ph vector.ph: ; preds = %for_begin1.preheader %broadcast.splatinsert = insertelement <8 x i64> undef, i64 %29, i32 0 %broadcast.splat = shufflevector <8 x i64> %broadcast.splatinsert, <8 x i64> undef, <8 x i32> zeroinitializer %broadcast.splatinsert57 = insertelement <8 x i32> undef, i32 %28, i32 0 %broadcast.splat58 = shufflevector <8 x i32> %broadcast.splatinsert57, <8 x i32> undef, <8 x i32> zeroinitializer br label %vector.body vector.body: ; preds = %vector.body, %vector.ph %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %vec.ind = phi <8 x i64> [ , %vector.ph ], [ %vec.ind.next, %vector.body ] %vec.ind55 = phi <8 x i32> [ , %vector.ph ], [ %vec.ind.next56, %vector.body ] %93 = shl nsw <8 x i64> %vec.ind, %94 = add nsw <8 x i64> %93, %broadcast.splat %95 = mul <8 x i32> %vec.ind55, %96 = add <8 x i32> %broadcast.splat58, %95 %97 = sext <8 x i32> %96 to <8 x i64> %98 = getelementptr inbounds float, float* %7, <8 x i64> %97 %wide.masked.gather = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %98, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %99 = getelementptr inbounds float, float* %4, <8 x i64> %94 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather, <8 x float*> %99, i32 4, <8 x i1> ), !tbaa !2815 %100 = or <8 x i64> %94, %101 = add <8 x i32> %96, %102 = sext <8 x i32> %101 to <8 x i64> %103 = getelementptr inbounds float, float* %7, <8 x i64> %102 %wide.masked.gather59 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %103, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %104 = getelementptr inbounds float, float* %4, <8 x i64> %100 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather59, <8 x float*> %104, i32 4, <8 x i1> ), !tbaa !2815 %105 = or <8 x i64> %94, %106 = add <8 x i32> %96, %107 = sext <8 x i32> %106 to <8 x i64> %108 = getelementptr inbounds float, float* %7, <8 x i64> %107 %wide.masked.gather60 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %108, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %109 = getelementptr inbounds float, float* %4, <8 x i64> %105 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather60, <8 x float*> %109, i32 4, <8 x i1> ), !tbaa !2815 %110 = or <8 x i64> %94, %111 = add <8 x i32> %96, %112 = sext <8 x i32> %111 to <8 x i64> %113 = getelementptr inbounds float, float* %7, <8 x i64> %112 %wide.masked.gather61 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %113, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %114 = getelementptr inbounds float, float* %4, <8 x i64> %110 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather61, <8 x float*> %114, i32 4, <8 x i1> ), !tbaa !2815 %115 = or <8 x i64> %94, %116 = add <8 x i32> %96, %117 = sext <8 x i32> %116 to <8 x i64> %118 = getelementptr inbounds float, float* %7, <8 x i64> %117 %wide.masked.gather62 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %118, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %119 = getelementptr inbounds float, float* %4, <8 x i64> %115 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather62, <8 x float*> %119, i32 4, <8 x i1> ), !tbaa !2815 %120 = or <8 x i64> %94, %121 = add <8 x i32> %96, %122 = sext <8 x i32> %121 to <8 x i64> %123 = getelementptr inbounds float, float* %7, <8 x i64> %122 %wide.masked.gather63 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %123, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %124 = getelementptr inbounds float, float* %4, <8 x i64> %120 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather63, <8 x float*> %124, i32 4, <8 x i1> ), !tbaa !2815 %125 = or <8 x i64> %94, %126 = add <8 x i32> %96, %127 = sext <8 x i32> %126 to <8 x i64> %128 = getelementptr inbounds float, float* %7, <8 x i64> %127 %wide.masked.gather64 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %128, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %129 = getelementptr inbounds float, float* %4, <8 x i64> %125 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather64, <8 x float*> %129, i32 4, <8 x i1> ), !tbaa !2815 %130 = or <8 x i64> %94, %131 = add <8 x i32> %96, %132 = sext <8 x i32> %131 to <8 x i64> %133 = getelementptr inbounds float, float* %7, <8 x i64> %132 %wide.masked.gather65 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %133, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %134 = getelementptr inbounds float, float* %4, <8 x i64> %130 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather65, <8 x float*> %134, i32 4, <8 x i1> ), !tbaa !2815 %135 = or <8 x i64> %94, %136 = add <8 x i32> %96, %137 = sext <8 x i32> %136 to <8 x i64> %138 = getelementptr inbounds float, float* %7, <8 x i64> %137 %wide.masked.gather66 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %138, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %139 = getelementptr inbounds float, float* %4, <8 x i64> %135 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather66, <8 x float*> %139, i32 4, <8 x i1> ), !tbaa !2815 %140 = or <8 x i64> %94, %141 = add <8 x i32> %96, %142 = sext <8 x i32> %141 to <8 x i64> %143 = getelementptr inbounds float, float* %7, <8 x i64> %142 %wide.masked.gather67 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %143, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %144 = getelementptr inbounds float, float* %4, <8 x i64> %140 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather67, <8 x float*> %144, i32 4, <8 x i1> ), !tbaa !2815 %145 = or <8 x i64> %94, %146 = add <8 x i32> %96, %147 = sext <8 x i32> %146 to <8 x i64> %148 = getelementptr inbounds float, float* %7, <8 x i64> %147 %wide.masked.gather68 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %148, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %149 = getelementptr inbounds float, float* %4, <8 x i64> %145 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather68, <8 x float*> %149, i32 4, <8 x i1> ), !tbaa !2815 %150 = or <8 x i64> %94, %151 = add <8 x i32> %96, %152 = sext <8 x i32> %151 to <8 x i64> %153 = getelementptr inbounds float, float* %7, <8 x i64> %152 %wide.masked.gather69 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %153, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %154 = getelementptr inbounds float, float* %4, <8 x i64> %150 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather69, <8 x float*> %154, i32 4, <8 x i1> ), !tbaa !2815 %155 = or <8 x i64> %94, %156 = add <8 x i32> %96, %157 = sext <8 x i32> %156 to <8 x i64> %158 = getelementptr inbounds float, float* %7, <8 x i64> %157 %wide.masked.gather70 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %158, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %159 = getelementptr inbounds float, float* %4, <8 x i64> %155 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather70, <8 x float*> %159, i32 4, <8 x i1> ), !tbaa !2815 %160 = or <8 x i64> %94, %161 = add <8 x i32> %96, %162 = sext <8 x i32> %161 to <8 x i64> %163 = getelementptr inbounds float, float* %7, <8 x i64> %162 %wide.masked.gather71 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %163, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %164 = getelementptr inbounds float, float* %4, <8 x i64> %160 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather71, <8 x float*> %164, i32 4, <8 x i1> ), !tbaa !2815 %165 = or <8 x i64> %94, %166 = add <8 x i32> %96, %167 = sext <8 x i32> %166 to <8 x i64> %168 = getelementptr inbounds float, float* %7, <8 x i64> %167 %wide.masked.gather72 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %168, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %169 = getelementptr inbounds float, float* %4, <8 x i64> %165 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather72, <8 x float*> %169, i32 4, <8 x i1> ), !tbaa !2815 %170 = or <8 x i64> %94, %171 = add <8 x i32> %96, %172 = sext <8 x i32> %171 to <8 x i64> %173 = getelementptr inbounds float, float* %7, <8 x i64> %172 %wide.masked.gather73 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %173, i32 4, <8 x i1> , <8 x float> undef), !tbaa !2812 %174 = getelementptr inbounds float, float* %4, <8 x i64> %170 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather73, <8 x float*> %174, i32 4, <8 x i1> ), !tbaa !2815 %index.next = add i64 %index, 8 %vec.ind.next = add <8 x i64> %vec.ind, %vec.ind.next56 = add <8 x i32> %vec.ind55, %175 = icmp eq i64 %index, 0 br i1 %175, label %for_end3, label %vector.body, !prof !2818, !llvm.loop !2819 for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ %indvars.iv.next, %for_begin4.preheader ], [ 0, %for_begin1.preheader ] %176 = shl nsw i64 %indvars.iv, 4 %177 = add nsw i64 %176, %29 %178 = trunc i64 %indvars.iv to i32 %179 = mul i32 %178, 36864 %180 = add i32 %28, %179 %181 = sext i32 %180 to i64 %182 = getelementptr inbounds float, float* %7, i64 %181 %183 = load float, float* %182, align 4, !tbaa !2812 %184 = getelementptr inbounds float, float* %4, i64 %177 store float %183, float* %184, align 4, !tbaa !2815 %185 = or i64 %177, 1 %186 = add i32 %180, 2304 %187 = sext i32 %186 to i64 %188 = getelementptr inbounds float, float* %7, i64 %187 %189 = load float, float* %188, align 4, !tbaa !2812 %190 = getelementptr inbounds float, float* %4, i64 %185 store float %189, float* %190, align 4, !tbaa !2815 %191 = or i64 %177, 2 %192 = add i32 %180, 4608 %193 = sext i32 %192 to i64 %194 = getelementptr inbounds float, float* %7, i64 %193 %195 = load float, float* %194, align 4, !tbaa !2812 %196 = getelementptr inbounds float, float* %4, i64 %191 store float %195, float* %196, align 4, !tbaa !2815 %197 = or i64 %177, 3 %198 = add i32 %180, 6912 %199 = sext i32 %198 to i64 %200 = getelementptr inbounds float, float* %7, i64 %199 %201 = load float, float* %200, align 4, !tbaa !2812 %202 = getelementptr inbounds float, float* %4, i64 %197 store float %201, float* %202, align 4, !tbaa !2815 %203 = or i64 %177, 4 %204 = add i32 %180, 9216 %205 = sext i32 %204 to i64 %206 = getelementptr inbounds float, float* %7, i64 %205 %207 = load float, float* %206, align 4, !tbaa !2812 %208 = getelementptr inbounds float, float* %4, i64 %203 store float %207, float* %208, align 4, !tbaa !2815 %209 = or i64 %177, 5 %210 = add i32 %180, 11520 %211 = sext i32 %210 to i64 %212 = getelementptr inbounds float, float* %7, i64 %211 %213 = load float, float* %212, align 4, !tbaa !2812 %214 = getelementptr inbounds float, float* %4, i64 %209 store float %213, float* %214, align 4, !tbaa !2815 %215 = or i64 %177, 6 %216 = add i32 %180, 13824 %217 = sext i32 %216 to i64 %218 = getelementptr inbounds float, float* %7, i64 %217 %219 = load float, float* %218, align 4, !tbaa !2812 %220 = getelementptr inbounds float, float* %4, i64 %215 store float %219, float* %220, align 4, !tbaa !2815 %221 = or i64 %177, 7 %222 = add i32 %180, 16128 %223 = sext i32 %222 to i64 %224 = getelementptr inbounds float, float* %7, i64 %223 %225 = load float, float* %224, align 4, !tbaa !2812 %226 = getelementptr inbounds float, float* %4, i64 %221 store float %225, float* %226, align 4, !tbaa !2815 %227 = or i64 %177, 8 %228 = add i32 %180, 18432 %229 = sext i32 %228 to i64 %230 = getelementptr inbounds float, float* %7, i64 %229 %231 = load float, float* %230, align 4, !tbaa !2812 %232 = getelementptr inbounds float, float* %4, i64 %227 store float %231, float* %232, align 4, !tbaa !2815 %233 = or i64 %177, 9 %234 = add i32 %180, 20736 %235 = sext i32 %234 to i64 %236 = getelementptr inbounds float, float* %7, i64 %235 %237 = load float, float* %236, align 4, !tbaa !2812 %238 = getelementptr inbounds float, float* %4, i64 %233 store float %237, float* %238, align 4, !tbaa !2815 %239 = or i64 %177, 10 %240 = add i32 %180, 23040 %241 = sext i32 %240 to i64 %242 = getelementptr inbounds float, float* %7, i64 %241 %243 = load float, float* %242, align 4, !tbaa !2812 %244 = getelementptr inbounds float, float* %4, i64 %239 store float %243, float* %244, align 4, !tbaa !2815 %245 = or i64 %177, 11 %246 = add i32 %180, 25344 %247 = sext i32 %246 to i64 %248 = getelementptr inbounds float, float* %7, i64 %247 %249 = load float, float* %248, align 4, !tbaa !2812 %250 = getelementptr inbounds float, float* %4, i64 %245 store float %249, float* %250, align 4, !tbaa !2815 %251 = or i64 %177, 12 %252 = add i32 %180, 27648 %253 = sext i32 %252 to i64 %254 = getelementptr inbounds float, float* %7, i64 %253 %255 = load float, float* %254, align 4, !tbaa !2812 %256 = getelementptr inbounds float, float* %4, i64 %251 store float %255, float* %256, align 4, !tbaa !2815 %257 = or i64 %177, 13 %258 = add i32 %180, 29952 %259 = sext i32 %258 to i64 %260 = getelementptr inbounds float, float* %7, i64 %259 %261 = load float, float* %260, align 4, !tbaa !2812 %262 = getelementptr inbounds float, float* %4, i64 %257 store float %261, float* %262, align 4, !tbaa !2815 %263 = or i64 %177, 14 %264 = add i32 %180, 32256 %265 = sext i32 %264 to i64 %266 = getelementptr inbounds float, float* %7, i64 %265 %267 = load float, float* %266, align 4, !tbaa !2812 %268 = getelementptr inbounds float, float* %4, i64 %263 store float %267, float* %268, align 4, !tbaa !2815 %269 = or i64 %177, 15 %270 = add i32 %180, 34560 %271 = sext i32 %270 to i64 %272 = getelementptr inbounds float, float* %7, i64 %271 %273 = load float, float* %272, align 4, !tbaa !2812 %274 = getelementptr inbounds float, float* %4, i64 %269 store float %273, float* %274, align 4, !tbaa !2815 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 8 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !161, !llvm.loop !2820 for_end3: ; preds = %vector.body, %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %275 = add nsw i32 %21, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_reshape_2(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.214, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !2821 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !2835 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.215, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.216, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 2 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2837 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !2851 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 2304 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.217, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !2853 %60 = trunc i64 %59 to i32 %61 = icmp eq i32 %60, 2304 %62 = getelementptr inbounds i64, i64* %23, i64 1 %63 = load i64, i64* %62, align 8, !tbaa !2867 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 %66 = and i1 %61, %65 br i1 %66, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %67 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %68 = load i64, i64* %67, align 8 %69 = icmp eq i64 %68, 0 br i1 %69, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.218, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %72 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %73 = load i32, i32* %72, align 4 %74 = icmp eq i32 %73, 1 br i1 %74, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %76 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %77 = load i32, i32* %76, align 4 %78 = icmp eq i32 %77, 5 br i1 %78, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.219, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %80 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %81 = load i16, i16* %80, align 2 %82 = icmp eq i16 %81, 1 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %84 = load i8, i8* %83, align 1 %85 = icmp eq i8 %84, 32 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 2 %89 = and i1 %85, %88 %90 = and i1 %82, %89 br i1 %90, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %91 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %91(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !2869 %93 = trunc i64 %92 to i32 %94 = icmp eq i32 %93, 128 br i1 %94, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %96 = getelementptr inbounds i64, i64* %29, i64 1 %97 = load i64, i64* %96, align 8, !tbaa !2883 %98 = trunc i64 %97 to i32 %99 = icmp eq i32 %98, 1 br i1 %99, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %101 = getelementptr inbounds i64, i64* %29, i64 2 %102 = load i64, i64* %101, align 8, !tbaa !2885 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 12 br i1 %104, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.220, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %106 = getelementptr inbounds i64, i64* %29, i64 3 %107 = load i64, i64* %106, align 8, !tbaa !2888 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 3 br i1 %109, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.221, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %111 = getelementptr inbounds i64, i64* %29, i64 4 %112 = load i64, i64* %111, align 8, !tbaa !2890 %113 = trunc i64 %112 to i32 %114 = icmp eq i32 %113, 64 br i1 %114, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %115 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %115(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.222, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %.not47 = icmp eq i64* %31, null br i1 %.not47, label %if_end38, label %if_then37, !prof !47 if_then37: ; preds = %assert_end36 %116 = load i64, i64* %31, align 8, !tbaa !2894 %117 = trunc i64 %116 to i32 %118 = icmp eq i32 %117, 2304 %119 = getelementptr inbounds i64, i64* %31, i64 1 %120 = load i64, i64* %119, align 8, !tbaa !2908 %121 = trunc i64 %120 to i32 %122 = icmp eq i32 %121, 2304 %123 = getelementptr inbounds i64, i64* %31, i64 2 %124 = load i64, i64* %123, align 8, !tbaa !2910 %125 = trunc i64 %124 to i32 %126 = icmp eq i32 %125, 192 %127 = getelementptr inbounds i64, i64* %31, i64 3 %128 = load i64, i64* %127, align 8, !tbaa !2913 %129 = trunc i64 %128 to i32 %130 = icmp eq i32 %129, 64 %131 = getelementptr inbounds i64, i64* %31, i64 4 %132 = load i64, i64* %131, align 8, !tbaa !2915 %133 = trunc i64 %132 to i32 %134 = icmp eq i32 %133, 1 %135 = and i1 %130, %134 %136 = and i1 %126, %135 %137 = and i1 %122, %136 %138 = and i1 %118, %137 br i1 %138, label %if_end38, label %assert_fail39, !prof !5 if_end38: ; preds = %if_then37, %assert_end36 %139 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end42, label %assert_fail41, !prof !5 assert_fail39: ; preds = %if_then37 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([236 x i8], [236 x i8]* @.str.223, i64 0, i64 0)) ret i32 -1 assert_fail41: ; preds = %if_end38 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %if_end38 %144 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %148 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %25, %149 br i1 %150, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %152 = tail call fastcc i32 @fused_reshape_2_compute_(i8* %27, i8* %19) ret i32 %152 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_2_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %22, align 8 %3 = getelementptr inbounds %22, %22* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %22, %22* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %22* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.224, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.224(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 1535 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 1536 %15 = select i1 %14, i32 %13, i32 1536 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 1536 %18 = select i1 %17, i32 %16, i32 1536 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_begin1.preheader %indvars.iv18 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next19, %for_begin1.preheader ] %21 = mul nsw i64 %indvars.iv18, 192 %broadcast.splatinsert74 = insertelement <4 x i64> undef, i64 %21, i32 0 %broadcast.splat75 = shufflevector <4 x i64> %broadcast.splatinsert74, <4 x i64> undef, <4 x i32> zeroinitializer %22 = or <4 x i64> %broadcast.splat75, %23 = getelementptr inbounds float, float* %7, <4 x i64> %22 %wide.masked.gather76 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %23, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %24 = getelementptr inbounds float, float* %4, <4 x i64> %22 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather76, <4 x float*> %24, i32 4, <4 x i1> ), !tbaa !2922 %25 = or <4 x i64> %broadcast.splat75, %26 = getelementptr inbounds float, float* %7, <4 x i64> %25 %wide.masked.gather77 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %26, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %27 = getelementptr inbounds float, float* %4, <4 x i64> %25 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather77, <4 x float*> %27, i32 4, <4 x i1> ), !tbaa !2922 %28 = or <4 x i64> %broadcast.splat75, %29 = getelementptr inbounds float, float* %7, <4 x i64> %28 %wide.masked.gather78 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %29, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %30 = getelementptr inbounds float, float* %4, <4 x i64> %28 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather78, <4 x float*> %30, i32 4, <4 x i1> ), !tbaa !2922 %31 = or <4 x i64> %broadcast.splat75, %32 = getelementptr inbounds float, float* %7, <4 x i64> %31 %wide.masked.gather79 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %32, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %33 = getelementptr inbounds float, float* %4, <4 x i64> %31 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather79, <4 x float*> %33, i32 4, <4 x i1> ), !tbaa !2922 %34 = or <4 x i64> %broadcast.splat75, %35 = getelementptr inbounds float, float* %7, <4 x i64> %34 %wide.masked.gather80 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %35, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %36 = getelementptr inbounds float, float* %4, <4 x i64> %34 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather80, <4 x float*> %36, i32 4, <4 x i1> ), !tbaa !2922 %37 = or <4 x i64> %broadcast.splat75, %38 = getelementptr inbounds float, float* %7, <4 x i64> %37 %wide.masked.gather81 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %38, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %39 = getelementptr inbounds float, float* %4, <4 x i64> %37 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather81, <4 x float*> %39, i32 4, <4 x i1> ), !tbaa !2922 %40 = or <4 x i64> %broadcast.splat75, %41 = getelementptr inbounds float, float* %7, <4 x i64> %40 %wide.masked.gather82 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %41, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %42 = getelementptr inbounds float, float* %4, <4 x i64> %40 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather82, <4 x float*> %42, i32 4, <4 x i1> ), !tbaa !2922 %43 = or <4 x i64> %broadcast.splat75, %44 = getelementptr inbounds float, float* %7, <4 x i64> %43 %wide.masked.gather83 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %44, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %45 = getelementptr inbounds float, float* %4, <4 x i64> %43 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather83, <4 x float*> %45, i32 4, <4 x i1> ), !tbaa !2922 %46 = or <4 x i64> %broadcast.splat75, %47 = getelementptr inbounds float, float* %7, <4 x i64> %46 %wide.masked.gather84 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %47, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %48 = getelementptr inbounds float, float* %4, <4 x i64> %46 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather84, <4 x float*> %48, i32 4, <4 x i1> ), !tbaa !2922 %49 = or <4 x i64> %broadcast.splat75, %50 = getelementptr inbounds float, float* %7, <4 x i64> %49 %wide.masked.gather85 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %50, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %51 = getelementptr inbounds float, float* %4, <4 x i64> %49 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather85, <4 x float*> %51, i32 4, <4 x i1> ), !tbaa !2922 %52 = or <4 x i64> %broadcast.splat75, %53 = getelementptr inbounds float, float* %7, <4 x i64> %52 %wide.masked.gather86 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %53, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %54 = getelementptr inbounds float, float* %4, <4 x i64> %52 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather86, <4 x float*> %54, i32 4, <4 x i1> ), !tbaa !2922 %55 = or <4 x i64> %broadcast.splat75, %56 = getelementptr inbounds float, float* %7, <4 x i64> %55 %wide.masked.gather87 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %56, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %57 = getelementptr inbounds float, float* %4, <4 x i64> %55 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather87, <4 x float*> %57, i32 4, <4 x i1> ), !tbaa !2922 %58 = or <4 x i64> %broadcast.splat75, %59 = getelementptr inbounds float, float* %7, <4 x i64> %58 %wide.masked.gather88 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %59, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %60 = getelementptr inbounds float, float* %4, <4 x i64> %58 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather88, <4 x float*> %60, i32 4, <4 x i1> ), !tbaa !2922 %61 = or <4 x i64> %broadcast.splat75, %62 = getelementptr inbounds float, float* %7, <4 x i64> %61 %wide.masked.gather89 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %62, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %63 = getelementptr inbounds float, float* %4, <4 x i64> %61 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather89, <4 x float*> %63, i32 4, <4 x i1> ), !tbaa !2922 %64 = or <4 x i64> %broadcast.splat75, %65 = getelementptr inbounds float, float* %7, <4 x i64> %64 %wide.masked.gather90 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %65, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %66 = getelementptr inbounds float, float* %4, <4 x i64> %64 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather90, <4 x float*> %66, i32 4, <4 x i1> ), !tbaa !2922 %67 = or <4 x i64> %broadcast.splat75, %68 = getelementptr inbounds float, float* %7, <4 x i64> %67 %wide.masked.gather91 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %68, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %69 = getelementptr inbounds float, float* %4, <4 x i64> %67 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather91, <4 x float*> %69, i32 4, <4 x i1> ), !tbaa !2922 %70 = add nsw i64 %21, 64 %broadcast.splatinsert46 = insertelement <4 x i64> undef, i64 %70, i32 0 %broadcast.splat47 = shufflevector <4 x i64> %broadcast.splatinsert46, <4 x i64> undef, <4 x i32> zeroinitializer %71 = or <4 x i64> %broadcast.splat47, %72 = getelementptr inbounds float, float* %7, <4 x i64> %71 %wide.masked.gather48 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %72, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %73 = getelementptr inbounds float, float* %4, <4 x i64> %71 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather48, <4 x float*> %73, i32 4, <4 x i1> ), !tbaa !2922 %74 = or <4 x i64> %broadcast.splat47, %75 = getelementptr inbounds float, float* %7, <4 x i64> %74 %wide.masked.gather49 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %75, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %76 = getelementptr inbounds float, float* %4, <4 x i64> %74 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather49, <4 x float*> %76, i32 4, <4 x i1> ), !tbaa !2922 %77 = or <4 x i64> %broadcast.splat47, %78 = getelementptr inbounds float, float* %7, <4 x i64> %77 %wide.masked.gather50 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %78, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %79 = getelementptr inbounds float, float* %4, <4 x i64> %77 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather50, <4 x float*> %79, i32 4, <4 x i1> ), !tbaa !2922 %80 = or <4 x i64> %broadcast.splat47, %81 = getelementptr inbounds float, float* %7, <4 x i64> %80 %wide.masked.gather51 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %81, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %82 = getelementptr inbounds float, float* %4, <4 x i64> %80 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather51, <4 x float*> %82, i32 4, <4 x i1> ), !tbaa !2922 %83 = or <4 x i64> %broadcast.splat47, %84 = getelementptr inbounds float, float* %7, <4 x i64> %83 %wide.masked.gather52 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %84, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %85 = getelementptr inbounds float, float* %4, <4 x i64> %83 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather52, <4 x float*> %85, i32 4, <4 x i1> ), !tbaa !2922 %86 = or <4 x i64> %broadcast.splat47, %87 = getelementptr inbounds float, float* %7, <4 x i64> %86 %wide.masked.gather53 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %87, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %88 = getelementptr inbounds float, float* %4, <4 x i64> %86 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather53, <4 x float*> %88, i32 4, <4 x i1> ), !tbaa !2922 %89 = or <4 x i64> %broadcast.splat47, %90 = getelementptr inbounds float, float* %7, <4 x i64> %89 %wide.masked.gather54 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %90, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %91 = getelementptr inbounds float, float* %4, <4 x i64> %89 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather54, <4 x float*> %91, i32 4, <4 x i1> ), !tbaa !2922 %92 = or <4 x i64> %broadcast.splat47, %93 = getelementptr inbounds float, float* %7, <4 x i64> %92 %wide.masked.gather55 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %93, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %94 = getelementptr inbounds float, float* %4, <4 x i64> %92 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather55, <4 x float*> %94, i32 4, <4 x i1> ), !tbaa !2922 %95 = or <4 x i64> %broadcast.splat47, %96 = getelementptr inbounds float, float* %7, <4 x i64> %95 %wide.masked.gather56 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %96, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %97 = getelementptr inbounds float, float* %4, <4 x i64> %95 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather56, <4 x float*> %97, i32 4, <4 x i1> ), !tbaa !2922 %98 = or <4 x i64> %broadcast.splat47, %99 = getelementptr inbounds float, float* %7, <4 x i64> %98 %wide.masked.gather57 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %99, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %100 = getelementptr inbounds float, float* %4, <4 x i64> %98 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather57, <4 x float*> %100, i32 4, <4 x i1> ), !tbaa !2922 %101 = or <4 x i64> %broadcast.splat47, %102 = getelementptr inbounds float, float* %7, <4 x i64> %101 %wide.masked.gather58 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %102, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %103 = getelementptr inbounds float, float* %4, <4 x i64> %101 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather58, <4 x float*> %103, i32 4, <4 x i1> ), !tbaa !2922 %104 = or <4 x i64> %broadcast.splat47, %105 = getelementptr inbounds float, float* %7, <4 x i64> %104 %wide.masked.gather59 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %105, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %106 = getelementptr inbounds float, float* %4, <4 x i64> %104 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather59, <4 x float*> %106, i32 4, <4 x i1> ), !tbaa !2922 %107 = or <4 x i64> %broadcast.splat47, %108 = getelementptr inbounds float, float* %7, <4 x i64> %107 %wide.masked.gather60 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %108, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %109 = getelementptr inbounds float, float* %4, <4 x i64> %107 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather60, <4 x float*> %109, i32 4, <4 x i1> ), !tbaa !2922 %110 = or <4 x i64> %broadcast.splat47, %111 = getelementptr inbounds float, float* %7, <4 x i64> %110 %wide.masked.gather61 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %111, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %112 = getelementptr inbounds float, float* %4, <4 x i64> %110 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather61, <4 x float*> %112, i32 4, <4 x i1> ), !tbaa !2922 %113 = or <4 x i64> %broadcast.splat47, %114 = getelementptr inbounds float, float* %7, <4 x i64> %113 %wide.masked.gather62 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %114, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %115 = getelementptr inbounds float, float* %4, <4 x i64> %113 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather62, <4 x float*> %115, i32 4, <4 x i1> ), !tbaa !2922 %116 = or <4 x i64> %broadcast.splat47, %117 = getelementptr inbounds float, float* %7, <4 x i64> %116 %wide.masked.gather63 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %117, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %118 = getelementptr inbounds float, float* %4, <4 x i64> %116 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather63, <4 x float*> %118, i32 4, <4 x i1> ), !tbaa !2922 %119 = add nsw i64 %21, 128 %broadcast.splatinsert = insertelement <4 x i64> undef, i64 %119, i32 0 %broadcast.splat = shufflevector <4 x i64> %broadcast.splatinsert, <4 x i64> undef, <4 x i32> zeroinitializer %120 = or <4 x i64> %broadcast.splat, %121 = getelementptr inbounds float, float* %7, <4 x i64> %120 %wide.masked.gather = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %121, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %122 = getelementptr inbounds float, float* %4, <4 x i64> %120 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather, <4 x float*> %122, i32 4, <4 x i1> ), !tbaa !2922 %123 = or <4 x i64> %broadcast.splat, %124 = getelementptr inbounds float, float* %7, <4 x i64> %123 %wide.masked.gather21 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %124, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %125 = getelementptr inbounds float, float* %4, <4 x i64> %123 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather21, <4 x float*> %125, i32 4, <4 x i1> ), !tbaa !2922 %126 = or <4 x i64> %broadcast.splat, %127 = getelementptr inbounds float, float* %7, <4 x i64> %126 %wide.masked.gather22 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %127, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %128 = getelementptr inbounds float, float* %4, <4 x i64> %126 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather22, <4 x float*> %128, i32 4, <4 x i1> ), !tbaa !2922 %129 = or <4 x i64> %broadcast.splat, %130 = getelementptr inbounds float, float* %7, <4 x i64> %129 %wide.masked.gather23 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %130, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %131 = getelementptr inbounds float, float* %4, <4 x i64> %129 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather23, <4 x float*> %131, i32 4, <4 x i1> ), !tbaa !2922 %132 = or <4 x i64> %broadcast.splat, %133 = getelementptr inbounds float, float* %7, <4 x i64> %132 %wide.masked.gather24 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %133, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %134 = getelementptr inbounds float, float* %4, <4 x i64> %132 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather24, <4 x float*> %134, i32 4, <4 x i1> ), !tbaa !2922 %135 = or <4 x i64> %broadcast.splat, %136 = getelementptr inbounds float, float* %7, <4 x i64> %135 %wide.masked.gather25 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %136, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %137 = getelementptr inbounds float, float* %4, <4 x i64> %135 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather25, <4 x float*> %137, i32 4, <4 x i1> ), !tbaa !2922 %138 = or <4 x i64> %broadcast.splat, %139 = getelementptr inbounds float, float* %7, <4 x i64> %138 %wide.masked.gather26 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %139, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %140 = getelementptr inbounds float, float* %4, <4 x i64> %138 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather26, <4 x float*> %140, i32 4, <4 x i1> ), !tbaa !2922 %141 = or <4 x i64> %broadcast.splat, %142 = getelementptr inbounds float, float* %7, <4 x i64> %141 %wide.masked.gather27 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %142, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %143 = getelementptr inbounds float, float* %4, <4 x i64> %141 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather27, <4 x float*> %143, i32 4, <4 x i1> ), !tbaa !2922 %144 = or <4 x i64> %broadcast.splat, %145 = getelementptr inbounds float, float* %7, <4 x i64> %144 %wide.masked.gather28 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %145, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %146 = getelementptr inbounds float, float* %4, <4 x i64> %144 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather28, <4 x float*> %146, i32 4, <4 x i1> ), !tbaa !2922 %147 = or <4 x i64> %broadcast.splat, %148 = getelementptr inbounds float, float* %7, <4 x i64> %147 %wide.masked.gather29 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %148, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %149 = getelementptr inbounds float, float* %4, <4 x i64> %147 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather29, <4 x float*> %149, i32 4, <4 x i1> ), !tbaa !2922 %150 = or <4 x i64> %broadcast.splat, %151 = getelementptr inbounds float, float* %7, <4 x i64> %150 %wide.masked.gather30 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %151, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %152 = getelementptr inbounds float, float* %4, <4 x i64> %150 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather30, <4 x float*> %152, i32 4, <4 x i1> ), !tbaa !2922 %153 = or <4 x i64> %broadcast.splat, %154 = getelementptr inbounds float, float* %7, <4 x i64> %153 %wide.masked.gather31 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %154, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %155 = getelementptr inbounds float, float* %4, <4 x i64> %153 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather31, <4 x float*> %155, i32 4, <4 x i1> ), !tbaa !2922 %156 = or <4 x i64> %broadcast.splat, %157 = getelementptr inbounds float, float* %7, <4 x i64> %156 %wide.masked.gather32 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %157, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %158 = getelementptr inbounds float, float* %4, <4 x i64> %156 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather32, <4 x float*> %158, i32 4, <4 x i1> ), !tbaa !2922 %159 = or <4 x i64> %broadcast.splat, %160 = getelementptr inbounds float, float* %7, <4 x i64> %159 %wide.masked.gather33 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %160, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %161 = getelementptr inbounds float, float* %4, <4 x i64> %159 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather33, <4 x float*> %161, i32 4, <4 x i1> ), !tbaa !2922 %162 = or <4 x i64> %broadcast.splat, %163 = getelementptr inbounds float, float* %7, <4 x i64> %162 %wide.masked.gather34 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %163, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %164 = getelementptr inbounds float, float* %4, <4 x i64> %162 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather34, <4 x float*> %164, i32 4, <4 x i1> ), !tbaa !2922 %165 = or <4 x i64> %broadcast.splat, %166 = getelementptr inbounds float, float* %7, <4 x i64> %165 %wide.masked.gather35 = call <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*> %166, i32 4, <4 x i1> , <4 x float> undef), !tbaa !2919 %167 = getelementptr inbounds float, float* %4, <4 x i64> %165 call void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float> %wide.masked.gather35, <4 x float*> %167, i32 4, <4 x i1> ), !tbaa !2922 %indvars.iv.next19 = add nsw i64 %indvars.iv18, 1 %exitcond20.not = icmp eq i64 %indvars.iv.next19, %wide.trip.count br i1 %exitcond20.not, label %for_end, label %for_begin1.preheader, !prof !47 for_end: ; preds = %for_begin1.preheader, %entry ret i32 0 } define dllexport i32 @fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479_(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 7 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([154 x i8], [154 x i8]* @.str.225, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !2925 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !2939 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !2941 %24 = getelementptr inbounds i8, i8* %0, i64 24 %25 = bitcast i8* %24 to %2** %26 = load %2*, %2** %25, align 8 %27 = getelementptr inbounds i8, i8* %1, i64 12 %28 = bitcast i8* %27 to i32* %29 = load i32, i32* %28, align 4, !tbaa !2944 %30 = getelementptr inbounds i8, i8* %0, i64 32 %31 = bitcast i8* %30 to %2** %32 = load %2*, %2** %31, align 8 %33 = getelementptr inbounds i8, i8* %1, i64 16 %34 = bitcast i8* %33 to i32* %35 = load i32, i32* %34, align 4, !tbaa !2946 %36 = getelementptr inbounds i8, i8* %0, i64 40 %37 = bitcast i8* %36 to %2** %38 = load %2*, %2** %37, align 8 %39 = getelementptr inbounds i8, i8* %1, i64 20 %40 = bitcast i8* %39 to i32* %41 = load i32, i32* %40, align 4, !tbaa !2950 %42 = getelementptr inbounds i8, i8* %0, i64 48 %43 = bitcast i8* %42 to %2** %44 = load %2*, %2** %43, align 8 %45 = getelementptr inbounds i8, i8* %1, i64 24 %46 = bitcast i8* %45 to i32* %47 = load i32, i32* %46, align 4, !tbaa !2952 %48 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %55 = load i32, i32* %54, align 4 %56 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %57 = load i8*, i8** %56, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %57, i64 128) ] %58 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %59 = load i64*, i64** %58, align 8 %60 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %61 = load i64*, i64** %60, align 8 %62 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %63 = load i8*, i8** %62, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %63, i64 128) ] %64 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %65 = load i64*, i64** %64, align 8 %66 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %67 = load i64*, i64** %66, align 8 %68 = getelementptr inbounds %2, %2* %26, i64 0, i32 0 %69 = load i8*, i8** %68, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %69, i64 128) ] %70 = getelementptr inbounds %2, %2* %26, i64 0, i32 4 %71 = load i64*, i64** %70, align 8 %72 = getelementptr inbounds %2, %2* %26, i64 0, i32 5 %73 = load i64*, i64** %72, align 8 %74 = getelementptr inbounds %2, %2* %32, i64 0, i32 0 %75 = load i8*, i8** %74, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %75, i64 128) ] %76 = getelementptr inbounds %2, %2* %32, i64 0, i32 4 %77 = load i64*, i64** %76, align 8 %78 = getelementptr inbounds %2, %2* %32, i64 0, i32 5 %79 = load i64*, i64** %78, align 8 %80 = getelementptr inbounds %2, %2* %38, i64 0, i32 0 %81 = load i8*, i8** %80, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %81, i64 128) ] %82 = getelementptr inbounds %2, %2* %38, i64 0, i32 4 %83 = load i64*, i64** %82, align 8 %84 = getelementptr inbounds %2, %2* %38, i64 0, i32 5 %85 = load i64*, i64** %84, align 8 %86 = getelementptr inbounds %2, %2* %44, i64 0, i32 0 %87 = load i8*, i8** %86, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %87, i64 128) ] %88 = getelementptr inbounds %2, %2* %44, i64 0, i32 4 %89 = load i64*, i64** %88, align 8 %90 = getelementptr inbounds %2, %2* %44, i64 0, i32 5 %91 = load i64*, i64** %90, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %92 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %92(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.226, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %93 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %93(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.227, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %94(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.228, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %29, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.229, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 switch i32 %35, label %assert_fail9 [ i32 13, label %assert_end10 i32 7, label %assert_end10 i32 4, label %assert_end10 i32 3, label %assert_end10 ] assert_fail9: ; preds = %assert_end8 %96 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %96(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.230, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8 switch i32 %41, label %assert_fail11 [ i32 13, label %assert_end12 i32 7, label %assert_end12 i32 4, label %assert_end12 i32 3, label %assert_end12 ] assert_fail11: ; preds = %assert_end10 %97 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %97(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.231, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10, %assert_end10, %assert_end10, %assert_end10 switch i32 %47, label %assert_fail13 [ i32 13, label %assert_end14 i32 7, label %assert_end14 i32 4, label %assert_end14 i32 3, label %assert_end14 ] assert_fail13: ; preds = %assert_end12 %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %98(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.232, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12, %assert_end12, %assert_end12, %assert_end12 %99 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %100 = load i32, i32* %99, align 4 %101 = icmp eq i32 %100, 3 br i1 %101, label %assert_end18, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %102 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %102(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end14 %103 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %104 = load i16, i16* %103, align 2 %105 = icmp eq i16 %104, 1 %106 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %107 = load i8, i8* %106, align 1 %108 = icmp eq i8 %107, 32 %109 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %110 = load i8, i8* %109, align 1 %111 = icmp eq i8 %110, 2 %112 = and i1 %108, %111 %113 = and i1 %105, %112 br i1 %113, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %114(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %115 = load i64, i64* %51, align 8, !tbaa !2955 %116 = trunc i64 %115 to i32 %117 = icmp eq i32 %116, 128 br i1 %117, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %118(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %119 = getelementptr inbounds i64, i64* %51, i64 1 %120 = load i64, i64* %119, align 8, !tbaa !2969 %121 = trunc i64 %120 to i32 %122 = icmp eq i32 %121, 1 br i1 %122, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %124 = getelementptr inbounds i64, i64* %51, i64 2 %125 = load i64, i64* %124, align 8, !tbaa !2971 %126 = trunc i64 %125 to i32 %127 = icmp eq i32 %126, 768 br i1 %127, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %128(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.8, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %.not = icmp eq i64* %53, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end26 %129 = load i64, i64* %53, align 8, !tbaa !2974 %130 = trunc i64 %129 to i32 %131 = icmp eq i32 %130, 768 %132 = getelementptr inbounds i64, i64* %53, i64 1 %133 = load i64, i64* %132, align 8, !tbaa !2988 %134 = trunc i64 %133 to i32 %135 = icmp eq i32 %134, 768 %136 = getelementptr inbounds i64, i64* %53, i64 2 %137 = load i64, i64* %136, align 8, !tbaa !2990 %138 = trunc i64 %137 to i32 %139 = icmp eq i32 %138, 1 %140 = and i1 %135, %139 %141 = and i1 %131, %140 br i1 %141, label %if_end, label %assert_fail27, !prof !5 if_end: ; preds = %if_then, %assert_end26 %142 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %143 = load i64, i64* %142, align 8 %144 = icmp eq i64 %143, 0 br i1 %144, label %assert_end30, label %assert_fail29, !prof !5 assert_fail27: ; preds = %if_then %145 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %145(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.9, i64 0, i64 0)) ret i32 -1 assert_fail29: ; preds = %if_end %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %146(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %if_end %147 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %148 = load i32, i32* %147, align 4 %149 = icmp eq i32 %148, 1 br i1 %149, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %150(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %151 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %152 = load i32, i32* %151, align 4 %153 = icmp eq i32 %152, 3 br i1 %153, label %assert_end36, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %154(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end32 %155 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %156 = load i16, i16* %155, align 2 %157 = icmp eq i16 %156, 1 %158 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %159 = load i8, i8* %158, align 1 %160 = icmp eq i8 %159, 32 %161 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %162 = load i8, i8* %161, align 1 %163 = icmp eq i8 %162, 2 %164 = and i1 %160, %163 %165 = and i1 %157, %164 br i1 %165, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %166 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %166(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %167 = load i64, i64* %59, align 8, !tbaa !2993 %168 = trunc i64 %167 to i32 %169 = icmp eq i32 %168, 128 br i1 %169, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %170 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %170(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %171 = getelementptr inbounds i64, i64* %59, i64 1 %172 = load i64, i64* %171, align 8, !tbaa !3007 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %175 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %175(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %176 = getelementptr inbounds i64, i64* %59, i64 2 %177 = load i64, i64* %176, align 8, !tbaa !3009 %178 = trunc i64 %177 to i32 %179 = icmp eq i32 %178, 1 br i1 %179, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %180(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.16, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %.not151 = icmp eq i64* %61, null br i1 %.not151, label %if_end46, label %if_then45, !prof !47 if_then45: ; preds = %assert_end44 %181 = load i64, i64* %61, align 8, !tbaa !3012 %182 = trunc i64 %181 to i32 %183 = icmp eq i32 %182, 1 %184 = getelementptr inbounds i64, i64* %61, i64 1 %185 = load i64, i64* %184, align 8, !tbaa !3026 %186 = trunc i64 %185 to i32 %187 = icmp eq i32 %186, 1 %188 = getelementptr inbounds i64, i64* %61, i64 2 %189 = load i64, i64* %188, align 8, !tbaa !3028 %190 = trunc i64 %189 to i32 %191 = icmp eq i32 %190, 1 %192 = and i1 %187, %191 %193 = and i1 %183, %192 br i1 %193, label %if_end46, label %assert_fail47, !prof !5 if_end46: ; preds = %if_then45, %assert_end44 %194 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %195 = load i64, i64* %194, align 8 %196 = icmp eq i64 %195, 0 br i1 %196, label %assert_end50, label %assert_fail49, !prof !5 assert_fail47: ; preds = %if_then45 %197 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %197(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.17, i64 0, i64 0)) ret i32 -1 assert_fail49: ; preds = %if_end46 %198 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %198(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %if_end46 %199 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %200 = load i32, i32* %199, align 4 %201 = icmp eq i32 %200, 1 br i1 %201, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %202 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %202(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %203 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %204 = load i32, i32* %203, align 4 %205 = icmp eq i32 %55, %204 br i1 %205, label %assert_end54, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %206 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %206(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %207 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %208 = load i32, i32* %207, align 4 %209 = icmp eq i32 %208, 3 br i1 %209, label %assert_end58, label %assert_fail55, !prof !5 assert_fail55: ; preds = %assert_end54 %210 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %210(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end54 %211 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %212 = load i16, i16* %211, align 2 %213 = icmp eq i16 %212, 1 %214 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %215 = load i8, i8* %214, align 1 %216 = icmp eq i8 %215, 32 %217 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %218 = load i8, i8* %217, align 1 %219 = icmp eq i8 %218, 2 %220 = and i1 %216, %219 %221 = and i1 %213, %220 br i1 %221, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %222 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %222(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %223 = load i64, i64* %65, align 8, !tbaa !3031 %224 = trunc i64 %223 to i32 %225 = icmp eq i32 %224, 128 br i1 %225, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %226 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %226(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.23, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %227 = getelementptr inbounds i64, i64* %65, i64 1 %228 = load i64, i64* %227, align 8, !tbaa !3045 %229 = trunc i64 %228 to i32 %230 = icmp eq i32 %229, 1 br i1 %230, label %assert_end64, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %231 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %231(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.24, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %assert_end62 %232 = getelementptr inbounds i64, i64* %65, i64 2 %233 = load i64, i64* %232, align 8, !tbaa !3047 %234 = trunc i64 %233 to i32 %235 = icmp eq i32 %234, 1 br i1 %235, label %assert_end66, label %assert_fail65, !prof !5 assert_fail65: ; preds = %assert_end64 %236 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %236(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.25, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end64 %.not152 = icmp eq i64* %67, null br i1 %.not152, label %if_end68, label %if_then67, !prof !47 if_then67: ; preds = %assert_end66 %237 = load i64, i64* %67, align 8, !tbaa !3050 %238 = trunc i64 %237 to i32 %239 = icmp eq i32 %238, 1 %240 = getelementptr inbounds i64, i64* %67, i64 1 %241 = load i64, i64* %240, align 8, !tbaa !3064 %242 = trunc i64 %241 to i32 %243 = icmp eq i32 %242, 1 %244 = getelementptr inbounds i64, i64* %67, i64 2 %245 = load i64, i64* %244, align 8, !tbaa !3066 %246 = trunc i64 %245 to i32 %247 = icmp eq i32 %246, 1 %248 = and i1 %243, %247 %249 = and i1 %239, %248 br i1 %249, label %if_end68, label %assert_fail69, !prof !5 if_end68: ; preds = %if_then67, %assert_end66 %250 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %251 = load i64, i64* %250, align 8 %252 = icmp eq i64 %251, 0 br i1 %252, label %assert_end72, label %assert_fail71, !prof !5 assert_fail69: ; preds = %if_then67 %253 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %253(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.26, i64 0, i64 0)) ret i32 -1 assert_fail71: ; preds = %if_end68 %254 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %254(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %if_end68 %255 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %256 = load i32, i32* %255, align 4 %257 = icmp eq i32 %256, 1 br i1 %257, label %assert_end74, label %assert_fail73, !prof !5 assert_fail73: ; preds = %assert_end72 %258 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %258(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end74: ; preds = %assert_end72 %259 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %260 = load i32, i32* %259, align 4 %261 = icmp eq i32 %55, %260 br i1 %261, label %assert_end76, label %assert_fail75, !prof !5 assert_fail75: ; preds = %assert_end74 %262 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %262(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end76: ; preds = %assert_end74 %263 = getelementptr inbounds %2, %2* %26, i64 0, i32 2 %264 = load i32, i32* %263, align 4 %265 = icmp eq i32 %264, 1 br i1 %265, label %assert_end80, label %assert_fail77, !prof !5 assert_fail77: ; preds = %assert_end76 %266 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %266(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.233, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end76 %267 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 2 %268 = load i16, i16* %267, align 2 %269 = icmp eq i16 %268, 1 %270 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 1 %271 = load i8, i8* %270, align 1 %272 = icmp eq i8 %271, 32 %273 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 0 %274 = load i8, i8* %273, align 1 %275 = icmp eq i8 %274, 2 %276 = and i1 %272, %275 %277 = and i1 %269, %276 br i1 %277, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %278 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %278(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %279 = load i64, i64* %71, align 8, !tbaa !3069 %280 = trunc i64 %279 to i32 %281 = icmp eq i32 %280, 768 br i1 %281, label %assert_end84, label %assert_fail83, !prof !5 assert_fail83: ; preds = %assert_end82 %282 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %282(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.234, i64 0, i64 0)) ret i32 -1 assert_end84: ; preds = %assert_end82 %.not153 = icmp eq i64* %73, null br i1 %.not153, label %if_end86, label %if_then85, !prof !47 if_then85: ; preds = %assert_end84 %283 = load i64, i64* %73, align 8, !tbaa !3083 %284 = trunc i64 %283 to i32 %285 = icmp eq i32 %284, 1 br i1 %285, label %if_end86, label %assert_fail87, !prof !5 if_end86: ; preds = %if_then85, %assert_end84 %286 = getelementptr inbounds %2, %2* %26, i64 0, i32 6 %287 = load i64, i64* %286, align 8 %288 = icmp eq i64 %287, 0 br i1 %288, label %assert_end90, label %assert_fail89, !prof !5 assert_fail87: ; preds = %if_then85 %289 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %289(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.235, i64 0, i64 0)) ret i32 -1 assert_fail89: ; preds = %if_end86 %290 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %290(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end90: ; preds = %if_end86 %291 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 0 %292 = load i32, i32* %291, align 4 %293 = icmp eq i32 %292, 1 br i1 %293, label %assert_end92, label %assert_fail91, !prof !5 assert_fail91: ; preds = %assert_end90 %294 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %294(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end92: ; preds = %assert_end90 %295 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 1 %296 = load i32, i32* %295, align 4 %297 = icmp eq i32 %55, %296 br i1 %297, label %assert_end94, label %assert_fail93, !prof !5 assert_fail93: ; preds = %assert_end92 %298 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %298(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end94: ; preds = %assert_end92 %299 = getelementptr inbounds %2, %2* %32, i64 0, i32 2 %300 = load i32, i32* %299, align 4 %301 = icmp eq i32 %300, 1 br i1 %301, label %assert_end98, label %assert_fail95, !prof !5 assert_fail95: ; preds = %assert_end94 %302 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %302(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.236, i64 0, i64 0)) ret i32 -1 assert_end98: ; preds = %assert_end94 %303 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 2 %304 = load i16, i16* %303, align 2 %305 = icmp eq i16 %304, 1 %306 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 1 %307 = load i8, i8* %306, align 1 %308 = icmp eq i8 %307, 32 %309 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 0 %310 = load i8, i8* %309, align 1 %311 = icmp eq i8 %310, 2 %312 = and i1 %308, %311 %313 = and i1 %305, %312 br i1 %313, label %assert_end100, label %assert_fail99, !prof !5 assert_fail99: ; preds = %assert_end98 %314 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %314(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.192, i64 0, i64 0)) ret i32 -1 assert_end100: ; preds = %assert_end98 %315 = load i64, i64* %77, align 8, !tbaa !3097 %316 = trunc i64 %315 to i32 %317 = icmp eq i32 %316, 768 br i1 %317, label %assert_end102, label %assert_fail101, !prof !5 assert_fail101: ; preds = %assert_end100 %318 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %318(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.237, i64 0, i64 0)) ret i32 -1 assert_end102: ; preds = %assert_end100 %.not154 = icmp eq i64* %79, null br i1 %.not154, label %if_end104, label %if_then103, !prof !47 if_then103: ; preds = %assert_end102 %319 = load i64, i64* %79, align 8, !tbaa !3111 %320 = trunc i64 %319 to i32 %321 = icmp eq i32 %320, 1 br i1 %321, label %if_end104, label %assert_fail105, !prof !5 if_end104: ; preds = %if_then103, %assert_end102 %322 = getelementptr inbounds %2, %2* %32, i64 0, i32 6 %323 = load i64, i64* %322, align 8 %324 = icmp eq i64 %323, 0 br i1 %324, label %assert_end108, label %assert_fail107, !prof !5 assert_fail105: ; preds = %if_then103 %325 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %325(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.238, i64 0, i64 0)) ret i32 -1 assert_fail107: ; preds = %if_end104 %326 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %326(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.197, i64 0, i64 0)) ret i32 -1 assert_end108: ; preds = %if_end104 %327 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 0 %328 = load i32, i32* %327, align 4 %329 = icmp eq i32 %328, 1 br i1 %329, label %assert_end110, label %assert_fail109, !prof !5 assert_fail109: ; preds = %assert_end108 %330 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %330(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.198, i64 0, i64 0)) ret i32 -1 assert_end110: ; preds = %assert_end108 %331 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 1 %332 = load i32, i32* %331, align 4 %333 = icmp eq i32 %55, %332 br i1 %333, label %assert_end112, label %assert_fail111, !prof !5 assert_fail111: ; preds = %assert_end110 %334 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %334(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.199, i64 0, i64 0)) ret i32 -1 assert_end112: ; preds = %assert_end110 %335 = getelementptr inbounds %2, %2* %38, i64 0, i32 2 %336 = load i32, i32* %335, align 4 %337 = icmp eq i32 %336, 1 br i1 %337, label %assert_end116, label %assert_fail113, !prof !5 assert_fail113: ; preds = %assert_end112 %338 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %338(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.239, i64 0, i64 0)) ret i32 -1 assert_end116: ; preds = %assert_end112 %339 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 2 %340 = load i16, i16* %339, align 2 %341 = icmp eq i16 %340, 1 %342 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 1 %343 = load i8, i8* %342, align 1 %344 = icmp eq i8 %343, 32 %345 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 0 %346 = load i8, i8* %345, align 1 %347 = icmp eq i8 %346, 2 %348 = and i1 %344, %347 %349 = and i1 %341, %348 br i1 %349, label %assert_end118, label %assert_fail117, !prof !5 assert_fail117: ; preds = %assert_end116 %350 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %350(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.201, i64 0, i64 0)) ret i32 -1 assert_end118: ; preds = %assert_end116 %351 = load i64, i64* %83, align 8, !tbaa !3125 %352 = trunc i64 %351 to i32 %353 = icmp eq i32 %352, 1 br i1 %353, label %assert_end120, label %assert_fail119, !prof !5 assert_fail119: ; preds = %assert_end118 %354 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %354(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.240, i64 0, i64 0)) ret i32 -1 assert_end120: ; preds = %assert_end118 %.not155 = icmp eq i64* %85, null br i1 %.not155, label %if_end122, label %if_then121, !prof !47 if_then121: ; preds = %assert_end120 %355 = load i64, i64* %85, align 8, !tbaa !3139 %356 = trunc i64 %355 to i32 %357 = icmp eq i32 %356, 1 br i1 %357, label %if_end122, label %assert_fail123, !prof !5 if_end122: ; preds = %if_then121, %assert_end120 %358 = getelementptr inbounds %2, %2* %38, i64 0, i32 6 %359 = load i64, i64* %358, align 8 %360 = icmp eq i64 %359, 0 br i1 %360, label %assert_end126, label %assert_fail125, !prof !5 assert_fail123: ; preds = %if_then121 %361 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %361(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.241, i64 0, i64 0)) ret i32 -1 assert_fail125: ; preds = %if_end122 %362 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %362(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.206, i64 0, i64 0)) ret i32 -1 assert_end126: ; preds = %if_end122 %363 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 0 %364 = load i32, i32* %363, align 4 %365 = icmp eq i32 %364, 1 br i1 %365, label %assert_end128, label %assert_fail127, !prof !5 assert_fail127: ; preds = %assert_end126 %366 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %366(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.207, i64 0, i64 0)) ret i32 -1 assert_end128: ; preds = %assert_end126 %367 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 1 %368 = load i32, i32* %367, align 4 %369 = icmp eq i32 %55, %368 br i1 %369, label %assert_end130, label %assert_fail129, !prof !5 assert_fail129: ; preds = %assert_end128 %370 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %370(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.208, i64 0, i64 0)) ret i32 -1 assert_end130: ; preds = %assert_end128 %371 = getelementptr inbounds %2, %2* %44, i64 0, i32 2 %372 = load i32, i32* %371, align 4 %373 = icmp eq i32 %372, 2 br i1 %373, label %assert_end134, label %assert_fail131, !prof !5 assert_fail131: ; preds = %assert_end130 %374 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %374(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.242, i64 0, i64 0)) ret i32 -1 assert_end134: ; preds = %assert_end130 %375 = getelementptr inbounds %2, %2* %44, i64 0, i32 3, i32 2 %376 = load i16, i16* %375, align 2 %377 = icmp eq i16 %376, 1 %378 = getelementptr inbounds %2, %2* %44, i64 0, i32 3, i32 1 %379 = load i8, i8* %378, align 1 %380 = icmp eq i8 %379, 32 %381 = getelementptr inbounds %2, %2* %44, i64 0, i32 3, i32 0 %382 = load i8, i8* %381, align 1 %383 = icmp eq i8 %382, 2 %384 = and i1 %380, %383 %385 = and i1 %377, %384 br i1 %385, label %assert_end136, label %assert_fail135, !prof !5 assert_fail135: ; preds = %assert_end134 %386 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %386(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.243, i64 0, i64 0)) ret i32 -1 assert_end136: ; preds = %assert_end134 %387 = load i64, i64* %89, align 8, !tbaa !3153 %388 = trunc i64 %387 to i32 %389 = icmp eq i32 %388, 1 br i1 %389, label %assert_end138, label %assert_fail137, !prof !5 assert_fail137: ; preds = %assert_end136 %390 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %390(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.244, i64 0, i64 0)) ret i32 -1 assert_end138: ; preds = %assert_end136 %391 = getelementptr inbounds i64, i64* %89, i64 1 %392 = load i64, i64* %391, align 8, !tbaa !3167 %393 = trunc i64 %392 to i32 %394 = icmp eq i32 %393, 768 br i1 %394, label %assert_end140, label %assert_fail139, !prof !5 assert_fail139: ; preds = %assert_end138 %395 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %395(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.245, i64 0, i64 0)) ret i32 -1 assert_end140: ; preds = %assert_end138 %.not156 = icmp eq i64* %91, null br i1 %.not156, label %if_end142, label %if_then141, !prof !47 if_then141: ; preds = %assert_end140 %396 = load i64, i64* %91, align 8, !tbaa !3169 %397 = trunc i64 %396 to i32 %398 = icmp eq i32 %397, 768 %399 = getelementptr inbounds i64, i64* %91, i64 1 %400 = load i64, i64* %399, align 8, !tbaa !3183 %401 = trunc i64 %400 to i32 %402 = icmp eq i32 %401, 1 %403 = and i1 %398, %402 br i1 %403, label %if_end142, label %assert_fail143, !prof !5 if_end142: ; preds = %if_then141, %assert_end140 %404 = getelementptr inbounds %2, %2* %44, i64 0, i32 6 %405 = load i64, i64* %404, align 8 %406 = icmp eq i64 %405, 0 br i1 %406, label %assert_end146, label %assert_fail145, !prof !5 assert_fail143: ; preds = %if_then141 %407 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %407(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.246, i64 0, i64 0)) ret i32 -1 assert_fail145: ; preds = %if_end142 %408 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %408(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.247, i64 0, i64 0)) ret i32 -1 assert_end146: ; preds = %if_end142 %409 = getelementptr inbounds %2, %2* %44, i64 0, i32 1, i32 0 %410 = load i32, i32* %409, align 4 %411 = icmp eq i32 %410, 1 br i1 %411, label %assert_end148, label %assert_fail147, !prof !5 assert_fail147: ; preds = %assert_end146 %412 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %412(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.248, i64 0, i64 0)) ret i32 -1 assert_end148: ; preds = %assert_end146 %413 = getelementptr inbounds %2, %2* %44, i64 0, i32 1, i32 1 %414 = load i32, i32* %413, align 4 %415 = icmp eq i32 %55, %414 br i1 %415, label %assert_end150, label %assert_fail149, !prof !5 assert_fail149: ; preds = %assert_end148 %416 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %416(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.249, i64 0, i64 0)) ret i32 -1 assert_end150: ; preds = %assert_end148 tail call fastcc void @fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479__compute_(i8* %87, i8* %81, i8* %49, i8* %57, i8* %63, i8* %69, i8* %75) ret i32 0 } ; Function Attrs: nofree noinline nounwind define private fastcc void @fused_subtract_add_sqrt_divide_multiply_add_sequence_mask_transpose_strided_slic_1854526830353013479__compute_(i8* noalias nocapture align 128 %0, i8* noalias nocapture readonly align 128 %1, i8* noalias nocapture readonly align 128 %2, i8* noalias nocapture readonly align 128 %3, i8* noalias nocapture readonly align 128 %4, i8* noalias nocapture readonly align 128 %5, i8* noalias nocapture readonly align 128 %6) unnamed_addr #5 { entry: %7 = bitcast i8* %1 to float* %8 = load float, float* %7, align 128, !tbaa !3185 %9 = fcmp ugt float %8, 0.000000e+00 %10 = bitcast i8* %2 to float* %11 = bitcast i8* %5 to float* %12 = bitcast i8* %6 to float* %13 = bitcast i8* %0 to float* br i1 %9, label %for_begin1.preheader.us.preheader, label %for_begin1.preheader.preheader for_begin1.preheader.preheader: ; preds = %entry call void @llvm.memset.p0i8.i64(i8* nonnull align 128 dereferenceable(3072) %0, i8 0, i64 3072, i1 false) br label %for_end for_begin1.preheader.us.preheader: ; preds = %entry %14 = bitcast i8* %4 to float* %15 = bitcast i8* %3 to float* %.pre.pre = load float, float* %15, align 128, !tbaa !3199 %.pre14.pre = load float, float* %14, align 128, !tbaa !3213 %16 = fadd float %.pre14.pre, 0x3D71979980000000 %17 = tail call float @llvm.sqrt.f32(float %16) %broadcast.splatinsert15.1 = insertelement <16 x float> undef, float %17, i32 0 %broadcast.splat16.1 = shufflevector <16 x float> %broadcast.splatinsert15.1, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert.1 = insertelement <16 x float> undef, float %.pre.pre, i32 0 %broadcast.splat.1 = shufflevector <16 x float> %broadcast.splatinsert.1, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert15 = insertelement <16 x float> undef, float %17, i32 0 %broadcast.splat16 = shufflevector <16 x float> %broadcast.splatinsert15, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert = insertelement <16 x float> undef, float %.pre.pre, i32 0 %broadcast.splat = shufflevector <16 x float> %broadcast.splatinsert, <16 x float> undef, <16 x i32> zeroinitializer br label %for_begin1.preheader.us for_begin1.preheader.us: ; preds = %for_begin1.preheader.us, %for_begin1.preheader.us.preheader %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader.us.preheader ], [ %indvars.iv.next8.1, %for_begin1.preheader.us ] %18 = shl nsw i64 %indvars.iv7, 4 %19 = getelementptr inbounds float, float* %10, i64 %18 %20 = bitcast float* %19 to <16 x float>* %wide.load = load <16 x float>, <16 x float>* %20, align 128, !tbaa !3227 %21 = fsub <16 x float> %wide.load, %broadcast.splat %22 = fdiv <16 x float> %21, %broadcast.splat16 %23 = getelementptr inbounds float, float* %11, i64 %18 %24 = bitcast float* %23 to <16 x float>* %wide.load17 = load <16 x float>, <16 x float>* %24, align 128, !tbaa !3230 %25 = getelementptr inbounds float, float* %12, i64 %18 %26 = bitcast float* %25 to <16 x float>* %wide.load18 = load <16 x float>, <16 x float>* %26, align 128, !tbaa !3233 %27 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %22, <16 x float> %wide.load17, <16 x float> %wide.load18) %28 = getelementptr inbounds float, float* %13, i64 %18 %29 = bitcast float* %28 to <16 x float>* store <16 x float> %27, <16 x float>* %29, align 128, !tbaa !3236 %indvars.iv.next8 = shl i64 %indvars.iv7, 4 %30 = or i64 %indvars.iv.next8, 16 %31 = getelementptr inbounds float, float* %10, i64 %30 %32 = bitcast float* %31 to <16 x float>* %wide.load.1 = load <16 x float>, <16 x float>* %32, align 64, !tbaa !3227 %33 = fsub <16 x float> %wide.load.1, %broadcast.splat.1 %34 = fdiv <16 x float> %33, %broadcast.splat16.1 %35 = getelementptr inbounds float, float* %11, i64 %30 %36 = bitcast float* %35 to <16 x float>* %wide.load17.1 = load <16 x float>, <16 x float>* %36, align 64, !tbaa !3230 %37 = getelementptr inbounds float, float* %12, i64 %30 %38 = bitcast float* %37 to <16 x float>* %wide.load18.1 = load <16 x float>, <16 x float>* %38, align 64, !tbaa !3233 %39 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %34, <16 x float> %wide.load17.1, <16 x float> %wide.load18.1) %40 = getelementptr inbounds float, float* %13, i64 %30 %41 = bitcast float* %40 to <16 x float>* store <16 x float> %39, <16 x float>* %41, align 64, !tbaa !3236 %indvars.iv.next8.1 = add nuw nsw i64 %indvars.iv7, 2 %exitcond9.not.1 = icmp eq i64 %indvars.iv.next8.1, 48 br i1 %exitcond9.not.1, label %for_end, label %for_begin1.preheader.us, !prof !47 for_end: ; preds = %for_begin1.preheader.us, %for_begin1.preheader.preheader ret void } ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare float @llvm.sqrt.f32(float) #3 define dllexport i32 @fused_subtract_add_sqrt_divide_multiply_add(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 6 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.250, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !3239 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !3253 %18 = getelementptr inbounds i8, i8* %0, i64 16 %19 = bitcast i8* %18 to %2** %20 = load %2*, %2** %19, align 8 %21 = getelementptr inbounds i8, i8* %1, i64 8 %22 = bitcast i8* %21 to i32* %23 = load i32, i32* %22, align 4, !tbaa !3255 %24 = getelementptr inbounds i8, i8* %0, i64 24 %25 = bitcast i8* %24 to %2** %26 = load %2*, %2** %25, align 8 %27 = getelementptr inbounds i8, i8* %1, i64 12 %28 = bitcast i8* %27 to i32* %29 = load i32, i32* %28, align 4, !tbaa !3258 %30 = getelementptr inbounds i8, i8* %0, i64 32 %31 = bitcast i8* %30 to %2** %32 = load %2*, %2** %31, align 8 %33 = getelementptr inbounds i8, i8* %1, i64 16 %34 = bitcast i8* %33 to i32* %35 = load i32, i32* %34, align 4, !tbaa !3260 %36 = getelementptr inbounds i8, i8* %0, i64 40 %37 = bitcast i8* %36 to %2** %38 = load %2*, %2** %37, align 8 %39 = getelementptr inbounds i8, i8* %1, i64 20 %40 = bitcast i8* %39 to i32* %41 = load i32, i32* %40, align 4, !tbaa !3264 %42 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %49 = load i32, i32* %48, align 4 %50 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %51 = load i8*, i8** %50, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %51, i64 128) ] %52 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %55 = load i64*, i64** %54, align 8 %56 = getelementptr inbounds %2, %2* %20, i64 0, i32 0 %57 = load i8*, i8** %56, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %57, i64 128) ] %58 = getelementptr inbounds %2, %2* %20, i64 0, i32 4 %59 = load i64*, i64** %58, align 8 %60 = getelementptr inbounds %2, %2* %20, i64 0, i32 5 %61 = load i64*, i64** %60, align 8 %62 = getelementptr inbounds %2, %2* %26, i64 0, i32 0 %63 = load i8*, i8** %62, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %63, i64 128) ] %64 = getelementptr inbounds %2, %2* %26, i64 0, i32 4 %65 = load i64*, i64** %64, align 8 %66 = getelementptr inbounds %2, %2* %26, i64 0, i32 5 %67 = load i64*, i64** %66, align 8 %68 = getelementptr inbounds %2, %2* %32, i64 0, i32 0 %69 = load i8*, i8** %68, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %69, i64 128) ] %70 = getelementptr inbounds %2, %2* %32, i64 0, i32 4 %71 = load i64*, i64** %70, align 8 %72 = getelementptr inbounds %2, %2* %32, i64 0, i32 5 %73 = load i64*, i64** %72, align 8 %74 = getelementptr inbounds %2, %2* %38, i64 0, i32 0 %75 = load i8*, i8** %74, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %75, i64 128) ] %76 = getelementptr inbounds %2, %2* %38, i64 0, i32 4 %77 = load i64*, i64** %76, align 8 %78 = getelementptr inbounds %2, %2* %38, i64 0, i32 5 %79 = load i64*, i64** %78, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %80(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.251, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %81(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.252, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %23, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %82(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.253, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %29, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.254, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 switch i32 %35, label %assert_fail9 [ i32 13, label %assert_end10 i32 7, label %assert_end10 i32 4, label %assert_end10 i32 3, label %assert_end10 ] assert_fail9: ; preds = %assert_end8 %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %84(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.255, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8 switch i32 %41, label %assert_fail11 [ i32 13, label %assert_end12 i32 7, label %assert_end12 i32 4, label %assert_end12 i32 3, label %assert_end12 ] assert_fail11: ; preds = %assert_end10 %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %85(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.256, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10, %assert_end10, %assert_end10, %assert_end10 %86 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %87 = load i32, i32* %86, align 4 %88 = icmp eq i32 %87, 3 br i1 %88, label %assert_end16, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %89(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.4, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end12 %90 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %91 = load i16, i16* %90, align 2 %92 = icmp eq i16 %91, 1 %93 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %94 = load i8, i8* %93, align 1 %95 = icmp eq i8 %94, 32 %96 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %97 = load i8, i8* %96, align 1 %98 = icmp eq i8 %97, 2 %99 = and i1 %95, %98 %100 = and i1 %92, %99 br i1 %100, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %102 = load i64, i64* %45, align 8, !tbaa !3266 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 128 br i1 %104, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %106 = getelementptr inbounds i64, i64* %45, i64 1 %107 = load i64, i64* %106, align 8, !tbaa !3280 %108 = trunc i64 %107 to i32 %109 = icmp eq i32 %108, 1 br i1 %109, label %assert_end22, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %110 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %110(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %assert_end20 %111 = getelementptr inbounds i64, i64* %45, i64 2 %112 = load i64, i64* %111, align 8, !tbaa !3282 %113 = trunc i64 %112 to i32 %114 = icmp eq i32 %113, 768 br i1 %114, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %115 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %115(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.8, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %.not = icmp eq i64* %47, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end24 %116 = load i64, i64* %47, align 8, !tbaa !3285 %117 = trunc i64 %116 to i32 %118 = icmp eq i32 %117, 768 %119 = getelementptr inbounds i64, i64* %47, i64 1 %120 = load i64, i64* %119, align 8, !tbaa !3299 %121 = trunc i64 %120 to i32 %122 = icmp eq i32 %121, 768 %123 = getelementptr inbounds i64, i64* %47, i64 2 %124 = load i64, i64* %123, align 8, !tbaa !3301 %125 = trunc i64 %124 to i32 %126 = icmp eq i32 %125, 1 %127 = and i1 %122, %126 %128 = and i1 %118, %127 br i1 %128, label %if_end, label %assert_fail25, !prof !5 if_end: ; preds = %if_then, %assert_end24 %129 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %130 = load i64, i64* %129, align 8 %131 = icmp eq i64 %130, 0 br i1 %131, label %assert_end28, label %assert_fail27, !prof !5 assert_fail25: ; preds = %if_then %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %132(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.9, i64 0, i64 0)) ret i32 -1 assert_fail27: ; preds = %if_end %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %133(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %if_end %134 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %135 = load i32, i32* %134, align 4 %136 = icmp eq i32 %135, 1 br i1 %136, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %137 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %137(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %138 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %139 = load i32, i32* %138, align 4 %140 = icmp eq i32 %139, 3 br i1 %140, label %assert_end34, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %141 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %141(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end30 %142 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %143 = load i16, i16* %142, align 2 %144 = icmp eq i16 %143, 1 %145 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %146 = load i8, i8* %145, align 1 %147 = icmp eq i8 %146, 32 %148 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %149 = load i8, i8* %148, align 1 %150 = icmp eq i8 %149, 2 %151 = and i1 %147, %150 %152 = and i1 %144, %151 br i1 %152, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %153(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %154 = load i64, i64* %53, align 8, !tbaa !3304 %155 = trunc i64 %154 to i32 %156 = icmp eq i32 %155, 128 br i1 %156, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %157(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.14, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %158 = getelementptr inbounds i64, i64* %53, i64 1 %159 = load i64, i64* %158, align 8, !tbaa !3318 %160 = trunc i64 %159 to i32 %161 = icmp eq i32 %160, 1 br i1 %161, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %162 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %162(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.15, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %163 = getelementptr inbounds i64, i64* %53, i64 2 %164 = load i64, i64* %163, align 8, !tbaa !3320 %165 = trunc i64 %164 to i32 %166 = icmp eq i32 %165, 1 br i1 %166, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.16, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %.not133 = icmp eq i64* %55, null br i1 %.not133, label %if_end44, label %if_then43, !prof !47 if_then43: ; preds = %assert_end42 %168 = load i64, i64* %55, align 8, !tbaa !3323 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 1 %171 = getelementptr inbounds i64, i64* %55, i64 1 %172 = load i64, i64* %171, align 8, !tbaa !3337 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 %175 = getelementptr inbounds i64, i64* %55, i64 2 %176 = load i64, i64* %175, align 8, !tbaa !3339 %177 = trunc i64 %176 to i32 %178 = icmp eq i32 %177, 1 %179 = and i1 %174, %178 %180 = and i1 %170, %179 br i1 %180, label %if_end44, label %assert_fail45, !prof !5 if_end44: ; preds = %if_then43, %assert_end42 %181 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %182 = load i64, i64* %181, align 8 %183 = icmp eq i64 %182, 0 br i1 %183, label %assert_end48, label %assert_fail47, !prof !5 assert_fail45: ; preds = %if_then43 %184 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %184(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.17, i64 0, i64 0)) ret i32 -1 assert_fail47: ; preds = %if_end44 %185 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %185(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %if_end44 %186 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %187 = load i32, i32* %186, align 4 %188 = icmp eq i32 %187, 1 br i1 %188, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %189 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %189(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %190 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %191 = load i32, i32* %190, align 4 %192 = icmp eq i32 %49, %191 br i1 %192, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %193 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %193(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %194 = getelementptr inbounds %2, %2* %20, i64 0, i32 2 %195 = load i32, i32* %194, align 4 %196 = icmp eq i32 %195, 3 br i1 %196, label %assert_end56, label %assert_fail53, !prof !5 assert_fail53: ; preds = %assert_end52 %197 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %197(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.21, i64 0, i64 0)) ret i32 -1 assert_end56: ; preds = %assert_end52 %198 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 2 %199 = load i16, i16* %198, align 2 %200 = icmp eq i16 %199, 1 %201 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 1 %202 = load i8, i8* %201, align 1 %203 = icmp eq i8 %202, 32 %204 = getelementptr inbounds %2, %2* %20, i64 0, i32 3, i32 0 %205 = load i8, i8* %204, align 1 %206 = icmp eq i8 %205, 2 %207 = and i1 %203, %206 %208 = and i1 %200, %207 br i1 %208, label %assert_end58, label %assert_fail57, !prof !5 assert_fail57: ; preds = %assert_end56 %209 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %209(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %210 = load i64, i64* %59, align 8, !tbaa !3342 %211 = trunc i64 %210 to i32 %212 = icmp eq i32 %211, 128 br i1 %212, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %213 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %213(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.23, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %214 = getelementptr inbounds i64, i64* %59, i64 1 %215 = load i64, i64* %214, align 8, !tbaa !3356 %216 = trunc i64 %215 to i32 %217 = icmp eq i32 %216, 1 br i1 %217, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %218 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %218(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.24, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %219 = getelementptr inbounds i64, i64* %59, i64 2 %220 = load i64, i64* %219, align 8, !tbaa !3358 %221 = trunc i64 %220 to i32 %222 = icmp eq i32 %221, 1 br i1 %222, label %assert_end64, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %223 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %223(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.25, i64 0, i64 0)) ret i32 -1 assert_end64: ; preds = %assert_end62 %.not134 = icmp eq i64* %61, null br i1 %.not134, label %if_end66, label %if_then65, !prof !47 if_then65: ; preds = %assert_end64 %224 = load i64, i64* %61, align 8, !tbaa !3361 %225 = trunc i64 %224 to i32 %226 = icmp eq i32 %225, 1 %227 = getelementptr inbounds i64, i64* %61, i64 1 %228 = load i64, i64* %227, align 8, !tbaa !3375 %229 = trunc i64 %228 to i32 %230 = icmp eq i32 %229, 1 %231 = getelementptr inbounds i64, i64* %61, i64 2 %232 = load i64, i64* %231, align 8, !tbaa !3377 %233 = trunc i64 %232 to i32 %234 = icmp eq i32 %233, 1 %235 = and i1 %230, %234 %236 = and i1 %226, %235 br i1 %236, label %if_end66, label %assert_fail67, !prof !5 if_end66: ; preds = %if_then65, %assert_end64 %237 = getelementptr inbounds %2, %2* %20, i64 0, i32 6 %238 = load i64, i64* %237, align 8 %239 = icmp eq i64 %238, 0 br i1 %239, label %assert_end70, label %assert_fail69, !prof !5 assert_fail67: ; preds = %if_then65 %240 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %240(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.26, i64 0, i64 0)) ret i32 -1 assert_fail69: ; preds = %if_end66 %241 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %241(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %if_end66 %242 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 0 %243 = load i32, i32* %242, align 4 %244 = icmp eq i32 %243, 1 br i1 %244, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %245 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %245(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %246 = getelementptr inbounds %2, %2* %20, i64 0, i32 1, i32 1 %247 = load i32, i32* %246, align 4 %248 = icmp eq i32 %49, %247 br i1 %248, label %assert_end74, label %assert_fail73, !prof !5 assert_fail73: ; preds = %assert_end72 %249 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %249(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end74: ; preds = %assert_end72 %250 = getelementptr inbounds %2, %2* %26, i64 0, i32 2 %251 = load i32, i32* %250, align 4 %252 = icmp eq i32 %251, 1 br i1 %252, label %assert_end78, label %assert_fail75, !prof !5 assert_fail75: ; preds = %assert_end74 %253 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %253(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.233, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %assert_end74 %254 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 2 %255 = load i16, i16* %254, align 2 %256 = icmp eq i16 %255, 1 %257 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 1 %258 = load i8, i8* %257, align 1 %259 = icmp eq i8 %258, 32 %260 = getelementptr inbounds %2, %2* %26, i64 0, i32 3, i32 0 %261 = load i8, i8* %260, align 1 %262 = icmp eq i8 %261, 2 %263 = and i1 %259, %262 %264 = and i1 %256, %263 br i1 %264, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %265 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %265(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %266 = load i64, i64* %65, align 8, !tbaa !3380 %267 = trunc i64 %266 to i32 %268 = icmp eq i32 %267, 768 br i1 %268, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %269 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %269(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.234, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.not135 = icmp eq i64* %67, null br i1 %.not135, label %if_end84, label %if_then83, !prof !47 if_then83: ; preds = %assert_end82 %270 = load i64, i64* %67, align 8, !tbaa !3394 %271 = trunc i64 %270 to i32 %272 = icmp eq i32 %271, 1 br i1 %272, label %if_end84, label %assert_fail85, !prof !5 if_end84: ; preds = %if_then83, %assert_end82 %273 = getelementptr inbounds %2, %2* %26, i64 0, i32 6 %274 = load i64, i64* %273, align 8 %275 = icmp eq i64 %274, 0 br i1 %275, label %assert_end88, label %assert_fail87, !prof !5 assert_fail85: ; preds = %if_then83 %276 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %276(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.235, i64 0, i64 0)) ret i32 -1 assert_fail87: ; preds = %if_end84 %277 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %277(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end88: ; preds = %if_end84 %278 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 0 %279 = load i32, i32* %278, align 4 %280 = icmp eq i32 %279, 1 br i1 %280, label %assert_end90, label %assert_fail89, !prof !5 assert_fail89: ; preds = %assert_end88 %281 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %281(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end90: ; preds = %assert_end88 %282 = getelementptr inbounds %2, %2* %26, i64 0, i32 1, i32 1 %283 = load i32, i32* %282, align 4 %284 = icmp eq i32 %49, %283 br i1 %284, label %assert_end92, label %assert_fail91, !prof !5 assert_fail91: ; preds = %assert_end90 %285 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %285(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end92: ; preds = %assert_end90 %286 = getelementptr inbounds %2, %2* %32, i64 0, i32 2 %287 = load i32, i32* %286, align 4 %288 = icmp eq i32 %287, 1 br i1 %288, label %assert_end96, label %assert_fail93, !prof !5 assert_fail93: ; preds = %assert_end92 %289 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %289(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.236, i64 0, i64 0)) ret i32 -1 assert_end96: ; preds = %assert_end92 %290 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 2 %291 = load i16, i16* %290, align 2 %292 = icmp eq i16 %291, 1 %293 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 1 %294 = load i8, i8* %293, align 1 %295 = icmp eq i8 %294, 32 %296 = getelementptr inbounds %2, %2* %32, i64 0, i32 3, i32 0 %297 = load i8, i8* %296, align 1 %298 = icmp eq i8 %297, 2 %299 = and i1 %295, %298 %300 = and i1 %292, %299 br i1 %300, label %assert_end98, label %assert_fail97, !prof !5 assert_fail97: ; preds = %assert_end96 %301 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %301(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.192, i64 0, i64 0)) ret i32 -1 assert_end98: ; preds = %assert_end96 %302 = load i64, i64* %71, align 8, !tbaa !3408 %303 = trunc i64 %302 to i32 %304 = icmp eq i32 %303, 768 br i1 %304, label %assert_end100, label %assert_fail99, !prof !5 assert_fail99: ; preds = %assert_end98 %305 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %305(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.237, i64 0, i64 0)) ret i32 -1 assert_end100: ; preds = %assert_end98 %.not136 = icmp eq i64* %73, null br i1 %.not136, label %if_end102, label %if_then101, !prof !47 if_then101: ; preds = %assert_end100 %306 = load i64, i64* %73, align 8, !tbaa !3422 %307 = trunc i64 %306 to i32 %308 = icmp eq i32 %307, 1 br i1 %308, label %if_end102, label %assert_fail103, !prof !5 if_end102: ; preds = %if_then101, %assert_end100 %309 = getelementptr inbounds %2, %2* %32, i64 0, i32 6 %310 = load i64, i64* %309, align 8 %311 = icmp eq i64 %310, 0 br i1 %311, label %assert_end106, label %assert_fail105, !prof !5 assert_fail103: ; preds = %if_then101 %312 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %312(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.238, i64 0, i64 0)) ret i32 -1 assert_fail105: ; preds = %if_end102 %313 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %313(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.197, i64 0, i64 0)) ret i32 -1 assert_end106: ; preds = %if_end102 %314 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 0 %315 = load i32, i32* %314, align 4 %316 = icmp eq i32 %315, 1 br i1 %316, label %assert_end108, label %assert_fail107, !prof !5 assert_fail107: ; preds = %assert_end106 %317 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %317(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.198, i64 0, i64 0)) ret i32 -1 assert_end108: ; preds = %assert_end106 %318 = getelementptr inbounds %2, %2* %32, i64 0, i32 1, i32 1 %319 = load i32, i32* %318, align 4 %320 = icmp eq i32 %49, %319 br i1 %320, label %assert_end110, label %assert_fail109, !prof !5 assert_fail109: ; preds = %assert_end108 %321 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %321(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.199, i64 0, i64 0)) ret i32 -1 assert_end110: ; preds = %assert_end108 %322 = getelementptr inbounds %2, %2* %38, i64 0, i32 2 %323 = load i32, i32* %322, align 4 %324 = icmp eq i32 %323, 3 br i1 %324, label %assert_end114, label %assert_fail111, !prof !5 assert_fail111: ; preds = %assert_end110 %325 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %325(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.200, i64 0, i64 0)) ret i32 -1 assert_end114: ; preds = %assert_end110 %326 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 2 %327 = load i16, i16* %326, align 2 %328 = icmp eq i16 %327, 1 %329 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 1 %330 = load i8, i8* %329, align 1 %331 = icmp eq i8 %330, 32 %332 = getelementptr inbounds %2, %2* %38, i64 0, i32 3, i32 0 %333 = load i8, i8* %332, align 1 %334 = icmp eq i8 %333, 2 %335 = and i1 %331, %334 %336 = and i1 %328, %335 br i1 %336, label %assert_end116, label %assert_fail115, !prof !5 assert_fail115: ; preds = %assert_end114 %337 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %337(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.201, i64 0, i64 0)) ret i32 -1 assert_end116: ; preds = %assert_end114 %338 = load i64, i64* %77, align 8, !tbaa !3436 %339 = trunc i64 %338 to i32 %340 = icmp eq i32 %339, 128 br i1 %340, label %assert_end118, label %assert_fail117, !prof !5 assert_fail117: ; preds = %assert_end116 %341 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %341(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.202, i64 0, i64 0)) ret i32 -1 assert_end118: ; preds = %assert_end116 %342 = getelementptr inbounds i64, i64* %77, i64 1 %343 = load i64, i64* %342, align 8, !tbaa !3450 %344 = trunc i64 %343 to i32 %345 = icmp eq i32 %344, 1 br i1 %345, label %assert_end120, label %assert_fail119, !prof !5 assert_fail119: ; preds = %assert_end118 %346 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %346(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.203, i64 0, i64 0)) ret i32 -1 assert_end120: ; preds = %assert_end118 %347 = getelementptr inbounds i64, i64* %77, i64 2 %348 = load i64, i64* %347, align 8, !tbaa !3452 %349 = trunc i64 %348 to i32 %350 = icmp eq i32 %349, 768 br i1 %350, label %assert_end122, label %assert_fail121, !prof !5 assert_fail121: ; preds = %assert_end120 %351 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %351(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.204, i64 0, i64 0)) ret i32 -1 assert_end122: ; preds = %assert_end120 %.not137 = icmp eq i64* %79, null br i1 %.not137, label %if_end124, label %if_then123, !prof !47 if_then123: ; preds = %assert_end122 %352 = load i64, i64* %79, align 8, !tbaa !3455 %353 = trunc i64 %352 to i32 %354 = icmp eq i32 %353, 768 %355 = getelementptr inbounds i64, i64* %79, i64 1 %356 = load i64, i64* %355, align 8, !tbaa !3469 %357 = trunc i64 %356 to i32 %358 = icmp eq i32 %357, 768 %359 = getelementptr inbounds i64, i64* %79, i64 2 %360 = load i64, i64* %359, align 8, !tbaa !3471 %361 = trunc i64 %360 to i32 %362 = icmp eq i32 %361, 1 %363 = and i1 %358, %362 %364 = and i1 %354, %363 br i1 %364, label %if_end124, label %assert_fail125, !prof !5 if_end124: ; preds = %if_then123, %assert_end122 %365 = getelementptr inbounds %2, %2* %38, i64 0, i32 6 %366 = load i64, i64* %365, align 8 %367 = icmp eq i64 %366, 0 br i1 %367, label %assert_end128, label %assert_fail127, !prof !5 assert_fail125: ; preds = %if_then123 %368 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %368(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.205, i64 0, i64 0)) ret i32 -1 assert_fail127: ; preds = %if_end124 %369 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %369(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.206, i64 0, i64 0)) ret i32 -1 assert_end128: ; preds = %if_end124 %370 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 0 %371 = load i32, i32* %370, align 4 %372 = icmp eq i32 %371, 1 br i1 %372, label %assert_end130, label %assert_fail129, !prof !5 assert_fail129: ; preds = %assert_end128 %373 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %373(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.207, i64 0, i64 0)) ret i32 -1 assert_end130: ; preds = %assert_end128 %374 = getelementptr inbounds %2, %2* %38, i64 0, i32 1, i32 1 %375 = load i32, i32* %374, align 4 %376 = icmp eq i32 %49, %375 br i1 %376, label %assert_end132, label %assert_fail131, !prof !5 assert_fail131: ; preds = %assert_end130 %377 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %377(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.208, i64 0, i64 0)) ret i32 -1 assert_end132: ; preds = %assert_end130 %378 = tail call fastcc i32 @fused_subtract_add_sqrt_divide_multiply_add_compute_(i8* %75, i8* %43, i8* %51, i8* %57, i8* %63, i8* %69) ret i32 %378 } ; Function Attrs: noinline define private fastcc i32 @fused_subtract_add_sqrt_divide_multiply_add_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1, i8* noalias align 128 %2, i8* noalias align 128 %3, i8* noalias align 128 %4, i8* noalias align 128 %5) unnamed_addr #1 { entry: %6 = alloca %23, align 8 %7 = getelementptr inbounds %23, %23* %6, i64 0, i32 0 store i8* %0, i8** %7, align 8 %8 = getelementptr inbounds %23, %23* %6, i64 0, i32 1 store i8* %1, i8** %8, align 8 %9 = getelementptr inbounds %23, %23* %6, i64 0, i32 2 store i8* %2, i8** %9, align 8 %10 = getelementptr inbounds %23, %23* %6, i64 0, i32 3 store i8* %3, i8** %10, align 8 %11 = getelementptr inbounds %23, %23* %6, i64 0, i32 4 store i8* %4, i8** %11, align 8 %12 = getelementptr inbounds %23, %23* %6, i64 0, i32 5 store i8* %5, i8** %12, align 8 %13 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %14 = bitcast %23* %6 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.257, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.257(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #4 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds i8, i8* %2, i64 16 %9 = bitcast i8* %8 to float** %10 = load float*, float** %9, align 8 %11 = getelementptr inbounds i8, i8* %2, i64 24 %12 = bitcast i8* %11 to float** %13 = load float*, float** %12, align 8 %14 = getelementptr inbounds i8, i8* %2, i64 32 %15 = bitcast i8* %14 to float** %16 = load float*, float** %15, align 8 %17 = getelementptr inbounds i8, i8* %2, i64 40 %18 = bitcast i8* %17 to float** %19 = load float*, float** %18, align 8 %20 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %21 = load i32, i32* %20, align 4 %22 = add nsw i32 %21, 127 %23 = sdiv i32 %22, %21 %24 = add nsw i32 %0, 1 %25 = mul nsw i32 %23, %24 %26 = icmp slt i32 %25, 128 %27 = select i1 %26, i32 %25, i32 128 %28 = mul nsw i32 %23, %0 %29 = icmp slt i32 %28, 128 %30 = select i1 %29, i32 %28, i32 128 %31 = icmp slt i32 %30, %27 br i1 %31, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %32 = sext i32 %30 to i64 %wide.trip.count = sext i32 %27 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv10 = phi i64 [ %32, %for_begin1.preheader.preheader ], [ %indvars.iv.next11, %for_end3 ] %33 = getelementptr inbounds float, float* %10, i64 %indvars.iv10 %34 = load float, float* %33, align 4, !tbaa !3474 %35 = getelementptr inbounds float, float* %13, i64 %indvars.iv10 %36 = load float, float* %35, align 4, !tbaa !3477 %37 = fadd float %36, 0x3D71979980000000 %38 = tail call float @llvm.sqrt.f32(float %37) %39 = mul i64 %indvars.iv10, 768 %broadcast.splatinsert13.1 = insertelement <16 x float> undef, float %38, i32 0 %broadcast.splat14.1 = shufflevector <16 x float> %broadcast.splatinsert13.1, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert.1 = insertelement <16 x float> undef, float %34, i32 0 %broadcast.splat.1 = shufflevector <16 x float> %broadcast.splatinsert.1, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert13 = insertelement <16 x float> undef, float %38, i32 0 %broadcast.splat14 = shufflevector <16 x float> %broadcast.splatinsert13, <16 x float> undef, <16 x i32> zeroinitializer %broadcast.splatinsert = insertelement <16 x float> undef, float %34, i32 0 %broadcast.splat = shufflevector <16 x float> %broadcast.splatinsert, <16 x float> undef, <16 x i32> zeroinitializer br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin4.preheader, %for_begin1.preheader %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next8.1, %for_begin4.preheader ] %40 = shl nsw i64 %indvars.iv7, 4 %41 = add i64 %39, %40 %42 = shl i64 %41, 32 %43 = ashr exact i64 %42, 32 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = bitcast float* %44 to <16 x float>* %wide.load = load <16 x float>, <16 x float>* %45, align 4, !tbaa !3480 %46 = fsub <16 x float> %wide.load, %broadcast.splat %47 = fdiv <16 x float> %46, %broadcast.splat14 %48 = getelementptr inbounds float, float* %16, i64 %40 %49 = bitcast float* %48 to <16 x float>* %wide.load15 = load <16 x float>, <16 x float>* %49, align 4, !tbaa !3483 %50 = getelementptr inbounds float, float* %19, i64 %40 %51 = bitcast float* %50 to <16 x float>* %wide.load16 = load <16 x float>, <16 x float>* %51, align 4, !tbaa !3486 %52 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %47, <16 x float> %wide.load15, <16 x float> %wide.load16) %53 = getelementptr inbounds float, float* %4, i64 %43 %54 = bitcast float* %53 to <16 x float>* store <16 x float> %52, <16 x float>* %54, align 4, !tbaa !3489 %indvars.iv.next8 = shl i64 %indvars.iv7, 4 %55 = or i64 %indvars.iv.next8, 16 %56 = add i64 %39, %55 %57 = shl i64 %56, 32 %58 = ashr exact i64 %57, 32 %59 = getelementptr inbounds float, float* %7, i64 %58 %60 = bitcast float* %59 to <16 x float>* %wide.load.1 = load <16 x float>, <16 x float>* %60, align 4, !tbaa !3480 %61 = fsub <16 x float> %wide.load.1, %broadcast.splat.1 %62 = fdiv <16 x float> %61, %broadcast.splat14.1 %63 = getelementptr inbounds float, float* %16, i64 %55 %64 = bitcast float* %63 to <16 x float>* %wide.load15.1 = load <16 x float>, <16 x float>* %64, align 4, !tbaa !3483 %65 = getelementptr inbounds float, float* %19, i64 %55 %66 = bitcast float* %65 to <16 x float>* %wide.load16.1 = load <16 x float>, <16 x float>* %66, align 4, !tbaa !3486 %67 = call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %62, <16 x float> %wide.load15.1, <16 x float> %wide.load16.1) %68 = getelementptr inbounds float, float* %4, i64 %58 %69 = bitcast float* %68 to <16 x float>* store <16 x float> %67, <16 x float>* %69, align 4, !tbaa !3489 %indvars.iv.next8.1 = add nuw nsw i64 %indvars.iv7, 2 %exitcond9.not.1 = icmp eq i64 %indvars.iv.next8.1, 48 br i1 %exitcond9.not.1, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next11 = add nsw i64 %indvars.iv10, 1 %exitcond12.not = icmp eq i64 %indvars.iv.next11, %wide.trip.count br i1 %exitcond12.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_reshape_1(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.258, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !3492 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !3506 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.259, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.260, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 2 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3508 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 1536 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.261, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !3522 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 128 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !3524 %60 = trunc i64 %59 to i32 %61 = icmp eq i32 %60, 128 %62 = getelementptr inbounds i64, i64* %23, i64 1 %63 = load i64, i64* %62, align 8, !tbaa !3538 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 %66 = and i1 %61, %65 br i1 %66, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %67 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %68 = load i64, i64* %67, align 8 %69 = icmp eq i64 %68, 0 br i1 %69, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.262, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %72 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %73 = load i32, i32* %72, align 4 %74 = icmp eq i32 %73, 1 br i1 %74, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %76 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %77 = load i32, i32* %76, align 4 %78 = icmp eq i32 %77, 3 br i1 %78, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %80 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %81 = load i16, i16* %80, align 2 %82 = icmp eq i16 %81, 1 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %84 = load i8, i8* %83, align 1 %85 = icmp eq i8 %84, 32 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 2 %89 = and i1 %85, %88 %90 = and i1 %82, %89 br i1 %90, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %91 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %91(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !3540 %93 = trunc i64 %92 to i32 %94 = icmp eq i32 %93, 12 br i1 %94, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %96 = getelementptr inbounds i64, i64* %29, i64 1 %97 = load i64, i64* %96, align 8, !tbaa !3554 %98 = trunc i64 %97 to i32 %99 = icmp eq i32 %98, 128 br i1 %99, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %101 = getelementptr inbounds i64, i64* %29, i64 2 %102 = load i64, i64* %101, align 8, !tbaa !3556 %103 = trunc i64 %102 to i32 %104 = icmp eq i32 %103, 128 br i1 %104, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.147, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %.not43 = icmp eq i64* %31, null br i1 %.not43, label %if_end34, label %if_then33, !prof !47 if_then33: ; preds = %assert_end32 %106 = load i64, i64* %31, align 8, !tbaa !3559 %107 = trunc i64 %106 to i32 %108 = icmp eq i32 %107, 16384 %109 = getelementptr inbounds i64, i64* %31, i64 1 %110 = load i64, i64* %109, align 8, !tbaa !3573 %111 = trunc i64 %110 to i32 %112 = icmp eq i32 %111, 128 %113 = getelementptr inbounds i64, i64* %31, i64 2 %114 = load i64, i64* %113, align 8, !tbaa !3575 %115 = trunc i64 %114 to i32 %116 = icmp eq i32 %115, 1 %117 = and i1 %112, %116 %118 = and i1 %108, %117 br i1 %118, label %if_end34, label %assert_fail35, !prof !5 if_end34: ; preds = %if_then33, %assert_end32 %119 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %120 = load i64, i64* %119, align 8 %121 = icmp eq i64 %120, 0 br i1 %121, label %assert_end38, label %assert_fail37, !prof !5 assert_fail35: ; preds = %if_then33 %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %122(i8* getelementptr inbounds ([163 x i8], [163 x i8]* @.str.263, i64 0, i64 0)) ret i32 -1 assert_fail37: ; preds = %if_end34 %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %123(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %if_end34 %124 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %125 = load i32, i32* %124, align 4 %126 = icmp eq i32 %125, 1 br i1 %126, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %127(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %128 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %129 = load i32, i32* %128, align 4 %130 = icmp eq i32 %25, %129 br i1 %130, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %131 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %131(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %132 = tail call fastcc i32 @fused_reshape_1_compute_(i8* %27, i8* %19) ret i32 %132 } ; Function Attrs: noinline define private fastcc i32 @fused_reshape_1_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %24, align 8 %3 = getelementptr inbounds %24, %24* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %24, %24* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %24* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.264, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.264(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 1535 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 1536 %15 = select i1 %14, i32 %13, i32 1536 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 1536 %18 = select i1 %17, i32 %16, i32 1536 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %vector.ph vector.ph: ; preds = %vector.ph, %for_begin1.preheader.preheader %indvars.iv10 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next11, %vector.ph ] %21 = phi i32 [ %18, %for_begin1.preheader.preheader ], [ %72, %vector.ph ] %22 = shl nsw i32 %21, 7 %23 = sext i32 %22 to i64 %broadcast.splatinsert = insertelement <8 x i64> undef, i64 %23, i32 0 %broadcast.splat = shufflevector <8 x i64> %broadcast.splatinsert, <8 x i64> undef, <8 x i32> zeroinitializer %24 = or <8 x i64> %broadcast.splat, %25 = getelementptr inbounds float, float* %7, <8 x i64> %24 %wide.masked.gather = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %25, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %26 = getelementptr inbounds float, float* %4, <8 x i64> %24 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather, <8 x float*> %26, i32 4, <8 x i1> ), !tbaa !3581 %27 = or <8 x i64> %broadcast.splat, %28 = getelementptr inbounds float, float* %7, <8 x i64> %27 %wide.masked.gather13 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %28, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %29 = getelementptr inbounds float, float* %4, <8 x i64> %27 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather13, <8 x float*> %29, i32 4, <8 x i1> ), !tbaa !3581 %30 = or <8 x i64> %broadcast.splat, %31 = getelementptr inbounds float, float* %7, <8 x i64> %30 %wide.masked.gather14 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %31, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %32 = getelementptr inbounds float, float* %4, <8 x i64> %30 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather14, <8 x float*> %32, i32 4, <8 x i1> ), !tbaa !3581 %33 = or <8 x i64> %broadcast.splat, %34 = getelementptr inbounds float, float* %7, <8 x i64> %33 %wide.masked.gather15 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %34, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %35 = getelementptr inbounds float, float* %4, <8 x i64> %33 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather15, <8 x float*> %35, i32 4, <8 x i1> ), !tbaa !3581 %36 = or <8 x i64> %broadcast.splat, %37 = getelementptr inbounds float, float* %7, <8 x i64> %36 %wide.masked.gather16 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %37, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %38 = getelementptr inbounds float, float* %4, <8 x i64> %36 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather16, <8 x float*> %38, i32 4, <8 x i1> ), !tbaa !3581 %39 = or <8 x i64> %broadcast.splat, %40 = getelementptr inbounds float, float* %7, <8 x i64> %39 %wide.masked.gather17 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %40, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %41 = getelementptr inbounds float, float* %4, <8 x i64> %39 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather17, <8 x float*> %41, i32 4, <8 x i1> ), !tbaa !3581 %42 = or <8 x i64> %broadcast.splat, %43 = getelementptr inbounds float, float* %7, <8 x i64> %42 %wide.masked.gather18 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %43, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %44 = getelementptr inbounds float, float* %4, <8 x i64> %42 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather18, <8 x float*> %44, i32 4, <8 x i1> ), !tbaa !3581 %45 = or <8 x i64> %broadcast.splat, %46 = getelementptr inbounds float, float* %7, <8 x i64> %45 %wide.masked.gather19 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %46, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %47 = getelementptr inbounds float, float* %4, <8 x i64> %45 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather19, <8 x float*> %47, i32 4, <8 x i1> ), !tbaa !3581 %48 = or <8 x i64> %broadcast.splat, %49 = getelementptr inbounds float, float* %7, <8 x i64> %48 %wide.masked.gather20 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %49, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %50 = getelementptr inbounds float, float* %4, <8 x i64> %48 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather20, <8 x float*> %50, i32 4, <8 x i1> ), !tbaa !3581 %51 = or <8 x i64> %broadcast.splat, %52 = getelementptr inbounds float, float* %7, <8 x i64> %51 %wide.masked.gather21 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %52, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %53 = getelementptr inbounds float, float* %4, <8 x i64> %51 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather21, <8 x float*> %53, i32 4, <8 x i1> ), !tbaa !3581 %54 = or <8 x i64> %broadcast.splat, %55 = getelementptr inbounds float, float* %7, <8 x i64> %54 %wide.masked.gather22 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %55, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %56 = getelementptr inbounds float, float* %4, <8 x i64> %54 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather22, <8 x float*> %56, i32 4, <8 x i1> ), !tbaa !3581 %57 = or <8 x i64> %broadcast.splat, %58 = getelementptr inbounds float, float* %7, <8 x i64> %57 %wide.masked.gather23 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %58, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %59 = getelementptr inbounds float, float* %4, <8 x i64> %57 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather23, <8 x float*> %59, i32 4, <8 x i1> ), !tbaa !3581 %60 = or <8 x i64> %broadcast.splat, %61 = getelementptr inbounds float, float* %7, <8 x i64> %60 %wide.masked.gather24 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %61, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %62 = getelementptr inbounds float, float* %4, <8 x i64> %60 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather24, <8 x float*> %62, i32 4, <8 x i1> ), !tbaa !3581 %63 = or <8 x i64> %broadcast.splat, %64 = getelementptr inbounds float, float* %7, <8 x i64> %63 %wide.masked.gather25 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %64, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %65 = getelementptr inbounds float, float* %4, <8 x i64> %63 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather25, <8 x float*> %65, i32 4, <8 x i1> ), !tbaa !3581 %66 = or <8 x i64> %broadcast.splat, %67 = getelementptr inbounds float, float* %7, <8 x i64> %66 %wide.masked.gather26 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %67, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %68 = getelementptr inbounds float, float* %4, <8 x i64> %66 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather26, <8 x float*> %68, i32 4, <8 x i1> ), !tbaa !3581 %69 = or <8 x i64> %broadcast.splat, %70 = getelementptr inbounds float, float* %7, <8 x i64> %69 %wide.masked.gather27 = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %70, i32 4, <8 x i1> , <8 x float> undef), !tbaa !3578 %71 = getelementptr inbounds float, float* %4, <8 x i64> %69 call void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float> %wide.masked.gather27, <8 x float*> %71, i32 4, <8 x i1> ), !tbaa !3581 %indvars.iv.next11 = add nsw i64 %indvars.iv10, 1 %72 = add nsw i32 %21, 1 %exitcond12.not = icmp eq i64 %indvars.iv.next11, %wide.trip.count br i1 %exitcond12.not, label %for_end, label %vector.ph, !prof !47 for_end: ; preds = %vector.ph, %entry ret i32 0 } define dllexport i32 @fused_take_transpose_contrib_reverse_reshape(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.265, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !3584 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !3598 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([172 x i8], [172 x i8]* @.str.266, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([172 x i8], [172 x i8]* @.str.267, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 5 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.68, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3600 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 128 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.6, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !3614 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 1 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.7, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %59 = getelementptr inbounds i64, i64* %21, i64 2 %60 = load i64, i64* %59, align 8, !tbaa !3616 %61 = trunc i64 %60 to i32 %62 = icmp eq i32 %61, 12 br i1 %62, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.69, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %64 = getelementptr inbounds i64, i64* %21, i64 3 %65 = load i64, i64* %64, align 8, !tbaa !3619 %66 = trunc i64 %65 to i32 %67 = icmp eq i32 %66, 3 br i1 %67, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %68(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %69 = getelementptr inbounds i64, i64* %21, i64 4 %70 = load i64, i64* %69, align 8, !tbaa !3621 %71 = trunc i64 %70 to i32 %72 = icmp eq i32 %71, 64 br i1 %72, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %73(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.71, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !3625 %75 = trunc i64 %74 to i32 %76 = icmp eq i32 %75, 2304 %77 = getelementptr inbounds i64, i64* %23, i64 1 %78 = load i64, i64* %77, align 8, !tbaa !3639 %79 = trunc i64 %78 to i32 %80 = icmp eq i32 %79, 2304 %81 = getelementptr inbounds i64, i64* %23, i64 2 %82 = load i64, i64* %81, align 8, !tbaa !3641 %83 = trunc i64 %82 to i32 %84 = icmp eq i32 %83, 192 %85 = getelementptr inbounds i64, i64* %23, i64 3 %86 = load i64, i64* %85, align 8, !tbaa !3644 %87 = trunc i64 %86 to i32 %88 = icmp eq i32 %87, 64 %89 = getelementptr inbounds i64, i64* %23, i64 4 %90 = load i64, i64* %89, align 8, !tbaa !3646 %91 = trunc i64 %90 to i32 %92 = icmp eq i32 %91, 1 %93 = and i1 %88, %92 %94 = and i1 %84, %93 %95 = and i1 %80, %94 %96 = and i1 %76, %95 br i1 %96, label %if_end, label %assert_fail21, !prof !5 if_end: ; preds = %if_then, %assert_end20 %97 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end24, label %assert_fail23, !prof !5 assert_fail21: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([236 x i8], [236 x i8]* @.str.72, i64 0, i64 0)) ret i32 -1 assert_fail23: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %106 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 3 br i1 %108, label %assert_end30, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.12, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end26 %110 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !3650 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 12 br i1 %124, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.73, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %126 = getelementptr inbounds i64, i64* %29, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !3664 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 128 br i1 %129, label %assert_end36, label %assert_fail35, !prof !5 assert_fail35: ; preds = %assert_end34 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %131 = getelementptr inbounds i64, i64* %29, i64 2 %132 = load i64, i64* %131, align 8, !tbaa !3666 %133 = trunc i64 %132 to i32 %134 = icmp eq i32 %133, 64 br i1 %134, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %135 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %135(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.75, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %.not49 = icmp eq i64* %31, null br i1 %.not49, label %if_end40, label %if_then39, !prof !47 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !3669 %137 = trunc i64 %136 to i32 %138 = icmp eq i32 %137, 8192 %139 = getelementptr inbounds i64, i64* %31, i64 1 %140 = load i64, i64* %139, align 8, !tbaa !3683 %141 = trunc i64 %140 to i32 %142 = icmp eq i32 %141, 64 %143 = getelementptr inbounds i64, i64* %31, i64 2 %144 = load i64, i64* %143, align 8, !tbaa !3685 %145 = trunc i64 %144 to i32 %146 = icmp eq i32 %145, 1 %147 = and i1 %142, %146 %148 = and i1 %138, %147 br i1 %148, label %if_end40, label %assert_fail41, !prof !5 if_end40: ; preds = %if_then39, %assert_end38 %149 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %150 = load i64, i64* %149, align 8 %151 = icmp eq i64 %150, 0 br i1 %151, label %assert_end44, label %assert_fail43, !prof !5 assert_fail41: ; preds = %if_then39 %152 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %152(i8* getelementptr inbounds ([161 x i8], [161 x i8]* @.str.76, i64 0, i64 0)) ret i32 -1 assert_fail43: ; preds = %if_end40 %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %153(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %if_end40 %154 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %155 = load i32, i32* %154, align 4 %156 = icmp eq i32 %155, 1 br i1 %156, label %assert_end46, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %157(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end46: ; preds = %assert_end44 %158 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %159 = load i32, i32* %158, align 4 %160 = icmp eq i32 %25, %159 br i1 %160, label %assert_end48, label %assert_fail47, !prof !5 assert_fail47: ; preds = %assert_end46 %161 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %161(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %162 = tail call fastcc i32 @fused_take_transpose_contrib_reverse_reshape_compute_(i8* %27, i8* %19) ret i32 %162 } ; Function Attrs: noinline define private fastcc i32 @fused_take_transpose_contrib_reverse_reshape_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %25, align 8 %3 = getelementptr inbounds %25, %25* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %25, %25* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %25* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.268, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.268(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #2 { entry: %3 = bitcast i8* %2 to float** %4 = load float*, float** %3, align 8 %5 = getelementptr inbounds i8, i8* %2, i64 8 %6 = bitcast i8* %5 to float** %7 = load float*, float** %6, align 8 %8 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %9 = load i32, i32* %8, align 4 %10 = add nsw i32 %9, 1535 %11 = sdiv i32 %10, %9 %12 = add nsw i32 %0, 1 %13 = mul nsw i32 %11, %12 %14 = icmp slt i32 %13, 1536 %15 = select i1 %14, i32 %13, i32 1536 %16 = mul nsw i32 %11, %0 %17 = icmp slt i32 %16, 1536 %18 = select i1 %17, i32 %16, i32 1536 %19 = icmp slt i32 %18, %15 br i1 %19, label %for_begin1.preheader.preheader, label %for_end, !prof !5 for_begin1.preheader.preheader: ; preds = %entry %20 = sext i32 %18 to i64 %wide.trip.count = sext i32 %15 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.preheader, %for_end3 %indvars.iv7 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next8, %for_end3 ] %21 = phi i32 [ %18, %for_begin1.preheader.preheader ], [ %221, %for_end3 ] %22 = shl nsw i32 %21, 6 %23 = trunc i64 %indvars.iv7 to i32 %24 = ashr i32 %23, 7 %25 = mul nsw i32 %24, 192 %26 = and i32 %23, 127 %27 = mul nuw nsw i32 %26, 2304 %28 = sext i32 %22 to i64 br label %for_begin4.preheader for_end: ; preds = %for_end3, %entry ret i32 0 for_begin4.preheader: ; preds = %for_begin1.preheader, %for_begin4.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin4.preheader ] %29 = phi i32 [ 0, %for_begin1.preheader ], [ %220, %for_begin4.preheader ] %30 = shl nsw i64 %indvars.iv, 4 %31 = shl nsw i32 %29, 4 %32 = add nsw i64 %30, %28 %33 = add nuw nsw i32 %31, 64 %34 = add i32 %33, %25 %35 = add i32 %34, %27 %36 = sext i32 %35 to i64 %37 = getelementptr inbounds float, float* %7, i64 %36 %38 = load float, float* %37, align 4, !tbaa !3688 %39 = getelementptr inbounds float, float* %4, i64 %32 store float %38, float* %39, align 4, !tbaa !3691 %40 = trunc i64 %30 to i32 %41 = or i32 %40, 1 %42 = add nsw i32 %41, %22 %43 = or i32 %31, 1 %44 = add nuw nsw i32 %43, 64 %45 = add i32 %44, %25 %46 = add i32 %45, %27 %47 = sext i32 %46 to i64 %48 = getelementptr inbounds float, float* %7, i64 %47 %49 = load float, float* %48, align 4, !tbaa !3688 %50 = sext i32 %42 to i64 %51 = getelementptr inbounds float, float* %4, i64 %50 store float %49, float* %51, align 4, !tbaa !3691 %52 = trunc i64 %30 to i32 %53 = or i32 %52, 2 %54 = add i32 %53, %22 %55 = or i32 %31, 2 %56 = add nuw nsw i32 %55, 64 %57 = add i32 %56, %25 %58 = add i32 %57, %27 %59 = sext i32 %58 to i64 %60 = getelementptr inbounds float, float* %7, i64 %59 %61 = load float, float* %60, align 4, !tbaa !3688 %62 = sext i32 %54 to i64 %63 = getelementptr inbounds float, float* %4, i64 %62 store float %61, float* %63, align 4, !tbaa !3691 %64 = trunc i64 %30 to i32 %65 = or i32 %64, 3 %66 = add i32 %65, %22 %67 = or i32 %31, 3 %68 = add nuw nsw i32 %67, 64 %69 = add i32 %68, %25 %70 = add i32 %69, %27 %71 = sext i32 %70 to i64 %72 = getelementptr inbounds float, float* %7, i64 %71 %73 = load float, float* %72, align 4, !tbaa !3688 %74 = sext i32 %66 to i64 %75 = getelementptr inbounds float, float* %4, i64 %74 store float %73, float* %75, align 4, !tbaa !3691 %76 = trunc i64 %30 to i32 %77 = or i32 %76, 4 %78 = add i32 %77, %22 %79 = or i32 %31, 4 %80 = add nuw nsw i32 %79, 64 %81 = add i32 %80, %25 %82 = add i32 %81, %27 %83 = sext i32 %82 to i64 %84 = getelementptr inbounds float, float* %7, i64 %83 %85 = load float, float* %84, align 4, !tbaa !3688 %86 = sext i32 %78 to i64 %87 = getelementptr inbounds float, float* %4, i64 %86 store float %85, float* %87, align 4, !tbaa !3691 %88 = trunc i64 %30 to i32 %89 = or i32 %88, 5 %90 = add i32 %89, %22 %91 = or i32 %31, 5 %92 = add nuw nsw i32 %91, 64 %93 = add i32 %92, %25 %94 = add i32 %93, %27 %95 = sext i32 %94 to i64 %96 = getelementptr inbounds float, float* %7, i64 %95 %97 = load float, float* %96, align 4, !tbaa !3688 %98 = sext i32 %90 to i64 %99 = getelementptr inbounds float, float* %4, i64 %98 store float %97, float* %99, align 4, !tbaa !3691 %100 = trunc i64 %30 to i32 %101 = or i32 %100, 6 %102 = add i32 %101, %22 %103 = or i32 %31, 6 %104 = add nuw nsw i32 %103, 64 %105 = add i32 %104, %25 %106 = add i32 %105, %27 %107 = sext i32 %106 to i64 %108 = getelementptr inbounds float, float* %7, i64 %107 %109 = load float, float* %108, align 4, !tbaa !3688 %110 = sext i32 %102 to i64 %111 = getelementptr inbounds float, float* %4, i64 %110 store float %109, float* %111, align 4, !tbaa !3691 %112 = trunc i64 %30 to i32 %113 = or i32 %112, 7 %114 = add i32 %113, %22 %115 = or i32 %31, 7 %116 = add nuw nsw i32 %115, 64 %117 = add i32 %116, %25 %118 = add i32 %117, %27 %119 = sext i32 %118 to i64 %120 = getelementptr inbounds float, float* %7, i64 %119 %121 = load float, float* %120, align 4, !tbaa !3688 %122 = sext i32 %114 to i64 %123 = getelementptr inbounds float, float* %4, i64 %122 store float %121, float* %123, align 4, !tbaa !3691 %124 = trunc i64 %30 to i32 %125 = or i32 %124, 8 %126 = add i32 %125, %22 %127 = or i32 %31, 8 %128 = add nuw nsw i32 %127, 64 %129 = add i32 %128, %25 %130 = add i32 %129, %27 %131 = sext i32 %130 to i64 %132 = getelementptr inbounds float, float* %7, i64 %131 %133 = load float, float* %132, align 4, !tbaa !3688 %134 = sext i32 %126 to i64 %135 = getelementptr inbounds float, float* %4, i64 %134 store float %133, float* %135, align 4, !tbaa !3691 %136 = trunc i64 %30 to i32 %137 = or i32 %136, 9 %138 = add i32 %137, %22 %139 = or i32 %31, 9 %140 = add nuw nsw i32 %139, 64 %141 = add i32 %140, %25 %142 = add i32 %141, %27 %143 = sext i32 %142 to i64 %144 = getelementptr inbounds float, float* %7, i64 %143 %145 = load float, float* %144, align 4, !tbaa !3688 %146 = sext i32 %138 to i64 %147 = getelementptr inbounds float, float* %4, i64 %146 store float %145, float* %147, align 4, !tbaa !3691 %148 = trunc i64 %30 to i32 %149 = or i32 %148, 10 %150 = add i32 %149, %22 %151 = or i32 %31, 10 %152 = add nuw nsw i32 %151, 64 %153 = add i32 %152, %25 %154 = add i32 %153, %27 %155 = sext i32 %154 to i64 %156 = getelementptr inbounds float, float* %7, i64 %155 %157 = load float, float* %156, align 4, !tbaa !3688 %158 = sext i32 %150 to i64 %159 = getelementptr inbounds float, float* %4, i64 %158 store float %157, float* %159, align 4, !tbaa !3691 %160 = trunc i64 %30 to i32 %161 = or i32 %160, 11 %162 = add i32 %161, %22 %163 = or i32 %31, 11 %164 = add nuw nsw i32 %163, 64 %165 = add i32 %164, %25 %166 = add i32 %165, %27 %167 = sext i32 %166 to i64 %168 = getelementptr inbounds float, float* %7, i64 %167 %169 = load float, float* %168, align 4, !tbaa !3688 %170 = sext i32 %162 to i64 %171 = getelementptr inbounds float, float* %4, i64 %170 store float %169, float* %171, align 4, !tbaa !3691 %172 = trunc i64 %30 to i32 %173 = or i32 %172, 12 %174 = add i32 %173, %22 %175 = or i32 %31, 12 %176 = add nuw nsw i32 %175, 64 %177 = add i32 %176, %25 %178 = add i32 %177, %27 %179 = sext i32 %178 to i64 %180 = getelementptr inbounds float, float* %7, i64 %179 %181 = load float, float* %180, align 4, !tbaa !3688 %182 = sext i32 %174 to i64 %183 = getelementptr inbounds float, float* %4, i64 %182 store float %181, float* %183, align 4, !tbaa !3691 %184 = trunc i64 %30 to i32 %185 = or i32 %184, 13 %186 = add i32 %185, %22 %187 = or i32 %31, 13 %188 = add nuw nsw i32 %187, 64 %189 = add i32 %188, %25 %190 = add i32 %189, %27 %191 = sext i32 %190 to i64 %192 = getelementptr inbounds float, float* %7, i64 %191 %193 = load float, float* %192, align 4, !tbaa !3688 %194 = sext i32 %186 to i64 %195 = getelementptr inbounds float, float* %4, i64 %194 store float %193, float* %195, align 4, !tbaa !3691 %196 = trunc i64 %30 to i32 %197 = or i32 %196, 14 %198 = add i32 %197, %22 %199 = or i32 %31, 14 %200 = add nuw nsw i32 %199, 64 %201 = add i32 %200, %25 %202 = add i32 %201, %27 %203 = sext i32 %202 to i64 %204 = getelementptr inbounds float, float* %7, i64 %203 %205 = load float, float* %204, align 4, !tbaa !3688 %206 = sext i32 %198 to i64 %207 = getelementptr inbounds float, float* %4, i64 %206 store float %205, float* %207, align 4, !tbaa !3691 %208 = trunc i64 %30 to i32 %209 = or i32 %208, 15 %210 = add i32 %209, %22 %211 = or i32 %31, 15 %212 = add nuw nsw i32 %211, 64 %213 = add i32 %212, %25 %214 = add i32 %213, %27 %215 = sext i32 %214 to i64 %216 = getelementptr inbounds float, float* %7, i64 %215 %217 = load float, float* %216, align 4, !tbaa !3688 %218 = sext i32 %210 to i64 %219 = getelementptr inbounds float, float* %4, i64 %218 store float %217, float* %219, align 4, !tbaa !3691 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %220 = add nuw nsw i32 %29, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 4 br i1 %exitcond.not, label %for_end3, label %for_begin4.preheader, !prof !47 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %221 = add nsw i32 %21, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, %wide.trip.count br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader, !prof !47 } define dllexport i32 @fused_nn_batch_flatten(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.269, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !3694 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !3708 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.270, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.271, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 2 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3710 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 1 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.52, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !3724 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 768 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !3726 %60 = trunc i64 %59 to i32 %61 = icmp eq i32 %60, 768 %62 = getelementptr inbounds i64, i64* %23, i64 1 %63 = load i64, i64* %62, align 8, !tbaa !3740 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 %66 = and i1 %61, %65 br i1 %66, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %67 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %68 = load i64, i64* %67, align 8 %69 = icmp eq i64 %68, 0 br i1 %69, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %72 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %73 = load i32, i32* %72, align 4 %74 = icmp eq i32 %73, 1 br i1 %74, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %76 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %77 = load i32, i32* %76, align 4 %78 = icmp eq i32 %77, 2 br i1 %78, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %80 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %81 = load i16, i16* %80, align 2 %82 = icmp eq i16 %81, 1 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %84 = load i8, i8* %83, align 1 %85 = icmp eq i8 %84, 32 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 2 %89 = and i1 %85, %88 %90 = and i1 %82, %89 br i1 %90, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %91 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %91(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !3742 %93 = trunc i64 %92 to i32 %94 = icmp eq i32 %93, 1 br i1 %94, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.184, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %96 = getelementptr inbounds i64, i64* %29, i64 1 %97 = load i64, i64* %96, align 8, !tbaa !3756 %98 = trunc i64 %97 to i32 %99 = icmp eq i32 %98, 768 br i1 %99, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %.not41 = icmp eq i64* %31, null br i1 %.not41, label %if_end32, label %if_then31, !prof !47 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !3758 %102 = trunc i64 %101 to i32 %103 = icmp eq i32 %102, 768 %104 = getelementptr inbounds i64, i64* %31, i64 1 %105 = load i64, i64* %104, align 8, !tbaa !3772 %106 = trunc i64 %105 to i32 %107 = icmp eq i32 %106, 1 %108 = and i1 %103, %107 br i1 %108, label %if_end32, label %assert_fail33, !prof !5 if_end32: ; preds = %if_then31, %assert_end30 %109 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %110 = load i64, i64* %109, align 8 %111 = icmp eq i64 %110, 0 br i1 %111, label %assert_end36, label %assert_fail35, !prof !5 assert_fail33: ; preds = %if_then31 %112 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %112(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail35: ; preds = %if_end32 %113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %113(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %if_end32 %114 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %115 = load i32, i32* %114, align 4 %116 = icmp eq i32 %115, 1 br i1 %116, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %117 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %117(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %118 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %119 = load i32, i32* %118, align 4 %120 = icmp eq i32 %25, %119 br i1 %120, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 tail call fastcc void @fused_nn_batch_flatten_compute_(i8* %27, i8* %19) ret i32 0 } ; Function Attrs: nofree noinline norecurse nounwind define private fastcc void @fused_nn_batch_flatten_compute_(i8* noalias nocapture align 128 %0, i8* noalias nocapture readonly align 128 %1) unnamed_addr #6 { entry: call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %0, i8* nonnull align 128 dereferenceable(64) %1, i64 64, i1 false) %scevgep.1 = getelementptr i8, i8* %0, i64 64 %scevgep1.1 = getelementptr i8, i8* %1, i64 64 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.1, i8* nonnull align 64 dereferenceable(64) %scevgep1.1, i64 64, i1 false) %scevgep.2 = getelementptr i8, i8* %0, i64 128 %scevgep1.2 = getelementptr i8, i8* %1, i64 128 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.2, i8* nonnull align 128 dereferenceable(64) %scevgep1.2, i64 64, i1 false) %scevgep.3 = getelementptr i8, i8* %0, i64 192 %scevgep1.3 = getelementptr i8, i8* %1, i64 192 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.3, i8* nonnull align 64 dereferenceable(64) %scevgep1.3, i64 64, i1 false) %scevgep.4 = getelementptr i8, i8* %0, i64 256 %scevgep1.4 = getelementptr i8, i8* %1, i64 256 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.4, i8* nonnull align 128 dereferenceable(64) %scevgep1.4, i64 64, i1 false) %scevgep.5 = getelementptr i8, i8* %0, i64 320 %scevgep1.5 = getelementptr i8, i8* %1, i64 320 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.5, i8* nonnull align 64 dereferenceable(64) %scevgep1.5, i64 64, i1 false) %scevgep.6 = getelementptr i8, i8* %0, i64 384 %scevgep1.6 = getelementptr i8, i8* %1, i64 384 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.6, i8* nonnull align 128 dereferenceable(64) %scevgep1.6, i64 64, i1 false) %scevgep.7 = getelementptr i8, i8* %0, i64 448 %scevgep1.7 = getelementptr i8, i8* %1, i64 448 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.7, i8* nonnull align 64 dereferenceable(64) %scevgep1.7, i64 64, i1 false) %scevgep.8 = getelementptr i8, i8* %0, i64 512 %scevgep1.8 = getelementptr i8, i8* %1, i64 512 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.8, i8* nonnull align 128 dereferenceable(64) %scevgep1.8, i64 64, i1 false) %scevgep.9 = getelementptr i8, i8* %0, i64 576 %scevgep1.9 = getelementptr i8, i8* %1, i64 576 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.9, i8* nonnull align 64 dereferenceable(64) %scevgep1.9, i64 64, i1 false) %scevgep.10 = getelementptr i8, i8* %0, i64 640 %scevgep1.10 = getelementptr i8, i8* %1, i64 640 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.10, i8* nonnull align 128 dereferenceable(64) %scevgep1.10, i64 64, i1 false) %scevgep.11 = getelementptr i8, i8* %0, i64 704 %scevgep1.11 = getelementptr i8, i8* %1, i64 704 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.11, i8* nonnull align 64 dereferenceable(64) %scevgep1.11, i64 64, i1 false) %scevgep.12 = getelementptr i8, i8* %0, i64 768 %scevgep1.12 = getelementptr i8, i8* %1, i64 768 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.12, i8* nonnull align 128 dereferenceable(64) %scevgep1.12, i64 64, i1 false) %scevgep.13 = getelementptr i8, i8* %0, i64 832 %scevgep1.13 = getelementptr i8, i8* %1, i64 832 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.13, i8* nonnull align 64 dereferenceable(64) %scevgep1.13, i64 64, i1 false) %scevgep.14 = getelementptr i8, i8* %0, i64 896 %scevgep1.14 = getelementptr i8, i8* %1, i64 896 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.14, i8* nonnull align 128 dereferenceable(64) %scevgep1.14, i64 64, i1 false) %scevgep.15 = getelementptr i8, i8* %0, i64 960 %scevgep1.15 = getelementptr i8, i8* %1, i64 960 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.15, i8* nonnull align 64 dereferenceable(64) %scevgep1.15, i64 64, i1 false) %scevgep.16 = getelementptr i8, i8* %0, i64 1024 %scevgep1.16 = getelementptr i8, i8* %1, i64 1024 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.16, i8* nonnull align 128 dereferenceable(64) %scevgep1.16, i64 64, i1 false) %scevgep.17 = getelementptr i8, i8* %0, i64 1088 %scevgep1.17 = getelementptr i8, i8* %1, i64 1088 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.17, i8* nonnull align 64 dereferenceable(64) %scevgep1.17, i64 64, i1 false) %scevgep.18 = getelementptr i8, i8* %0, i64 1152 %scevgep1.18 = getelementptr i8, i8* %1, i64 1152 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.18, i8* nonnull align 128 dereferenceable(64) %scevgep1.18, i64 64, i1 false) %scevgep.19 = getelementptr i8, i8* %0, i64 1216 %scevgep1.19 = getelementptr i8, i8* %1, i64 1216 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.19, i8* nonnull align 64 dereferenceable(64) %scevgep1.19, i64 64, i1 false) %scevgep.20 = getelementptr i8, i8* %0, i64 1280 %scevgep1.20 = getelementptr i8, i8* %1, i64 1280 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.20, i8* nonnull align 128 dereferenceable(64) %scevgep1.20, i64 64, i1 false) %scevgep.21 = getelementptr i8, i8* %0, i64 1344 %scevgep1.21 = getelementptr i8, i8* %1, i64 1344 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.21, i8* nonnull align 64 dereferenceable(64) %scevgep1.21, i64 64, i1 false) %scevgep.22 = getelementptr i8, i8* %0, i64 1408 %scevgep1.22 = getelementptr i8, i8* %1, i64 1408 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.22, i8* nonnull align 128 dereferenceable(64) %scevgep1.22, i64 64, i1 false) %scevgep.23 = getelementptr i8, i8* %0, i64 1472 %scevgep1.23 = getelementptr i8, i8* %1, i64 1472 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.23, i8* nonnull align 64 dereferenceable(64) %scevgep1.23, i64 64, i1 false) %scevgep.24 = getelementptr i8, i8* %0, i64 1536 %scevgep1.24 = getelementptr i8, i8* %1, i64 1536 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.24, i8* nonnull align 128 dereferenceable(64) %scevgep1.24, i64 64, i1 false) %scevgep.25 = getelementptr i8, i8* %0, i64 1600 %scevgep1.25 = getelementptr i8, i8* %1, i64 1600 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.25, i8* nonnull align 64 dereferenceable(64) %scevgep1.25, i64 64, i1 false) %scevgep.26 = getelementptr i8, i8* %0, i64 1664 %scevgep1.26 = getelementptr i8, i8* %1, i64 1664 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.26, i8* nonnull align 128 dereferenceable(64) %scevgep1.26, i64 64, i1 false) %scevgep.27 = getelementptr i8, i8* %0, i64 1728 %scevgep1.27 = getelementptr i8, i8* %1, i64 1728 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.27, i8* nonnull align 64 dereferenceable(64) %scevgep1.27, i64 64, i1 false) %scevgep.28 = getelementptr i8, i8* %0, i64 1792 %scevgep1.28 = getelementptr i8, i8* %1, i64 1792 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.28, i8* nonnull align 128 dereferenceable(64) %scevgep1.28, i64 64, i1 false) %scevgep.29 = getelementptr i8, i8* %0, i64 1856 %scevgep1.29 = getelementptr i8, i8* %1, i64 1856 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.29, i8* nonnull align 64 dereferenceable(64) %scevgep1.29, i64 64, i1 false) %scevgep.30 = getelementptr i8, i8* %0, i64 1920 %scevgep1.30 = getelementptr i8, i8* %1, i64 1920 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.30, i8* nonnull align 128 dereferenceable(64) %scevgep1.30, i64 64, i1 false) %scevgep.31 = getelementptr i8, i8* %0, i64 1984 %scevgep1.31 = getelementptr i8, i8* %1, i64 1984 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.31, i8* nonnull align 64 dereferenceable(64) %scevgep1.31, i64 64, i1 false) %scevgep.32 = getelementptr i8, i8* %0, i64 2048 %scevgep1.32 = getelementptr i8, i8* %1, i64 2048 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.32, i8* nonnull align 128 dereferenceable(64) %scevgep1.32, i64 64, i1 false) %scevgep.33 = getelementptr i8, i8* %0, i64 2112 %scevgep1.33 = getelementptr i8, i8* %1, i64 2112 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.33, i8* nonnull align 64 dereferenceable(64) %scevgep1.33, i64 64, i1 false) %scevgep.34 = getelementptr i8, i8* %0, i64 2176 %scevgep1.34 = getelementptr i8, i8* %1, i64 2176 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.34, i8* nonnull align 128 dereferenceable(64) %scevgep1.34, i64 64, i1 false) %scevgep.35 = getelementptr i8, i8* %0, i64 2240 %scevgep1.35 = getelementptr i8, i8* %1, i64 2240 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.35, i8* nonnull align 64 dereferenceable(64) %scevgep1.35, i64 64, i1 false) %scevgep.36 = getelementptr i8, i8* %0, i64 2304 %scevgep1.36 = getelementptr i8, i8* %1, i64 2304 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.36, i8* nonnull align 128 dereferenceable(64) %scevgep1.36, i64 64, i1 false) %scevgep.37 = getelementptr i8, i8* %0, i64 2368 %scevgep1.37 = getelementptr i8, i8* %1, i64 2368 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.37, i8* nonnull align 64 dereferenceable(64) %scevgep1.37, i64 64, i1 false) %scevgep.38 = getelementptr i8, i8* %0, i64 2432 %scevgep1.38 = getelementptr i8, i8* %1, i64 2432 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.38, i8* nonnull align 128 dereferenceable(64) %scevgep1.38, i64 64, i1 false) %scevgep.39 = getelementptr i8, i8* %0, i64 2496 %scevgep1.39 = getelementptr i8, i8* %1, i64 2496 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.39, i8* nonnull align 64 dereferenceable(64) %scevgep1.39, i64 64, i1 false) %scevgep.40 = getelementptr i8, i8* %0, i64 2560 %scevgep1.40 = getelementptr i8, i8* %1, i64 2560 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.40, i8* nonnull align 128 dereferenceable(64) %scevgep1.40, i64 64, i1 false) %scevgep.41 = getelementptr i8, i8* %0, i64 2624 %scevgep1.41 = getelementptr i8, i8* %1, i64 2624 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.41, i8* nonnull align 64 dereferenceable(64) %scevgep1.41, i64 64, i1 false) %scevgep.42 = getelementptr i8, i8* %0, i64 2688 %scevgep1.42 = getelementptr i8, i8* %1, i64 2688 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.42, i8* nonnull align 128 dereferenceable(64) %scevgep1.42, i64 64, i1 false) %scevgep.43 = getelementptr i8, i8* %0, i64 2752 %scevgep1.43 = getelementptr i8, i8* %1, i64 2752 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.43, i8* nonnull align 64 dereferenceable(64) %scevgep1.43, i64 64, i1 false) %scevgep.44 = getelementptr i8, i8* %0, i64 2816 %scevgep1.44 = getelementptr i8, i8* %1, i64 2816 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.44, i8* nonnull align 128 dereferenceable(64) %scevgep1.44, i64 64, i1 false) %scevgep.45 = getelementptr i8, i8* %0, i64 2880 %scevgep1.45 = getelementptr i8, i8* %1, i64 2880 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.45, i8* nonnull align 64 dereferenceable(64) %scevgep1.45, i64 64, i1 false) %scevgep.46 = getelementptr i8, i8* %0, i64 2944 %scevgep1.46 = getelementptr i8, i8* %1, i64 2944 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 128 dereferenceable(64) %scevgep.46, i8* nonnull align 128 dereferenceable(64) %scevgep1.46, i64 64, i1 false) %scevgep.47 = getelementptr i8, i8* %0, i64 3008 %scevgep1.47 = getelementptr i8, i8* %1, i64 3008 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 64 dereferenceable(64) %scevgep.47, i8* nonnull align 64 dereferenceable(64) %scevgep1.47, i64 64, i1 false) ret void } define dllexport i32 @fused_nn_softmax(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = icmp eq i32 %2, 2 br i1 %6, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %7 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %7(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.272, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %8 = bitcast i8* %0 to %2** %9 = load %2*, %2** %8, align 8 %10 = bitcast i8* %1 to i32* %11 = load i32, i32* %10, align 4, !tbaa !3774 %12 = getelementptr inbounds i8, i8* %0, i64 8 %13 = bitcast i8* %12 to %2** %14 = load %2*, %2** %13, align 8 %15 = getelementptr inbounds i8, i8* %1, i64 4 %16 = bitcast i8* %15 to i32* %17 = load i32, i32* %16, align 4, !tbaa !3788 %18 = getelementptr inbounds %2, %2* %9, i64 0, i32 0 %19 = load i8*, i8** %18, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %19, i64 128) ] %20 = getelementptr inbounds %2, %2* %9, i64 0, i32 4 %21 = load i64*, i64** %20, align 8 %22 = getelementptr inbounds %2, %2* %9, i64 0, i32 5 %23 = load i64*, i64** %22, align 8 %24 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 1 %25 = load i32, i32* %24, align 4 %26 = getelementptr inbounds %2, %2* %14, i64 0, i32 0 %27 = load i8*, i8** %26, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %27, i64 128) ] %28 = getelementptr inbounds %2, %2* %14, i64 0, i32 4 %29 = load i64*, i64** %28, align 8 %30 = getelementptr inbounds %2, %2* %14, i64 0, i32 5 %31 = load i64*, i64** %30, align 8 switch i32 %11, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %32 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %32(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.273, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %17, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %33 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %33(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.274, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 %34 = getelementptr inbounds %2, %2* %9, i64 0, i32 2 %35 = load i32, i32* %34, align 4 %36 = icmp eq i32 %35, 2 br i1 %36, label %assert_end8, label %assert_fail5, !prof !5 assert_fail5: ; preds = %assert_end4 %37 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %37(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end4 %38 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 2 %39 = load i16, i16* %38, align 2 %40 = icmp eq i16 %39, 1 %41 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 1 %42 = load i8, i8* %41, align 1 %43 = icmp eq i8 %42, 32 %44 = getelementptr inbounds %2, %2* %9, i64 0, i32 3, i32 0 %45 = load i8, i8* %44, align 1 %46 = icmp eq i8 %45, 2 %47 = and i1 %43, %46 %48 = and i1 %40, %47 br i1 %48, label %assert_end10, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %49 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %49(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3790 %51 = trunc i64 %50 to i32 %52 = icmp eq i32 %51, 1536 br i1 %52, label %assert_end12, label %assert_fail11, !prof !5 assert_fail11: ; preds = %assert_end10 %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %53(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.261, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %54 = getelementptr inbounds i64, i64* %21, i64 1 %55 = load i64, i64* %54, align 8, !tbaa !3804 %56 = trunc i64 %55 to i32 %57 = icmp eq i32 %56, 128 br i1 %57, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %58 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %58(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.35, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %.not = icmp eq i64* %23, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !3806 %60 = trunc i64 %59 to i32 %61 = icmp eq i32 %60, 128 %62 = getelementptr inbounds i64, i64* %23, i64 1 %63 = load i64, i64* %62, align 8, !tbaa !3820 %64 = trunc i64 %63 to i32 %65 = icmp eq i32 %64, 1 %66 = and i1 %61, %65 br i1 %66, label %if_end, label %assert_fail15, !prof !5 if_end: ; preds = %if_then, %assert_end14 %67 = getelementptr inbounds %2, %2* %9, i64 0, i32 6 %68 = load i64, i64* %67, align 8 %69 = icmp eq i64 %68, 0 br i1 %69, label %assert_end18, label %assert_fail17, !prof !5 assert_fail15: ; preds = %if_then %70 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %70(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.262, i64 0, i64 0)) ret i32 -1 assert_fail17: ; preds = %if_end %71 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %71(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %if_end %72 = getelementptr inbounds %2, %2* %9, i64 0, i32 1, i32 0 %73 = load i32, i32* %72, align 4 %74 = icmp eq i32 %73, 1 br i1 %74, label %assert_end20, label %assert_fail19, !prof !5 assert_fail19: ; preds = %assert_end18 %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %75(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %76 = getelementptr inbounds %2, %2* %14, i64 0, i32 2 %77 = load i32, i32* %76, align 4 %78 = icmp eq i32 %77, 2 br i1 %78, label %assert_end24, label %assert_fail21, !prof !5 assert_fail21: ; preds = %assert_end20 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end20 %80 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 2 %81 = load i16, i16* %80, align 2 %82 = icmp eq i16 %81, 1 %83 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 1 %84 = load i8, i8* %83, align 1 %85 = icmp eq i8 %84, 32 %86 = getelementptr inbounds %2, %2* %14, i64 0, i32 3, i32 0 %87 = load i8, i8* %86, align 1 %88 = icmp eq i8 %87, 2 %89 = and i1 %85, %88 %90 = and i1 %82, %89 br i1 %90, label %assert_end26, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %91 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %91(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !3822 %93 = trunc i64 %92 to i32 %94 = icmp eq i32 %93, 1536 br i1 %94, label %assert_end28, label %assert_fail27, !prof !5 assert_fail27: ; preds = %assert_end26 %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %95(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.172, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %96 = getelementptr inbounds i64, i64* %29, i64 1 %97 = load i64, i64* %96, align 8, !tbaa !3836 %98 = trunc i64 %97 to i32 %99 = icmp eq i32 %98, 128 br i1 %99, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.74, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %.not41 = icmp eq i64* %31, null br i1 %.not41, label %if_end32, label %if_then31, !prof !47 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !3838 %102 = trunc i64 %101 to i32 %103 = icmp eq i32 %102, 128 %104 = getelementptr inbounds i64, i64* %31, i64 1 %105 = load i64, i64* %104, align 8, !tbaa !3852 %106 = trunc i64 %105 to i32 %107 = icmp eq i32 %106, 1 %108 = and i1 %103, %107 br i1 %108, label %if_end32, label %assert_fail33, !prof !5 if_end32: ; preds = %if_then31, %assert_end30 %109 = getelementptr inbounds %2, %2* %14, i64 0, i32 6 %110 = load i64, i64* %109, align 8 %111 = icmp eq i64 %110, 0 br i1 %111, label %assert_end36, label %assert_fail35, !prof !5 assert_fail33: ; preds = %if_then31 %112 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %112(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.185, i64 0, i64 0)) ret i32 -1 assert_fail35: ; preds = %if_end32 %113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %113(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %if_end32 %114 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 0 %115 = load i32, i32* %114, align 4 %116 = icmp eq i32 %115, 1 br i1 %116, label %assert_end38, label %assert_fail37, !prof !5 assert_fail37: ; preds = %assert_end36 %117 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %117(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %118 = getelementptr inbounds %2, %2* %14, i64 0, i32 1, i32 1 %119 = load i32, i32* %118, align 4 %120 = icmp eq i32 %25, %119 br i1 %120, label %assert_end40, label %assert_fail39, !prof !5 assert_fail39: ; preds = %assert_end38 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %assert_end38 %122 = tail call fastcc i32 @fused_nn_softmax_compute_(i8* %19, i8* %27) ret i32 %122 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_softmax_compute_(i8* noalias align 128 %0, i8* noalias align 128 %1) unnamed_addr #1 { entry: %2 = alloca %26, align 8 %3 = getelementptr inbounds %26, %26* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %26, %26* %2, i64 0, i32 1 store i8* %1, i8** %4, align 8 %5 = load i32 (i32 (i32, %1*, i8*)*, i8*, i32)*, i32 (i32 (i32, %1*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !6 %6 = bitcast %26* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.275, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.275(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #4 { entry: %3 = alloca <128 x float>, align 16 %4 = getelementptr inbounds i8, i8* %2, i64 8 %5 = bitcast i8* %4 to float** %6 = load float*, float** %5, align 8 %7 = getelementptr inbounds %1, %1* %1, i64 0, i32 1 %8 = load i32, i32* %7, align 4 %9 = add nsw i32 %8, 1535 %10 = sdiv i32 %9, %8 %11 = add nsw i32 %0, 1 %12 = mul nsw i32 %10, %11 %13 = icmp slt i32 %12, 1536 %14 = select i1 %13, i32 %12, i32 1536 %15 = mul nsw i32 %10, %0 %16 = icmp slt i32 %15, 1536 %17 = select i1 %16, i32 %15, i32 1536 %18 = icmp slt i32 %17, %14 br i1 %18, label %for_begin1.preheader.lr.ph, label %for_end, !prof !5 for_begin1.preheader.lr.ph: ; preds = %entry %19 = bitcast i8* %2 to float** %20 = load float*, float** %19, align 8 %21 = sext i32 %17 to i64 %wide.trip.count = sext i32 %14 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.lr.ph, %vector.body %indvars.iv34 = phi i64 [ %21, %for_begin1.preheader.lr.ph ], [ %indvars.iv.next35, %vector.body ] %22 = phi i32 [ %17, %for_begin1.preheader.lr.ph ], [ %37, %vector.body ] %23 = shl nsw i32 %22, 7 %24 = sext i32 %23 to i64 br label %for_body2 for_end: ; preds = %vector.body, %entry ret i32 0 vector.body41: ; preds = %for_body2 %broadcast.splatinsert48 = insertelement <128 x float> undef, float %33, i32 0 %broadcast.splat49 = shufflevector <128 x float> %broadcast.splatinsert48, <128 x float> undef, <128 x i32> zeroinitializer %25 = getelementptr inbounds float, float* %20, i64 %24 %26 = bitcast float* %25 to <128 x float>* %wide.load47 = load <128 x float>, <128 x float>* %26, align 4, !tbaa !3854 %27 = fsub <128 x float> %wide.load47, %broadcast.splat49 %28 = call <128 x float> @llvm.exp.v128f32(<128 x float> %27) store <128 x float> %28, <128 x float>* %3, align 16, !tbaa !3857 br label %for_body8 for_body2: ; preds = %for_begin1.preheader, %for_body2 %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_body2 ] %.022 = phi float [ 0xC7EFFFFFE0000000, %for_begin1.preheader ], [ %33, %for_body2 ] %29 = add nsw i64 %indvars.iv, %24 %30 = getelementptr inbounds float, float* %20, i64 %29 %31 = load float, float* %30, align 4, !tbaa !3854 %32 = fcmp ogt float %.022, %31 %33 = select i1 %32, float %.022, float %31 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 128 br i1 %exitcond.not, label %vector.body41, label %for_body2, !prof !47 vector.body: ; preds = %for_body8 %broadcast.splatinsert = insertelement <128 x float> undef, float %40, i32 0 %broadcast.splat = shufflevector <128 x float> %broadcast.splatinsert, <128 x float> undef, <128 x i32> zeroinitializer %wide.load = load <128 x float>, <128 x float>* %3, align 16, !tbaa !3857 %34 = fdiv <128 x float> %wide.load, %broadcast.splat %35 = getelementptr inbounds float, float* %6, i64 %24 %36 = bitcast float* %35 to <128 x float>* store <128 x float> %34, <128 x float>* %36, align 4, !tbaa !3860 %indvars.iv.next35 = add nsw i64 %indvars.iv34, 1 %37 = add nsw i32 %22, 1 %exitcond36.not = icmp eq i64 %indvars.iv.next35, %wide.trip.count br i1 %exitcond36.not, label %for_end, label %for_begin1.preheader, !prof !47 for_body8: ; preds = %vector.body41, %for_body8 %indvars.iv28 = phi i64 [ %indvars.iv.next29, %for_body8 ], [ 0, %vector.body41 ] %.01623 = phi float [ %40, %for_body8 ], [ 0.000000e+00, %vector.body41 ] %38 = getelementptr inbounds <128 x float>, <128 x float>* %3, i64 0, i64 %indvars.iv28 %39 = load float, float* %38, align 4, !tbaa !3857 %40 = fadd float %.01623, %39 %indvars.iv.next29 = add nuw nsw i64 %indvars.iv28, 1 %exitcond30.not = icmp eq i64 %indvars.iv.next29, 128 br i1 %exitcond30.not, label %vector.body, label %for_body8, !prof !47 } define dllexport i32 @fused_nn_dense_add(i8* noalias nocapture readonly %0, i8* noalias nocapture readonly %1, i32 %2, i8* noalias nocapture readnone %3, i8* noalias nocapture readnone %4, i8* noalias nocapture readnone %5) local_unnamed_addr { entry: %6 = alloca [6 x i64], align 8 %7 = alloca [3 x %2], align 8 %8 = alloca [6 x %0], align 8 %9 = alloca [6 x i32], align 4 %10 = icmp eq i32 %2, 4 br i1 %10, label %assert_end, label %assert_fail, !prof !5 assert_fail: ; preds = %entry %11 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %11(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.276, i64 0, i64 0)) ret i32 -1 assert_end: ; preds = %entry %12 = bitcast i8* %0 to %2** %13 = load %2*, %2** %12, align 8 %14 = bitcast i8* %1 to i32* %15 = load i32, i32* %14, align 4, !tbaa !3863 %16 = getelementptr inbounds i8, i8* %0, i64 8 %17 = bitcast i8* %16 to %2** %18 = load %2*, %2** %17, align 8 %19 = getelementptr inbounds i8, i8* %1, i64 4 %20 = bitcast i8* %19 to i32* %21 = load i32, i32* %20, align 4, !tbaa !3877 %22 = getelementptr inbounds i8, i8* %0, i64 16 %23 = bitcast i8* %22 to %2** %24 = load %2*, %2** %23, align 8 %25 = getelementptr inbounds i8, i8* %1, i64 8 %26 = bitcast i8* %25 to i32* %27 = load i32, i32* %26, align 4, !tbaa !3879 %28 = getelementptr inbounds i8, i8* %0, i64 24 %29 = bitcast i8* %28 to %2** %30 = load %2*, %2** %29, align 8 %31 = getelementptr inbounds i8, i8* %1, i64 12 %32 = bitcast i8* %31 to i32* %33 = load i32, i32* %32, align 4, !tbaa !3882 %34 = getelementptr inbounds %2, %2* %13, i64 0, i32 0 %35 = load i8*, i8** %34, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %35, i64 128) ] %36 = getelementptr inbounds %2, %2* %13, i64 0, i32 4 %37 = load i64*, i64** %36, align 8 %38 = getelementptr inbounds %2, %2* %13, i64 0, i32 5 %39 = load i64*, i64** %38, align 8 %40 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 1 %41 = load i32, i32* %40, align 4 %42 = getelementptr inbounds %2, %2* %18, i64 0, i32 0 %43 = load i8*, i8** %42, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %43, i64 128) ] %44 = getelementptr inbounds %2, %2* %18, i64 0, i32 4 %45 = load i64*, i64** %44, align 8 %46 = getelementptr inbounds %2, %2* %18, i64 0, i32 5 %47 = load i64*, i64** %46, align 8 %48 = getelementptr inbounds %2, %2* %24, i64 0, i32 0 %49 = load i8*, i8** %48, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %49, i64 128) ] %50 = getelementptr inbounds %2, %2* %24, i64 0, i32 4 %51 = load i64*, i64** %50, align 8 %52 = getelementptr inbounds %2, %2* %24, i64 0, i32 5 %53 = load i64*, i64** %52, align 8 %54 = getelementptr inbounds %2, %2* %30, i64 0, i32 0 %55 = load i8*, i8** %54, align 8 call void @llvm.assume(i1 true) [ "align"(i8* %55, i64 128) ] %56 = getelementptr inbounds %2, %2* %30, i64 0, i32 4 %57 = load i64*, i64** %56, align 8 %58 = getelementptr inbounds %2, %2* %30, i64 0, i32 5 %59 = load i64*, i64** %58, align 8 switch i32 %15, label %assert_fail1 [ i32 13, label %assert_end2 i32 7, label %assert_end2 i32 4, label %assert_end2 i32 3, label %assert_end2 ] assert_fail1: ; preds = %assert_end %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %60(i8* getelementptr inbounds ([146 x i8], [146 x i8]* @.str.277, i64 0, i64 0)) ret i32 -1 assert_end2: ; preds = %assert_end, %assert_end, %assert_end, %assert_end switch i32 %21, label %assert_fail3 [ i32 13, label %assert_end4 i32 7, label %assert_end4 i32 4, label %assert_end4 i32 3, label %assert_end4 ] assert_fail3: ; preds = %assert_end2 %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %61(i8* getelementptr inbounds ([146 x i8], [146 x i8]* @.str.278, i64 0, i64 0)) ret i32 -1 assert_end4: ; preds = %assert_end2, %assert_end2, %assert_end2, %assert_end2 switch i32 %27, label %assert_fail5 [ i32 13, label %assert_end6 i32 7, label %assert_end6 i32 4, label %assert_end6 i32 3, label %assert_end6 ] assert_fail5: ; preds = %assert_end4 %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %62(i8* getelementptr inbounds ([146 x i8], [146 x i8]* @.str.279, i64 0, i64 0)) ret i32 -1 assert_end6: ; preds = %assert_end4, %assert_end4, %assert_end4, %assert_end4 switch i32 %33, label %assert_fail7 [ i32 13, label %assert_end8 i32 7, label %assert_end8 i32 4, label %assert_end8 i32 3, label %assert_end8 ] assert_fail7: ; preds = %assert_end6 %63 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %63(i8* getelementptr inbounds ([146 x i8], [146 x i8]* @.str.280, i64 0, i64 0)) ret i32 -1 assert_end8: ; preds = %assert_end6, %assert_end6, %assert_end6, %assert_end6 %64 = getelementptr inbounds %2, %2* %13, i64 0, i32 2 %65 = load i32, i32* %64, align 4 %66 = icmp eq i32 %65, 2 br i1 %66, label %assert_end12, label %assert_fail9, !prof !5 assert_fail9: ; preds = %assert_end8 %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %67(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.83, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end8 %68 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 2 %69 = load i16, i16* %68, align 2 %70 = icmp eq i16 %69, 1 %71 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 1 %72 = load i8, i8* %71, align 1 %73 = icmp eq i8 %72, 32 %74 = getelementptr inbounds %2, %2* %13, i64 0, i32 3, i32 0 %75 = load i8, i8* %74, align 1 %76 = icmp eq i8 %75, 2 %77 = and i1 %73, %76 %78 = and i1 %70, %77 br i1 %78, label %assert_end14, label %assert_fail13, !prof !5 assert_fail13: ; preds = %assert_end12 %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %79(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.5, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !3884 %81 = trunc i64 %80 to i32 %82 = icmp eq i32 %81, 1 br i1 %82, label %assert_end16, label %assert_fail15, !prof !5 assert_fail15: ; preds = %assert_end14 %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %83(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.52, i64 0, i64 0)) ret i32 -1 assert_end16: ; preds = %assert_end14 %84 = getelementptr inbounds i64, i64* %37, i64 1 %85 = load i64, i64* %84, align 8, !tbaa !3898 %86 = trunc i64 %85 to i32 %87 = icmp eq i32 %86, 768 br i1 %87, label %assert_end18, label %assert_fail17, !prof !5 assert_fail17: ; preds = %assert_end16 %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %88(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.84, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %.not = icmp eq i64* %39, null br i1 %.not, label %if_end, label %if_then, !prof !47 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !3900 %90 = trunc i64 %89 to i32 %91 = icmp eq i32 %90, 768 %92 = getelementptr inbounds i64, i64* %39, i64 1 %93 = load i64, i64* %92, align 8, !tbaa !3914 %94 = trunc i64 %93 to i32 %95 = icmp eq i32 %94, 1 %96 = and i1 %91, %95 br i1 %96, label %if_end, label %assert_fail19, !prof !5 if_end: ; preds = %if_then, %assert_end18 %97 = getelementptr inbounds %2, %2* %13, i64 0, i32 6 %98 = load i64, i64* %97, align 8 %99 = icmp eq i64 %98, 0 br i1 %99, label %assert_end22, label %assert_fail21, !prof !5 assert_fail19: ; preds = %if_then %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %100(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.85, i64 0, i64 0)) ret i32 -1 assert_fail21: ; preds = %if_end %101 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %101(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.10, i64 0, i64 0)) ret i32 -1 assert_end22: ; preds = %if_end %102 = getelementptr inbounds %2, %2* %13, i64 0, i32 1, i32 0 %103 = load i32, i32* %102, align 4 %104 = icmp eq i32 %103, 1 br i1 %104, label %assert_end24, label %assert_fail23, !prof !5 assert_fail23: ; preds = %assert_end22 %105 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %105(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.11, i64 0, i64 0)) ret i32 -1 assert_end24: ; preds = %assert_end22 %106 = getelementptr inbounds %2, %2* %18, i64 0, i32 2 %107 = load i32, i32* %106, align 4 %108 = icmp eq i32 %107, 2 br i1 %108, label %assert_end28, label %assert_fail25, !prof !5 assert_fail25: ; preds = %assert_end24 %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %109(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.38, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end24 %110 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 2 %111 = load i16, i16* %110, align 2 %112 = icmp eq i16 %111, 1 %113 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 1 %114 = load i8, i8* %113, align 1 %115 = icmp eq i8 %114, 32 %116 = getelementptr inbounds %2, %2* %18, i64 0, i32 3, i32 0 %117 = load i8, i8* %116, align 1 %118 = icmp eq i8 %117, 2 %119 = and i1 %115, %118 %120 = and i1 %112, %119 br i1 %120, label %assert_end30, label %assert_fail29, !prof !5 assert_fail29: ; preds = %assert_end28 %121 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %121(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.13, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !3916 %123 = trunc i64 %122 to i32 %124 = icmp eq i32 %123, 2 br i1 %124, label %assert_end32, label %assert_fail31, !prof !5 assert_fail31: ; preds = %assert_end30 %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %125(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.281, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %126 = getelementptr inbounds i64, i64* %45, i64 1 %127 = load i64, i64* %126, align 8, !tbaa !3930 %128 = trunc i64 %127 to i32 %129 = icmp eq i32 %128, 768 br i1 %129, label %assert_end34, label %assert_fail33, !prof !5 assert_fail33: ; preds = %assert_end32 %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %130(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.39, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %.not86 = icmp eq i64* %47, null br i1 %.not86, label %if_end36, label %if_then35, !prof !47 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !3932 %132 = trunc i64 %131 to i32 %133 = icmp eq i32 %132, 768 %134 = getelementptr inbounds i64, i64* %47, i64 1 %135 = load i64, i64* %134, align 8, !tbaa !3946 %136 = trunc i64 %135 to i32 %137 = icmp eq i32 %136, 1 %138 = and i1 %133, %137 br i1 %138, label %if_end36, label %assert_fail37, !prof !5 if_end36: ; preds = %if_then35, %assert_end34 %139 = getelementptr inbounds %2, %2* %18, i64 0, i32 6 %140 = load i64, i64* %139, align 8 %141 = icmp eq i64 %140, 0 br i1 %141, label %assert_end40, label %assert_fail39, !prof !5 assert_fail37: ; preds = %if_then35 %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %142(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.40, i64 0, i64 0)) ret i32 -1 assert_fail39: ; preds = %if_end36 %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %143(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.18, i64 0, i64 0)) ret i32 -1 assert_end40: ; preds = %if_end36 %144 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 0 %145 = load i32, i32* %144, align 4 %146 = icmp eq i32 %145, 1 br i1 %146, label %assert_end42, label %assert_fail41, !prof !5 assert_fail41: ; preds = %assert_end40 %147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %147(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.19, i64 0, i64 0)) ret i32 -1 assert_end42: ; preds = %assert_end40 %148 = getelementptr inbounds %2, %2* %18, i64 0, i32 1, i32 1 %149 = load i32, i32* %148, align 4 %150 = icmp eq i32 %41, %149 br i1 %150, label %assert_end44, label %assert_fail43, !prof !5 assert_fail43: ; preds = %assert_end42 %151 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %151(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.20, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %152 = getelementptr inbounds %2, %2* %24, i64 0, i32 2 %153 = load i32, i32* %152, align 4 %154 = icmp eq i32 %153, 1 br i1 %154, label %assert_end48, label %assert_fail45, !prof !5 assert_fail45: ; preds = %assert_end44 %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %155(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.56, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end44 %156 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 2 %157 = load i16, i16* %156, align 2 %158 = icmp eq i16 %157, 1 %159 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 1 %160 = load i8, i8* %159, align 1 %161 = icmp eq i8 %160, 32 %162 = getelementptr inbounds %2, %2* %24, i64 0, i32 3, i32 0 %163 = load i8, i8* %162, align 1 %164 = icmp eq i8 %163, 2 %165 = and i1 %161, %164 %166 = and i1 %158, %165 br i1 %166, label %assert_end50, label %assert_fail49, !prof !5 assert_fail49: ; preds = %assert_end48 %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %167(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.22, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !3948 %169 = trunc i64 %168 to i32 %170 = icmp eq i32 %169, 2 br i1 %170, label %assert_end52, label %assert_fail51, !prof !5 assert_fail51: ; preds = %assert_end50 %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %171(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.186, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %.not87 = icmp eq i64* %53, null br i1 %.not87, label %if_end54, label %if_then53, !prof !47 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !3962 %173 = trunc i64 %172 to i32 %174 = icmp eq i32 %173, 1 br i1 %174, label %if_end54, label %assert_fail55, !prof !5 if_end54: ; preds = %if_then53, %assert_end52 %175 = getelementptr inbounds %2, %2* %24, i64 0, i32 6 %176 = load i64, i64* %175, align 8 %177 = icmp eq i64 %176, 0 br i1 %177, label %assert_end58, label %assert_fail57, !prof !5 assert_fail55: ; preds = %if_then53 %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %178(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.59, i64 0, i64 0)) ret i32 -1 assert_fail57: ; preds = %if_end54 %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %179(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.27, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %if_end54 %180 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 0 %181 = load i32, i32* %180, align 4 %182 = icmp eq i32 %181, 1 br i1 %182, label %assert_end60, label %assert_fail59, !prof !5 assert_fail59: ; preds = %assert_end58 %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %183(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.28, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %184 = getelementptr inbounds %2, %2* %24, i64 0, i32 1, i32 1 %185 = load i32, i32* %184, align 4 %186 = icmp eq i32 %41, %185 br i1 %186, label %assert_end62, label %assert_fail61, !prof !5 assert_fail61: ; preds = %assert_end60 %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %187(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.29, i64 0, i64 0)) ret i32 -1 assert_end62: ; preds = %assert_end60 %188 = getelementptr inbounds %2, %2* %30, i64 0, i32 2 %189 = load i32, i32* %188, align 4 %190 = icmp eq i32 %189, 2 br i1 %190, label %assert_end66, label %assert_fail63, !prof !5 assert_fail63: ; preds = %assert_end62 %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %191(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.88, i64 0, i64 0)) ret i32 -1 assert_end66: ; preds = %assert_end62 %192 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 2 %193 = load i16, i16* %192, align 2 %194 = icmp eq i16 %193, 1 %195 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 1 %196 = load i8, i8* %195, align 1 %197 = icmp eq i8 %196, 32 %198 = getelementptr inbounds %2, %2* %30, i64 0, i32 3, i32 0 %199 = load i8, i8* %198, align 1 %200 = icmp eq i8 %199, 2 %201 = and i1 %197, %200 %202 = and i1 %194, %201 br i1 %202, label %assert_end68, label %assert_fail67, !prof !5 assert_fail67: ; preds = %assert_end66 %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %203(i8* getelementptr inbounds ([198 x i8], [198 x i8]* @.str.89, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !3976 %205 = trunc i64 %204 to i32 %206 = icmp eq i32 %205, 1 br i1 %206, label %assert_end70, label %assert_fail69, !prof !5 assert_fail69: ; preds = %assert_end68 %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %207(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.90, i64 0, i64 0)) ret i32 -1 assert_end70: ; preds = %assert_end68 %208 = getelementptr inbounds i64, i64* %57, i64 1 %209 = load i64, i64* %208, align 8, !tbaa !3990 %210 = trunc i64 %209 to i32 %211 = icmp eq i32 %210, 2 br i1 %211, label %assert_end72, label %assert_fail71, !prof !5 assert_fail71: ; preds = %assert_end70 %212 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %212(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.282, i64 0, i64 0)) ret i32 -1 assert_end72: ; preds = %assert_end70 %.not88 = icmp eq i64* %59, null br i1 %.not88, label %if_end74, label %if_then73, !prof !47 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !3992 %214 = trunc i64 %213 to i32 %215 = icmp eq i32 %214, 2 %216 = getelementptr inbounds i64, i64* %59, i64 1 %217 = load i64, i64* %216, align 8, !tbaa !4006 %218 = trunc i64 %217 to i32 %219 = icmp eq i32 %218, 1 %220 = and i1 %215, %219 br i1 %220, label %if_end74, label %assert_fail75, !prof !5 if_end74: ; preds = %if_then73, %assert_end72 %221 = getelementptr inbounds %2, %2* %30, i64 0, i32 6 %222 = load i64, i64* %221, align 8 %223 = icmp eq i64 %222, 0 br i1 %223, label %assert_end78, label %assert_fail77, !prof !5 assert_fail75: ; preds = %if_then73 %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %224(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.283, i64 0, i64 0)) ret i32 -1 assert_fail77: ; preds = %if_end74 %225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %225(i8* getelementptr inbounds ([116 x i8], [116 x i8]* @.str.93, i64 0, i64 0)) ret i32 -1 assert_end78: ; preds = %if_end74 %226 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 0 %227 = load i32, i32* %226, align 4 %228 = icmp eq i32 %227, 1 br i1 %228, label %assert_end80, label %assert_fail79, !prof !5 assert_fail79: ; preds = %assert_end78 %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %229(i8* getelementptr inbounds ([109 x i8], [109 x i8]* @.str.94, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %230 = getelementptr inbounds %2, %2* %30, i64 0, i32 1, i32 1 %231 = load i32, i32* %230, align 4 %232 = icmp eq i32 %41, %231 br i1 %232, label %assert_end82, label %assert_fail81, !prof !5 assert_fail81: ; preds = %assert_end80 %233 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !6 tail call void %233(i8* getelementptr inbounds ([111 x i8], [111 x i8]* @.str.95, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %.sub85 = getelementptr inbounds [6 x i32], [6 x i32]* %9, i64 0, i64 0 %.sub84 = getelementptr inbounds [6 x %0], [6 x %0]* %8, i64 0, i64 0 %.sub83 = getelementptr inbounds [3 x %2], [3 x %2]* %7, i64 0, i64 0 %.sub = getelementptr inbounds [6 x i64], [6 x i64]* %6, i64 0, i64 0 %234 = call fastcc i32 @fused_nn_dense_add_compute_(i64* nonnull %.sub, %2* nonnull %.sub83, i8* %35, i32 %41, i8* %43, %0* nonnull %.sub84, i32* nonnull %.sub85, i8* %55, i8* %49) ret i32 %234 } ; Function Attrs: noinline define private fastcc i32 @fused_nn_dense_add_compute_(i64* noalias %0, %2* noalias %1, i8* noalias align 128 %2, i32 %3, i8* noalias align 128 %4, %0* noalias %5, i32* noalias %6, i8* noalias nocapture align 128 %7, i8* noalias nocapture readonly align 128 %8) unnamed_addr #1 { entry: %9 = alloca i8*, align 8 %10 = alloca [2 x float], align 4 store i64 1, i64* %0, align 8, !tbaa !4008 %11 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %11, align 8, !tbaa !4022 %12 = getelementptr inbounds %2, %2* %1, i64 0, i32 0 store i8* %2, i8** %12, align 8 %13 = getelementptr inbounds %2, %2* %1, i64 0, i32 4 store i64* %0, i64** %13, align 8 %14 = getelementptr inbounds %2, %2* %1, i64 0, i32 5 store i64* null, i64** %14, align 8 %15 = getelementptr inbounds %2, %2* %1, i64 0, i32 2 store i32 2, i32* %15, align 4 %16 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 0 store i8 2, i8* %16, align 1 %17 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 1 store i8 32, i8* %17, align 1 %18 = getelementptr inbounds %2, %2* %1, i64 0, i32 3, i32 2 store i16 1, i16* %18, align 2 %19 = getelementptr inbounds %2, %2* %1, i64 0, i32 6 store i64 0, i64* %19, align 8 %20 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 1 store i32 %3, i32* %20, align 4 %21 = getelementptr inbounds %2, %2* %1, i64 0, i32 1, i32 0 store i32 1, i32* %21, align 4 %22 = getelementptr inbounds i64, i64* %0, i64 2 store i64 2, i64* %22, align 8, !tbaa !4024 %23 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %23, align 8, !tbaa !4027 %24 = getelementptr inbounds %2, %2* %1, i64 1, i32 0 store i8* %4, i8** %24, align 8 %25 = getelementptr inbounds %2, %2* %1, i64 1, i32 4 store i64* %22, i64** %25, align 8 %26 = getelementptr inbounds %2, %2* %1, i64 1, i32 5 store i64* null, i64** %26, align 8 %27 = getelementptr inbounds %2, %2* %1, i64 1, i32 2 store i32 2, i32* %27, align 4 %28 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 0 store i8 2, i8* %28, align 1 %29 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 1 store i8 32, i8* %29, align 1 %30 = getelementptr inbounds %2, %2* %1, i64 1, i32 3, i32 2 store i16 1, i16* %30, align 2 %31 = getelementptr inbounds %2, %2* %1, i64 1, i32 6 store i64 0, i64* %31, align 8 %32 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 1 store i32 %3, i32* %32, align 4 %33 = getelementptr inbounds %2, %2* %1, i64 1, i32 1, i32 0 store i32 1, i32* %33, align 4 %34 = getelementptr inbounds i64, i64* %0, i64 4 store i64 1, i64* %34, align 8, !tbaa !4029 %35 = getelementptr inbounds i64, i64* %0, i64 5 store i64 2, i64* %35, align 8, !tbaa !4033 %36 = getelementptr inbounds %2, %2* %1, i64 2, i32 0 %37 = bitcast i8** %36 to [2 x float]** store [2 x float]* %10, [2 x float]** %37, align 8 %38 = getelementptr inbounds %2, %2* %1, i64 2, i32 4 store i64* %34, i64** %38, align 8 %39 = getelementptr inbounds %2, %2* %1, i64 2, i32 5 store i64* null, i64** %39, align 8 %40 = getelementptr inbounds %2, %2* %1, i64 2, i32 2 store i32 2, i32* %40, align 4 %41 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 0 store i8 2, i8* %41, align 1 %42 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 1 store i8 32, i8* %42, align 1 %43 = getelementptr inbounds %2, %2* %1, i64 2, i32 3, i32 2 store i16 1, i16* %43, align 2 %44 = getelementptr inbounds %2, %2* %1, i64 2, i32 6 store i64 0, i64* %44, align 8 %45 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 1 store i32 %3, i32* %45, align 4 %46 = getelementptr inbounds %2, %2* %1, i64 2, i32 1, i32 0 store i32 1, i32* %46, align 4 %47 = bitcast %0* %5 to %2** store %2* %1, %2** %47, align 8 store i32 7, i32* %6, align 4, !tbaa !4035 %48 = getelementptr inbounds %2, %2* %1, i64 1 %49 = getelementptr inbounds %0, %0* %5, i64 1 %50 = bitcast %0* %49 to %2** store %2* %48, %2** %50, align 8 %51 = getelementptr inbounds i32, i32* %6, i64 1 store i32 7, i32* %51, align 4, !tbaa !4049 %52 = getelementptr inbounds %2, %2* %1, i64 2 %53 = getelementptr inbounds %0, %0* %5, i64 2 %54 = bitcast %0* %53 to %2** store %2* %52, %2** %54, align 8 %55 = getelementptr inbounds i32, i32* %6, i64 2 store i32 7, i32* %55, align 4, !tbaa !4051 %56 = getelementptr inbounds %0, %0* %5, i64 3 %57 = bitcast %0* %56 to i64* store i64 0, i64* %57, align 8 %58 = getelementptr inbounds i32, i32* %6, i64 3 store i32 0, i32* %58, align 4, !tbaa !4054 %59 = getelementptr inbounds %0, %0* %5, i64 4 %60 = bitcast %0* %59 to i64* store i64 1, i64* %60, align 8 %61 = getelementptr inbounds i32, i32* %6, i64 4 store i32 0, i32* %61, align 4, !tbaa !4056 %62 = load i8*, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 %.not = icmp eq i8* %62, null br i1 %.not, label %handle_init, label %handle_init_end, !prof !47 handle_init: ; preds = %entry %63 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !6 %64 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !6 %65 = call i32 %64(i8* %63, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.96, i64 0, i64 0), i8** nonnull %9) %66 = icmp eq i32 %65, 0 br i1 %66, label %call_end, label %call_fail, !prof !5 handle_init_end: ; preds = %call_end, %entry %67 = phi i8* [ %62, %entry ], [ %87, %call_end ] %68 = getelementptr inbounds %0, %0* %5, i64 5 %69 = getelementptr inbounds i32, i32* %6, i64 5 %70 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !6 %71 = call i32 %70(i8* %67, %0* nonnull %5, i32* nonnull %6, i32 5, %0* nonnull %68, i32* nonnull %69) %72 = icmp eq i32 %71, 0 br i1 %72, label %for_begin.preheader, label %call_fail, !prof !5 for_begin.preheader: ; preds = %handle_init_end %73 = bitcast i8* %8 to float* %74 = bitcast i8* %7 to float* %75 = load float, float* %73, align 128, !tbaa !4060 %76 = getelementptr inbounds [2 x float], [2 x float]* %10, i64 0, i64 0 %77 = load float, float* %76, align 4, !tbaa !4063 %78 = fadd float %75, %77 store float %78, float* %74, align 128, !tbaa !4066 %79 = getelementptr inbounds i8, i8* %8, i64 4 %80 = bitcast i8* %79 to float* %81 = load float, float* %80, align 4, !tbaa !4060 %82 = getelementptr inbounds [2 x float], [2 x float]* %10, i64 0, i64 1 %83 = load float, float* %82, align 4, !tbaa !4063 %84 = fadd float %81, %83 %85 = getelementptr inbounds i8, i8* %7, i64 4 %86 = bitcast i8* %85 to float* store float %84, float* %86, align 4, !tbaa !4066 br label %call_fail call_fail: ; preds = %for_begin.preheader, %handle_init_end, %handle_init %merge = phi i32 [ %65, %handle_init ], [ %71, %handle_init_end ], [ 0, %for_begin.preheader ] ret i32 %merge call_end: ; preds = %handle_init %87 = load i8*, i8** %9, align 8 store i8* %87, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end } ; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #7 ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #8 ; Function Attrs: nofree nosync nounwind willreturn writeonly declare void @llvm.masked.scatter.v512i32.v512p0i32(<512 x i32>, <512 x i32*>, i32 immarg, <512 x i1>) #9 ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare <512 x float> @llvm.fmuladd.v512f32(<512 x float>, <512 x float>, <512 x float>) #3 ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare <16 x float> @llvm.fmuladd.v16f32(<16 x float>, <16 x float>, <16 x float>) #3 ; Function Attrs: nofree nosync nounwind readonly willreturn declare <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*>, i32 immarg, <8 x i1>, <8 x float>) #10 ; Function Attrs: nofree nosync nounwind willreturn writeonly declare void @llvm.masked.scatter.v8f32.v8p0f32(<8 x float>, <8 x float*>, i32 immarg, <8 x i1>) #9 ; Function Attrs: nofree nosync nounwind readonly willreturn declare <4 x float> @llvm.masked.gather.v4f32.v4p0f32(<4 x float*>, i32 immarg, <4 x i1>, <4 x float>) #10 ; Function Attrs: nofree nosync nounwind willreturn writeonly declare void @llvm.masked.scatter.v4f32.v4p0f32(<4 x float>, <4 x float*>, i32 immarg, <4 x i1>) #9 ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare <128 x float> @llvm.exp.v128f32(<128 x float>) #3 attributes #0 = { nofree nosync nounwind willreturn } attributes #1 = { noinline } attributes #2 = { nofree norecurse nounwind } attributes #3 = { nofree nosync nounwind readnone speculatable willreturn } attributes #4 = { nofree nounwind } attributes #5 = { nofree noinline nounwind } attributes #6 = { nofree noinline norecurse nounwind } attributes #7 = { argmemonly nofree nosync nounwind willreturn writeonly } attributes #8 = { argmemonly nofree nosync nounwind willreturn } attributes #9 = { nofree nosync nounwind willreturn writeonly } attributes #10 = { nofree nosync nounwind readonly willreturn } !llvm.dbg.cu = !{!0} !llvm.module.flags = !{!3, !4} !0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: "TVM", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, dwoId: 1) !1 = !DIFile(filename: "model.tvm", directory: "/tmp/") !2 = !{} !3 = !{i32 2, !"tvm_target", !"llvm -mtriple=ve-linux"} !4 = !{i32 4, !"Debug Info Version", i32 3} !5 = !{!"branch_weights", i32 1048576, i32 1} !6 = !{!7, !7, i64 0} !7 = !{!"ctx_ptr", !8, i64 0} !8 = !{!"tvm-tbaa"} !9 = !{!10, !10, i64 0} !10 = !{!"0xc7b9d50.w1.b0", !11, i64 0} !11 = !{!"0xc7b9d50.w2.b0", !12, i64 0} !12 = !{!"0xc7b9d50.w4.b0", !13, i64 0} !13 = !{!"0xc7b9d50.w8.b0", !14, i64 0} !14 = !{!"0xc7b9d50.w16.b0", !15, i64 0} !15 = !{!"0xc7b9d50.w32.b0", !16, i64 0} !16 = !{!"0xc7b9d50.w64.b0", !17, i64 0} !17 = !{!"0xc7b9d50.w128.b0", !18, i64 0} !18 = !{!"0xc7b9d50.w256.b0", !19, i64 0} !19 = !{!"0xc7b9d50.w512.b0", !20, i64 0} !20 = !{!"0xc7b9d50.w1024.b0", !21, i64 0} !21 = !{!"i8", !22, i64 0} !22 = !{!"0xc7b9d50", !8, i64 0} !23 = !{!24, !24, i64 0} !24 = !{!"0xc7b9d50.w1.b1", !11, i64 0} !25 = !{!26, !26, i64 0} !26 = !{!"0xc7b9d50.w1.b2", !27, i64 0} !27 = !{!"0xc7b9d50.w2.b2", !12, i64 0} !28 = !{!29, !29, i64 0} !29 = !{!"0x15992330.w1.b0", !30, i64 0} !30 = !{!"0x15992330.w2.b0", !31, i64 0} !31 = !{!"0x15992330.w4.b0", !32, i64 0} !32 = !{!"0x15992330.w8.b0", !33, i64 0} !33 = !{!"0x15992330.w16.b0", !34, i64 0} !34 = !{!"0x15992330.w32.b0", !35, i64 0} !35 = !{!"0x15992330.w64.b0", !36, i64 0} !36 = !{!"0x15992330.w128.b0", !37, i64 0} !37 = !{!"0x15992330.w256.b0", !38, i64 0} !38 = !{!"0x15992330.w512.b0", !39, i64 0} !39 = !{!"0x15992330.w1024.b0", !40, i64 0} !40 = !{!"i64", !41, i64 0} !41 = !{!"0x15992330", !8, i64 0} !42 = !{!43, !43, i64 0} !43 = !{!"0x15992330.w1.b1", !30, i64 0} !44 = !{!45, !45, i64 0} !45 = !{!"0x15992330.w1.b2", !46, i64 0} !46 = !{!"0x15992330.w2.b2", !31, i64 0} !47 = !{!"branch_weights", i32 1, i32 1048576} !48 = !{!49, !49, i64 0} !49 = !{!"0x15992bc0.w1.b0", !50, i64 0} !50 = !{!"0x15992bc0.w2.b0", !51, i64 0} !51 = !{!"0x15992bc0.w4.b0", !52, i64 0} !52 = !{!"0x15992bc0.w8.b0", !53, i64 0} !53 = !{!"0x15992bc0.w16.b0", !54, i64 0} !54 = !{!"0x15992bc0.w32.b0", !55, i64 0} !55 = !{!"0x15992bc0.w64.b0", !56, i64 0} !56 = !{!"0x15992bc0.w128.b0", !57, i64 0} !57 = !{!"0x15992bc0.w256.b0", !58, i64 0} !58 = !{!"0x15992bc0.w512.b0", !59, i64 0} !59 = !{!"0x15992bc0.w1024.b0", !60, i64 0} !60 = !{!"i64", !61, i64 0} !61 = !{!"0x15992bc0", !8, i64 0} !62 = !{!63, !63, i64 0} !63 = !{!"0x15992bc0.w1.b1", !50, i64 0} !64 = !{!65, !65, i64 0} !65 = !{!"0x15992bc0.w1.b2", !66, i64 0} !66 = !{!"0x15992bc0.w2.b2", !51, i64 0} !67 = !{!68, !68, i64 0} !68 = !{!"0x15994bb0.w1.b0", !69, i64 0} !69 = !{!"0x15994bb0.w2.b0", !70, i64 0} !70 = !{!"0x15994bb0.w4.b0", !71, i64 0} !71 = !{!"0x15994bb0.w8.b0", !72, i64 0} !72 = !{!"0x15994bb0.w16.b0", !73, i64 0} !73 = !{!"0x15994bb0.w32.b0", !74, i64 0} !74 = !{!"0x15994bb0.w64.b0", !75, i64 0} !75 = !{!"0x15994bb0.w128.b0", !76, i64 0} !76 = !{!"0x15994bb0.w256.b0", !77, i64 0} !77 = !{!"0x15994bb0.w512.b0", !78, i64 0} !78 = !{!"0x15994bb0.w1024.b0", !79, i64 0} !79 = !{!"i64", !80, i64 0} !80 = !{!"0x15994bb0", !8, i64 0} !81 = !{!82, !82, i64 0} !82 = !{!"0x15994bb0.w1.b1", !69, i64 0} !83 = !{!84, !84, i64 0} !84 = !{!"0x15994bb0.w1.b2", !85, i64 0} !85 = !{!"0x15994bb0.w2.b2", !70, i64 0} !86 = !{!87, !87, i64 0} !87 = !{!"0x159915f0.w1.b0", !88, i64 0} !88 = !{!"0x159915f0.w2.b0", !89, i64 0} !89 = !{!"0x159915f0.w4.b0", !90, i64 0} !90 = !{!"0x159915f0.w8.b0", !91, i64 0} !91 = !{!"0x159915f0.w16.b0", !92, i64 0} !92 = !{!"0x159915f0.w32.b0", !93, i64 0} !93 = !{!"0x159915f0.w64.b0", !94, i64 0} !94 = !{!"0x159915f0.w128.b0", !95, i64 0} !95 = !{!"0x159915f0.w256.b0", !96, i64 0} !96 = !{!"0x159915f0.w512.b0", !97, i64 0} !97 = !{!"0x159915f0.w1024.b0", !98, i64 0} !98 = !{!"i64", !99, i64 0} !99 = !{!"0x159915f0", !8, i64 0} !100 = !{!101, !101, i64 0} !101 = !{!"0x159915f0.w1.b1", !88, i64 0} !102 = !{!103, !103, i64 0} !103 = !{!"0x159915f0.w1.b2", !104, i64 0} !104 = !{!"0x159915f0.w2.b2", !89, i64 0} !105 = !{!106, !106, i64 0} !106 = !{!"0xc7c2370.w1.b0", !107, i64 0} !107 = !{!"0xc7c2370.w2.b0", !108, i64 0} !108 = !{!"0xc7c2370.w4.b0", !109, i64 0} !109 = !{!"0xc7c2370.w8.b0", !110, i64 0} !110 = !{!"0xc7c2370.w16.b0", !111, i64 0} !111 = !{!"0xc7c2370.w32.b0", !112, i64 0} !112 = !{!"0xc7c2370.w64.b0", !113, i64 0} !113 = !{!"0xc7c2370.w128.b0", !114, i64 0} !114 = !{!"0xc7c2370.w256.b0", !115, i64 0} !115 = !{!"0xc7c2370.w512.b0", !116, i64 0} !116 = !{!"0xc7c2370.w1024.b0", !117, i64 0} !117 = !{!"i64", !118, i64 0} !118 = !{!"0xc7c2370", !8, i64 0} !119 = !{!120, !120, i64 0} !120 = !{!"0xc7c2370.w1.b1", !107, i64 0} !121 = !{!122, !122, i64 0} !122 = !{!"0xc7c2370.w1.b2", !123, i64 0} !123 = !{!"0xc7c2370.w2.b2", !108, i64 0} !124 = !{!125, !125, i64 0} !125 = !{!"0xc7c2b70.w1.b0", !126, i64 0} !126 = !{!"0xc7c2b70.w2.b0", !127, i64 0} !127 = !{!"0xc7c2b70.w4.b0", !128, i64 0} !128 = !{!"0xc7c2b70.w8.b0", !129, i64 0} !129 = !{!"0xc7c2b70.w16.b0", !130, i64 0} !130 = !{!"0xc7c2b70.w32.b0", !131, i64 0} !131 = !{!"0xc7c2b70.w64.b0", !132, i64 0} !132 = !{!"0xc7c2b70.w128.b0", !133, i64 0} !133 = !{!"0xc7c2b70.w256.b0", !134, i64 0} !134 = !{!"0xc7c2b70.w512.b0", !135, i64 0} !135 = !{!"0xc7c2b70.w1024.b0", !136, i64 0} !136 = !{!"i64", !137, i64 0} !137 = !{!"0xc7c2b70", !8, i64 0} !138 = !{!139, !139, i64 0} !139 = !{!"0xc7c2b70.w1.b1", !126, i64 0} !140 = !{!141, !141, i64 0} !141 = !{!"0xc7c2b70.w1.b2", !142, i64 0} !142 = !{!"0xc7c2b70.w2.b2", !127, i64 0} !143 = !{!144, !144, i64 0} !144 = !{!"float", !145, i64 0} !145 = !{!"0x6e5f460", !8, i64 0} !146 = !{!147, !147, i64 0} !147 = !{!"i8", !148, i64 0} !148 = !{!"0x11f4e690", !8, i64 0} !149 = !{!150, !150, i64 0} !150 = !{!"i8", !151, i64 0} !151 = !{!"0x13d02ae0", !8, i64 0} !152 = !{!153, !153, i64 0} !153 = !{!"i8", !154, i64 0} !154 = !{!"0xc7d1db0", !8, i64 0} !155 = !{!"branch_weights", i32 1, i32 2047} !156 = distinct !{!156, !157} !157 = !{!"llvm.loop.isvectorized", i32 1} !158 = !{!"branch_weights", i32 1, i32 7} !159 = distinct !{!159, !160} !160 = !{!"llvm.loop.unroll.disable"} !161 = !{!"branch_weights", i32 1, i32 0} !162 = distinct !{!162, !163, !157} !163 = !{!"llvm.loop.unroll.runtime.disable"} !164 = !{!165, !165, i64 0} !165 = !{!"0xc7bae10.w1.b0", !166, i64 0} !166 = !{!"0xc7bae10.w2.b0", !167, i64 0} !167 = !{!"0xc7bae10.w4.b0", !168, i64 0} !168 = !{!"0xc7bae10.w8.b0", !169, i64 0} !169 = !{!"0xc7bae10.w16.b0", !170, i64 0} !170 = !{!"0xc7bae10.w32.b0", !171, i64 0} !171 = !{!"0xc7bae10.w64.b0", !172, i64 0} !172 = !{!"0xc7bae10.w128.b0", !173, i64 0} !173 = !{!"0xc7bae10.w256.b0", !174, i64 0} !174 = !{!"0xc7bae10.w512.b0", !175, i64 0} !175 = !{!"0xc7bae10.w1024.b0", !176, i64 0} !176 = !{!"i8", !177, i64 0} !177 = !{!"0xc7bae10", !8, i64 0} !178 = !{!179, !179, i64 0} !179 = !{!"0xc7bae10.w1.b1", !166, i64 0} !180 = !{!181, !181, i64 0} !181 = !{!"0x15991f00.w1.b0", !182, i64 0} !182 = !{!"0x15991f00.w2.b0", !183, i64 0} !183 = !{!"0x15991f00.w4.b0", !184, i64 0} !184 = !{!"0x15991f00.w8.b0", !185, i64 0} !185 = !{!"0x15991f00.w16.b0", !186, i64 0} !186 = !{!"0x15991f00.w32.b0", !187, i64 0} !187 = !{!"0x15991f00.w64.b0", !188, i64 0} !188 = !{!"0x15991f00.w128.b0", !189, i64 0} !189 = !{!"0x15991f00.w256.b0", !190, i64 0} !190 = !{!"0x15991f00.w512.b0", !191, i64 0} !191 = !{!"0x15991f00.w1024.b0", !192, i64 0} !192 = !{!"i64", !193, i64 0} !193 = !{!"0x15991f00", !8, i64 0} !194 = !{!195, !195, i64 0} !195 = !{!"0x15991f00.w1.b1", !182, i64 0} !196 = !{!197, !197, i64 0} !197 = !{!"0x15991f00.w1.b2", !198, i64 0} !198 = !{!"0x15991f00.w2.b2", !183, i64 0} !199 = !{!200, !200, i64 0} !200 = !{!"0xc7c1510.w1.b0", !201, i64 0} !201 = !{!"0xc7c1510.w2.b0", !202, i64 0} !202 = !{!"0xc7c1510.w4.b0", !203, i64 0} !203 = !{!"0xc7c1510.w8.b0", !204, i64 0} !204 = !{!"0xc7c1510.w16.b0", !205, i64 0} !205 = !{!"0xc7c1510.w32.b0", !206, i64 0} !206 = !{!"0xc7c1510.w64.b0", !207, i64 0} !207 = !{!"0xc7c1510.w128.b0", !208, i64 0} !208 = !{!"0xc7c1510.w256.b0", !209, i64 0} !209 = !{!"0xc7c1510.w512.b0", !210, i64 0} !210 = !{!"0xc7c1510.w1024.b0", !211, i64 0} !211 = !{!"i64", !212, i64 0} !212 = !{!"0xc7c1510", !8, i64 0} !213 = !{!214, !214, i64 0} !214 = !{!"0xc7c1510.w1.b1", !201, i64 0} !215 = !{!216, !216, i64 0} !216 = !{!"0xc7c1510.w1.b2", !217, i64 0} !217 = !{!"0xc7c1510.w2.b2", !202, i64 0} !218 = !{!219, !219, i64 0} !219 = !{!"0x13cf3620.w1.b0", !220, i64 0} !220 = !{!"0x13cf3620.w2.b0", !221, i64 0} !221 = !{!"0x13cf3620.w4.b0", !222, i64 0} !222 = !{!"0x13cf3620.w8.b0", !223, i64 0} !223 = !{!"0x13cf3620.w16.b0", !224, i64 0} !224 = !{!"0x13cf3620.w32.b0", !225, i64 0} !225 = !{!"0x13cf3620.w64.b0", !226, i64 0} !226 = !{!"0x13cf3620.w128.b0", !227, i64 0} !227 = !{!"0x13cf3620.w256.b0", !228, i64 0} !228 = !{!"0x13cf3620.w512.b0", !229, i64 0} !229 = !{!"0x13cf3620.w1024.b0", !230, i64 0} !230 = !{!"i64", !231, i64 0} !231 = !{!"0x13cf3620", !8, i64 0} !232 = !{!233, !233, i64 0} !233 = !{!"0x13cf3620.w1.b1", !220, i64 0} !234 = !{!235, !235, i64 0} !235 = !{!"0x13cf3d70.w1.b0", !236, i64 0} !236 = !{!"0x13cf3d70.w2.b0", !237, i64 0} !237 = !{!"0x13cf3d70.w4.b0", !238, i64 0} !238 = !{!"0x13cf3d70.w8.b0", !239, i64 0} !239 = !{!"0x13cf3d70.w16.b0", !240, i64 0} !240 = !{!"0x13cf3d70.w32.b0", !241, i64 0} !241 = !{!"0x13cf3d70.w64.b0", !242, i64 0} !242 = !{!"0x13cf3d70.w128.b0", !243, i64 0} !243 = !{!"0x13cf3d70.w256.b0", !244, i64 0} !244 = !{!"0x13cf3d70.w512.b0", !245, i64 0} !245 = !{!"0x13cf3d70.w1024.b0", !246, i64 0} !246 = !{!"i64", !247, i64 0} !247 = !{!"0x13cf3d70", !8, i64 0} !248 = !{!249, !249, i64 0} !249 = !{!"0x13cf3d70.w1.b1", !236, i64 0} !250 = !{!251, !251, i64 0} !251 = !{!"i8", !252, i64 0} !252 = !{!"0x6e90f70", !8, i64 0} !253 = !{!254, !254, i64 0} !254 = !{!"i8", !255, i64 0} !255 = !{!"0x3bc1640", !8, i64 0} !256 = !{!257, !257, i64 0} !257 = !{!"0xc7c23e0.w1.b0", !258, i64 0} !258 = !{!"0xc7c23e0.w2.b0", !259, i64 0} !259 = !{!"0xc7c23e0.w4.b0", !260, i64 0} !260 = !{!"0xc7c23e0.w8.b0", !261, i64 0} !261 = !{!"0xc7c23e0.w16.b0", !262, i64 0} !262 = !{!"0xc7c23e0.w32.b0", !263, i64 0} !263 = !{!"0xc7c23e0.w64.b0", !264, i64 0} !264 = !{!"0xc7c23e0.w128.b0", !265, i64 0} !265 = !{!"0xc7c23e0.w256.b0", !266, i64 0} !266 = !{!"0xc7c23e0.w512.b0", !267, i64 0} !267 = !{!"0xc7c23e0.w1024.b0", !268, i64 0} !268 = !{!"i8", !269, i64 0} !269 = !{!"0xc7c23e0", !8, i64 0} !270 = !{!271, !271, i64 0} !271 = !{!"0xc7c23e0.w1.b1", !258, i64 0} !272 = !{!273, !273, i64 0} !273 = !{!"0x13cf6bd0.w1.b0", !274, i64 0} !274 = !{!"0x13cf6bd0.w2.b0", !275, i64 0} !275 = !{!"0x13cf6bd0.w4.b0", !276, i64 0} !276 = !{!"0x13cf6bd0.w8.b0", !277, i64 0} !277 = !{!"0x13cf6bd0.w16.b0", !278, i64 0} !278 = !{!"0x13cf6bd0.w32.b0", !279, i64 0} !279 = !{!"0x13cf6bd0.w64.b0", !280, i64 0} !280 = !{!"0x13cf6bd0.w128.b0", !281, i64 0} !281 = !{!"0x13cf6bd0.w256.b0", !282, i64 0} !282 = !{!"0x13cf6bd0.w512.b0", !283, i64 0} !283 = !{!"0x13cf6bd0.w1024.b0", !284, i64 0} !284 = !{!"i64", !285, i64 0} !285 = !{!"0x13cf6bd0", !8, i64 0} !286 = !{!287, !287, i64 0} !287 = !{!"0x13cf6bd0.w1.b1", !274, i64 0} !288 = !{!289, !289, i64 0} !289 = !{!"0x13cf6bd0.w1.b2", !290, i64 0} !290 = !{!"0x13cf6bd0.w2.b2", !275, i64 0} !291 = !{!292, !292, i64 0} !292 = !{!"0x13cf7400.w1.b0", !293, i64 0} !293 = !{!"0x13cf7400.w2.b0", !294, i64 0} !294 = !{!"0x13cf7400.w4.b0", !295, i64 0} !295 = !{!"0x13cf7400.w8.b0", !296, i64 0} !296 = !{!"0x13cf7400.w16.b0", !297, i64 0} !297 = !{!"0x13cf7400.w32.b0", !298, i64 0} !298 = !{!"0x13cf7400.w64.b0", !299, i64 0} !299 = !{!"0x13cf7400.w128.b0", !300, i64 0} !300 = !{!"0x13cf7400.w256.b0", !301, i64 0} !301 = !{!"0x13cf7400.w512.b0", !302, i64 0} !302 = !{!"0x13cf7400.w1024.b0", !303, i64 0} !303 = !{!"i64", !304, i64 0} !304 = !{!"0x13cf7400", !8, i64 0} !305 = !{!306, !306, i64 0} !306 = !{!"0x13cf7400.w1.b1", !293, i64 0} !307 = !{!308, !308, i64 0} !308 = !{!"0x13cf7400.w1.b2", !309, i64 0} !309 = !{!"0x13cf7400.w2.b2", !294, i64 0} !310 = !{!311, !311, i64 0} !311 = !{!"0x1597e970.w1.b0", !312, i64 0} !312 = !{!"0x1597e970.w2.b0", !313, i64 0} !313 = !{!"0x1597e970.w4.b0", !314, i64 0} !314 = !{!"0x1597e970.w8.b0", !315, i64 0} !315 = !{!"0x1597e970.w16.b0", !316, i64 0} !316 = !{!"0x1597e970.w32.b0", !317, i64 0} !317 = !{!"0x1597e970.w64.b0", !318, i64 0} !318 = !{!"0x1597e970.w128.b0", !319, i64 0} !319 = !{!"0x1597e970.w256.b0", !320, i64 0} !320 = !{!"0x1597e970.w512.b0", !321, i64 0} !321 = !{!"0x1597e970.w1024.b0", !322, i64 0} !322 = !{!"i64", !323, i64 0} !323 = !{!"0x1597e970", !8, i64 0} !324 = !{!325, !325, i64 0} !325 = !{!"0x1597e970.w1.b1", !312, i64 0} !326 = !{!327, !327, i64 0} !327 = !{!"0x1597e970.w1.b2", !328, i64 0} !328 = !{!"0x1597e970.w2.b2", !313, i64 0} !329 = !{!330, !330, i64 0} !330 = !{!"0x13cf5ef0.w1.b0", !331, i64 0} !331 = !{!"0x13cf5ef0.w2.b0", !332, i64 0} !332 = !{!"0x13cf5ef0.w4.b0", !333, i64 0} !333 = !{!"0x13cf5ef0.w8.b0", !334, i64 0} !334 = !{!"0x13cf5ef0.w16.b0", !335, i64 0} !335 = !{!"0x13cf5ef0.w32.b0", !336, i64 0} !336 = !{!"0x13cf5ef0.w64.b0", !337, i64 0} !337 = !{!"0x13cf5ef0.w128.b0", !338, i64 0} !338 = !{!"0x13cf5ef0.w256.b0", !339, i64 0} !339 = !{!"0x13cf5ef0.w512.b0", !340, i64 0} !340 = !{!"0x13cf5ef0.w1024.b0", !341, i64 0} !341 = !{!"i64", !342, i64 0} !342 = !{!"0x13cf5ef0", !8, i64 0} !343 = !{!344, !344, i64 0} !344 = !{!"0x13cf5ef0.w1.b1", !331, i64 0} !345 = !{!346, !346, i64 0} !346 = !{!"0x13cf5ef0.w1.b2", !347, i64 0} !347 = !{!"0x13cf5ef0.w2.b2", !332, i64 0} !348 = !{!349, !349, i64 0} !349 = !{!"float", !350, i64 0} !350 = !{!"0xc7f8900", !8, i64 0} !351 = !{!352, !352, i64 0} !352 = !{!"i8", !353, i64 0} !353 = !{!"0x3ba2520", !8, i64 0} !354 = !{!355, !355, i64 0} !355 = !{!"i8", !356, i64 0} !356 = !{!"0x3ba24e0", !8, i64 0} !357 = distinct !{!357, !157} !358 = distinct !{!358, !160} !359 = distinct !{!359, !163, !157} !360 = !{!361, !361, i64 0} !361 = !{!"0x13cf4c90.w1.b0", !362, i64 0} !362 = !{!"0x13cf4c90.w2.b0", !363, i64 0} !363 = !{!"0x13cf4c90.w4.b0", !364, i64 0} !364 = !{!"0x13cf4c90.w8.b0", !365, i64 0} !365 = !{!"0x13cf4c90.w16.b0", !366, i64 0} !366 = !{!"0x13cf4c90.w32.b0", !367, i64 0} !367 = !{!"0x13cf4c90.w64.b0", !368, i64 0} !368 = !{!"0x13cf4c90.w128.b0", !369, i64 0} !369 = !{!"0x13cf4c90.w256.b0", !370, i64 0} !370 = !{!"0x13cf4c90.w512.b0", !371, i64 0} !371 = !{!"0x13cf4c90.w1024.b0", !372, i64 0} !372 = !{!"i8", !373, i64 0} !373 = !{!"0x13cf4c90", !8, i64 0} !374 = !{!375, !375, i64 0} !375 = !{!"0x13cf4c90.w1.b1", !362, i64 0} !376 = !{!377, !377, i64 0} !377 = !{!"0x13cf4c90.w1.b2", !378, i64 0} !378 = !{!"0x13cf4c90.w2.b2", !363, i64 0} !379 = !{!380, !380, i64 0} !380 = !{!"0x1598e430.w1.b0", !381, i64 0} !381 = !{!"0x1598e430.w2.b0", !382, i64 0} !382 = !{!"0x1598e430.w4.b0", !383, i64 0} !383 = !{!"0x1598e430.w8.b0", !384, i64 0} !384 = !{!"0x1598e430.w16.b0", !385, i64 0} !385 = !{!"0x1598e430.w32.b0", !386, i64 0} !386 = !{!"0x1598e430.w64.b0", !387, i64 0} !387 = !{!"0x1598e430.w128.b0", !388, i64 0} !388 = !{!"0x1598e430.w256.b0", !389, i64 0} !389 = !{!"0x1598e430.w512.b0", !390, i64 0} !390 = !{!"0x1598e430.w1024.b0", !391, i64 0} !391 = !{!"i64", !392, i64 0} !392 = !{!"0x1598e430", !8, i64 0} !393 = !{!394, !394, i64 0} !394 = !{!"0x1598e960.w1.b0", !395, i64 0} !395 = !{!"0x1598e960.w2.b0", !396, i64 0} !396 = !{!"0x1598e960.w4.b0", !397, i64 0} !397 = !{!"0x1598e960.w8.b0", !398, i64 0} !398 = !{!"0x1598e960.w16.b0", !399, i64 0} !399 = !{!"0x1598e960.w32.b0", !400, i64 0} !400 = !{!"0x1598e960.w64.b0", !401, i64 0} !401 = !{!"0x1598e960.w128.b0", !402, i64 0} !402 = !{!"0x1598e960.w256.b0", !403, i64 0} !403 = !{!"0x1598e960.w512.b0", !404, i64 0} !404 = !{!"0x1598e960.w1024.b0", !405, i64 0} !405 = !{!"i64", !406, i64 0} !406 = !{!"0x1598e960", !8, i64 0} !407 = !{!408, !408, i64 0} !408 = !{!"0x159903a0.w1.b0", !409, i64 0} !409 = !{!"0x159903a0.w2.b0", !410, i64 0} !410 = !{!"0x159903a0.w4.b0", !411, i64 0} !411 = !{!"0x159903a0.w8.b0", !412, i64 0} !412 = !{!"0x159903a0.w16.b0", !413, i64 0} !413 = !{!"0x159903a0.w32.b0", !414, i64 0} !414 = !{!"0x159903a0.w64.b0", !415, i64 0} !415 = !{!"0x159903a0.w128.b0", !416, i64 0} !416 = !{!"0x159903a0.w256.b0", !417, i64 0} !417 = !{!"0x159903a0.w512.b0", !418, i64 0} !418 = !{!"0x159903a0.w1024.b0", !419, i64 0} !419 = !{!"i64", !420, i64 0} !420 = !{!"0x159903a0", !8, i64 0} !421 = !{!422, !422, i64 0} !422 = !{!"0x158cbc30.w1.b0", !423, i64 0} !423 = !{!"0x158cbc30.w2.b0", !424, i64 0} !424 = !{!"0x158cbc30.w4.b0", !425, i64 0} !425 = !{!"0x158cbc30.w8.b0", !426, i64 0} !426 = !{!"0x158cbc30.w16.b0", !427, i64 0} !427 = !{!"0x158cbc30.w32.b0", !428, i64 0} !428 = !{!"0x158cbc30.w64.b0", !429, i64 0} !429 = !{!"0x158cbc30.w128.b0", !430, i64 0} !430 = !{!"0x158cbc30.w256.b0", !431, i64 0} !431 = !{!"0x158cbc30.w512.b0", !432, i64 0} !432 = !{!"0x158cbc30.w1024.b0", !433, i64 0} !433 = !{!"i64", !434, i64 0} !434 = !{!"0x158cbc30", !8, i64 0} !435 = !{!436, !436, i64 0} !436 = !{!"0x158cd5f0.w1.b0", !437, i64 0} !437 = !{!"0x158cd5f0.w2.b0", !438, i64 0} !438 = !{!"0x158cd5f0.w4.b0", !439, i64 0} !439 = !{!"0x158cd5f0.w8.b0", !440, i64 0} !440 = !{!"0x158cd5f0.w16.b0", !441, i64 0} !441 = !{!"0x158cd5f0.w32.b0", !442, i64 0} !442 = !{!"0x158cd5f0.w64.b0", !443, i64 0} !443 = !{!"0x158cd5f0.w128.b0", !444, i64 0} !444 = !{!"0x158cd5f0.w256.b0", !445, i64 0} !445 = !{!"0x158cd5f0.w512.b0", !446, i64 0} !446 = !{!"0x158cd5f0.w1024.b0", !447, i64 0} !447 = !{!"i64", !448, i64 0} !448 = !{!"0x158cd5f0", !8, i64 0} !449 = !{!450, !450, i64 0} !450 = !{!"0x158cdaf0.w1.b0", !451, i64 0} !451 = !{!"0x158cdaf0.w2.b0", !452, i64 0} !452 = !{!"0x158cdaf0.w4.b0", !453, i64 0} !453 = !{!"0x158cdaf0.w8.b0", !454, i64 0} !454 = !{!"0x158cdaf0.w16.b0", !455, i64 0} !455 = !{!"0x158cdaf0.w32.b0", !456, i64 0} !456 = !{!"0x158cdaf0.w64.b0", !457, i64 0} !457 = !{!"0x158cdaf0.w128.b0", !458, i64 0} !458 = !{!"0x158cdaf0.w256.b0", !459, i64 0} !459 = !{!"0x158cdaf0.w512.b0", !460, i64 0} !460 = !{!"0x158cdaf0.w1024.b0", !461, i64 0} !461 = !{!"i64", !462, i64 0} !462 = !{!"0x158cdaf0", !8, i64 0} !463 = !{!464, !464, i64 0} !464 = !{!"0x6f1d2d0.w1.b0", !465, i64 0} !465 = !{!"0x6f1d2d0.w2.b0", !466, i64 0} !466 = !{!"0x6f1d2d0.w4.b0", !467, i64 0} !467 = !{!"0x6f1d2d0.w8.b0", !468, i64 0} !468 = !{!"0x6f1d2d0.w16.b0", !469, i64 0} !469 = !{!"0x6f1d2d0.w32.b0", !470, i64 0} !470 = !{!"0x6f1d2d0.w64.b0", !471, i64 0} !471 = !{!"0x6f1d2d0.w128.b0", !472, i64 0} !472 = !{!"0x6f1d2d0.w256.b0", !473, i64 0} !473 = !{!"0x6f1d2d0.w512.b0", !474, i64 0} !474 = !{!"0x6f1d2d0.w1024.b0", !475, i64 0} !475 = !{!"i8", !476, i64 0} !476 = !{!"0x6f1d2d0", !8, i64 0} !477 = !{!478, !478, i64 0} !478 = !{!"i8", !479, i64 0} !479 = !{!"0x158a1e00", !8, i64 0} !480 = distinct !{!480, !157} !481 = distinct !{!481, !163, !157} !482 = !{!483, !483, i64 0} !483 = !{!"0x1597f080.w1.b0", !484, i64 0} !484 = !{!"0x1597f080.w2.b0", !485, i64 0} !485 = !{!"0x1597f080.w4.b0", !486, i64 0} !486 = !{!"0x1597f080.w8.b0", !487, i64 0} !487 = !{!"0x1597f080.w16.b0", !488, i64 0} !488 = !{!"0x1597f080.w32.b0", !489, i64 0} !489 = !{!"0x1597f080.w64.b0", !490, i64 0} !490 = !{!"0x1597f080.w128.b0", !491, i64 0} !491 = !{!"0x1597f080.w256.b0", !492, i64 0} !492 = !{!"0x1597f080.w512.b0", !493, i64 0} !493 = !{!"0x1597f080.w1024.b0", !494, i64 0} !494 = !{!"i8", !495, i64 0} !495 = !{!"0x1597f080", !8, i64 0} !496 = !{!497, !497, i64 0} !497 = !{!"0x1597f080.w1.b1", !484, i64 0} !498 = !{!499, !499, i64 0} !499 = !{!"0x158c3bd0.w1.b0", !500, i64 0} !500 = !{!"0x158c3bd0.w2.b0", !501, i64 0} !501 = !{!"0x158c3bd0.w4.b0", !502, i64 0} !502 = !{!"0x158c3bd0.w8.b0", !503, i64 0} !503 = !{!"0x158c3bd0.w16.b0", !504, i64 0} !504 = !{!"0x158c3bd0.w32.b0", !505, i64 0} !505 = !{!"0x158c3bd0.w64.b0", !506, i64 0} !506 = !{!"0x158c3bd0.w128.b0", !507, i64 0} !507 = !{!"0x158c3bd0.w256.b0", !508, i64 0} !508 = !{!"0x158c3bd0.w512.b0", !509, i64 0} !509 = !{!"0x158c3bd0.w1024.b0", !510, i64 0} !510 = !{!"i64", !511, i64 0} !511 = !{!"0x158c3bd0", !8, i64 0} !512 = !{!513, !513, i64 0} !513 = !{!"0x158c3bd0.w1.b1", !500, i64 0} !514 = !{!515, !515, i64 0} !515 = !{!"0x158c3bd0.w1.b2", !516, i64 0} !516 = !{!"0x158c3bd0.w2.b2", !501, i64 0} !517 = !{!518, !518, i64 0} !518 = !{!"0x158cd6e0.w1.b0", !519, i64 0} !519 = !{!"0x158cd6e0.w2.b0", !520, i64 0} !520 = !{!"0x158cd6e0.w4.b0", !521, i64 0} !521 = !{!"0x158cd6e0.w8.b0", !522, i64 0} !522 = !{!"0x158cd6e0.w16.b0", !523, i64 0} !523 = !{!"0x158cd6e0.w32.b0", !524, i64 0} !524 = !{!"0x158cd6e0.w64.b0", !525, i64 0} !525 = !{!"0x158cd6e0.w128.b0", !526, i64 0} !526 = !{!"0x158cd6e0.w256.b0", !527, i64 0} !527 = !{!"0x158cd6e0.w512.b0", !528, i64 0} !528 = !{!"0x158cd6e0.w1024.b0", !529, i64 0} !529 = !{!"i64", !530, i64 0} !530 = !{!"0x158cd6e0", !8, i64 0} !531 = !{!532, !532, i64 0} !532 = !{!"0x158cd6e0.w1.b1", !519, i64 0} !533 = !{!534, !534, i64 0} !534 = !{!"0x158cd6e0.w1.b2", !535, i64 0} !535 = !{!"0x158cd6e0.w2.b2", !520, i64 0} !536 = !{!537, !537, i64 0} !537 = !{!"0x158c61a0.w1.b0", !538, i64 0} !538 = !{!"0x158c61a0.w2.b0", !539, i64 0} !539 = !{!"0x158c61a0.w4.b0", !540, i64 0} !540 = !{!"0x158c61a0.w8.b0", !541, i64 0} !541 = !{!"0x158c61a0.w16.b0", !542, i64 0} !542 = !{!"0x158c61a0.w32.b0", !543, i64 0} !543 = !{!"0x158c61a0.w64.b0", !544, i64 0} !544 = !{!"0x158c61a0.w128.b0", !545, i64 0} !545 = !{!"0x158c61a0.w256.b0", !546, i64 0} !546 = !{!"0x158c61a0.w512.b0", !547, i64 0} !547 = !{!"0x158c61a0.w1024.b0", !548, i64 0} !548 = !{!"i64", !549, i64 0} !549 = !{!"0x158c61a0", !8, i64 0} !550 = !{!551, !551, i64 0} !551 = !{!"0x158c61a0.w1.b1", !538, i64 0} !552 = !{!553, !553, i64 0} !553 = !{!"0x158c68f0.w1.b0", !554, i64 0} !554 = !{!"0x158c68f0.w2.b0", !555, i64 0} !555 = !{!"0x158c68f0.w4.b0", !556, i64 0} !556 = !{!"0x158c68f0.w8.b0", !557, i64 0} !557 = !{!"0x158c68f0.w16.b0", !558, i64 0} !558 = !{!"0x158c68f0.w32.b0", !559, i64 0} !559 = !{!"0x158c68f0.w64.b0", !560, i64 0} !560 = !{!"0x158c68f0.w128.b0", !561, i64 0} !561 = !{!"0x158c68f0.w256.b0", !562, i64 0} !562 = !{!"0x158c68f0.w512.b0", !563, i64 0} !563 = !{!"0x158c68f0.w1024.b0", !564, i64 0} !564 = !{!"i64", !565, i64 0} !565 = !{!"0x158c68f0", !8, i64 0} !566 = !{!567, !567, i64 0} !567 = !{!"0x158c68f0.w1.b1", !554, i64 0} !568 = !{!569, !569, i64 0} !569 = !{!"i8", !570, i64 0} !570 = !{!"0x6e7c250", !8, i64 0} !571 = !{!572, !572, i64 0} !572 = !{!"i8", !573, i64 0} !573 = !{!"0x6e30950", !8, i64 0} !574 = distinct !{!574, !163, !157} !575 = !{!576, !576, i64 0} !576 = !{!"0x15990260.w1.b0", !577, i64 0} !577 = !{!"0x15990260.w2.b0", !578, i64 0} !578 = !{!"0x15990260.w4.b0", !579, i64 0} !579 = !{!"0x15990260.w8.b0", !580, i64 0} !580 = !{!"0x15990260.w16.b0", !581, i64 0} !581 = !{!"0x15990260.w32.b0", !582, i64 0} !582 = !{!"0x15990260.w64.b0", !583, i64 0} !583 = !{!"0x15990260.w128.b0", !584, i64 0} !584 = !{!"0x15990260.w256.b0", !585, i64 0} !585 = !{!"0x15990260.w512.b0", !586, i64 0} !586 = !{!"0x15990260.w1024.b0", !587, i64 0} !587 = !{!"i8", !588, i64 0} !588 = !{!"0x15990260", !8, i64 0} !589 = !{!590, !590, i64 0} !590 = !{!"0x15990260.w1.b1", !577, i64 0} !591 = !{!592, !592, i64 0} !592 = !{!"0x1589a170.w1.b0", !593, i64 0} !593 = !{!"0x1589a170.w2.b0", !594, i64 0} !594 = !{!"0x1589a170.w4.b0", !595, i64 0} !595 = !{!"0x1589a170.w8.b0", !596, i64 0} !596 = !{!"0x1589a170.w16.b0", !597, i64 0} !597 = !{!"0x1589a170.w32.b0", !598, i64 0} !598 = !{!"0x1589a170.w64.b0", !599, i64 0} !599 = !{!"0x1589a170.w128.b0", !600, i64 0} !600 = !{!"0x1589a170.w256.b0", !601, i64 0} !601 = !{!"0x1589a170.w512.b0", !602, i64 0} !602 = !{!"0x1589a170.w1024.b0", !603, i64 0} !603 = !{!"i64", !604, i64 0} !604 = !{!"0x1589a170", !8, i64 0} !605 = !{!606, !606, i64 0} !606 = !{!"0x1589a170.w1.b1", !593, i64 0} !607 = !{!608, !608, i64 0} !608 = !{!"0x1589a170.w1.b2", !609, i64 0} !609 = !{!"0x1589a170.w2.b2", !594, i64 0} !610 = !{!611, !611, i64 0} !611 = !{!"0x1589a170.w1.b3", !609, i64 0} !612 = !{!613, !613, i64 0} !613 = !{!"0x1589a170.w1.b4", !614, i64 0} !614 = !{!"0x1589a170.w2.b4", !615, i64 0} !615 = !{!"0x1589a170.w4.b4", !595, i64 0} !616 = !{!617, !617, i64 0} !617 = !{!"0x1589ae60.w1.b0", !618, i64 0} !618 = !{!"0x1589ae60.w2.b0", !619, i64 0} !619 = !{!"0x1589ae60.w4.b0", !620, i64 0} !620 = !{!"0x1589ae60.w8.b0", !621, i64 0} !621 = !{!"0x1589ae60.w16.b0", !622, i64 0} !622 = !{!"0x1589ae60.w32.b0", !623, i64 0} !623 = !{!"0x1589ae60.w64.b0", !624, i64 0} !624 = !{!"0x1589ae60.w128.b0", !625, i64 0} !625 = !{!"0x1589ae60.w256.b0", !626, i64 0} !626 = !{!"0x1589ae60.w512.b0", !627, i64 0} !627 = !{!"0x1589ae60.w1024.b0", !628, i64 0} !628 = !{!"i64", !629, i64 0} !629 = !{!"0x1589ae60", !8, i64 0} !630 = !{!631, !631, i64 0} !631 = !{!"0x1589ae60.w1.b1", !618, i64 0} !632 = !{!633, !633, i64 0} !633 = !{!"0x1589ae60.w1.b2", !634, i64 0} !634 = !{!"0x1589ae60.w2.b2", !619, i64 0} !635 = !{!636, !636, i64 0} !636 = !{!"0x1589ae60.w1.b3", !634, i64 0} !637 = !{!638, !638, i64 0} !638 = !{!"0x1589ae60.w1.b4", !639, i64 0} !639 = !{!"0x1589ae60.w2.b4", !640, i64 0} !640 = !{!"0x1589ae60.w4.b4", !620, i64 0} !641 = !{!642, !642, i64 0} !642 = !{!"0x158758d0.w1.b0", !643, i64 0} !643 = !{!"0x158758d0.w2.b0", !644, i64 0} !644 = !{!"0x158758d0.w4.b0", !645, i64 0} !645 = !{!"0x158758d0.w8.b0", !646, i64 0} !646 = !{!"0x158758d0.w16.b0", !647, i64 0} !647 = !{!"0x158758d0.w32.b0", !648, i64 0} !648 = !{!"0x158758d0.w64.b0", !649, i64 0} !649 = !{!"0x158758d0.w128.b0", !650, i64 0} !650 = !{!"0x158758d0.w256.b0", !651, i64 0} !651 = !{!"0x158758d0.w512.b0", !652, i64 0} !652 = !{!"0x158758d0.w1024.b0", !653, i64 0} !653 = !{!"i64", !654, i64 0} !654 = !{!"0x158758d0", !8, i64 0} !655 = !{!656, !656, i64 0} !656 = !{!"0x158758d0.w1.b1", !643, i64 0} !657 = !{!658, !658, i64 0} !658 = !{!"0x158758d0.w1.b2", !659, i64 0} !659 = !{!"0x158758d0.w2.b2", !644, i64 0} !660 = !{!661, !661, i64 0} !661 = !{!"0x15876230.w1.b0", !662, i64 0} !662 = !{!"0x15876230.w2.b0", !663, i64 0} !663 = !{!"0x15876230.w4.b0", !664, i64 0} !664 = !{!"0x15876230.w8.b0", !665, i64 0} !665 = !{!"0x15876230.w16.b0", !666, i64 0} !666 = !{!"0x15876230.w32.b0", !667, i64 0} !667 = !{!"0x15876230.w64.b0", !668, i64 0} !668 = !{!"0x15876230.w128.b0", !669, i64 0} !669 = !{!"0x15876230.w256.b0", !670, i64 0} !670 = !{!"0x15876230.w512.b0", !671, i64 0} !671 = !{!"0x15876230.w1024.b0", !672, i64 0} !672 = !{!"i64", !673, i64 0} !673 = !{!"0x15876230", !8, i64 0} !674 = !{!675, !675, i64 0} !675 = !{!"0x15876230.w1.b1", !662, i64 0} !676 = !{!677, !677, i64 0} !677 = !{!"0x15876230.w1.b2", !678, i64 0} !678 = !{!"0x15876230.w2.b2", !663, i64 0} !679 = !{!680, !680, i64 0} !680 = !{!"i8", !681, i64 0} !681 = !{!"0x6e44180", !8, i64 0} !682 = !{!683, !683, i64 0} !683 = !{!"i8", !684, i64 0} !684 = !{!"0x6e7a0c0", !8, i64 0} !685 = !{!686, !686, i64 0} !686 = !{!"0x159acbc0.w1.b0", !687, i64 0} !687 = !{!"0x159acbc0.w2.b0", !688, i64 0} !688 = !{!"0x159acbc0.w4.b0", !689, i64 0} !689 = !{!"0x159acbc0.w8.b0", !690, i64 0} !690 = !{!"0x159acbc0.w16.b0", !691, i64 0} !691 = !{!"0x159acbc0.w32.b0", !692, i64 0} !692 = !{!"0x159acbc0.w64.b0", !693, i64 0} !693 = !{!"0x159acbc0.w128.b0", !694, i64 0} !694 = !{!"0x159acbc0.w256.b0", !695, i64 0} !695 = !{!"0x159acbc0.w512.b0", !696, i64 0} !696 = !{!"0x159acbc0.w1024.b0", !697, i64 0} !697 = !{!"i8", !698, i64 0} !698 = !{!"0x159acbc0", !8, i64 0} !699 = !{!700, !700, i64 0} !700 = !{!"0x159acbc0.w1.b1", !687, i64 0} !701 = !{!702, !702, i64 0} !702 = !{!"0x159acbc0.w1.b2", !703, i64 0} !703 = !{!"0x159acbc0.w2.b2", !688, i64 0} !704 = !{!705, !705, i64 0} !705 = !{!"0x159acbc0.w1.b3", !703, i64 0} !706 = !{!707, !707, i64 0} !707 = !{!"0x159b43b0.w1.b0", !708, i64 0} !708 = !{!"0x159b43b0.w2.b0", !709, i64 0} !709 = !{!"0x159b43b0.w4.b0", !710, i64 0} !710 = !{!"0x159b43b0.w8.b0", !711, i64 0} !711 = !{!"0x159b43b0.w16.b0", !712, i64 0} !712 = !{!"0x159b43b0.w32.b0", !713, i64 0} !713 = !{!"0x159b43b0.w64.b0", !714, i64 0} !714 = !{!"0x159b43b0.w128.b0", !715, i64 0} !715 = !{!"0x159b43b0.w256.b0", !716, i64 0} !716 = !{!"0x159b43b0.w512.b0", !717, i64 0} !717 = !{!"0x159b43b0.w1024.b0", !718, i64 0} !718 = !{!"i64", !719, i64 0} !719 = !{!"0x159b43b0", !8, i64 0} !720 = !{!721, !721, i64 0} !721 = !{!"0x159b43b0.w1.b1", !708, i64 0} !722 = !{!723, !723, i64 0} !723 = !{!"0x159b4a70.w1.b0", !724, i64 0} !724 = !{!"0x159b4a70.w2.b0", !725, i64 0} !725 = !{!"0x159b4a70.w4.b0", !726, i64 0} !726 = !{!"0x159b4a70.w8.b0", !727, i64 0} !727 = !{!"0x159b4a70.w16.b0", !728, i64 0} !728 = !{!"0x159b4a70.w32.b0", !729, i64 0} !729 = !{!"0x159b4a70.w64.b0", !730, i64 0} !730 = !{!"0x159b4a70.w128.b0", !731, i64 0} !731 = !{!"0x159b4a70.w256.b0", !732, i64 0} !732 = !{!"0x159b4a70.w512.b0", !733, i64 0} !733 = !{!"0x159b4a70.w1024.b0", !734, i64 0} !734 = !{!"i64", !735, i64 0} !735 = !{!"0x159b4a70", !8, i64 0} !736 = !{!737, !737, i64 0} !737 = !{!"0x159b4a70.w1.b1", !724, i64 0} !738 = !{!739, !739, i64 0} !739 = !{!"0x159b60c0.w1.b0", !740, i64 0} !740 = !{!"0x159b60c0.w2.b0", !741, i64 0} !741 = !{!"0x159b60c0.w4.b0", !742, i64 0} !742 = !{!"0x159b60c0.w8.b0", !743, i64 0} !743 = !{!"0x159b60c0.w16.b0", !744, i64 0} !744 = !{!"0x159b60c0.w32.b0", !745, i64 0} !745 = !{!"0x159b60c0.w64.b0", !746, i64 0} !746 = !{!"0x159b60c0.w128.b0", !747, i64 0} !747 = !{!"0x159b60c0.w256.b0", !748, i64 0} !748 = !{!"0x159b60c0.w512.b0", !749, i64 0} !749 = !{!"0x159b60c0.w1024.b0", !750, i64 0} !750 = !{!"i64", !751, i64 0} !751 = !{!"0x159b60c0", !8, i64 0} !752 = !{!753, !753, i64 0} !753 = !{!"0x159b60c0.w1.b1", !740, i64 0} !754 = !{!755, !755, i64 0} !755 = !{!"0x159b6810.w1.b0", !756, i64 0} !756 = !{!"0x159b6810.w2.b0", !757, i64 0} !757 = !{!"0x159b6810.w4.b0", !758, i64 0} !758 = !{!"0x159b6810.w8.b0", !759, i64 0} !759 = !{!"0x159b6810.w16.b0", !760, i64 0} !760 = !{!"0x159b6810.w32.b0", !761, i64 0} !761 = !{!"0x159b6810.w64.b0", !762, i64 0} !762 = !{!"0x159b6810.w128.b0", !763, i64 0} !763 = !{!"0x159b6810.w256.b0", !764, i64 0} !764 = !{!"0x159b6810.w512.b0", !765, i64 0} !765 = !{!"0x159b6810.w1024.b0", !766, i64 0} !766 = !{!"i64", !767, i64 0} !767 = !{!"0x159b6810", !8, i64 0} !768 = !{!769, !769, i64 0} !769 = !{!"0x159b6810.w1.b1", !756, i64 0} !770 = !{!771, !771, i64 0} !771 = !{!"0x159b8620.w1.b0", !772, i64 0} !772 = !{!"0x159b8620.w2.b0", !773, i64 0} !773 = !{!"0x159b8620.w4.b0", !774, i64 0} !774 = !{!"0x159b8620.w8.b0", !775, i64 0} !775 = !{!"0x159b8620.w16.b0", !776, i64 0} !776 = !{!"0x159b8620.w32.b0", !777, i64 0} !777 = !{!"0x159b8620.w64.b0", !778, i64 0} !778 = !{!"0x159b8620.w128.b0", !779, i64 0} !779 = !{!"0x159b8620.w256.b0", !780, i64 0} !780 = !{!"0x159b8620.w512.b0", !781, i64 0} !781 = !{!"0x159b8620.w1024.b0", !782, i64 0} !782 = !{!"i64", !783, i64 0} !783 = !{!"0x159b8620", !8, i64 0} !784 = !{!785, !785, i64 0} !785 = !{!"0x159b8b20.w1.b0", !786, i64 0} !786 = !{!"0x159b8b20.w2.b0", !787, i64 0} !787 = !{!"0x159b8b20.w4.b0", !788, i64 0} !788 = !{!"0x159b8b20.w8.b0", !789, i64 0} !789 = !{!"0x159b8b20.w16.b0", !790, i64 0} !790 = !{!"0x159b8b20.w32.b0", !791, i64 0} !791 = !{!"0x159b8b20.w64.b0", !792, i64 0} !792 = !{!"0x159b8b20.w128.b0", !793, i64 0} !793 = !{!"0x159b8b20.w256.b0", !794, i64 0} !794 = !{!"0x159b8b20.w512.b0", !795, i64 0} !795 = !{!"0x159b8b20.w1024.b0", !796, i64 0} !796 = !{!"i64", !797, i64 0} !797 = !{!"0x159b8b20", !8, i64 0} !798 = !{!799, !799, i64 0} !799 = !{!"0x159ba550.w1.b0", !800, i64 0} !800 = !{!"0x159ba550.w2.b0", !801, i64 0} !801 = !{!"0x159ba550.w4.b0", !802, i64 0} !802 = !{!"0x159ba550.w8.b0", !803, i64 0} !803 = !{!"0x159ba550.w16.b0", !804, i64 0} !804 = !{!"0x159ba550.w32.b0", !805, i64 0} !805 = !{!"0x159ba550.w64.b0", !806, i64 0} !806 = !{!"0x159ba550.w128.b0", !807, i64 0} !807 = !{!"0x159ba550.w256.b0", !808, i64 0} !808 = !{!"0x159ba550.w512.b0", !809, i64 0} !809 = !{!"0x159ba550.w1024.b0", !810, i64 0} !810 = !{!"i64", !811, i64 0} !811 = !{!"0x159ba550", !8, i64 0} !812 = !{!813, !813, i64 0} !813 = !{!"0x159ba550.w1.b1", !800, i64 0} !814 = !{!815, !815, i64 0} !815 = !{!"0x159bab40.w1.b0", !816, i64 0} !816 = !{!"0x159bab40.w2.b0", !817, i64 0} !817 = !{!"0x159bab40.w4.b0", !818, i64 0} !818 = !{!"0x159bab40.w8.b0", !819, i64 0} !819 = !{!"0x159bab40.w16.b0", !820, i64 0} !820 = !{!"0x159bab40.w32.b0", !821, i64 0} !821 = !{!"0x159bab40.w64.b0", !822, i64 0} !822 = !{!"0x159bab40.w128.b0", !823, i64 0} !823 = !{!"0x159bab40.w256.b0", !824, i64 0} !824 = !{!"0x159bab40.w512.b0", !825, i64 0} !825 = !{!"0x159bab40.w1024.b0", !826, i64 0} !826 = !{!"i64", !827, i64 0} !827 = !{!"0x159bab40", !8, i64 0} !828 = !{!829, !829, i64 0} !829 = !{!"0x159bab40.w1.b1", !816, i64 0} !830 = !{!831, !831, i64 0} !831 = !{!"0x15a45560.w1.b0", !832, i64 0} !832 = !{!"0x15a45560.w2.b0", !833, i64 0} !833 = !{!"0x15a45560.w4.b0", !834, i64 0} !834 = !{!"0x15a45560.w8.b0", !835, i64 0} !835 = !{!"0x15a45560.w16.b0", !836, i64 0} !836 = !{!"0x15a45560.w32.b0", !837, i64 0} !837 = !{!"0x15a45560.w64.b0", !838, i64 0} !838 = !{!"0x15a45560.w128.b0", !839, i64 0} !839 = !{!"0x15a45560.w256.b0", !840, i64 0} !840 = !{!"0x15a45560.w512.b0", !841, i64 0} !841 = !{!"0x15a45560.w1024.b0", !842, i64 0} !842 = !{!"i64", !843, i64 0} !843 = !{!"0x15a45560", !8, i64 0} !844 = !{!845, !845, i64 0} !845 = !{!"0x15a45560.w1.b1", !832, i64 0} !846 = !{!847, !847, i64 0} !847 = !{!"0x15a45560.w1.b2", !848, i64 0} !848 = !{!"0x15a45560.w2.b2", !833, i64 0} !849 = !{!850, !850, i64 0} !850 = !{!"0x15a45560.w1.b3", !848, i64 0} !851 = !{!852, !852, i64 0} !852 = !{!"0x15a45560.w1.b4", !853, i64 0} !853 = !{!"0x15a45560.w2.b4", !854, i64 0} !854 = !{!"0x15a45560.w4.b4", !834, i64 0} !855 = !{!856, !856, i64 0} !856 = !{!"0x15a45560.w1.b5", !853, i64 0} !857 = !{!858, !858, i64 0} !858 = !{!"0x15a42640.w1.b0", !859, i64 0} !859 = !{!"0x15a42640.w2.b0", !860, i64 0} !860 = !{!"0x15a42640.w4.b0", !861, i64 0} !861 = !{!"0x15a42640.w8.b0", !862, i64 0} !862 = !{!"0x15a42640.w16.b0", !863, i64 0} !863 = !{!"0x15a42640.w32.b0", !864, i64 0} !864 = !{!"0x15a42640.w64.b0", !865, i64 0} !865 = !{!"0x15a42640.w128.b0", !866, i64 0} !866 = !{!"0x15a42640.w256.b0", !867, i64 0} !867 = !{!"0x15a42640.w512.b0", !868, i64 0} !868 = !{!"0x15a42640.w1024.b0", !869, i64 0} !869 = !{!"i32", !870, i64 0} !870 = !{!"0x15a42640", !8, i64 0} !871 = !{!872, !872, i64 0} !872 = !{!"0x15a42640.w1.b1", !859, i64 0} !873 = !{!874, !874, i64 0} !874 = !{!"0x15a42640.w1.b2", !875, i64 0} !875 = !{!"0x15a42640.w2.b2", !860, i64 0} !876 = !{!877, !877, i64 0} !877 = !{!"0x15a42640.w1.b3", !875, i64 0} !878 = !{!879, !879, i64 0} !879 = !{!"0x15a42640.w1.b4", !880, i64 0} !880 = !{!"0x15a42640.w2.b4", !881, i64 0} !881 = !{!"0x15a42640.w4.b4", !861, i64 0} !882 = !{!883, !883, i64 0} !883 = !{!"i8", !884, i64 0} !884 = !{!"0x3b408c0", !8, i64 0} !885 = !{!886, !886, i64 0} !886 = !{!"i8", !887, i64 0} !887 = !{!"0x3bf9ab0", !8, i64 0} !888 = !{!889, !889, i64 0} !889 = !{!"i8", !890, i64 0} !890 = !{!"0x6f17b80", !8, i64 0} !891 = distinct !{!891, !157} !892 = distinct !{!892, !163, !157} !893 = !{!894, !894, i64 0} !894 = !{!"0x15878510.w1.b0", !895, i64 0} !895 = !{!"0x15878510.w2.b0", !896, i64 0} !896 = !{!"0x15878510.w4.b0", !897, i64 0} !897 = !{!"0x15878510.w8.b0", !898, i64 0} !898 = !{!"0x15878510.w16.b0", !899, i64 0} !899 = !{!"0x15878510.w32.b0", !900, i64 0} !900 = !{!"0x15878510.w64.b0", !901, i64 0} !901 = !{!"0x15878510.w128.b0", !902, i64 0} !902 = !{!"0x15878510.w256.b0", !903, i64 0} !903 = !{!"0x15878510.w512.b0", !904, i64 0} !904 = !{!"0x15878510.w1024.b0", !905, i64 0} !905 = !{!"i8", !906, i64 0} !906 = !{!"0x15878510", !8, i64 0} !907 = !{!908, !908, i64 0} !908 = !{!"0x15878510.w1.b1", !895, i64 0} !909 = !{!910, !910, i64 0} !910 = !{!"0x15878510.w1.b2", !911, i64 0} !911 = !{!"0x15878510.w2.b2", !896, i64 0} !912 = !{!913, !913, i64 0} !913 = !{!"0x158c7a90.w1.b0", !914, i64 0} !914 = !{!"0x158c7a90.w2.b0", !915, i64 0} !915 = !{!"0x158c7a90.w4.b0", !916, i64 0} !916 = !{!"0x158c7a90.w8.b0", !917, i64 0} !917 = !{!"0x158c7a90.w16.b0", !918, i64 0} !918 = !{!"0x158c7a90.w32.b0", !919, i64 0} !919 = !{!"0x158c7a90.w64.b0", !920, i64 0} !920 = !{!"0x158c7a90.w128.b0", !921, i64 0} !921 = !{!"0x158c7a90.w256.b0", !922, i64 0} !922 = !{!"0x158c7a90.w512.b0", !923, i64 0} !923 = !{!"0x158c7a90.w1024.b0", !924, i64 0} !924 = !{!"i64", !925, i64 0} !925 = !{!"0x158c7a90", !8, i64 0} !926 = !{!927, !927, i64 0} !927 = !{!"0x158c7a90.w1.b1", !914, i64 0} !928 = !{!929, !929, i64 0} !929 = !{!"0x158be220.w1.b0", !930, i64 0} !930 = !{!"0x158be220.w2.b0", !931, i64 0} !931 = !{!"0x158be220.w4.b0", !932, i64 0} !932 = !{!"0x158be220.w8.b0", !933, i64 0} !933 = !{!"0x158be220.w16.b0", !934, i64 0} !934 = !{!"0x158be220.w32.b0", !935, i64 0} !935 = !{!"0x158be220.w64.b0", !936, i64 0} !936 = !{!"0x158be220.w128.b0", !937, i64 0} !937 = !{!"0x158be220.w256.b0", !938, i64 0} !938 = !{!"0x158be220.w512.b0", !939, i64 0} !939 = !{!"0x158be220.w1024.b0", !940, i64 0} !940 = !{!"i64", !941, i64 0} !941 = !{!"0x158be220", !8, i64 0} !942 = !{!943, !943, i64 0} !943 = !{!"0x158be220.w1.b1", !930, i64 0} !944 = !{!945, !945, i64 0} !945 = !{!"0x159710e0.w1.b0", !946, i64 0} !946 = !{!"0x159710e0.w2.b0", !947, i64 0} !947 = !{!"0x159710e0.w4.b0", !948, i64 0} !948 = !{!"0x159710e0.w8.b0", !949, i64 0} !949 = !{!"0x159710e0.w16.b0", !950, i64 0} !950 = !{!"0x159710e0.w32.b0", !951, i64 0} !951 = !{!"0x159710e0.w64.b0", !952, i64 0} !952 = !{!"0x159710e0.w128.b0", !953, i64 0} !953 = !{!"0x159710e0.w256.b0", !954, i64 0} !954 = !{!"0x159710e0.w512.b0", !955, i64 0} !955 = !{!"0x159710e0.w1024.b0", !956, i64 0} !956 = !{!"i64", !957, i64 0} !957 = !{!"0x159710e0", !8, i64 0} !958 = !{!959, !959, i64 0} !959 = !{!"0x159710e0.w1.b1", !946, i64 0} !960 = !{!961, !961, i64 0} !961 = !{!"0x159710e0.w1.b2", !962, i64 0} !962 = !{!"0x159710e0.w2.b2", !947, i64 0} !963 = !{!964, !964, i64 0} !964 = !{!"0x15971aa0.w1.b0", !965, i64 0} !965 = !{!"0x15971aa0.w2.b0", !966, i64 0} !966 = !{!"0x15971aa0.w4.b0", !967, i64 0} !967 = !{!"0x15971aa0.w8.b0", !968, i64 0} !968 = !{!"0x15971aa0.w16.b0", !969, i64 0} !969 = !{!"0x15971aa0.w32.b0", !970, i64 0} !970 = !{!"0x15971aa0.w64.b0", !971, i64 0} !971 = !{!"0x15971aa0.w128.b0", !972, i64 0} !972 = !{!"0x15971aa0.w256.b0", !973, i64 0} !973 = !{!"0x15971aa0.w512.b0", !974, i64 0} !974 = !{!"0x15971aa0.w1024.b0", !975, i64 0} !975 = !{!"i64", !976, i64 0} !976 = !{!"0x15971aa0", !8, i64 0} !977 = !{!978, !978, i64 0} !978 = !{!"0x15971aa0.w1.b1", !965, i64 0} !979 = !{!980, !980, i64 0} !980 = !{!"0x15971aa0.w1.b2", !981, i64 0} !981 = !{!"0x15971aa0.w2.b2", !966, i64 0} !982 = !{!983, !983, i64 0} !983 = !{!"0x15973a80.w1.b0", !984, i64 0} !984 = !{!"0x15973a80.w2.b0", !985, i64 0} !985 = !{!"0x15973a80.w4.b0", !986, i64 0} !986 = !{!"0x15973a80.w8.b0", !987, i64 0} !987 = !{!"0x15973a80.w16.b0", !988, i64 0} !988 = !{!"0x15973a80.w32.b0", !989, i64 0} !989 = !{!"0x15973a80.w64.b0", !990, i64 0} !990 = !{!"0x15973a80.w128.b0", !991, i64 0} !991 = !{!"0x15973a80.w256.b0", !992, i64 0} !992 = !{!"0x15973a80.w512.b0", !993, i64 0} !993 = !{!"0x15973a80.w1024.b0", !994, i64 0} !994 = !{!"i64", !995, i64 0} !995 = !{!"0x15973a80", !8, i64 0} !996 = !{!997, !997, i64 0} !997 = !{!"0x15973a80.w1.b1", !984, i64 0} !998 = !{!999, !999, i64 0} !999 = !{!"0x15973a80.w1.b2", !1000, i64 0} !1000 = !{!"0x15973a80.w2.b2", !985, i64 0} !1001 = !{!1002, !1002, i64 0} !1002 = !{!"0x15974280.w1.b0", !1003, i64 0} !1003 = !{!"0x15974280.w2.b0", !1004, i64 0} !1004 = !{!"0x15974280.w4.b0", !1005, i64 0} !1005 = !{!"0x15974280.w8.b0", !1006, i64 0} !1006 = !{!"0x15974280.w16.b0", !1007, i64 0} !1007 = !{!"0x15974280.w32.b0", !1008, i64 0} !1008 = !{!"0x15974280.w64.b0", !1009, i64 0} !1009 = !{!"0x15974280.w128.b0", !1010, i64 0} !1010 = !{!"0x15974280.w256.b0", !1011, i64 0} !1011 = !{!"0x15974280.w512.b0", !1012, i64 0} !1012 = !{!"0x15974280.w1024.b0", !1013, i64 0} !1013 = !{!"i64", !1014, i64 0} !1014 = !{!"0x15974280", !8, i64 0} !1015 = !{!1016, !1016, i64 0} !1016 = !{!"0x15974280.w1.b1", !1003, i64 0} !1017 = !{!1018, !1018, i64 0} !1018 = !{!"0x15974280.w1.b2", !1019, i64 0} !1019 = !{!"0x15974280.w2.b2", !1004, i64 0} !1020 = !{!1021, !1021, i64 0} !1021 = !{!"i8", !1022, i64 0} !1022 = !{!"0x38c52c0", !8, i64 0} !1023 = !{!1024, !1024, i64 0} !1024 = !{!"i8", !1025, i64 0} !1025 = !{!"0x3b55eb0", !8, i64 0} !1026 = !{!1027, !1027, i64 0} !1027 = !{!"i8", !1028, i64 0} !1028 = !{!"0x3bfa710", !8, i64 0} !1029 = distinct !{!1029, !163, !157} !1030 = !{!1031, !1031, i64 0} !1031 = !{!"0x158ca880.w1.b0", !1032, i64 0} !1032 = !{!"0x158ca880.w2.b0", !1033, i64 0} !1033 = !{!"0x158ca880.w4.b0", !1034, i64 0} !1034 = !{!"0x158ca880.w8.b0", !1035, i64 0} !1035 = !{!"0x158ca880.w16.b0", !1036, i64 0} !1036 = !{!"0x158ca880.w32.b0", !1037, i64 0} !1037 = !{!"0x158ca880.w64.b0", !1038, i64 0} !1038 = !{!"0x158ca880.w128.b0", !1039, i64 0} !1039 = !{!"0x158ca880.w256.b0", !1040, i64 0} !1040 = !{!"0x158ca880.w512.b0", !1041, i64 0} !1041 = !{!"0x158ca880.w1024.b0", !1042, i64 0} !1042 = !{!"i8", !1043, i64 0} !1043 = !{!"0x158ca880", !8, i64 0} !1044 = !{!1045, !1045, i64 0} !1045 = !{!"0x158ca880.w1.b1", !1032, i64 0} !1046 = !{!1047, !1047, i64 0} !1047 = !{!"0x158ca880.w1.b2", !1048, i64 0} !1048 = !{!"0x158ca880.w2.b2", !1033, i64 0} !1049 = !{!1050, !1050, i64 0} !1050 = !{!"0x158ca880.w1.b3", !1048, i64 0} !1051 = !{!1052, !1052, i64 0} !1052 = !{!"0xc79d410.w1.b0", !1053, i64 0} !1053 = !{!"0xc79d410.w2.b0", !1054, i64 0} !1054 = !{!"0xc79d410.w4.b0", !1055, i64 0} !1055 = !{!"0xc79d410.w8.b0", !1056, i64 0} !1056 = !{!"0xc79d410.w16.b0", !1057, i64 0} !1057 = !{!"0xc79d410.w32.b0", !1058, i64 0} !1058 = !{!"0xc79d410.w64.b0", !1059, i64 0} !1059 = !{!"0xc79d410.w128.b0", !1060, i64 0} !1060 = !{!"0xc79d410.w256.b0", !1061, i64 0} !1061 = !{!"0xc79d410.w512.b0", !1062, i64 0} !1062 = !{!"0xc79d410.w1024.b0", !1063, i64 0} !1063 = !{!"i64", !1064, i64 0} !1064 = !{!"0xc79d410", !8, i64 0} !1065 = !{!1066, !1066, i64 0} !1066 = !{!"0xc79d410.w1.b1", !1053, i64 0} !1067 = !{!1068, !1068, i64 0} !1068 = !{!"0xc79da30.w1.b0", !1069, i64 0} !1069 = !{!"0xc79da30.w2.b0", !1070, i64 0} !1070 = !{!"0xc79da30.w4.b0", !1071, i64 0} !1071 = !{!"0xc79da30.w8.b0", !1072, i64 0} !1072 = !{!"0xc79da30.w16.b0", !1073, i64 0} !1073 = !{!"0xc79da30.w32.b0", !1074, i64 0} !1074 = !{!"0xc79da30.w64.b0", !1075, i64 0} !1075 = !{!"0xc79da30.w128.b0", !1076, i64 0} !1076 = !{!"0xc79da30.w256.b0", !1077, i64 0} !1077 = !{!"0xc79da30.w512.b0", !1078, i64 0} !1078 = !{!"0xc79da30.w1024.b0", !1079, i64 0} !1079 = !{!"i64", !1080, i64 0} !1080 = !{!"0xc79da30", !8, i64 0} !1081 = !{!1082, !1082, i64 0} !1082 = !{!"0xc79da30.w1.b1", !1069, i64 0} !1083 = !{!1084, !1084, i64 0} !1084 = !{!"0xc7e0850.w1.b0", !1085, i64 0} !1085 = !{!"0xc7e0850.w2.b0", !1086, i64 0} !1086 = !{!"0xc7e0850.w4.b0", !1087, i64 0} !1087 = !{!"0xc7e0850.w8.b0", !1088, i64 0} !1088 = !{!"0xc7e0850.w16.b0", !1089, i64 0} !1089 = !{!"0xc7e0850.w32.b0", !1090, i64 0} !1090 = !{!"0xc7e0850.w64.b0", !1091, i64 0} !1091 = !{!"0xc7e0850.w128.b0", !1092, i64 0} !1092 = !{!"0xc7e0850.w256.b0", !1093, i64 0} !1093 = !{!"0xc7e0850.w512.b0", !1094, i64 0} !1094 = !{!"0xc7e0850.w1024.b0", !1095, i64 0} !1095 = !{!"i64", !1096, i64 0} !1096 = !{!"0xc7e0850", !8, i64 0} !1097 = !{!1098, !1098, i64 0} !1098 = !{!"0xc7e0850.w1.b1", !1085, i64 0} !1099 = !{!1100, !1100, i64 0} !1100 = !{!"0xc7e0fa0.w1.b0", !1101, i64 0} !1101 = !{!"0xc7e0fa0.w2.b0", !1102, i64 0} !1102 = !{!"0xc7e0fa0.w4.b0", !1103, i64 0} !1103 = !{!"0xc7e0fa0.w8.b0", !1104, i64 0} !1104 = !{!"0xc7e0fa0.w16.b0", !1105, i64 0} !1105 = !{!"0xc7e0fa0.w32.b0", !1106, i64 0} !1106 = !{!"0xc7e0fa0.w64.b0", !1107, i64 0} !1107 = !{!"0xc7e0fa0.w128.b0", !1108, i64 0} !1108 = !{!"0xc7e0fa0.w256.b0", !1109, i64 0} !1109 = !{!"0xc7e0fa0.w512.b0", !1110, i64 0} !1110 = !{!"0xc7e0fa0.w1024.b0", !1111, i64 0} !1111 = !{!"i64", !1112, i64 0} !1112 = !{!"0xc7e0fa0", !8, i64 0} !1113 = !{!1114, !1114, i64 0} !1114 = !{!"0xc7e0fa0.w1.b1", !1101, i64 0} !1115 = !{!1116, !1116, i64 0} !1116 = !{!"0xc7e2e50.w1.b0", !1117, i64 0} !1117 = !{!"0xc7e2e50.w2.b0", !1118, i64 0} !1118 = !{!"0xc7e2e50.w4.b0", !1119, i64 0} !1119 = !{!"0xc7e2e50.w8.b0", !1120, i64 0} !1120 = !{!"0xc7e2e50.w16.b0", !1121, i64 0} !1121 = !{!"0xc7e2e50.w32.b0", !1122, i64 0} !1122 = !{!"0xc7e2e50.w64.b0", !1123, i64 0} !1123 = !{!"0xc7e2e50.w128.b0", !1124, i64 0} !1124 = !{!"0xc7e2e50.w256.b0", !1125, i64 0} !1125 = !{!"0xc7e2e50.w512.b0", !1126, i64 0} !1126 = !{!"0xc7e2e50.w1024.b0", !1127, i64 0} !1127 = !{!"i64", !1128, i64 0} !1128 = !{!"0xc7e2e50", !8, i64 0} !1129 = !{!1130, !1130, i64 0} !1130 = !{!"0xc7e3350.w1.b0", !1131, i64 0} !1131 = !{!"0xc7e3350.w2.b0", !1132, i64 0} !1132 = !{!"0xc7e3350.w4.b0", !1133, i64 0} !1133 = !{!"0xc7e3350.w8.b0", !1134, i64 0} !1134 = !{!"0xc7e3350.w16.b0", !1135, i64 0} !1135 = !{!"0xc7e3350.w32.b0", !1136, i64 0} !1136 = !{!"0xc7e3350.w64.b0", !1137, i64 0} !1137 = !{!"0xc7e3350.w128.b0", !1138, i64 0} !1138 = !{!"0xc7e3350.w256.b0", !1139, i64 0} !1139 = !{!"0xc7e3350.w512.b0", !1140, i64 0} !1140 = !{!"0xc7e3350.w1024.b0", !1141, i64 0} !1141 = !{!"i64", !1142, i64 0} !1142 = !{!"0xc7e3350", !8, i64 0} !1143 = !{!1144, !1144, i64 0} !1144 = !{!"0x15952720.w1.b0", !1145, i64 0} !1145 = !{!"0x15952720.w2.b0", !1146, i64 0} !1146 = !{!"0x15952720.w4.b0", !1147, i64 0} !1147 = !{!"0x15952720.w8.b0", !1148, i64 0} !1148 = !{!"0x15952720.w16.b0", !1149, i64 0} !1149 = !{!"0x15952720.w32.b0", !1150, i64 0} !1150 = !{!"0x15952720.w64.b0", !1151, i64 0} !1151 = !{!"0x15952720.w128.b0", !1152, i64 0} !1152 = !{!"0x15952720.w256.b0", !1153, i64 0} !1153 = !{!"0x15952720.w512.b0", !1154, i64 0} !1154 = !{!"0x15952720.w1024.b0", !1155, i64 0} !1155 = !{!"i64", !1156, i64 0} !1156 = !{!"0x15952720", !8, i64 0} !1157 = !{!1158, !1158, i64 0} !1158 = !{!"0x15952720.w1.b1", !1145, i64 0} !1159 = !{!1160, !1160, i64 0} !1160 = !{!"0x15952d10.w1.b0", !1161, i64 0} !1161 = !{!"0x15952d10.w2.b0", !1162, i64 0} !1162 = !{!"0x15952d10.w4.b0", !1163, i64 0} !1163 = !{!"0x15952d10.w8.b0", !1164, i64 0} !1164 = !{!"0x15952d10.w16.b0", !1165, i64 0} !1165 = !{!"0x15952d10.w32.b0", !1166, i64 0} !1166 = !{!"0x15952d10.w64.b0", !1167, i64 0} !1167 = !{!"0x15952d10.w128.b0", !1168, i64 0} !1168 = !{!"0x15952d10.w256.b0", !1169, i64 0} !1169 = !{!"0x15952d10.w512.b0", !1170, i64 0} !1170 = !{!"0x15952d10.w1024.b0", !1171, i64 0} !1171 = !{!"i64", !1172, i64 0} !1172 = !{!"0x15952d10", !8, i64 0} !1173 = !{!1174, !1174, i64 0} !1174 = !{!"0x15952d10.w1.b1", !1161, i64 0} !1175 = !{!1176, !1176, i64 0} !1176 = !{!"0x15a27c80.w1.b0", !1177, i64 0} !1177 = !{!"0x15a27c80.w2.b0", !1178, i64 0} !1178 = !{!"0x15a27c80.w4.b0", !1179, i64 0} !1179 = !{!"0x15a27c80.w8.b0", !1180, i64 0} !1180 = !{!"0x15a27c80.w16.b0", !1181, i64 0} !1181 = !{!"0x15a27c80.w32.b0", !1182, i64 0} !1182 = !{!"0x15a27c80.w64.b0", !1183, i64 0} !1183 = !{!"0x15a27c80.w128.b0", !1184, i64 0} !1184 = !{!"0x15a27c80.w256.b0", !1185, i64 0} !1185 = !{!"0x15a27c80.w512.b0", !1186, i64 0} !1186 = !{!"0x15a27c80.w1024.b0", !1187, i64 0} !1187 = !{!"i64", !1188, i64 0} !1188 = !{!"0x15a27c80", !8, i64 0} !1189 = !{!1190, !1190, i64 0} !1190 = !{!"0x15a27c80.w1.b1", !1177, i64 0} !1191 = !{!1192, !1192, i64 0} !1192 = !{!"0x15a27c80.w1.b2", !1193, i64 0} !1193 = !{!"0x15a27c80.w2.b2", !1178, i64 0} !1194 = !{!1195, !1195, i64 0} !1195 = !{!"0x15a27c80.w1.b3", !1193, i64 0} !1196 = !{!1197, !1197, i64 0} !1197 = !{!"0x15a27c80.w1.b4", !1198, i64 0} !1198 = !{!"0x15a27c80.w2.b4", !1199, i64 0} !1199 = !{!"0x15a27c80.w4.b4", !1179, i64 0} !1200 = !{!1201, !1201, i64 0} !1201 = !{!"0x15a27c80.w1.b5", !1198, i64 0} !1202 = !{!1203, !1203, i64 0} !1203 = !{!"0x15a24600.w1.b0", !1204, i64 0} !1204 = !{!"0x15a24600.w2.b0", !1205, i64 0} !1205 = !{!"0x15a24600.w4.b0", !1206, i64 0} !1206 = !{!"0x15a24600.w8.b0", !1207, i64 0} !1207 = !{!"0x15a24600.w16.b0", !1208, i64 0} !1208 = !{!"0x15a24600.w32.b0", !1209, i64 0} !1209 = !{!"0x15a24600.w64.b0", !1210, i64 0} !1210 = !{!"0x15a24600.w128.b0", !1211, i64 0} !1211 = !{!"0x15a24600.w256.b0", !1212, i64 0} !1212 = !{!"0x15a24600.w512.b0", !1213, i64 0} !1213 = !{!"0x15a24600.w1024.b0", !1214, i64 0} !1214 = !{!"i32", !1215, i64 0} !1215 = !{!"0x15a24600", !8, i64 0} !1216 = !{!1217, !1217, i64 0} !1217 = !{!"0x15a24600.w1.b1", !1204, i64 0} !1218 = !{!1219, !1219, i64 0} !1219 = !{!"0x15a24600.w1.b2", !1220, i64 0} !1220 = !{!"0x15a24600.w2.b2", !1205, i64 0} !1221 = !{!1222, !1222, i64 0} !1222 = !{!"0x15a24600.w1.b3", !1220, i64 0} !1223 = !{!1224, !1224, i64 0} !1224 = !{!"0x15a24600.w1.b4", !1225, i64 0} !1225 = !{!"0x15a24600.w2.b4", !1226, i64 0} !1226 = !{!"0x15a24600.w4.b4", !1206, i64 0} !1227 = !{!1228, !1228, i64 0} !1228 = !{!"i8", !1229, i64 0} !1229 = !{!"0x158976f0", !8, i64 0} !1230 = !{!1231, !1231, i64 0} !1231 = !{!"i8", !1232, i64 0} !1232 = !{!"0x1586b6c0", !8, i64 0} !1233 = !{!1234, !1234, i64 0} !1234 = !{!"i8", !1235, i64 0} !1235 = !{!"0x1594bc70", !8, i64 0} !1236 = distinct !{!1236, !163, !157} !1237 = !{!1238, !1238, i64 0} !1238 = !{!"0x158bee80.w1.b0", !1239, i64 0} !1239 = !{!"0x158bee80.w2.b0", !1240, i64 0} !1240 = !{!"0x158bee80.w4.b0", !1241, i64 0} !1241 = !{!"0x158bee80.w8.b0", !1242, i64 0} !1242 = !{!"0x158bee80.w16.b0", !1243, i64 0} !1243 = !{!"0x158bee80.w32.b0", !1244, i64 0} !1244 = !{!"0x158bee80.w64.b0", !1245, i64 0} !1245 = !{!"0x158bee80.w128.b0", !1246, i64 0} !1246 = !{!"0x158bee80.w256.b0", !1247, i64 0} !1247 = !{!"0x158bee80.w512.b0", !1248, i64 0} !1248 = !{!"0x158bee80.w1024.b0", !1249, i64 0} !1249 = !{!"i8", !1250, i64 0} !1250 = !{!"0x158bee80", !8, i64 0} !1251 = !{!1252, !1252, i64 0} !1252 = !{!"0x158bee80.w1.b1", !1239, i64 0} !1253 = !{!1254, !1254, i64 0} !1254 = !{!"0xc7e22e0.w1.b0", !1255, i64 0} !1255 = !{!"0xc7e22e0.w2.b0", !1256, i64 0} !1256 = !{!"0xc7e22e0.w4.b0", !1257, i64 0} !1257 = !{!"0xc7e22e0.w8.b0", !1258, i64 0} !1258 = !{!"0xc7e22e0.w16.b0", !1259, i64 0} !1259 = !{!"0xc7e22e0.w32.b0", !1260, i64 0} !1260 = !{!"0xc7e22e0.w64.b0", !1261, i64 0} !1261 = !{!"0xc7e22e0.w128.b0", !1262, i64 0} !1262 = !{!"0xc7e22e0.w256.b0", !1263, i64 0} !1263 = !{!"0xc7e22e0.w512.b0", !1264, i64 0} !1264 = !{!"0xc7e22e0.w1024.b0", !1265, i64 0} !1265 = !{!"i64", !1266, i64 0} !1266 = !{!"0xc7e22e0", !8, i64 0} !1267 = !{!1268, !1268, i64 0} !1268 = !{!"0xc7e22e0.w1.b1", !1255, i64 0} !1269 = !{!1270, !1270, i64 0} !1270 = !{!"0xc7e0420.w1.b0", !1271, i64 0} !1271 = !{!"0xc7e0420.w2.b0", !1272, i64 0} !1272 = !{!"0xc7e0420.w4.b0", !1273, i64 0} !1273 = !{!"0xc7e0420.w8.b0", !1274, i64 0} !1274 = !{!"0xc7e0420.w16.b0", !1275, i64 0} !1275 = !{!"0xc7e0420.w32.b0", !1276, i64 0} !1276 = !{!"0xc7e0420.w64.b0", !1277, i64 0} !1277 = !{!"0xc7e0420.w128.b0", !1278, i64 0} !1278 = !{!"0xc7e0420.w256.b0", !1279, i64 0} !1279 = !{!"0xc7e0420.w512.b0", !1280, i64 0} !1280 = !{!"0xc7e0420.w1024.b0", !1281, i64 0} !1281 = !{!"i64", !1282, i64 0} !1282 = !{!"0xc7e0420", !8, i64 0} !1283 = !{!1284, !1284, i64 0} !1284 = !{!"0xc7e0420.w1.b1", !1271, i64 0} !1285 = !{!1286, !1286, i64 0} !1286 = !{!"0x158dc170.w1.b0", !1287, i64 0} !1287 = !{!"0x158dc170.w2.b0", !1288, i64 0} !1288 = !{!"0x158dc170.w4.b0", !1289, i64 0} !1289 = !{!"0x158dc170.w8.b0", !1290, i64 0} !1290 = !{!"0x158dc170.w16.b0", !1291, i64 0} !1291 = !{!"0x158dc170.w32.b0", !1292, i64 0} !1292 = !{!"0x158dc170.w64.b0", !1293, i64 0} !1293 = !{!"0x158dc170.w128.b0", !1294, i64 0} !1294 = !{!"0x158dc170.w256.b0", !1295, i64 0} !1295 = !{!"0x158dc170.w512.b0", !1296, i64 0} !1296 = !{!"0x158dc170.w1024.b0", !1297, i64 0} !1297 = !{!"i64", !1298, i64 0} !1298 = !{!"0x158dc170", !8, i64 0} !1299 = !{!1300, !1300, i64 0} !1300 = !{!"0x158dc170.w1.b1", !1287, i64 0} !1301 = !{!1302, !1302, i64 0} !1302 = !{!"0x158dc8c0.w1.b0", !1303, i64 0} !1303 = !{!"0x158dc8c0.w2.b0", !1304, i64 0} !1304 = !{!"0x158dc8c0.w4.b0", !1305, i64 0} !1305 = !{!"0x158dc8c0.w8.b0", !1306, i64 0} !1306 = !{!"0x158dc8c0.w16.b0", !1307, i64 0} !1307 = !{!"0x158dc8c0.w32.b0", !1308, i64 0} !1308 = !{!"0x158dc8c0.w64.b0", !1309, i64 0} !1309 = !{!"0x158dc8c0.w128.b0", !1310, i64 0} !1310 = !{!"0x158dc8c0.w256.b0", !1311, i64 0} !1311 = !{!"0x158dc8c0.w512.b0", !1312, i64 0} !1312 = !{!"0x158dc8c0.w1024.b0", !1313, i64 0} !1313 = !{!"i64", !1314, i64 0} !1314 = !{!"0x158dc8c0", !8, i64 0} !1315 = !{!1316, !1316, i64 0} !1316 = !{!"0x158dc8c0.w1.b1", !1303, i64 0} !1317 = !{!1318, !1318, i64 0} !1318 = !{!"i8", !1319, i64 0} !1319 = !{!"0x6e30390", !8, i64 0} !1320 = !{!1321, !1321, i64 0} !1321 = !{!"i8", !1322, i64 0} !1322 = !{!"0x6f416a0", !8, i64 0} !1323 = !{!1324, !1324, i64 0} !1324 = !{!"0x15974030.w1.b0", !1325, i64 0} !1325 = !{!"0x15974030.w2.b0", !1326, i64 0} !1326 = !{!"0x15974030.w4.b0", !1327, i64 0} !1327 = !{!"0x15974030.w8.b0", !1328, i64 0} !1328 = !{!"0x15974030.w16.b0", !1329, i64 0} !1329 = !{!"0x15974030.w32.b0", !1330, i64 0} !1330 = !{!"0x15974030.w64.b0", !1331, i64 0} !1331 = !{!"0x15974030.w128.b0", !1332, i64 0} !1332 = !{!"0x15974030.w256.b0", !1333, i64 0} !1333 = !{!"0x15974030.w512.b0", !1334, i64 0} !1334 = !{!"0x15974030.w1024.b0", !1335, i64 0} !1335 = !{!"i8", !1336, i64 0} !1336 = !{!"0x15974030", !8, i64 0} !1337 = !{!1338, !1338, i64 0} !1338 = !{!"0x15974030.w1.b1", !1325, i64 0} !1339 = !{!1340, !1340, i64 0} !1340 = !{!"0x15974030.w1.b2", !1341, i64 0} !1341 = !{!"0x15974030.w2.b2", !1326, i64 0} !1342 = !{!1343, !1343, i64 0} !1343 = !{!"0x15974030.w1.b3", !1341, i64 0} !1344 = !{!1345, !1345, i64 0} !1345 = !{!"0xc7cde30.w1.b0", !1346, i64 0} !1346 = !{!"0xc7cde30.w2.b0", !1347, i64 0} !1347 = !{!"0xc7cde30.w4.b0", !1348, i64 0} !1348 = !{!"0xc7cde30.w8.b0", !1349, i64 0} !1349 = !{!"0xc7cde30.w16.b0", !1350, i64 0} !1350 = !{!"0xc7cde30.w32.b0", !1351, i64 0} !1351 = !{!"0xc7cde30.w64.b0", !1352, i64 0} !1352 = !{!"0xc7cde30.w128.b0", !1353, i64 0} !1353 = !{!"0xc7cde30.w256.b0", !1354, i64 0} !1354 = !{!"0xc7cde30.w512.b0", !1355, i64 0} !1355 = !{!"0xc7cde30.w1024.b0", !1356, i64 0} !1356 = !{!"i64", !1357, i64 0} !1357 = !{!"0xc7cde30", !8, i64 0} !1358 = !{!1359, !1359, i64 0} !1359 = !{!"0xc7cde30.w1.b1", !1346, i64 0} !1360 = !{!1361, !1361, i64 0} !1361 = !{!"0xc7ce450.w1.b0", !1362, i64 0} !1362 = !{!"0xc7ce450.w2.b0", !1363, i64 0} !1363 = !{!"0xc7ce450.w4.b0", !1364, i64 0} !1364 = !{!"0xc7ce450.w8.b0", !1365, i64 0} !1365 = !{!"0xc7ce450.w16.b0", !1366, i64 0} !1366 = !{!"0xc7ce450.w32.b0", !1367, i64 0} !1367 = !{!"0xc7ce450.w64.b0", !1368, i64 0} !1368 = !{!"0xc7ce450.w128.b0", !1369, i64 0} !1369 = !{!"0xc7ce450.w256.b0", !1370, i64 0} !1370 = !{!"0xc7ce450.w512.b0", !1371, i64 0} !1371 = !{!"0xc7ce450.w1024.b0", !1372, i64 0} !1372 = !{!"i64", !1373, i64 0} !1373 = !{!"0xc7ce450", !8, i64 0} !1374 = !{!1375, !1375, i64 0} !1375 = !{!"0xc7ce450.w1.b1", !1362, i64 0} !1376 = !{!1377, !1377, i64 0} !1377 = !{!"0xc7cff60.w1.b0", !1378, i64 0} !1378 = !{!"0xc7cff60.w2.b0", !1379, i64 0} !1379 = !{!"0xc7cff60.w4.b0", !1380, i64 0} !1380 = !{!"0xc7cff60.w8.b0", !1381, i64 0} !1381 = !{!"0xc7cff60.w16.b0", !1382, i64 0} !1382 = !{!"0xc7cff60.w32.b0", !1383, i64 0} !1383 = !{!"0xc7cff60.w64.b0", !1384, i64 0} !1384 = !{!"0xc7cff60.w128.b0", !1385, i64 0} !1385 = !{!"0xc7cff60.w256.b0", !1386, i64 0} !1386 = !{!"0xc7cff60.w512.b0", !1387, i64 0} !1387 = !{!"0xc7cff60.w1024.b0", !1388, i64 0} !1388 = !{!"i64", !1389, i64 0} !1389 = !{!"0xc7cff60", !8, i64 0} !1390 = !{!1391, !1391, i64 0} !1391 = !{!"0xc7cff60.w1.b1", !1378, i64 0} !1392 = !{!1393, !1393, i64 0} !1393 = !{!"0xc7d06b0.w1.b0", !1394, i64 0} !1394 = !{!"0xc7d06b0.w2.b0", !1395, i64 0} !1395 = !{!"0xc7d06b0.w4.b0", !1396, i64 0} !1396 = !{!"0xc7d06b0.w8.b0", !1397, i64 0} !1397 = !{!"0xc7d06b0.w16.b0", !1398, i64 0} !1398 = !{!"0xc7d06b0.w32.b0", !1399, i64 0} !1399 = !{!"0xc7d06b0.w64.b0", !1400, i64 0} !1400 = !{!"0xc7d06b0.w128.b0", !1401, i64 0} !1401 = !{!"0xc7d06b0.w256.b0", !1402, i64 0} !1402 = !{!"0xc7d06b0.w512.b0", !1403, i64 0} !1403 = !{!"0xc7d06b0.w1024.b0", !1404, i64 0} !1404 = !{!"i64", !1405, i64 0} !1405 = !{!"0xc7d06b0", !8, i64 0} !1406 = !{!1407, !1407, i64 0} !1407 = !{!"0xc7d06b0.w1.b1", !1394, i64 0} !1408 = !{!1409, !1409, i64 0} !1409 = !{!"0x158d0600.w1.b0", !1410, i64 0} !1410 = !{!"0x158d0600.w2.b0", !1411, i64 0} !1411 = !{!"0x158d0600.w4.b0", !1412, i64 0} !1412 = !{!"0x158d0600.w8.b0", !1413, i64 0} !1413 = !{!"0x158d0600.w16.b0", !1414, i64 0} !1414 = !{!"0x158d0600.w32.b0", !1415, i64 0} !1415 = !{!"0x158d0600.w64.b0", !1416, i64 0} !1416 = !{!"0x158d0600.w128.b0", !1417, i64 0} !1417 = !{!"0x158d0600.w256.b0", !1418, i64 0} !1418 = !{!"0x158d0600.w512.b0", !1419, i64 0} !1419 = !{!"0x158d0600.w1024.b0", !1420, i64 0} !1420 = !{!"i64", !1421, i64 0} !1421 = !{!"0x158d0600", !8, i64 0} !1422 = !{!1423, !1423, i64 0} !1423 = !{!"0x158d0b00.w1.b0", !1424, i64 0} !1424 = !{!"0x158d0b00.w2.b0", !1425, i64 0} !1425 = !{!"0x158d0b00.w4.b0", !1426, i64 0} !1426 = !{!"0x158d0b00.w8.b0", !1427, i64 0} !1427 = !{!"0x158d0b00.w16.b0", !1428, i64 0} !1428 = !{!"0x158d0b00.w32.b0", !1429, i64 0} !1429 = !{!"0x158d0b00.w64.b0", !1430, i64 0} !1430 = !{!"0x158d0b00.w128.b0", !1431, i64 0} !1431 = !{!"0x158d0b00.w256.b0", !1432, i64 0} !1432 = !{!"0x158d0b00.w512.b0", !1433, i64 0} !1433 = !{!"0x158d0b00.w1024.b0", !1434, i64 0} !1434 = !{!"i64", !1435, i64 0} !1435 = !{!"0x158d0b00", !8, i64 0} !1436 = !{!1437, !1437, i64 0} !1437 = !{!"0x158d2530.w1.b0", !1438, i64 0} !1438 = !{!"0x158d2530.w2.b0", !1439, i64 0} !1439 = !{!"0x158d2530.w4.b0", !1440, i64 0} !1440 = !{!"0x158d2530.w8.b0", !1441, i64 0} !1441 = !{!"0x158d2530.w16.b0", !1442, i64 0} !1442 = !{!"0x158d2530.w32.b0", !1443, i64 0} !1443 = !{!"0x158d2530.w64.b0", !1444, i64 0} !1444 = !{!"0x158d2530.w128.b0", !1445, i64 0} !1445 = !{!"0x158d2530.w256.b0", !1446, i64 0} !1446 = !{!"0x158d2530.w512.b0", !1447, i64 0} !1447 = !{!"0x158d2530.w1024.b0", !1448, i64 0} !1448 = !{!"i64", !1449, i64 0} !1449 = !{!"0x158d2530", !8, i64 0} !1450 = !{!1451, !1451, i64 0} !1451 = !{!"0x158d2530.w1.b1", !1438, i64 0} !1452 = !{!1453, !1453, i64 0} !1453 = !{!"0x158d2b20.w1.b0", !1454, i64 0} !1454 = !{!"0x158d2b20.w2.b0", !1455, i64 0} !1455 = !{!"0x158d2b20.w4.b0", !1456, i64 0} !1456 = !{!"0x158d2b20.w8.b0", !1457, i64 0} !1457 = !{!"0x158d2b20.w16.b0", !1458, i64 0} !1458 = !{!"0x158d2b20.w32.b0", !1459, i64 0} !1459 = !{!"0x158d2b20.w64.b0", !1460, i64 0} !1460 = !{!"0x158d2b20.w128.b0", !1461, i64 0} !1461 = !{!"0x158d2b20.w256.b0", !1462, i64 0} !1462 = !{!"0x158d2b20.w512.b0", !1463, i64 0} !1463 = !{!"0x158d2b20.w1024.b0", !1464, i64 0} !1464 = !{!"i64", !1465, i64 0} !1465 = !{!"0x158d2b20", !8, i64 0} !1466 = !{!1467, !1467, i64 0} !1467 = !{!"0x158d2b20.w1.b1", !1454, i64 0} !1468 = !{!1469, !1469, i64 0} !1469 = !{!"0x15a2dff0.w1.b0", !1470, i64 0} !1470 = !{!"0x15a2dff0.w2.b0", !1471, i64 0} !1471 = !{!"0x15a2dff0.w4.b0", !1472, i64 0} !1472 = !{!"0x15a2dff0.w8.b0", !1473, i64 0} !1473 = !{!"0x15a2dff0.w16.b0", !1474, i64 0} !1474 = !{!"0x15a2dff0.w32.b0", !1475, i64 0} !1475 = !{!"0x15a2dff0.w64.b0", !1476, i64 0} !1476 = !{!"0x15a2dff0.w128.b0", !1477, i64 0} !1477 = !{!"0x15a2dff0.w256.b0", !1478, i64 0} !1478 = !{!"0x15a2dff0.w512.b0", !1479, i64 0} !1479 = !{!"0x15a2dff0.w1024.b0", !1480, i64 0} !1480 = !{!"i64", !1481, i64 0} !1481 = !{!"0x15a2dff0", !8, i64 0} !1482 = !{!1483, !1483, i64 0} !1483 = !{!"0x15a2dff0.w1.b1", !1470, i64 0} !1484 = !{!1485, !1485, i64 0} !1485 = !{!"0x15a2dff0.w1.b2", !1486, i64 0} !1486 = !{!"0x15a2dff0.w2.b2", !1471, i64 0} !1487 = !{!1488, !1488, i64 0} !1488 = !{!"0x15a2dff0.w1.b3", !1486, i64 0} !1489 = !{!1490, !1490, i64 0} !1490 = !{!"0x15a2dff0.w1.b4", !1491, i64 0} !1491 = !{!"0x15a2dff0.w2.b4", !1492, i64 0} !1492 = !{!"0x15a2dff0.w4.b4", !1472, i64 0} !1493 = !{!1494, !1494, i64 0} !1494 = !{!"0x15a2dff0.w1.b5", !1491, i64 0} !1495 = !{!1496, !1496, i64 0} !1496 = !{!"0x15a2ab60.w1.b0", !1497, i64 0} !1497 = !{!"0x15a2ab60.w2.b0", !1498, i64 0} !1498 = !{!"0x15a2ab60.w4.b0", !1499, i64 0} !1499 = !{!"0x15a2ab60.w8.b0", !1500, i64 0} !1500 = !{!"0x15a2ab60.w16.b0", !1501, i64 0} !1501 = !{!"0x15a2ab60.w32.b0", !1502, i64 0} !1502 = !{!"0x15a2ab60.w64.b0", !1503, i64 0} !1503 = !{!"0x15a2ab60.w128.b0", !1504, i64 0} !1504 = !{!"0x15a2ab60.w256.b0", !1505, i64 0} !1505 = !{!"0x15a2ab60.w512.b0", !1506, i64 0} !1506 = !{!"0x15a2ab60.w1024.b0", !1507, i64 0} !1507 = !{!"i32", !1508, i64 0} !1508 = !{!"0x15a2ab60", !8, i64 0} !1509 = !{!1510, !1510, i64 0} !1510 = !{!"0x15a2ab60.w1.b1", !1497, i64 0} !1511 = !{!1512, !1512, i64 0} !1512 = !{!"0x15a2ab60.w1.b2", !1513, i64 0} !1513 = !{!"0x15a2ab60.w2.b2", !1498, i64 0} !1514 = !{!1515, !1515, i64 0} !1515 = !{!"0x15a2ab60.w1.b3", !1513, i64 0} !1516 = !{!1517, !1517, i64 0} !1517 = !{!"0x15a2ab60.w1.b4", !1518, i64 0} !1518 = !{!"0x15a2ab60.w2.b4", !1519, i64 0} !1519 = !{!"0x15a2ab60.w4.b4", !1499, i64 0} !1520 = !{!1521, !1521, i64 0} !1521 = !{!"i8", !1522, i64 0} !1522 = !{!"0x6e5e270", !8, i64 0} !1523 = !{!1524, !1524, i64 0} !1524 = !{!"i8", !1525, i64 0} !1525 = !{!"0x38bab10", !8, i64 0} !1526 = !{!1527, !1527, i64 0} !1527 = !{!"i8", !1528, i64 0} !1528 = !{!"0x6eeeaf0", !8, i64 0} !1529 = !{!1530, !1530, i64 0} !1530 = !{!"0x158dec80.w1.b0", !1531, i64 0} !1531 = !{!"0x158dec80.w2.b0", !1532, i64 0} !1532 = !{!"0x158dec80.w4.b0", !1533, i64 0} !1533 = !{!"0x158dec80.w8.b0", !1534, i64 0} !1534 = !{!"0x158dec80.w16.b0", !1535, i64 0} !1535 = !{!"0x158dec80.w32.b0", !1536, i64 0} !1536 = !{!"0x158dec80.w64.b0", !1537, i64 0} !1537 = !{!"0x158dec80.w128.b0", !1538, i64 0} !1538 = !{!"0x158dec80.w256.b0", !1539, i64 0} !1539 = !{!"0x158dec80.w512.b0", !1540, i64 0} !1540 = !{!"0x158dec80.w1024.b0", !1541, i64 0} !1541 = !{!"i8", !1542, i64 0} !1542 = !{!"0x158dec80", !8, i64 0} !1543 = !{!1544, !1544, i64 0} !1544 = !{!"0x158dec80.w1.b1", !1531, i64 0} !1545 = !{!1546, !1546, i64 0} !1546 = !{!"0x158dec80.w1.b2", !1547, i64 0} !1547 = !{!"0x158dec80.w2.b2", !1532, i64 0} !1548 = !{!1549, !1549, i64 0} !1549 = !{!"0x158dfa60.w1.b0", !1550, i64 0} !1550 = !{!"0x158dfa60.w2.b0", !1551, i64 0} !1551 = !{!"0x158dfa60.w4.b0", !1552, i64 0} !1552 = !{!"0x158dfa60.w8.b0", !1553, i64 0} !1553 = !{!"0x158dfa60.w16.b0", !1554, i64 0} !1554 = !{!"0x158dfa60.w32.b0", !1555, i64 0} !1555 = !{!"0x158dfa60.w64.b0", !1556, i64 0} !1556 = !{!"0x158dfa60.w128.b0", !1557, i64 0} !1557 = !{!"0x158dfa60.w256.b0", !1558, i64 0} !1558 = !{!"0x158dfa60.w512.b0", !1559, i64 0} !1559 = !{!"0x158dfa60.w1024.b0", !1560, i64 0} !1560 = !{!"i64", !1561, i64 0} !1561 = !{!"0x158dfa60", !8, i64 0} !1562 = !{!1563, !1563, i64 0} !1563 = !{!"0x158dfa60.w1.b1", !1550, i64 0} !1564 = !{!1565, !1565, i64 0} !1565 = !{!"0x158dfa60.w1.b2", !1566, i64 0} !1566 = !{!"0x158dfa60.w2.b2", !1551, i64 0} !1567 = !{!1568, !1568, i64 0} !1568 = !{!"0x158d3000.w1.b0", !1569, i64 0} !1569 = !{!"0x158d3000.w2.b0", !1570, i64 0} !1570 = !{!"0x158d3000.w4.b0", !1571, i64 0} !1571 = !{!"0x158d3000.w8.b0", !1572, i64 0} !1572 = !{!"0x158d3000.w16.b0", !1573, i64 0} !1573 = !{!"0x158d3000.w32.b0", !1574, i64 0} !1574 = !{!"0x158d3000.w64.b0", !1575, i64 0} !1575 = !{!"0x158d3000.w128.b0", !1576, i64 0} !1576 = !{!"0x158d3000.w256.b0", !1577, i64 0} !1577 = !{!"0x158d3000.w512.b0", !1578, i64 0} !1578 = !{!"0x158d3000.w1024.b0", !1579, i64 0} !1579 = !{!"i64", !1580, i64 0} !1580 = !{!"0x158d3000", !8, i64 0} !1581 = !{!1582, !1582, i64 0} !1582 = !{!"0x158d3000.w1.b1", !1569, i64 0} !1583 = !{!1584, !1584, i64 0} !1584 = !{!"0x158d3000.w1.b2", !1585, i64 0} !1585 = !{!"0x158d3000.w2.b2", !1570, i64 0} !1586 = !{!1587, !1587, i64 0} !1587 = !{!"0x159791c0.w1.b0", !1588, i64 0} !1588 = !{!"0x159791c0.w2.b0", !1589, i64 0} !1589 = !{!"0x159791c0.w4.b0", !1590, i64 0} !1590 = !{!"0x159791c0.w8.b0", !1591, i64 0} !1591 = !{!"0x159791c0.w16.b0", !1592, i64 0} !1592 = !{!"0x159791c0.w32.b0", !1593, i64 0} !1593 = !{!"0x159791c0.w64.b0", !1594, i64 0} !1594 = !{!"0x159791c0.w128.b0", !1595, i64 0} !1595 = !{!"0x159791c0.w256.b0", !1596, i64 0} !1596 = !{!"0x159791c0.w512.b0", !1597, i64 0} !1597 = !{!"0x159791c0.w1024.b0", !1598, i64 0} !1598 = !{!"i64", !1599, i64 0} !1599 = !{!"0x159791c0", !8, i64 0} !1600 = !{!1601, !1601, i64 0} !1601 = !{!"0x159791c0.w1.b1", !1588, i64 0} !1602 = !{!1603, !1603, i64 0} !1603 = !{!"0x159791c0.w1.b2", !1604, i64 0} !1604 = !{!"0x159791c0.w2.b2", !1589, i64 0} !1605 = !{!1606, !1606, i64 0} !1606 = !{!"0x15976ad0.w1.b0", !1607, i64 0} !1607 = !{!"0x15976ad0.w2.b0", !1608, i64 0} !1608 = !{!"0x15976ad0.w4.b0", !1609, i64 0} !1609 = !{!"0x15976ad0.w8.b0", !1610, i64 0} !1610 = !{!"0x15976ad0.w16.b0", !1611, i64 0} !1611 = !{!"0x15976ad0.w32.b0", !1612, i64 0} !1612 = !{!"0x15976ad0.w64.b0", !1613, i64 0} !1613 = !{!"0x15976ad0.w128.b0", !1614, i64 0} !1614 = !{!"0x15976ad0.w256.b0", !1615, i64 0} !1615 = !{!"0x15976ad0.w512.b0", !1616, i64 0} !1616 = !{!"0x15976ad0.w1024.b0", !1617, i64 0} !1617 = !{!"i64", !1618, i64 0} !1618 = !{!"0x15976ad0", !8, i64 0} !1619 = !{!1620, !1620, i64 0} !1620 = !{!"0x15976ad0.w1.b1", !1607, i64 0} !1621 = !{!1622, !1622, i64 0} !1622 = !{!"0x15976ad0.w1.b2", !1623, i64 0} !1623 = !{!"0x15976ad0.w2.b2", !1608, i64 0} !1624 = !{!1625, !1625, i64 0} !1625 = !{!"0x15995210.w1.b0", !1626, i64 0} !1626 = !{!"0x15995210.w2.b0", !1627, i64 0} !1627 = !{!"0x15995210.w4.b0", !1628, i64 0} !1628 = !{!"0x15995210.w8.b0", !1629, i64 0} !1629 = !{!"0x15995210.w16.b0", !1630, i64 0} !1630 = !{!"0x15995210.w32.b0", !1631, i64 0} !1631 = !{!"0x15995210.w64.b0", !1632, i64 0} !1632 = !{!"0x15995210.w128.b0", !1633, i64 0} !1633 = !{!"0x15995210.w256.b0", !1634, i64 0} !1634 = !{!"0x15995210.w512.b0", !1635, i64 0} !1635 = !{!"0x15995210.w1024.b0", !1636, i64 0} !1636 = !{!"i64", !1637, i64 0} !1637 = !{!"0x15995210", !8, i64 0} !1638 = !{!1639, !1639, i64 0} !1639 = !{!"0x15995210.w1.b1", !1626, i64 0} !1640 = !{!1641, !1641, i64 0} !1641 = !{!"0x15995210.w1.b2", !1642, i64 0} !1642 = !{!"0x15995210.w2.b2", !1627, i64 0} !1643 = !{!1644, !1644, i64 0} !1644 = !{!"0x15995a10.w1.b0", !1645, i64 0} !1645 = !{!"0x15995a10.w2.b0", !1646, i64 0} !1646 = !{!"0x15995a10.w4.b0", !1647, i64 0} !1647 = !{!"0x15995a10.w8.b0", !1648, i64 0} !1648 = !{!"0x15995a10.w16.b0", !1649, i64 0} !1649 = !{!"0x15995a10.w32.b0", !1650, i64 0} !1650 = !{!"0x15995a10.w64.b0", !1651, i64 0} !1651 = !{!"0x15995a10.w128.b0", !1652, i64 0} !1652 = !{!"0x15995a10.w256.b0", !1653, i64 0} !1653 = !{!"0x15995a10.w512.b0", !1654, i64 0} !1654 = !{!"0x15995a10.w1024.b0", !1655, i64 0} !1655 = !{!"i64", !1656, i64 0} !1656 = !{!"0x15995a10", !8, i64 0} !1657 = !{!1658, !1658, i64 0} !1658 = !{!"0x15995a10.w1.b1", !1645, i64 0} !1659 = !{!1660, !1660, i64 0} !1660 = !{!"0x15995a10.w1.b2", !1661, i64 0} !1661 = !{!"0x15995a10.w2.b2", !1646, i64 0} !1662 = !{!1663, !1663, i64 0} !1663 = !{!"0x15a33f60.w1.b0", !1664, i64 0} !1664 = !{!"0x15a33f60.w2.b0", !1665, i64 0} !1665 = !{!"0x15a33f60.w4.b0", !1666, i64 0} !1666 = !{!"0x15a33f60.w8.b0", !1667, i64 0} !1667 = !{!"0x15a33f60.w16.b0", !1668, i64 0} !1668 = !{!"0x15a33f60.w32.b0", !1669, i64 0} !1669 = !{!"0x15a33f60.w64.b0", !1670, i64 0} !1670 = !{!"0x15a33f60.w128.b0", !1671, i64 0} !1671 = !{!"0x15a33f60.w256.b0", !1672, i64 0} !1672 = !{!"0x15a33f60.w512.b0", !1673, i64 0} !1673 = !{!"0x15a33f60.w1024.b0", !1674, i64 0} !1674 = !{!"i64", !1675, i64 0} !1675 = !{!"0x15a33f60", !8, i64 0} !1676 = !{!1677, !1677, i64 0} !1677 = !{!"0x15a33f60.w1.b1", !1664, i64 0} !1678 = !{!1679, !1679, i64 0} !1679 = !{!"0x15a33f60.w1.b2", !1680, i64 0} !1680 = !{!"0x15a33f60.w2.b2", !1665, i64 0} !1681 = !{!1682, !1682, i64 0} !1682 = !{!"0x15a33f60.w1.b3", !1680, i64 0} !1683 = !{!1684, !1684, i64 0} !1684 = !{!"0x15a33f60.w1.b4", !1685, i64 0} !1685 = !{!"0x15a33f60.w2.b4", !1686, i64 0} !1686 = !{!"0x15a33f60.w4.b4", !1666, i64 0} !1687 = !{!1688, !1688, i64 0} !1688 = !{!"0x15a33f60.w1.b5", !1685, i64 0} !1689 = !{!1690, !1690, i64 0} !1690 = !{!"0x15a33f60.w1.b6", !1691, i64 0} !1691 = !{!"0x15a33f60.w2.b6", !1686, i64 0} !1692 = !{!1693, !1693, i64 0} !1693 = !{!"0x15a33f60.w1.b7", !1691, i64 0} !1694 = !{!1695, !1695, i64 0} !1695 = !{!"0x15a33f60.w1.b8", !1696, i64 0} !1696 = !{!"0x15a33f60.w2.b8", !1697, i64 0} !1697 = !{!"0x15a33f60.w4.b8", !1698, i64 0} !1698 = !{!"0x15a33f60.w8.b8", !1667, i64 0} !1699 = !{!1700, !1700, i64 0} !1700 = !{!"0x15a31040.w1.b0", !1701, i64 0} !1701 = !{!"0x15a31040.w2.b0", !1702, i64 0} !1702 = !{!"0x15a31040.w4.b0", !1703, i64 0} !1703 = !{!"0x15a31040.w8.b0", !1704, i64 0} !1704 = !{!"0x15a31040.w16.b0", !1705, i64 0} !1705 = !{!"0x15a31040.w32.b0", !1706, i64 0} !1706 = !{!"0x15a31040.w64.b0", !1707, i64 0} !1707 = !{!"0x15a31040.w128.b0", !1708, i64 0} !1708 = !{!"0x15a31040.w256.b0", !1709, i64 0} !1709 = !{!"0x15a31040.w512.b0", !1710, i64 0} !1710 = !{!"0x15a31040.w1024.b0", !1711, i64 0} !1711 = !{!"i32", !1712, i64 0} !1712 = !{!"0x15a31040", !8, i64 0} !1713 = !{!1714, !1714, i64 0} !1714 = !{!"0x15a31040.w1.b1", !1701, i64 0} !1715 = !{!1716, !1716, i64 0} !1716 = !{!"0x15a31040.w1.b2", !1717, i64 0} !1717 = !{!"0x15a31040.w2.b2", !1702, i64 0} !1718 = !{!1719, !1719, i64 0} !1719 = !{!"0x15a31040.w1.b3", !1717, i64 0} !1720 = !{!1721, !1721, i64 0} !1721 = !{!"0x15a31040.w1.b4", !1722, i64 0} !1722 = !{!"0x15a31040.w2.b4", !1723, i64 0} !1723 = !{!"0x15a31040.w4.b4", !1703, i64 0} !1724 = !{!1725, !1725, i64 0} !1725 = !{!"0x158d2d90.w1.b0", !1726, i64 0} !1726 = !{!"0x158d2d90.w2.b0", !1727, i64 0} !1727 = !{!"0x158d2d90.w4.b0", !1728, i64 0} !1728 = !{!"0x158d2d90.w8.b0", !1729, i64 0} !1729 = !{!"0x158d2d90.w16.b0", !1730, i64 0} !1730 = !{!"0x158d2d90.w32.b0", !1731, i64 0} !1731 = !{!"0x158d2d90.w64.b0", !1732, i64 0} !1732 = !{!"0x158d2d90.w128.b0", !1733, i64 0} !1733 = !{!"0x158d2d90.w256.b0", !1734, i64 0} !1734 = !{!"0x158d2d90.w512.b0", !1735, i64 0} !1735 = !{!"0x158d2d90.w1024.b0", !1736, i64 0} !1736 = !{!"i8", !1737, i64 0} !1737 = !{!"0x158d2d90", !8, i64 0} !1738 = !{!1739, !1739, i64 0} !1739 = !{!"0x158d2d90.w1.b1", !1726, i64 0} !1740 = !{!1741, !1741, i64 0} !1741 = !{!"0x158d2d90.w1.b2", !1742, i64 0} !1742 = !{!"0x158d2d90.w2.b2", !1727, i64 0} !1743 = !{!1744, !1744, i64 0} !1744 = !{!"0x15998b80.w1.b0", !1745, i64 0} !1745 = !{!"0x15998b80.w2.b0", !1746, i64 0} !1746 = !{!"0x15998b80.w4.b0", !1747, i64 0} !1747 = !{!"0x15998b80.w8.b0", !1748, i64 0} !1748 = !{!"0x15998b80.w16.b0", !1749, i64 0} !1749 = !{!"0x15998b80.w32.b0", !1750, i64 0} !1750 = !{!"0x15998b80.w64.b0", !1751, i64 0} !1751 = !{!"0x15998b80.w128.b0", !1752, i64 0} !1752 = !{!"0x15998b80.w256.b0", !1753, i64 0} !1753 = !{!"0x15998b80.w512.b0", !1754, i64 0} !1754 = !{!"0x15998b80.w1024.b0", !1755, i64 0} !1755 = !{!"i64", !1756, i64 0} !1756 = !{!"0x15998b80", !8, i64 0} !1757 = !{!1758, !1758, i64 0} !1758 = !{!"0x15998b80.w1.b1", !1745, i64 0} !1759 = !{!1760, !1760, i64 0} !1760 = !{!"0x15998b80.w1.b2", !1761, i64 0} !1761 = !{!"0x15998b80.w2.b2", !1746, i64 0} !1762 = !{!1763, !1763, i64 0} !1763 = !{!"0x15999380.w1.b0", !1764, i64 0} !1764 = !{!"0x15999380.w2.b0", !1765, i64 0} !1765 = !{!"0x15999380.w4.b0", !1766, i64 0} !1766 = !{!"0x15999380.w8.b0", !1767, i64 0} !1767 = !{!"0x15999380.w16.b0", !1768, i64 0} !1768 = !{!"0x15999380.w32.b0", !1769, i64 0} !1769 = !{!"0x15999380.w64.b0", !1770, i64 0} !1770 = !{!"0x15999380.w128.b0", !1771, i64 0} !1771 = !{!"0x15999380.w256.b0", !1772, i64 0} !1772 = !{!"0x15999380.w512.b0", !1773, i64 0} !1773 = !{!"0x15999380.w1024.b0", !1774, i64 0} !1774 = !{!"i64", !1775, i64 0} !1775 = !{!"0x15999380", !8, i64 0} !1776 = !{!1777, !1777, i64 0} !1777 = !{!"0x15999380.w1.b1", !1764, i64 0} !1778 = !{!1779, !1779, i64 0} !1779 = !{!"0x15999380.w1.b2", !1780, i64 0} !1780 = !{!"0x15999380.w2.b2", !1765, i64 0} !1781 = !{!1782, !1782, i64 0} !1782 = !{!"0x1599b2e0.w1.b0", !1783, i64 0} !1783 = !{!"0x1599b2e0.w2.b0", !1784, i64 0} !1784 = !{!"0x1599b2e0.w4.b0", !1785, i64 0} !1785 = !{!"0x1599b2e0.w8.b0", !1786, i64 0} !1786 = !{!"0x1599b2e0.w16.b0", !1787, i64 0} !1787 = !{!"0x1599b2e0.w32.b0", !1788, i64 0} !1788 = !{!"0x1599b2e0.w64.b0", !1789, i64 0} !1789 = !{!"0x1599b2e0.w128.b0", !1790, i64 0} !1790 = !{!"0x1599b2e0.w256.b0", !1791, i64 0} !1791 = !{!"0x1599b2e0.w512.b0", !1792, i64 0} !1792 = !{!"0x1599b2e0.w1024.b0", !1793, i64 0} !1793 = !{!"i64", !1794, i64 0} !1794 = !{!"0x1599b2e0", !8, i64 0} !1795 = !{!1796, !1796, i64 0} !1796 = !{!"0x1599b2e0.w1.b1", !1783, i64 0} !1797 = !{!1798, !1798, i64 0} !1798 = !{!"0x1599b2e0.w1.b2", !1799, i64 0} !1799 = !{!"0x1599b2e0.w2.b2", !1784, i64 0} !1800 = !{!1801, !1801, i64 0} !1801 = !{!"0x159a7600.w1.b0", !1802, i64 0} !1802 = !{!"0x159a7600.w2.b0", !1803, i64 0} !1803 = !{!"0x159a7600.w4.b0", !1804, i64 0} !1804 = !{!"0x159a7600.w8.b0", !1805, i64 0} !1805 = !{!"0x159a7600.w16.b0", !1806, i64 0} !1806 = !{!"0x159a7600.w32.b0", !1807, i64 0} !1807 = !{!"0x159a7600.w64.b0", !1808, i64 0} !1808 = !{!"0x159a7600.w128.b0", !1809, i64 0} !1809 = !{!"0x159a7600.w256.b0", !1810, i64 0} !1810 = !{!"0x159a7600.w512.b0", !1811, i64 0} !1811 = !{!"0x159a7600.w1024.b0", !1812, i64 0} !1812 = !{!"i64", !1813, i64 0} !1813 = !{!"0x159a7600", !8, i64 0} !1814 = !{!1815, !1815, i64 0} !1815 = !{!"0x159a7600.w1.b1", !1802, i64 0} !1816 = !{!1817, !1817, i64 0} !1817 = !{!"0x159a7600.w1.b2", !1818, i64 0} !1818 = !{!"0x159a7600.w2.b2", !1803, i64 0} !1819 = !{!1820, !1820, i64 0} !1820 = !{!"0x159a95e0.w1.b0", !1821, i64 0} !1821 = !{!"0x159a95e0.w2.b0", !1822, i64 0} !1822 = !{!"0x159a95e0.w4.b0", !1823, i64 0} !1823 = !{!"0x159a95e0.w8.b0", !1824, i64 0} !1824 = !{!"0x159a95e0.w16.b0", !1825, i64 0} !1825 = !{!"0x159a95e0.w32.b0", !1826, i64 0} !1826 = !{!"0x159a95e0.w64.b0", !1827, i64 0} !1827 = !{!"0x159a95e0.w128.b0", !1828, i64 0} !1828 = !{!"0x159a95e0.w256.b0", !1829, i64 0} !1829 = !{!"0x159a95e0.w512.b0", !1830, i64 0} !1830 = !{!"0x159a95e0.w1024.b0", !1831, i64 0} !1831 = !{!"i64", !1832, i64 0} !1832 = !{!"0x159a95e0", !8, i64 0} !1833 = !{!1834, !1834, i64 0} !1834 = !{!"0x159a95e0.w1.b1", !1821, i64 0} !1835 = !{!1836, !1836, i64 0} !1836 = !{!"0x159a95e0.w1.b2", !1837, i64 0} !1837 = !{!"0x159a95e0.w2.b2", !1822, i64 0} !1838 = !{!1839, !1839, i64 0} !1839 = !{!"0x159a9de0.w1.b0", !1840, i64 0} !1840 = !{!"0x159a9de0.w2.b0", !1841, i64 0} !1841 = !{!"0x159a9de0.w4.b0", !1842, i64 0} !1842 = !{!"0x159a9de0.w8.b0", !1843, i64 0} !1843 = !{!"0x159a9de0.w16.b0", !1844, i64 0} !1844 = !{!"0x159a9de0.w32.b0", !1845, i64 0} !1845 = !{!"0x159a9de0.w64.b0", !1846, i64 0} !1846 = !{!"0x159a9de0.w128.b0", !1847, i64 0} !1847 = !{!"0x159a9de0.w256.b0", !1848, i64 0} !1848 = !{!"0x159a9de0.w512.b0", !1849, i64 0} !1849 = !{!"0x159a9de0.w1024.b0", !1850, i64 0} !1850 = !{!"i64", !1851, i64 0} !1851 = !{!"0x159a9de0", !8, i64 0} !1852 = !{!1853, !1853, i64 0} !1853 = !{!"0x159a9de0.w1.b1", !1840, i64 0} !1854 = !{!1855, !1855, i64 0} !1855 = !{!"0x159a9de0.w1.b2", !1856, i64 0} !1856 = !{!"0x159a9de0.w2.b2", !1841, i64 0} !1857 = !{!1858, !1858, i64 0} !1858 = !{!"0x15a397b0.w1.b0", !1859, i64 0} !1859 = !{!"0x15a397b0.w2.b0", !1860, i64 0} !1860 = !{!"0x15a397b0.w4.b0", !1861, i64 0} !1861 = !{!"0x15a397b0.w8.b0", !1862, i64 0} !1862 = !{!"0x15a397b0.w16.b0", !1863, i64 0} !1863 = !{!"0x15a397b0.w32.b0", !1864, i64 0} !1864 = !{!"0x15a397b0.w64.b0", !1865, i64 0} !1865 = !{!"0x15a397b0.w128.b0", !1866, i64 0} !1866 = !{!"0x15a397b0.w256.b0", !1867, i64 0} !1867 = !{!"0x15a397b0.w512.b0", !1868, i64 0} !1868 = !{!"0x15a397b0.w1024.b0", !1869, i64 0} !1869 = !{!"i64", !1870, i64 0} !1870 = !{!"0x15a397b0", !8, i64 0} !1871 = !{!1872, !1872, i64 0} !1872 = !{!"0x15a397b0.w1.b1", !1859, i64 0} !1873 = !{!1874, !1874, i64 0} !1874 = !{!"0x15a397b0.w1.b2", !1875, i64 0} !1875 = !{!"0x15a397b0.w2.b2", !1860, i64 0} !1876 = !{!1877, !1877, i64 0} !1877 = !{!"0x15a397b0.w1.b3", !1875, i64 0} !1878 = !{!1879, !1879, i64 0} !1879 = !{!"0x15a397b0.w1.b4", !1880, i64 0} !1880 = !{!"0x15a397b0.w2.b4", !1881, i64 0} !1881 = !{!"0x15a397b0.w4.b4", !1861, i64 0} !1882 = !{!1883, !1883, i64 0} !1883 = !{!"0x15a397b0.w1.b5", !1880, i64 0} !1884 = !{!1885, !1885, i64 0} !1885 = !{!"0x15a397b0.w1.b6", !1886, i64 0} !1886 = !{!"0x15a397b0.w2.b6", !1881, i64 0} !1887 = !{!1888, !1888, i64 0} !1888 = !{!"0x15a397b0.w1.b7", !1886, i64 0} !1889 = !{!1890, !1890, i64 0} !1890 = !{!"0x15a397b0.w1.b8", !1891, i64 0} !1891 = !{!"0x15a397b0.w2.b8", !1892, i64 0} !1892 = !{!"0x15a397b0.w4.b8", !1893, i64 0} !1893 = !{!"0x15a397b0.w8.b8", !1862, i64 0} !1894 = !{!1895, !1895, i64 0} !1895 = !{!"0x15a36e20.w1.b0", !1896, i64 0} !1896 = !{!"0x15a36e20.w2.b0", !1897, i64 0} !1897 = !{!"0x15a36e20.w4.b0", !1898, i64 0} !1898 = !{!"0x15a36e20.w8.b0", !1899, i64 0} !1899 = !{!"0x15a36e20.w16.b0", !1900, i64 0} !1900 = !{!"0x15a36e20.w32.b0", !1901, i64 0} !1901 = !{!"0x15a36e20.w64.b0", !1902, i64 0} !1902 = !{!"0x15a36e20.w128.b0", !1903, i64 0} !1903 = !{!"0x15a36e20.w256.b0", !1904, i64 0} !1904 = !{!"0x15a36e20.w512.b0", !1905, i64 0} !1905 = !{!"0x15a36e20.w1024.b0", !1906, i64 0} !1906 = !{!"i32", !1907, i64 0} !1907 = !{!"0x15a36e20", !8, i64 0} !1908 = !{!1909, !1909, i64 0} !1909 = !{!"0x15a36e20.w1.b1", !1896, i64 0} !1910 = !{!1911, !1911, i64 0} !1911 = !{!"0x15a36e20.w1.b2", !1912, i64 0} !1912 = !{!"0x15a36e20.w2.b2", !1897, i64 0} !1913 = !{!1914, !1914, i64 0} !1914 = !{!"0x15a36e20.w1.b3", !1912, i64 0} !1915 = !{!1916, !1916, i64 0} !1916 = !{!"0x15a36e20.w1.b4", !1917, i64 0} !1917 = !{!"0x15a36e20.w2.b4", !1918, i64 0} !1918 = !{!"0x15a36e20.w4.b4", !1898, i64 0} !1919 = !{!1920, !1920, i64 0} !1920 = !{!"0x158c5070.w1.b0", !1921, i64 0} !1921 = !{!"0x158c5070.w2.b0", !1922, i64 0} !1922 = !{!"0x158c5070.w4.b0", !1923, i64 0} !1923 = !{!"0x158c5070.w8.b0", !1924, i64 0} !1924 = !{!"0x158c5070.w16.b0", !1925, i64 0} !1925 = !{!"0x158c5070.w32.b0", !1926, i64 0} !1926 = !{!"0x158c5070.w64.b0", !1927, i64 0} !1927 = !{!"0x158c5070.w128.b0", !1928, i64 0} !1928 = !{!"0x158c5070.w256.b0", !1929, i64 0} !1929 = !{!"0x158c5070.w512.b0", !1930, i64 0} !1930 = !{!"0x158c5070.w1024.b0", !1931, i64 0} !1931 = !{!"i8", !1932, i64 0} !1932 = !{!"0x158c5070", !8, i64 0} !1933 = !{!1934, !1934, i64 0} !1934 = !{!"0x158c5070.w1.b1", !1921, i64 0} !1935 = !{!1936, !1936, i64 0} !1936 = !{!"0x158c5070.w1.b2", !1937, i64 0} !1937 = !{!"0x158c5070.w2.b2", !1922, i64 0} !1938 = !{!1939, !1939, i64 0} !1939 = !{!"0x158c5070.w1.b3", !1937, i64 0} !1940 = !{!1941, !1941, i64 0} !1941 = !{!"0x158c8670.w1.b0", !1942, i64 0} !1942 = !{!"0x158c8670.w2.b0", !1943, i64 0} !1943 = !{!"0x158c8670.w4.b0", !1944, i64 0} !1944 = !{!"0x158c8670.w8.b0", !1945, i64 0} !1945 = !{!"0x158c8670.w16.b0", !1946, i64 0} !1946 = !{!"0x158c8670.w32.b0", !1947, i64 0} !1947 = !{!"0x158c8670.w64.b0", !1948, i64 0} !1948 = !{!"0x158c8670.w128.b0", !1949, i64 0} !1949 = !{!"0x158c8670.w256.b0", !1950, i64 0} !1950 = !{!"0x158c8670.w512.b0", !1951, i64 0} !1951 = !{!"0x158c8670.w1024.b0", !1952, i64 0} !1952 = !{!"i64", !1953, i64 0} !1953 = !{!"0x158c8670", !8, i64 0} !1954 = !{!1955, !1955, i64 0} !1955 = !{!"0x158c8670.w1.b1", !1942, i64 0} !1956 = !{!1957, !1957, i64 0} !1957 = !{!"0x158c8c90.w1.b0", !1958, i64 0} !1958 = !{!"0x158c8c90.w2.b0", !1959, i64 0} !1959 = !{!"0x158c8c90.w4.b0", !1960, i64 0} !1960 = !{!"0x158c8c90.w8.b0", !1961, i64 0} !1961 = !{!"0x158c8c90.w16.b0", !1962, i64 0} !1962 = !{!"0x158c8c90.w32.b0", !1963, i64 0} !1963 = !{!"0x158c8c90.w64.b0", !1964, i64 0} !1964 = !{!"0x158c8c90.w128.b0", !1965, i64 0} !1965 = !{!"0x158c8c90.w256.b0", !1966, i64 0} !1966 = !{!"0x158c8c90.w512.b0", !1967, i64 0} !1967 = !{!"0x158c8c90.w1024.b0", !1968, i64 0} !1968 = !{!"i64", !1969, i64 0} !1969 = !{!"0x158c8c90", !8, i64 0} !1970 = !{!1971, !1971, i64 0} !1971 = !{!"0x158c8c90.w1.b1", !1958, i64 0} !1972 = !{!1973, !1973, i64 0} !1973 = !{!"0x158ca9c0.w1.b0", !1974, i64 0} !1974 = !{!"0x158ca9c0.w2.b0", !1975, i64 0} !1975 = !{!"0x158ca9c0.w4.b0", !1976, i64 0} !1976 = !{!"0x158ca9c0.w8.b0", !1977, i64 0} !1977 = !{!"0x158ca9c0.w16.b0", !1978, i64 0} !1978 = !{!"0x158ca9c0.w32.b0", !1979, i64 0} !1979 = !{!"0x158ca9c0.w64.b0", !1980, i64 0} !1980 = !{!"0x158ca9c0.w128.b0", !1981, i64 0} !1981 = !{!"0x158ca9c0.w256.b0", !1982, i64 0} !1982 = !{!"0x158ca9c0.w512.b0", !1983, i64 0} !1983 = !{!"0x158ca9c0.w1024.b0", !1984, i64 0} !1984 = !{!"i64", !1985, i64 0} !1985 = !{!"0x158ca9c0", !8, i64 0} !1986 = !{!1987, !1987, i64 0} !1987 = !{!"0x158ca9c0.w1.b1", !1974, i64 0} !1988 = !{!1989, !1989, i64 0} !1989 = !{!"0x158cb110.w1.b0", !1990, i64 0} !1990 = !{!"0x158cb110.w2.b0", !1991, i64 0} !1991 = !{!"0x158cb110.w4.b0", !1992, i64 0} !1992 = !{!"0x158cb110.w8.b0", !1993, i64 0} !1993 = !{!"0x158cb110.w16.b0", !1994, i64 0} !1994 = !{!"0x158cb110.w32.b0", !1995, i64 0} !1995 = !{!"0x158cb110.w64.b0", !1996, i64 0} !1996 = !{!"0x158cb110.w128.b0", !1997, i64 0} !1997 = !{!"0x158cb110.w256.b0", !1998, i64 0} !1998 = !{!"0x158cb110.w512.b0", !1999, i64 0} !1999 = !{!"0x158cb110.w1024.b0", !2000, i64 0} !2000 = !{!"i64", !2001, i64 0} !2001 = !{!"0x158cb110", !8, i64 0} !2002 = !{!2003, !2003, i64 0} !2003 = !{!"0x158cb110.w1.b1", !1990, i64 0} !2004 = !{!2005, !2005, i64 0} !2005 = !{!"0xc7ef8f0.w1.b0", !2006, i64 0} !2006 = !{!"0xc7ef8f0.w2.b0", !2007, i64 0} !2007 = !{!"0xc7ef8f0.w4.b0", !2008, i64 0} !2008 = !{!"0xc7ef8f0.w8.b0", !2009, i64 0} !2009 = !{!"0xc7ef8f0.w16.b0", !2010, i64 0} !2010 = !{!"0xc7ef8f0.w32.b0", !2011, i64 0} !2011 = !{!"0xc7ef8f0.w64.b0", !2012, i64 0} !2012 = !{!"0xc7ef8f0.w128.b0", !2013, i64 0} !2013 = !{!"0xc7ef8f0.w256.b0", !2014, i64 0} !2014 = !{!"0xc7ef8f0.w512.b0", !2015, i64 0} !2015 = !{!"0xc7ef8f0.w1024.b0", !2016, i64 0} !2016 = !{!"i64", !2017, i64 0} !2017 = !{!"0xc7ef8f0", !8, i64 0} !2018 = !{!2019, !2019, i64 0} !2019 = !{!"0xc7efdf0.w1.b0", !2020, i64 0} !2020 = !{!"0xc7efdf0.w2.b0", !2021, i64 0} !2021 = !{!"0xc7efdf0.w4.b0", !2022, i64 0} !2022 = !{!"0xc7efdf0.w8.b0", !2023, i64 0} !2023 = !{!"0xc7efdf0.w16.b0", !2024, i64 0} !2024 = !{!"0xc7efdf0.w32.b0", !2025, i64 0} !2025 = !{!"0xc7efdf0.w64.b0", !2026, i64 0} !2026 = !{!"0xc7efdf0.w128.b0", !2027, i64 0} !2027 = !{!"0xc7efdf0.w256.b0", !2028, i64 0} !2028 = !{!"0xc7efdf0.w512.b0", !2029, i64 0} !2029 = !{!"0xc7efdf0.w1024.b0", !2030, i64 0} !2030 = !{!"i64", !2031, i64 0} !2031 = !{!"0xc7efdf0", !8, i64 0} !2032 = !{!2033, !2033, i64 0} !2033 = !{!"0xc7f1880.w1.b0", !2034, i64 0} !2034 = !{!"0xc7f1880.w2.b0", !2035, i64 0} !2035 = !{!"0xc7f1880.w4.b0", !2036, i64 0} !2036 = !{!"0xc7f1880.w8.b0", !2037, i64 0} !2037 = !{!"0xc7f1880.w16.b0", !2038, i64 0} !2038 = !{!"0xc7f1880.w32.b0", !2039, i64 0} !2039 = !{!"0xc7f1880.w64.b0", !2040, i64 0} !2040 = !{!"0xc7f1880.w128.b0", !2041, i64 0} !2041 = !{!"0xc7f1880.w256.b0", !2042, i64 0} !2042 = !{!"0xc7f1880.w512.b0", !2043, i64 0} !2043 = !{!"0xc7f1880.w1024.b0", !2044, i64 0} !2044 = !{!"i64", !2045, i64 0} !2045 = !{!"0xc7f1880", !8, i64 0} !2046 = !{!2047, !2047, i64 0} !2047 = !{!"0xc7f1880.w1.b1", !2034, i64 0} !2048 = !{!2049, !2049, i64 0} !2049 = !{!"0xc7f1e70.w1.b0", !2050, i64 0} !2050 = !{!"0xc7f1e70.w2.b0", !2051, i64 0} !2051 = !{!"0xc7f1e70.w4.b0", !2052, i64 0} !2052 = !{!"0xc7f1e70.w8.b0", !2053, i64 0} !2053 = !{!"0xc7f1e70.w16.b0", !2054, i64 0} !2054 = !{!"0xc7f1e70.w32.b0", !2055, i64 0} !2055 = !{!"0xc7f1e70.w64.b0", !2056, i64 0} !2056 = !{!"0xc7f1e70.w128.b0", !2057, i64 0} !2057 = !{!"0xc7f1e70.w256.b0", !2058, i64 0} !2058 = !{!"0xc7f1e70.w512.b0", !2059, i64 0} !2059 = !{!"0xc7f1e70.w1024.b0", !2060, i64 0} !2060 = !{!"i64", !2061, i64 0} !2061 = !{!"0xc7f1e70", !8, i64 0} !2062 = !{!2063, !2063, i64 0} !2063 = !{!"0xc7f1e70.w1.b1", !2050, i64 0} !2064 = !{!2065, !2065, i64 0} !2065 = !{!"0x15a22560.w1.b0", !2066, i64 0} !2066 = !{!"0x15a22560.w2.b0", !2067, i64 0} !2067 = !{!"0x15a22560.w4.b0", !2068, i64 0} !2068 = !{!"0x15a22560.w8.b0", !2069, i64 0} !2069 = !{!"0x15a22560.w16.b0", !2070, i64 0} !2070 = !{!"0x15a22560.w32.b0", !2071, i64 0} !2071 = !{!"0x15a22560.w64.b0", !2072, i64 0} !2072 = !{!"0x15a22560.w128.b0", !2073, i64 0} !2073 = !{!"0x15a22560.w256.b0", !2074, i64 0} !2074 = !{!"0x15a22560.w512.b0", !2075, i64 0} !2075 = !{!"0x15a22560.w1024.b0", !2076, i64 0} !2076 = !{!"i64", !2077, i64 0} !2077 = !{!"0x15a22560", !8, i64 0} !2078 = !{!2079, !2079, i64 0} !2079 = !{!"0x15a22560.w1.b1", !2066, i64 0} !2080 = !{!2081, !2081, i64 0} !2081 = !{!"0x15a22560.w1.b2", !2082, i64 0} !2082 = !{!"0x15a22560.w2.b2", !2067, i64 0} !2083 = !{!2084, !2084, i64 0} !2084 = !{!"0x15a22560.w1.b3", !2082, i64 0} !2085 = !{!2086, !2086, i64 0} !2086 = !{!"0x15a22560.w1.b4", !2087, i64 0} !2087 = !{!"0x15a22560.w2.b4", !2088, i64 0} !2088 = !{!"0x15a22560.w4.b4", !2068, i64 0} !2089 = !{!2090, !2090, i64 0} !2090 = !{!"0x15a22560.w1.b5", !2087, i64 0} !2091 = !{!2092, !2092, i64 0} !2092 = !{!"0x15a217a0.w1.b0", !2093, i64 0} !2093 = !{!"0x15a217a0.w2.b0", !2094, i64 0} !2094 = !{!"0x15a217a0.w4.b0", !2095, i64 0} !2095 = !{!"0x15a217a0.w8.b0", !2096, i64 0} !2096 = !{!"0x15a217a0.w16.b0", !2097, i64 0} !2097 = !{!"0x15a217a0.w32.b0", !2098, i64 0} !2098 = !{!"0x15a217a0.w64.b0", !2099, i64 0} !2099 = !{!"0x15a217a0.w128.b0", !2100, i64 0} !2100 = !{!"0x15a217a0.w256.b0", !2101, i64 0} !2101 = !{!"0x15a217a0.w512.b0", !2102, i64 0} !2102 = !{!"0x15a217a0.w1024.b0", !2103, i64 0} !2103 = !{!"i32", !2104, i64 0} !2104 = !{!"0x15a217a0", !8, i64 0} !2105 = !{!2106, !2106, i64 0} !2106 = !{!"0x15a217a0.w1.b1", !2093, i64 0} !2107 = !{!2108, !2108, i64 0} !2108 = !{!"0x15a217a0.w1.b2", !2109, i64 0} !2109 = !{!"0x15a217a0.w2.b2", !2094, i64 0} !2110 = !{!2111, !2111, i64 0} !2111 = !{!"0x15a217a0.w1.b3", !2109, i64 0} !2112 = !{!2113, !2113, i64 0} !2113 = !{!"0x15a217a0.w1.b4", !2114, i64 0} !2114 = !{!"0x15a217a0.w2.b4", !2115, i64 0} !2115 = !{!"0x15a217a0.w4.b4", !2095, i64 0} !2116 = !{!2117, !2117, i64 0} !2117 = !{!"i8", !2118, i64 0} !2118 = !{!"0x158e2e70", !8, i64 0} !2119 = !{!2120, !2120, i64 0} !2120 = !{!"i8", !2121, i64 0} !2121 = !{!"0xc7b3790", !8, i64 0} !2122 = !{!2123, !2123, i64 0} !2123 = !{!"i8", !2124, i64 0} !2124 = !{!"0x158e2eb0", !8, i64 0} !2125 = distinct !{!2125, !163, !157} !2126 = !{!2127, !2127, i64 0} !2127 = !{!"0x159a91e0.w1.b0", !2128, i64 0} !2128 = !{!"0x159a91e0.w2.b0", !2129, i64 0} !2129 = !{!"0x159a91e0.w4.b0", !2130, i64 0} !2130 = !{!"0x159a91e0.w8.b0", !2131, i64 0} !2131 = !{!"0x159a91e0.w16.b0", !2132, i64 0} !2132 = !{!"0x159a91e0.w32.b0", !2133, i64 0} !2133 = !{!"0x159a91e0.w64.b0", !2134, i64 0} !2134 = !{!"0x159a91e0.w128.b0", !2135, i64 0} !2135 = !{!"0x159a91e0.w256.b0", !2136, i64 0} !2136 = !{!"0x159a91e0.w512.b0", !2137, i64 0} !2137 = !{!"0x159a91e0.w1024.b0", !2138, i64 0} !2138 = !{!"i8", !2139, i64 0} !2139 = !{!"0x159a91e0", !8, i64 0} !2140 = !{!2141, !2141, i64 0} !2141 = !{!"0x159a91e0.w1.b1", !2128, i64 0} !2142 = !{!2143, !2143, i64 0} !2143 = !{!"0x159a91e0.w1.b2", !2144, i64 0} !2144 = !{!"0x159a91e0.w2.b2", !2129, i64 0} !2145 = !{!2146, !2146, i64 0} !2146 = !{!"0x159a91e0.w1.b3", !2144, i64 0} !2147 = !{!2148, !2148, i64 0} !2148 = !{!"0x1599e6b0.w1.b0", !2149, i64 0} !2149 = !{!"0x1599e6b0.w2.b0", !2150, i64 0} !2150 = !{!"0x1599e6b0.w4.b0", !2151, i64 0} !2151 = !{!"0x1599e6b0.w8.b0", !2152, i64 0} !2152 = !{!"0x1599e6b0.w16.b0", !2153, i64 0} !2153 = !{!"0x1599e6b0.w32.b0", !2154, i64 0} !2154 = !{!"0x1599e6b0.w64.b0", !2155, i64 0} !2155 = !{!"0x1599e6b0.w128.b0", !2156, i64 0} !2156 = !{!"0x1599e6b0.w256.b0", !2157, i64 0} !2157 = !{!"0x1599e6b0.w512.b0", !2158, i64 0} !2158 = !{!"0x1599e6b0.w1024.b0", !2159, i64 0} !2159 = !{!"i64", !2160, i64 0} !2160 = !{!"0x1599e6b0", !8, i64 0} !2161 = !{!2162, !2162, i64 0} !2162 = !{!"0x1599e6b0.w1.b1", !2149, i64 0} !2163 = !{!2164, !2164, i64 0} !2164 = !{!"0x1599ecd0.w1.b0", !2165, i64 0} !2165 = !{!"0x1599ecd0.w2.b0", !2166, i64 0} !2166 = !{!"0x1599ecd0.w4.b0", !2167, i64 0} !2167 = !{!"0x1599ecd0.w8.b0", !2168, i64 0} !2168 = !{!"0x1599ecd0.w16.b0", !2169, i64 0} !2169 = !{!"0x1599ecd0.w32.b0", !2170, i64 0} !2170 = !{!"0x1599ecd0.w64.b0", !2171, i64 0} !2171 = !{!"0x1599ecd0.w128.b0", !2172, i64 0} !2172 = !{!"0x1599ecd0.w256.b0", !2173, i64 0} !2173 = !{!"0x1599ecd0.w512.b0", !2174, i64 0} !2174 = !{!"0x1599ecd0.w1024.b0", !2175, i64 0} !2175 = !{!"i64", !2176, i64 0} !2176 = !{!"0x1599ecd0", !8, i64 0} !2177 = !{!2178, !2178, i64 0} !2178 = !{!"0x1599ecd0.w1.b1", !2165, i64 0} !2179 = !{!2180, !2180, i64 0} !2180 = !{!"0x159a0800.w1.b0", !2181, i64 0} !2181 = !{!"0x159a0800.w2.b0", !2182, i64 0} !2182 = !{!"0x159a0800.w4.b0", !2183, i64 0} !2183 = !{!"0x159a0800.w8.b0", !2184, i64 0} !2184 = !{!"0x159a0800.w16.b0", !2185, i64 0} !2185 = !{!"0x159a0800.w32.b0", !2186, i64 0} !2186 = !{!"0x159a0800.w64.b0", !2187, i64 0} !2187 = !{!"0x159a0800.w128.b0", !2188, i64 0} !2188 = !{!"0x159a0800.w256.b0", !2189, i64 0} !2189 = !{!"0x159a0800.w512.b0", !2190, i64 0} !2190 = !{!"0x159a0800.w1024.b0", !2191, i64 0} !2191 = !{!"i64", !2192, i64 0} !2192 = !{!"0x159a0800", !8, i64 0} !2193 = !{!2194, !2194, i64 0} !2194 = !{!"0x159a0800.w1.b1", !2181, i64 0} !2195 = !{!2196, !2196, i64 0} !2196 = !{!"0x159a0f50.w1.b0", !2197, i64 0} !2197 = !{!"0x159a0f50.w2.b0", !2198, i64 0} !2198 = !{!"0x159a0f50.w4.b0", !2199, i64 0} !2199 = !{!"0x159a0f50.w8.b0", !2200, i64 0} !2200 = !{!"0x159a0f50.w16.b0", !2201, i64 0} !2201 = !{!"0x159a0f50.w32.b0", !2202, i64 0} !2202 = !{!"0x159a0f50.w64.b0", !2203, i64 0} !2203 = !{!"0x159a0f50.w128.b0", !2204, i64 0} !2204 = !{!"0x159a0f50.w256.b0", !2205, i64 0} !2205 = !{!"0x159a0f50.w512.b0", !2206, i64 0} !2206 = !{!"0x159a0f50.w1024.b0", !2207, i64 0} !2207 = !{!"i64", !2208, i64 0} !2208 = !{!"0x159a0f50", !8, i64 0} !2209 = !{!2210, !2210, i64 0} !2210 = !{!"0x159a0f50.w1.b1", !2197, i64 0} !2211 = !{!2212, !2212, i64 0} !2212 = !{!"0x159a2d90.w1.b0", !2213, i64 0} !2213 = !{!"0x159a2d90.w2.b0", !2214, i64 0} !2214 = !{!"0x159a2d90.w4.b0", !2215, i64 0} !2215 = !{!"0x159a2d90.w8.b0", !2216, i64 0} !2216 = !{!"0x159a2d90.w16.b0", !2217, i64 0} !2217 = !{!"0x159a2d90.w32.b0", !2218, i64 0} !2218 = !{!"0x159a2d90.w64.b0", !2219, i64 0} !2219 = !{!"0x159a2d90.w128.b0", !2220, i64 0} !2220 = !{!"0x159a2d90.w256.b0", !2221, i64 0} !2221 = !{!"0x159a2d90.w512.b0", !2222, i64 0} !2222 = !{!"0x159a2d90.w1024.b0", !2223, i64 0} !2223 = !{!"i64", !2224, i64 0} !2224 = !{!"0x159a2d90", !8, i64 0} !2225 = !{!2226, !2226, i64 0} !2226 = !{!"0x159a3290.w1.b0", !2227, i64 0} !2227 = !{!"0x159a3290.w2.b0", !2228, i64 0} !2228 = !{!"0x159a3290.w4.b0", !2229, i64 0} !2229 = !{!"0x159a3290.w8.b0", !2230, i64 0} !2230 = !{!"0x159a3290.w16.b0", !2231, i64 0} !2231 = !{!"0x159a3290.w32.b0", !2232, i64 0} !2232 = !{!"0x159a3290.w64.b0", !2233, i64 0} !2233 = !{!"0x159a3290.w128.b0", !2234, i64 0} !2234 = !{!"0x159a3290.w256.b0", !2235, i64 0} !2235 = !{!"0x159a3290.w512.b0", !2236, i64 0} !2236 = !{!"0x159a3290.w1024.b0", !2237, i64 0} !2237 = !{!"i64", !2238, i64 0} !2238 = !{!"0x159a3290", !8, i64 0} !2239 = !{!2240, !2240, i64 0} !2240 = !{!"0x159a4c60.w1.b0", !2241, i64 0} !2241 = !{!"0x159a4c60.w2.b0", !2242, i64 0} !2242 = !{!"0x159a4c60.w4.b0", !2243, i64 0} !2243 = !{!"0x159a4c60.w8.b0", !2244, i64 0} !2244 = !{!"0x159a4c60.w16.b0", !2245, i64 0} !2245 = !{!"0x159a4c60.w32.b0", !2246, i64 0} !2246 = !{!"0x159a4c60.w64.b0", !2247, i64 0} !2247 = !{!"0x159a4c60.w128.b0", !2248, i64 0} !2248 = !{!"0x159a4c60.w256.b0", !2249, i64 0} !2249 = !{!"0x159a4c60.w512.b0", !2250, i64 0} !2250 = !{!"0x159a4c60.w1024.b0", !2251, i64 0} !2251 = !{!"i64", !2252, i64 0} !2252 = !{!"0x159a4c60", !8, i64 0} !2253 = !{!2254, !2254, i64 0} !2254 = !{!"0x159a4c60.w1.b1", !2241, i64 0} !2255 = !{!2256, !2256, i64 0} !2256 = !{!"0x159a5250.w1.b0", !2257, i64 0} !2257 = !{!"0x159a5250.w2.b0", !2258, i64 0} !2258 = !{!"0x159a5250.w4.b0", !2259, i64 0} !2259 = !{!"0x159a5250.w8.b0", !2260, i64 0} !2260 = !{!"0x159a5250.w16.b0", !2261, i64 0} !2261 = !{!"0x159a5250.w32.b0", !2262, i64 0} !2262 = !{!"0x159a5250.w64.b0", !2263, i64 0} !2263 = !{!"0x159a5250.w128.b0", !2264, i64 0} !2264 = !{!"0x159a5250.w256.b0", !2265, i64 0} !2265 = !{!"0x159a5250.w512.b0", !2266, i64 0} !2266 = !{!"0x159a5250.w1024.b0", !2267, i64 0} !2267 = !{!"i64", !2268, i64 0} !2268 = !{!"0x159a5250", !8, i64 0} !2269 = !{!2270, !2270, i64 0} !2270 = !{!"0x159a5250.w1.b1", !2257, i64 0} !2271 = !{!2272, !2272, i64 0} !2272 = !{!"0x15a3f620.w1.b0", !2273, i64 0} !2273 = !{!"0x15a3f620.w2.b0", !2274, i64 0} !2274 = !{!"0x15a3f620.w4.b0", !2275, i64 0} !2275 = !{!"0x15a3f620.w8.b0", !2276, i64 0} !2276 = !{!"0x15a3f620.w16.b0", !2277, i64 0} !2277 = !{!"0x15a3f620.w32.b0", !2278, i64 0} !2278 = !{!"0x15a3f620.w64.b0", !2279, i64 0} !2279 = !{!"0x15a3f620.w128.b0", !2280, i64 0} !2280 = !{!"0x15a3f620.w256.b0", !2281, i64 0} !2281 = !{!"0x15a3f620.w512.b0", !2282, i64 0} !2282 = !{!"0x15a3f620.w1024.b0", !2283, i64 0} !2283 = !{!"i64", !2284, i64 0} !2284 = !{!"0x15a3f620", !8, i64 0} !2285 = !{!2286, !2286, i64 0} !2286 = !{!"0x15a3f620.w1.b1", !2273, i64 0} !2287 = !{!2288, !2288, i64 0} !2288 = !{!"0x15a3f620.w1.b2", !2289, i64 0} !2289 = !{!"0x15a3f620.w2.b2", !2274, i64 0} !2290 = !{!2291, !2291, i64 0} !2291 = !{!"0x15a3f620.w1.b3", !2289, i64 0} !2292 = !{!2293, !2293, i64 0} !2293 = !{!"0x15a3f620.w1.b4", !2294, i64 0} !2294 = !{!"0x15a3f620.w2.b4", !2295, i64 0} !2295 = !{!"0x15a3f620.w4.b4", !2275, i64 0} !2296 = !{!2297, !2297, i64 0} !2297 = !{!"0x15a3f620.w1.b5", !2294, i64 0} !2298 = !{!2299, !2299, i64 0} !2299 = !{!"0x15a3c530.w1.b0", !2300, i64 0} !2300 = !{!"0x15a3c530.w2.b0", !2301, i64 0} !2301 = !{!"0x15a3c530.w4.b0", !2302, i64 0} !2302 = !{!"0x15a3c530.w8.b0", !2303, i64 0} !2303 = !{!"0x15a3c530.w16.b0", !2304, i64 0} !2304 = !{!"0x15a3c530.w32.b0", !2305, i64 0} !2305 = !{!"0x15a3c530.w64.b0", !2306, i64 0} !2306 = !{!"0x15a3c530.w128.b0", !2307, i64 0} !2307 = !{!"0x15a3c530.w256.b0", !2308, i64 0} !2308 = !{!"0x15a3c530.w512.b0", !2309, i64 0} !2309 = !{!"0x15a3c530.w1024.b0", !2310, i64 0} !2310 = !{!"i32", !2311, i64 0} !2311 = !{!"0x15a3c530", !8, i64 0} !2312 = !{!2313, !2313, i64 0} !2313 = !{!"0x15a3c530.w1.b1", !2300, i64 0} !2314 = !{!2315, !2315, i64 0} !2315 = !{!"0x15a3c530.w1.b2", !2316, i64 0} !2316 = !{!"0x15a3c530.w2.b2", !2301, i64 0} !2317 = !{!2318, !2318, i64 0} !2318 = !{!"0x15a3c530.w1.b3", !2316, i64 0} !2319 = !{!2320, !2320, i64 0} !2320 = !{!"0x15a3c530.w1.b4", !2321, i64 0} !2321 = !{!"0x15a3c530.w2.b4", !2322, i64 0} !2322 = !{!"0x15a3c530.w4.b4", !2302, i64 0} !2323 = !{!2324, !2324, i64 0} !2324 = !{!"i8", !2325, i64 0} !2325 = !{!"0x15859660", !8, i64 0} !2326 = !{!2327, !2327, i64 0} !2327 = !{!"i8", !2328, i64 0} !2328 = !{!"0x13c3f160", !8, i64 0} !2329 = !{!2330, !2330, i64 0} !2330 = !{!"i8", !2331, i64 0} !2331 = !{!"0x6e5a8a0", !8, i64 0} !2332 = distinct !{!2332, !163, !157} !2333 = !{!2334, !2334, i64 0} !2334 = !{!"0x1597b610.w1.b0", !2335, i64 0} !2335 = !{!"0x1597b610.w2.b0", !2336, i64 0} !2336 = !{!"0x1597b610.w4.b0", !2337, i64 0} !2337 = !{!"0x1597b610.w8.b0", !2338, i64 0} !2338 = !{!"0x1597b610.w16.b0", !2339, i64 0} !2339 = !{!"0x1597b610.w32.b0", !2340, i64 0} !2340 = !{!"0x1597b610.w64.b0", !2341, i64 0} !2341 = !{!"0x1597b610.w128.b0", !2342, i64 0} !2342 = !{!"0x1597b610.w256.b0", !2343, i64 0} !2343 = !{!"0x1597b610.w512.b0", !2344, i64 0} !2344 = !{!"0x1597b610.w1024.b0", !2345, i64 0} !2345 = !{!"i8", !2346, i64 0} !2346 = !{!"0x1597b610", !8, i64 0} !2347 = !{!2348, !2348, i64 0} !2348 = !{!"0x1597b610.w1.b1", !2335, i64 0} !2349 = !{!2350, !2350, i64 0} !2350 = !{!"0x1597b610.w1.b2", !2351, i64 0} !2351 = !{!"0x1597b610.w2.b2", !2336, i64 0} !2352 = !{!2353, !2353, i64 0} !2353 = !{!"0x159acf00.w1.b0", !2354, i64 0} !2354 = !{!"0x159acf00.w2.b0", !2355, i64 0} !2355 = !{!"0x159acf00.w4.b0", !2356, i64 0} !2356 = !{!"0x159acf00.w8.b0", !2357, i64 0} !2357 = !{!"0x159acf00.w16.b0", !2358, i64 0} !2358 = !{!"0x159acf00.w32.b0", !2359, i64 0} !2359 = !{!"0x159acf00.w64.b0", !2360, i64 0} !2360 = !{!"0x159acf00.w128.b0", !2361, i64 0} !2361 = !{!"0x159acf00.w256.b0", !2362, i64 0} !2362 = !{!"0x159acf00.w512.b0", !2363, i64 0} !2363 = !{!"0x159acf00.w1024.b0", !2364, i64 0} !2364 = !{!"i64", !2365, i64 0} !2365 = !{!"0x159acf00", !8, i64 0} !2366 = !{!2367, !2367, i64 0} !2367 = !{!"0x159acf00.w1.b1", !2354, i64 0} !2368 = !{!2369, !2369, i64 0} !2369 = !{!"0x159acf00.w1.b2", !2370, i64 0} !2370 = !{!"0x159acf00.w2.b2", !2355, i64 0} !2371 = !{!2372, !2372, i64 0} !2372 = !{!"0x159ad730.w1.b0", !2373, i64 0} !2373 = !{!"0x159ad730.w2.b0", !2374, i64 0} !2374 = !{!"0x159ad730.w4.b0", !2375, i64 0} !2375 = !{!"0x159ad730.w8.b0", !2376, i64 0} !2376 = !{!"0x159ad730.w16.b0", !2377, i64 0} !2377 = !{!"0x159ad730.w32.b0", !2378, i64 0} !2378 = !{!"0x159ad730.w64.b0", !2379, i64 0} !2379 = !{!"0x159ad730.w128.b0", !2380, i64 0} !2380 = !{!"0x159ad730.w256.b0", !2381, i64 0} !2381 = !{!"0x159ad730.w512.b0", !2382, i64 0} !2382 = !{!"0x159ad730.w1024.b0", !2383, i64 0} !2383 = !{!"i64", !2384, i64 0} !2384 = !{!"0x159ad730", !8, i64 0} !2385 = !{!2386, !2386, i64 0} !2386 = !{!"0x159ad730.w1.b1", !2373, i64 0} !2387 = !{!2388, !2388, i64 0} !2388 = !{!"0x159ad730.w1.b2", !2389, i64 0} !2389 = !{!"0x159ad730.w2.b2", !2374, i64 0} !2390 = !{!2391, !2391, i64 0} !2391 = !{!"0x159af6c0.w1.b0", !2392, i64 0} !2392 = !{!"0x159af6c0.w2.b0", !2393, i64 0} !2393 = !{!"0x159af6c0.w4.b0", !2394, i64 0} !2394 = !{!"0x159af6c0.w8.b0", !2395, i64 0} !2395 = !{!"0x159af6c0.w16.b0", !2396, i64 0} !2396 = !{!"0x159af6c0.w32.b0", !2397, i64 0} !2397 = !{!"0x159af6c0.w64.b0", !2398, i64 0} !2398 = !{!"0x159af6c0.w128.b0", !2399, i64 0} !2399 = !{!"0x159af6c0.w256.b0", !2400, i64 0} !2400 = !{!"0x159af6c0.w512.b0", !2401, i64 0} !2401 = !{!"0x159af6c0.w1024.b0", !2402, i64 0} !2402 = !{!"i64", !2403, i64 0} !2403 = !{!"0x159af6c0", !8, i64 0} !2404 = !{!2405, !2405, i64 0} !2405 = !{!"0x159afd20.w1.b0", !2406, i64 0} !2406 = !{!"0x159afd20.w2.b0", !2407, i64 0} !2407 = !{!"0x159afd20.w4.b0", !2408, i64 0} !2408 = !{!"0x159afd20.w8.b0", !2409, i64 0} !2409 = !{!"0x159afd20.w16.b0", !2410, i64 0} !2410 = !{!"0x159afd20.w32.b0", !2411, i64 0} !2411 = !{!"0x159afd20.w64.b0", !2412, i64 0} !2412 = !{!"0x159afd20.w128.b0", !2413, i64 0} !2413 = !{!"0x159afd20.w256.b0", !2414, i64 0} !2414 = !{!"0x159afd20.w512.b0", !2415, i64 0} !2415 = !{!"0x159afd20.w1024.b0", !2416, i64 0} !2416 = !{!"i64", !2417, i64 0} !2417 = !{!"0x159afd20", !8, i64 0} !2418 = !{!2419, !2419, i64 0} !2419 = !{!"0x159b1740.w1.b0", !2420, i64 0} !2420 = !{!"0x159b1740.w2.b0", !2421, i64 0} !2421 = !{!"0x159b1740.w4.b0", !2422, i64 0} !2422 = !{!"0x159b1740.w8.b0", !2423, i64 0} !2423 = !{!"0x159b1740.w16.b0", !2424, i64 0} !2424 = !{!"0x159b1740.w32.b0", !2425, i64 0} !2425 = !{!"0x159b1740.w64.b0", !2426, i64 0} !2426 = !{!"0x159b1740.w128.b0", !2427, i64 0} !2427 = !{!"0x159b1740.w256.b0", !2428, i64 0} !2428 = !{!"0x159b1740.w512.b0", !2429, i64 0} !2429 = !{!"0x159b1740.w1024.b0", !2430, i64 0} !2430 = !{!"i64", !2431, i64 0} !2431 = !{!"0x159b1740", !8, i64 0} !2432 = !{!2433, !2433, i64 0} !2433 = !{!"0x159b1740.w1.b1", !2420, i64 0} !2434 = !{!2435, !2435, i64 0} !2435 = !{!"0x159b1d30.w1.b0", !2436, i64 0} !2436 = !{!"0x159b1d30.w2.b0", !2437, i64 0} !2437 = !{!"0x159b1d30.w4.b0", !2438, i64 0} !2438 = !{!"0x159b1d30.w8.b0", !2439, i64 0} !2439 = !{!"0x159b1d30.w16.b0", !2440, i64 0} !2440 = !{!"0x159b1d30.w32.b0", !2441, i64 0} !2441 = !{!"0x159b1d30.w64.b0", !2442, i64 0} !2442 = !{!"0x159b1d30.w128.b0", !2443, i64 0} !2443 = !{!"0x159b1d30.w256.b0", !2444, i64 0} !2444 = !{!"0x159b1d30.w512.b0", !2445, i64 0} !2445 = !{!"0x159b1d30.w1024.b0", !2446, i64 0} !2446 = !{!"i64", !2447, i64 0} !2447 = !{!"0x159b1d30", !8, i64 0} !2448 = !{!2449, !2449, i64 0} !2449 = !{!"0x159b1d30.w1.b1", !2436, i64 0} !2450 = !{!2451, !2451, i64 0} !2451 = !{!"i8", !2452, i64 0} !2452 = !{!"0xc7a8ed0", !8, i64 0} !2453 = !{!2454, !2454, i64 0} !2454 = !{!"i8", !2455, i64 0} !2455 = !{!"0xc7b11b0", !8, i64 0} !2456 = !{!2457, !2457, i64 0} !2457 = !{!"i8", !2458, i64 0} !2458 = !{!"0x6e50ef0", !8, i64 0} !2459 = !{!2460, !2460, i64 0} !2460 = !{!"0x159a19b0.w1.b0", !2461, i64 0} !2461 = !{!"0x159a19b0.w2.b0", !2462, i64 0} !2462 = !{!"0x159a19b0.w4.b0", !2463, i64 0} !2463 = !{!"0x159a19b0.w8.b0", !2464, i64 0} !2464 = !{!"0x159a19b0.w16.b0", !2465, i64 0} !2465 = !{!"0x159a19b0.w32.b0", !2466, i64 0} !2466 = !{!"0x159a19b0.w64.b0", !2467, i64 0} !2467 = !{!"0x159a19b0.w128.b0", !2468, i64 0} !2468 = !{!"0x159a19b0.w256.b0", !2469, i64 0} !2469 = !{!"0x159a19b0.w512.b0", !2470, i64 0} !2470 = !{!"0x159a19b0.w1024.b0", !2471, i64 0} !2471 = !{!"i8", !2472, i64 0} !2472 = !{!"0x159a19b0", !8, i64 0} !2473 = !{!2474, !2474, i64 0} !2474 = !{!"0x159a19b0.w1.b1", !2461, i64 0} !2475 = !{!2476, !2476, i64 0} !2476 = !{!"0x159a19b0.w1.b2", !2477, i64 0} !2477 = !{!"0x159a19b0.w2.b2", !2462, i64 0} !2478 = !{!2479, !2479, i64 0} !2479 = !{!"0x159a19b0.w1.b3", !2477, i64 0} !2480 = !{!2481, !2481, i64 0} !2481 = !{!"0x159a19b0.w1.b4", !2482, i64 0} !2482 = !{!"0x159a19b0.w2.b4", !2483, i64 0} !2483 = !{!"0x159a19b0.w4.b4", !2463, i64 0} !2484 = !{!2485, !2485, i64 0} !2485 = !{!"0x159a19b0.w1.b5", !2482, i64 0} !2486 = !{!2487, !2487, i64 0} !2487 = !{!"0x159beeb0.w1.b0", !2488, i64 0} !2488 = !{!"0x159beeb0.w2.b0", !2489, i64 0} !2489 = !{!"0x159beeb0.w4.b0", !2490, i64 0} !2490 = !{!"0x159beeb0.w8.b0", !2491, i64 0} !2491 = !{!"0x159beeb0.w16.b0", !2492, i64 0} !2492 = !{!"0x159beeb0.w32.b0", !2493, i64 0} !2493 = !{!"0x159beeb0.w64.b0", !2494, i64 0} !2494 = !{!"0x159beeb0.w128.b0", !2495, i64 0} !2495 = !{!"0x159beeb0.w256.b0", !2496, i64 0} !2496 = !{!"0x159beeb0.w512.b0", !2497, i64 0} !2497 = !{!"0x159beeb0.w1024.b0", !2498, i64 0} !2498 = !{!"i64", !2499, i64 0} !2499 = !{!"0x159beeb0", !8, i64 0} !2500 = !{!2501, !2501, i64 0} !2501 = !{!"0x159beeb0.w1.b1", !2488, i64 0} !2502 = !{!2503, !2503, i64 0} !2503 = !{!"0x159bf480.w1.b0", !2504, i64 0} !2504 = !{!"0x159bf480.w2.b0", !2505, i64 0} !2505 = !{!"0x159bf480.w4.b0", !2506, i64 0} !2506 = !{!"0x159bf480.w8.b0", !2507, i64 0} !2507 = !{!"0x159bf480.w16.b0", !2508, i64 0} !2508 = !{!"0x159bf480.w32.b0", !2509, i64 0} !2509 = !{!"0x159bf480.w64.b0", !2510, i64 0} !2510 = !{!"0x159bf480.w128.b0", !2511, i64 0} !2511 = !{!"0x159bf480.w256.b0", !2512, i64 0} !2512 = !{!"0x159bf480.w512.b0", !2513, i64 0} !2513 = !{!"0x159bf480.w1024.b0", !2514, i64 0} !2514 = !{!"i64", !2515, i64 0} !2515 = !{!"0x159bf480", !8, i64 0} !2516 = !{!2517, !2517, i64 0} !2517 = !{!"0x159bf480.w1.b1", !2504, i64 0} !2518 = !{!2519, !2519, i64 0} !2519 = !{!"0x159c10f0.w1.b0", !2520, i64 0} !2520 = !{!"0x159c10f0.w2.b0", !2521, i64 0} !2521 = !{!"0x159c10f0.w4.b0", !2522, i64 0} !2522 = !{!"0x159c10f0.w8.b0", !2523, i64 0} !2523 = !{!"0x159c10f0.w16.b0", !2524, i64 0} !2524 = !{!"0x159c10f0.w32.b0", !2525, i64 0} !2525 = !{!"0x159c10f0.w64.b0", !2526, i64 0} !2526 = !{!"0x159c10f0.w128.b0", !2527, i64 0} !2527 = !{!"0x159c10f0.w256.b0", !2528, i64 0} !2528 = !{!"0x159c10f0.w512.b0", !2529, i64 0} !2529 = !{!"0x159c10f0.w1024.b0", !2530, i64 0} !2530 = !{!"i64", !2531, i64 0} !2531 = !{!"0x159c10f0", !8, i64 0} !2532 = !{!2533, !2533, i64 0} !2533 = !{!"0x159c10f0.w1.b1", !2520, i64 0} !2534 = !{!2535, !2535, i64 0} !2535 = !{!"0x159c1840.w1.b0", !2536, i64 0} !2536 = !{!"0x159c1840.w2.b0", !2537, i64 0} !2537 = !{!"0x159c1840.w4.b0", !2538, i64 0} !2538 = !{!"0x159c1840.w8.b0", !2539, i64 0} !2539 = !{!"0x159c1840.w16.b0", !2540, i64 0} !2540 = !{!"0x159c1840.w32.b0", !2541, i64 0} !2541 = !{!"0x159c1840.w64.b0", !2542, i64 0} !2542 = !{!"0x159c1840.w128.b0", !2543, i64 0} !2543 = !{!"0x159c1840.w256.b0", !2544, i64 0} !2544 = !{!"0x159c1840.w512.b0", !2545, i64 0} !2545 = !{!"0x159c1840.w1024.b0", !2546, i64 0} !2546 = !{!"i64", !2547, i64 0} !2547 = !{!"0x159c1840", !8, i64 0} !2548 = !{!2549, !2549, i64 0} !2549 = !{!"0x159c1840.w1.b1", !2536, i64 0} !2550 = !{!2551, !2551, i64 0} !2551 = !{!"0x159c3680.w1.b0", !2552, i64 0} !2552 = !{!"0x159c3680.w2.b0", !2553, i64 0} !2553 = !{!"0x159c3680.w4.b0", !2554, i64 0} !2554 = !{!"0x159c3680.w8.b0", !2555, i64 0} !2555 = !{!"0x159c3680.w16.b0", !2556, i64 0} !2556 = !{!"0x159c3680.w32.b0", !2557, i64 0} !2557 = !{!"0x159c3680.w64.b0", !2558, i64 0} !2558 = !{!"0x159c3680.w128.b0", !2559, i64 0} !2559 = !{!"0x159c3680.w256.b0", !2560, i64 0} !2560 = !{!"0x159c3680.w512.b0", !2561, i64 0} !2561 = !{!"0x159c3680.w1024.b0", !2562, i64 0} !2562 = !{!"i64", !2563, i64 0} !2563 = !{!"0x159c3680", !8, i64 0} !2564 = !{!2565, !2565, i64 0} !2565 = !{!"0x159c3680.w1.b1", !2552, i64 0} !2566 = !{!2567, !2567, i64 0} !2567 = !{!"0x159c3c70.w1.b0", !2568, i64 0} !2568 = !{!"0x159c3c70.w2.b0", !2569, i64 0} !2569 = !{!"0x159c3c70.w4.b0", !2570, i64 0} !2570 = !{!"0x159c3c70.w8.b0", !2571, i64 0} !2571 = !{!"0x159c3c70.w16.b0", !2572, i64 0} !2572 = !{!"0x159c3c70.w32.b0", !2573, i64 0} !2573 = !{!"0x159c3c70.w64.b0", !2574, i64 0} !2574 = !{!"0x159c3c70.w128.b0", !2575, i64 0} !2575 = !{!"0x159c3c70.w256.b0", !2576, i64 0} !2576 = !{!"0x159c3c70.w512.b0", !2577, i64 0} !2577 = !{!"0x159c3c70.w1024.b0", !2578, i64 0} !2578 = !{!"i64", !2579, i64 0} !2579 = !{!"0x159c3c70", !8, i64 0} !2580 = !{!2581, !2581, i64 0} !2581 = !{!"0x159c3c70.w1.b1", !2568, i64 0} !2582 = !{!2583, !2583, i64 0} !2583 = !{!"0x159c5940.w1.b0", !2584, i64 0} !2584 = !{!"0x159c5940.w2.b0", !2585, i64 0} !2585 = !{!"0x159c5940.w4.b0", !2586, i64 0} !2586 = !{!"0x159c5940.w8.b0", !2587, i64 0} !2587 = !{!"0x159c5940.w16.b0", !2588, i64 0} !2588 = !{!"0x159c5940.w32.b0", !2589, i64 0} !2589 = !{!"0x159c5940.w64.b0", !2590, i64 0} !2590 = !{!"0x159c5940.w128.b0", !2591, i64 0} !2591 = !{!"0x159c5940.w256.b0", !2592, i64 0} !2592 = !{!"0x159c5940.w512.b0", !2593, i64 0} !2593 = !{!"0x159c5940.w1024.b0", !2594, i64 0} !2594 = !{!"i64", !2595, i64 0} !2595 = !{!"0x159c5940", !8, i64 0} !2596 = !{!2597, !2597, i64 0} !2597 = !{!"0x159c5940.w1.b1", !2584, i64 0} !2598 = !{!2599, !2599, i64 0} !2599 = !{!"0x159c60d0.w1.b0", !2600, i64 0} !2600 = !{!"0x159c60d0.w2.b0", !2601, i64 0} !2601 = !{!"0x159c60d0.w4.b0", !2602, i64 0} !2602 = !{!"0x159c60d0.w8.b0", !2603, i64 0} !2603 = !{!"0x159c60d0.w16.b0", !2604, i64 0} !2604 = !{!"0x159c60d0.w32.b0", !2605, i64 0} !2605 = !{!"0x159c60d0.w64.b0", !2606, i64 0} !2606 = !{!"0x159c60d0.w128.b0", !2607, i64 0} !2607 = !{!"0x159c60d0.w256.b0", !2608, i64 0} !2608 = !{!"0x159c60d0.w512.b0", !2609, i64 0} !2609 = !{!"0x159c60d0.w1024.b0", !2610, i64 0} !2610 = !{!"i64", !2611, i64 0} !2611 = !{!"0x159c60d0", !8, i64 0} !2612 = !{!2613, !2613, i64 0} !2613 = !{!"0x159c60d0.w1.b1", !2600, i64 0} !2614 = !{!2615, !2615, i64 0} !2615 = !{!"0x159c8010.w1.b0", !2616, i64 0} !2616 = !{!"0x159c8010.w2.b0", !2617, i64 0} !2617 = !{!"0x159c8010.w4.b0", !2618, i64 0} !2618 = !{!"0x159c8010.w8.b0", !2619, i64 0} !2619 = !{!"0x159c8010.w16.b0", !2620, i64 0} !2620 = !{!"0x159c8010.w32.b0", !2621, i64 0} !2621 = !{!"0x159c8010.w64.b0", !2622, i64 0} !2622 = !{!"0x159c8010.w128.b0", !2623, i64 0} !2623 = !{!"0x159c8010.w256.b0", !2624, i64 0} !2624 = !{!"0x159c8010.w512.b0", !2625, i64 0} !2625 = !{!"0x159c8010.w1024.b0", !2626, i64 0} !2626 = !{!"i64", !2627, i64 0} !2627 = !{!"0x159c8010", !8, i64 0} !2628 = !{!2629, !2629, i64 0} !2629 = !{!"0x159c8010.w1.b1", !2616, i64 0} !2630 = !{!2631, !2631, i64 0} !2631 = !{!"0x159c8010.w1.b2", !2632, i64 0} !2632 = !{!"0x159c8010.w2.b2", !2617, i64 0} !2633 = !{!2634, !2634, i64 0} !2634 = !{!"0x159c8890.w1.b0", !2635, i64 0} !2635 = !{!"0x159c8890.w2.b0", !2636, i64 0} !2636 = !{!"0x159c8890.w4.b0", !2637, i64 0} !2637 = !{!"0x159c8890.w8.b0", !2638, i64 0} !2638 = !{!"0x159c8890.w16.b0", !2639, i64 0} !2639 = !{!"0x159c8890.w32.b0", !2640, i64 0} !2640 = !{!"0x159c8890.w64.b0", !2641, i64 0} !2641 = !{!"0x159c8890.w128.b0", !2642, i64 0} !2642 = !{!"0x159c8890.w256.b0", !2643, i64 0} !2643 = !{!"0x159c8890.w512.b0", !2644, i64 0} !2644 = !{!"0x159c8890.w1024.b0", !2645, i64 0} !2645 = !{!"i64", !2646, i64 0} !2646 = !{!"0x159c8890", !8, i64 0} !2647 = !{!2648, !2648, i64 0} !2648 = !{!"0x159c8890.w1.b1", !2635, i64 0} !2649 = !{!2650, !2650, i64 0} !2650 = !{!"0x159c8890.w1.b2", !2651, i64 0} !2651 = !{!"0x159c8890.w2.b2", !2636, i64 0} !2652 = !{!2653, !2653, i64 0} !2653 = !{!"0x159c3770.w1.b0", !2654, i64 0} !2654 = !{!"0x159c3770.w2.b0", !2655, i64 0} !2655 = !{!"0x159c3770.w4.b0", !2656, i64 0} !2656 = !{!"0x159c3770.w8.b0", !2657, i64 0} !2657 = !{!"0x159c3770.w16.b0", !2658, i64 0} !2658 = !{!"0x159c3770.w32.b0", !2659, i64 0} !2659 = !{!"0x159c3770.w64.b0", !2660, i64 0} !2660 = !{!"0x159c3770.w128.b0", !2661, i64 0} !2661 = !{!"0x159c3770.w256.b0", !2662, i64 0} !2662 = !{!"0x159c3770.w512.b0", !2663, i64 0} !2663 = !{!"0x159c3770.w1024.b0", !2664, i64 0} !2664 = !{!"i64", !2665, i64 0} !2665 = !{!"0x159c3770", !8, i64 0} !2666 = !{!2667, !2667, i64 0} !2667 = !{!"0x159c3770.w1.b1", !2654, i64 0} !2668 = !{!2669, !2669, i64 0} !2669 = !{!"0x159c3770.w1.b2", !2670, i64 0} !2670 = !{!"0x159c3770.w2.b2", !2655, i64 0} !2671 = !{!2672, !2672, i64 0} !2672 = !{!"0x159cb150.w1.b0", !2673, i64 0} !2673 = !{!"0x159cb150.w2.b0", !2674, i64 0} !2674 = !{!"0x159cb150.w4.b0", !2675, i64 0} !2675 = !{!"0x159cb150.w8.b0", !2676, i64 0} !2676 = !{!"0x159cb150.w16.b0", !2677, i64 0} !2677 = !{!"0x159cb150.w32.b0", !2678, i64 0} !2678 = !{!"0x159cb150.w64.b0", !2679, i64 0} !2679 = !{!"0x159cb150.w128.b0", !2680, i64 0} !2680 = !{!"0x159cb150.w256.b0", !2681, i64 0} !2681 = !{!"0x159cb150.w512.b0", !2682, i64 0} !2682 = !{!"0x159cb150.w1024.b0", !2683, i64 0} !2683 = !{!"i64", !2684, i64 0} !2684 = !{!"0x159cb150", !8, i64 0} !2685 = !{!2686, !2686, i64 0} !2686 = !{!"0x159cb150.w1.b1", !2673, i64 0} !2687 = !{!2688, !2688, i64 0} !2688 = !{!"0x159cb150.w1.b2", !2689, i64 0} !2689 = !{!"0x159cb150.w2.b2", !2674, i64 0} !2690 = !{!2691, !2691, i64 0} !2691 = !{!"i8", !2692, i64 0} !2692 = !{!"0x13c2d540", !8, i64 0} !2693 = !{!2694, !2694, i64 0} !2694 = !{!"i8", !2695, i64 0} !2695 = !{!"0x38d74c0", !8, i64 0} !2696 = !{!2697, !2697, i64 0} !2697 = !{!"i8", !2698, i64 0} !2698 = !{!"0x1590ca30", !8, i64 0} !2699 = !{!2700, !2700, i64 0} !2700 = !{!"i8", !2701, i64 0} !2701 = !{!"0x13c2d500", !8, i64 0} !2702 = !{!2703, !2703, i64 0} !2703 = !{!"i8", !2704, i64 0} !2704 = !{!"0x13cd8ff0", !8, i64 0} !2705 = !{!2706, !2706, i64 0} !2706 = !{!"i8", !2707, i64 0} !2707 = !{!"0x158f4b20", !8, i64 0} !2708 = !{!2709, !2709, i64 0} !2709 = !{!"0x159bd7e0.w1.b0", !2710, i64 0} !2710 = !{!"0x159bd7e0.w2.b0", !2711, i64 0} !2711 = !{!"0x159bd7e0.w4.b0", !2712, i64 0} !2712 = !{!"0x159bd7e0.w8.b0", !2713, i64 0} !2713 = !{!"0x159bd7e0.w16.b0", !2714, i64 0} !2714 = !{!"0x159bd7e0.w32.b0", !2715, i64 0} !2715 = !{!"0x159bd7e0.w64.b0", !2716, i64 0} !2716 = !{!"0x159bd7e0.w128.b0", !2717, i64 0} !2717 = !{!"0x159bd7e0.w256.b0", !2718, i64 0} !2718 = !{!"0x159bd7e0.w512.b0", !2719, i64 0} !2719 = !{!"0x159bd7e0.w1024.b0", !2720, i64 0} !2720 = !{!"i8", !2721, i64 0} !2721 = !{!"0x159bd7e0", !8, i64 0} !2722 = !{!2723, !2723, i64 0} !2723 = !{!"0x159bd7e0.w1.b1", !2710, i64 0} !2724 = !{!2725, !2725, i64 0} !2725 = !{!"0x159c1a40.w1.b0", !2726, i64 0} !2726 = !{!"0x159c1a40.w2.b0", !2727, i64 0} !2727 = !{!"0x159c1a40.w4.b0", !2728, i64 0} !2728 = !{!"0x159c1a40.w8.b0", !2729, i64 0} !2729 = !{!"0x159c1a40.w16.b0", !2730, i64 0} !2730 = !{!"0x159c1a40.w32.b0", !2731, i64 0} !2731 = !{!"0x159c1a40.w64.b0", !2732, i64 0} !2732 = !{!"0x159c1a40.w128.b0", !2733, i64 0} !2733 = !{!"0x159c1a40.w256.b0", !2734, i64 0} !2734 = !{!"0x159c1a40.w512.b0", !2735, i64 0} !2735 = !{!"0x159c1a40.w1024.b0", !2736, i64 0} !2736 = !{!"i64", !2737, i64 0} !2737 = !{!"0x159c1a40", !8, i64 0} !2738 = !{!2739, !2739, i64 0} !2739 = !{!"0x159c1a40.w1.b1", !2726, i64 0} !2740 = !{!2741, !2741, i64 0} !2741 = !{!"0x159c1a40.w1.b2", !2742, i64 0} !2742 = !{!"0x159c1a40.w2.b2", !2727, i64 0} !2743 = !{!2744, !2744, i64 0} !2744 = !{!"0x159c1a40.w1.b3", !2742, i64 0} !2745 = !{!2746, !2746, i64 0} !2746 = !{!"0x159c1a40.w1.b4", !2747, i64 0} !2747 = !{!"0x159c1a40.w2.b4", !2748, i64 0} !2748 = !{!"0x159c1a40.w4.b4", !2728, i64 0} !2749 = !{!2750, !2750, i64 0} !2750 = !{!"0x159c6f20.w1.b0", !2751, i64 0} !2751 = !{!"0x159c6f20.w2.b0", !2752, i64 0} !2752 = !{!"0x159c6f20.w4.b0", !2753, i64 0} !2753 = !{!"0x159c6f20.w8.b0", !2754, i64 0} !2754 = !{!"0x159c6f20.w16.b0", !2755, i64 0} !2755 = !{!"0x159c6f20.w32.b0", !2756, i64 0} !2756 = !{!"0x159c6f20.w64.b0", !2757, i64 0} !2757 = !{!"0x159c6f20.w128.b0", !2758, i64 0} !2758 = !{!"0x159c6f20.w256.b0", !2759, i64 0} !2759 = !{!"0x159c6f20.w512.b0", !2760, i64 0} !2760 = !{!"0x159c6f20.w1024.b0", !2761, i64 0} !2761 = !{!"i64", !2762, i64 0} !2762 = !{!"0x159c6f20", !8, i64 0} !2763 = !{!2764, !2764, i64 0} !2764 = !{!"0x159c6f20.w1.b1", !2751, i64 0} !2765 = !{!2766, !2766, i64 0} !2766 = !{!"0x159c6f20.w1.b2", !2767, i64 0} !2767 = !{!"0x159c6f20.w2.b2", !2752, i64 0} !2768 = !{!2769, !2769, i64 0} !2769 = !{!"0x159c6f20.w1.b3", !2767, i64 0} !2770 = !{!2771, !2771, i64 0} !2771 = !{!"0x159c6f20.w1.b4", !2772, i64 0} !2772 = !{!"0x159c6f20.w2.b4", !2773, i64 0} !2773 = !{!"0x159c6f20.w4.b4", !2753, i64 0} !2774 = !{!2775, !2775, i64 0} !2775 = !{!"0x159cfe90.w1.b0", !2776, i64 0} !2776 = !{!"0x159cfe90.w2.b0", !2777, i64 0} !2777 = !{!"0x159cfe90.w4.b0", !2778, i64 0} !2778 = !{!"0x159cfe90.w8.b0", !2779, i64 0} !2779 = !{!"0x159cfe90.w16.b0", !2780, i64 0} !2780 = !{!"0x159cfe90.w32.b0", !2781, i64 0} !2781 = !{!"0x159cfe90.w64.b0", !2782, i64 0} !2782 = !{!"0x159cfe90.w128.b0", !2783, i64 0} !2783 = !{!"0x159cfe90.w256.b0", !2784, i64 0} !2784 = !{!"0x159cfe90.w512.b0", !2785, i64 0} !2785 = !{!"0x159cfe90.w1024.b0", !2786, i64 0} !2786 = !{!"i64", !2787, i64 0} !2787 = !{!"0x159cfe90", !8, i64 0} !2788 = !{!2789, !2789, i64 0} !2789 = !{!"0x159cfe90.w1.b1", !2776, i64 0} !2790 = !{!2791, !2791, i64 0} !2791 = !{!"0x159cfe90.w1.b2", !2792, i64 0} !2792 = !{!"0x159cfe90.w2.b2", !2777, i64 0} !2793 = !{!2794, !2794, i64 0} !2794 = !{!"0x159d08f0.w1.b0", !2795, i64 0} !2795 = !{!"0x159d08f0.w2.b0", !2796, i64 0} !2796 = !{!"0x159d08f0.w4.b0", !2797, i64 0} !2797 = !{!"0x159d08f0.w8.b0", !2798, i64 0} !2798 = !{!"0x159d08f0.w16.b0", !2799, i64 0} !2799 = !{!"0x159d08f0.w32.b0", !2800, i64 0} !2800 = !{!"0x159d08f0.w64.b0", !2801, i64 0} !2801 = !{!"0x159d08f0.w128.b0", !2802, i64 0} !2802 = !{!"0x159d08f0.w256.b0", !2803, i64 0} !2803 = !{!"0x159d08f0.w512.b0", !2804, i64 0} !2804 = !{!"0x159d08f0.w1024.b0", !2805, i64 0} !2805 = !{!"i64", !2806, i64 0} !2806 = !{!"0x159d08f0", !8, i64 0} !2807 = !{!2808, !2808, i64 0} !2808 = !{!"0x159d08f0.w1.b1", !2795, i64 0} !2809 = !{!2810, !2810, i64 0} !2810 = !{!"0x159d08f0.w1.b2", !2811, i64 0} !2811 = !{!"0x159d08f0.w2.b2", !2796, i64 0} !2812 = !{!2813, !2813, i64 0} !2813 = !{!"i8", !2814, i64 0} !2814 = !{!"0x6ef9140", !8, i64 0} !2815 = !{!2816, !2816, i64 0} !2816 = !{!"i8", !2817, i64 0} !2817 = !{!"0x158723c0", !8, i64 0} !2818 = !{!"branch_weights", i32 1, i32 131071} !2819 = distinct !{!2819, !157} !2820 = distinct !{!2820, !157} !2821 = !{!2822, !2822, i64 0} !2822 = !{!"0x159c8170.w1.b0", !2823, i64 0} !2823 = !{!"0x159c8170.w2.b0", !2824, i64 0} !2824 = !{!"0x159c8170.w4.b0", !2825, i64 0} !2825 = !{!"0x159c8170.w8.b0", !2826, i64 0} !2826 = !{!"0x159c8170.w16.b0", !2827, i64 0} !2827 = !{!"0x159c8170.w32.b0", !2828, i64 0} !2828 = !{!"0x159c8170.w64.b0", !2829, i64 0} !2829 = !{!"0x159c8170.w128.b0", !2830, i64 0} !2830 = !{!"0x159c8170.w256.b0", !2831, i64 0} !2831 = !{!"0x159c8170.w512.b0", !2832, i64 0} !2832 = !{!"0x159c8170.w1024.b0", !2833, i64 0} !2833 = !{!"i8", !2834, i64 0} !2834 = !{!"0x159c8170", !8, i64 0} !2835 = !{!2836, !2836, i64 0} !2836 = !{!"0x159c8170.w1.b1", !2823, i64 0} !2837 = !{!2838, !2838, i64 0} !2838 = !{!"0x159d3760.w1.b0", !2839, i64 0} !2839 = !{!"0x159d3760.w2.b0", !2840, i64 0} !2840 = !{!"0x159d3760.w4.b0", !2841, i64 0} !2841 = !{!"0x159d3760.w8.b0", !2842, i64 0} !2842 = !{!"0x159d3760.w16.b0", !2843, i64 0} !2843 = !{!"0x159d3760.w32.b0", !2844, i64 0} !2844 = !{!"0x159d3760.w64.b0", !2845, i64 0} !2845 = !{!"0x159d3760.w128.b0", !2846, i64 0} !2846 = !{!"0x159d3760.w256.b0", !2847, i64 0} !2847 = !{!"0x159d3760.w512.b0", !2848, i64 0} !2848 = !{!"0x159d3760.w1024.b0", !2849, i64 0} !2849 = !{!"i64", !2850, i64 0} !2850 = !{!"0x159d3760", !8, i64 0} !2851 = !{!2852, !2852, i64 0} !2852 = !{!"0x159d3760.w1.b1", !2839, i64 0} !2853 = !{!2854, !2854, i64 0} !2854 = !{!"0x159d3e20.w1.b0", !2855, i64 0} !2855 = !{!"0x159d3e20.w2.b0", !2856, i64 0} !2856 = !{!"0x159d3e20.w4.b0", !2857, i64 0} !2857 = !{!"0x159d3e20.w8.b0", !2858, i64 0} !2858 = !{!"0x159d3e20.w16.b0", !2859, i64 0} !2859 = !{!"0x159d3e20.w32.b0", !2860, i64 0} !2860 = !{!"0x159d3e20.w64.b0", !2861, i64 0} !2861 = !{!"0x159d3e20.w128.b0", !2862, i64 0} !2862 = !{!"0x159d3e20.w256.b0", !2863, i64 0} !2863 = !{!"0x159d3e20.w512.b0", !2864, i64 0} !2864 = !{!"0x159d3e20.w1024.b0", !2865, i64 0} !2865 = !{!"i64", !2866, i64 0} !2866 = !{!"0x159d3e20", !8, i64 0} !2867 = !{!2868, !2868, i64 0} !2868 = !{!"0x159d3e20.w1.b1", !2855, i64 0} !2869 = !{!2870, !2870, i64 0} !2870 = !{!"0x159d5a60.w1.b0", !2871, i64 0} !2871 = !{!"0x159d5a60.w2.b0", !2872, i64 0} !2872 = !{!"0x159d5a60.w4.b0", !2873, i64 0} !2873 = !{!"0x159d5a60.w8.b0", !2874, i64 0} !2874 = !{!"0x159d5a60.w16.b0", !2875, i64 0} !2875 = !{!"0x159d5a60.w32.b0", !2876, i64 0} !2876 = !{!"0x159d5a60.w64.b0", !2877, i64 0} !2877 = !{!"0x159d5a60.w128.b0", !2878, i64 0} !2878 = !{!"0x159d5a60.w256.b0", !2879, i64 0} !2879 = !{!"0x159d5a60.w512.b0", !2880, i64 0} !2880 = !{!"0x159d5a60.w1024.b0", !2881, i64 0} !2881 = !{!"i64", !2882, i64 0} !2882 = !{!"0x159d5a60", !8, i64 0} !2883 = !{!2884, !2884, i64 0} !2884 = !{!"0x159d5a60.w1.b1", !2871, i64 0} !2885 = !{!2886, !2886, i64 0} !2886 = !{!"0x159d5a60.w1.b2", !2887, i64 0} !2887 = !{!"0x159d5a60.w2.b2", !2872, i64 0} !2888 = !{!2889, !2889, i64 0} !2889 = !{!"0x159d5a60.w1.b3", !2887, i64 0} !2890 = !{!2891, !2891, i64 0} !2891 = !{!"0x159d5a60.w1.b4", !2892, i64 0} !2892 = !{!"0x159d5a60.w2.b4", !2893, i64 0} !2893 = !{!"0x159d5a60.w4.b4", !2873, i64 0} !2894 = !{!2895, !2895, i64 0} !2895 = !{!"0x159d68f0.w1.b0", !2896, i64 0} !2896 = !{!"0x159d68f0.w2.b0", !2897, i64 0} !2897 = !{!"0x159d68f0.w4.b0", !2898, i64 0} !2898 = !{!"0x159d68f0.w8.b0", !2899, i64 0} !2899 = !{!"0x159d68f0.w16.b0", !2900, i64 0} !2900 = !{!"0x159d68f0.w32.b0", !2901, i64 0} !2901 = !{!"0x159d68f0.w64.b0", !2902, i64 0} !2902 = !{!"0x159d68f0.w128.b0", !2903, i64 0} !2903 = !{!"0x159d68f0.w256.b0", !2904, i64 0} !2904 = !{!"0x159d68f0.w512.b0", !2905, i64 0} !2905 = !{!"0x159d68f0.w1024.b0", !2906, i64 0} !2906 = !{!"i64", !2907, i64 0} !2907 = !{!"0x159d68f0", !8, i64 0} !2908 = !{!2909, !2909, i64 0} !2909 = !{!"0x159d68f0.w1.b1", !2896, i64 0} !2910 = !{!2911, !2911, i64 0} !2911 = !{!"0x159d68f0.w1.b2", !2912, i64 0} !2912 = !{!"0x159d68f0.w2.b2", !2897, i64 0} !2913 = !{!2914, !2914, i64 0} !2914 = !{!"0x159d68f0.w1.b3", !2912, i64 0} !2915 = !{!2916, !2916, i64 0} !2916 = !{!"0x159d68f0.w1.b4", !2917, i64 0} !2917 = !{!"0x159d68f0.w2.b4", !2918, i64 0} !2918 = !{!"0x159d68f0.w4.b4", !2898, i64 0} !2919 = !{!2920, !2920, i64 0} !2920 = !{!"i8", !2921, i64 0} !2921 = !{!"0x13c41520", !8, i64 0} !2922 = !{!2923, !2923, i64 0} !2923 = !{!"i8", !2924, i64 0} !2924 = !{!"0x13c41490", !8, i64 0} !2925 = !{!2926, !2926, i64 0} !2926 = !{!"0x159c0f10.w1.b0", !2927, i64 0} !2927 = !{!"0x159c0f10.w2.b0", !2928, i64 0} !2928 = !{!"0x159c0f10.w4.b0", !2929, i64 0} !2929 = !{!"0x159c0f10.w8.b0", !2930, i64 0} !2930 = !{!"0x159c0f10.w16.b0", !2931, i64 0} !2931 = !{!"0x159c0f10.w32.b0", !2932, i64 0} !2932 = !{!"0x159c0f10.w64.b0", !2933, i64 0} !2933 = !{!"0x159c0f10.w128.b0", !2934, i64 0} !2934 = !{!"0x159c0f10.w256.b0", !2935, i64 0} !2935 = !{!"0x159c0f10.w512.b0", !2936, i64 0} !2936 = !{!"0x159c0f10.w1024.b0", !2937, i64 0} !2937 = !{!"i8", !2938, i64 0} !2938 = !{!"0x159c0f10", !8, i64 0} !2939 = !{!2940, !2940, i64 0} !2940 = !{!"0x159c0f10.w1.b1", !2927, i64 0} !2941 = !{!2942, !2942, i64 0} !2942 = !{!"0x159c0f10.w1.b2", !2943, i64 0} !2943 = !{!"0x159c0f10.w2.b2", !2928, i64 0} !2944 = !{!2945, !2945, i64 0} !2945 = !{!"0x159c0f10.w1.b3", !2943, i64 0} !2946 = !{!2947, !2947, i64 0} !2947 = !{!"0x159c0f10.w1.b4", !2948, i64 0} !2948 = !{!"0x159c0f10.w2.b4", !2949, i64 0} !2949 = !{!"0x159c0f10.w4.b4", !2929, i64 0} !2950 = !{!2951, !2951, i64 0} !2951 = !{!"0x159c0f10.w1.b5", !2948, i64 0} !2952 = !{!2953, !2953, i64 0} !2953 = !{!"0x159c0f10.w1.b6", !2954, i64 0} !2954 = !{!"0x159c0f10.w2.b6", !2949, i64 0} !2955 = !{!2956, !2956, i64 0} !2956 = !{!"0x159dc0b0.w1.b0", !2957, i64 0} !2957 = !{!"0x159dc0b0.w2.b0", !2958, i64 0} !2958 = !{!"0x159dc0b0.w4.b0", !2959, i64 0} !2959 = !{!"0x159dc0b0.w8.b0", !2960, i64 0} !2960 = !{!"0x159dc0b0.w16.b0", !2961, i64 0} !2961 = !{!"0x159dc0b0.w32.b0", !2962, i64 0} !2962 = !{!"0x159dc0b0.w64.b0", !2963, i64 0} !2963 = !{!"0x159dc0b0.w128.b0", !2964, i64 0} !2964 = !{!"0x159dc0b0.w256.b0", !2965, i64 0} !2965 = !{!"0x159dc0b0.w512.b0", !2966, i64 0} !2966 = !{!"0x159dc0b0.w1024.b0", !2967, i64 0} !2967 = !{!"i64", !2968, i64 0} !2968 = !{!"0x159dc0b0", !8, i64 0} !2969 = !{!2970, !2970, i64 0} !2970 = !{!"0x159dc0b0.w1.b1", !2957, i64 0} !2971 = !{!2972, !2972, i64 0} !2972 = !{!"0x159dc0b0.w1.b2", !2973, i64 0} !2973 = !{!"0x159dc0b0.w2.b2", !2958, i64 0} !2974 = !{!2975, !2975, i64 0} !2975 = !{!"0x159dc960.w1.b0", !2976, i64 0} !2976 = !{!"0x159dc960.w2.b0", !2977, i64 0} !2977 = !{!"0x159dc960.w4.b0", !2978, i64 0} !2978 = !{!"0x159dc960.w8.b0", !2979, i64 0} !2979 = !{!"0x159dc960.w16.b0", !2980, i64 0} !2980 = !{!"0x159dc960.w32.b0", !2981, i64 0} !2981 = !{!"0x159dc960.w64.b0", !2982, i64 0} !2982 = !{!"0x159dc960.w128.b0", !2983, i64 0} !2983 = !{!"0x159dc960.w256.b0", !2984, i64 0} !2984 = !{!"0x159dc960.w512.b0", !2985, i64 0} !2985 = !{!"0x159dc960.w1024.b0", !2986, i64 0} !2986 = !{!"i64", !2987, i64 0} !2987 = !{!"0x159dc960", !8, i64 0} !2988 = !{!2989, !2989, i64 0} !2989 = !{!"0x159dc960.w1.b1", !2976, i64 0} !2990 = !{!2991, !2991, i64 0} !2991 = !{!"0x159dc960.w1.b2", !2992, i64 0} !2992 = !{!"0x159dc960.w2.b2", !2977, i64 0} !2993 = !{!2994, !2994, i64 0} !2994 = !{!"0x159de920.w1.b0", !2995, i64 0} !2995 = !{!"0x159de920.w2.b0", !2996, i64 0} !2996 = !{!"0x159de920.w4.b0", !2997, i64 0} !2997 = !{!"0x159de920.w8.b0", !2998, i64 0} !2998 = !{!"0x159de920.w16.b0", !2999, i64 0} !2999 = !{!"0x159de920.w32.b0", !3000, i64 0} !3000 = !{!"0x159de920.w64.b0", !3001, i64 0} !3001 = !{!"0x159de920.w128.b0", !3002, i64 0} !3002 = !{!"0x159de920.w256.b0", !3003, i64 0} !3003 = !{!"0x159de920.w512.b0", !3004, i64 0} !3004 = !{!"0x159de920.w1024.b0", !3005, i64 0} !3005 = !{!"i64", !3006, i64 0} !3006 = !{!"0x159de920", !8, i64 0} !3007 = !{!3008, !3008, i64 0} !3008 = !{!"0x159de920.w1.b1", !2995, i64 0} !3009 = !{!3010, !3010, i64 0} !3010 = !{!"0x159de920.w1.b2", !3011, i64 0} !3011 = !{!"0x159de920.w2.b2", !2996, i64 0} !3012 = !{!3013, !3013, i64 0} !3013 = !{!"0x159db3e0.w1.b0", !3014, i64 0} !3014 = !{!"0x159db3e0.w2.b0", !3015, i64 0} !3015 = !{!"0x159db3e0.w4.b0", !3016, i64 0} !3016 = !{!"0x159db3e0.w8.b0", !3017, i64 0} !3017 = !{!"0x159db3e0.w16.b0", !3018, i64 0} !3018 = !{!"0x159db3e0.w32.b0", !3019, i64 0} !3019 = !{!"0x159db3e0.w64.b0", !3020, i64 0} !3020 = !{!"0x159db3e0.w128.b0", !3021, i64 0} !3021 = !{!"0x159db3e0.w256.b0", !3022, i64 0} !3022 = !{!"0x159db3e0.w512.b0", !3023, i64 0} !3023 = !{!"0x159db3e0.w1024.b0", !3024, i64 0} !3024 = !{!"i64", !3025, i64 0} !3025 = !{!"0x159db3e0", !8, i64 0} !3026 = !{!3027, !3027, i64 0} !3027 = !{!"0x159db3e0.w1.b1", !3014, i64 0} !3028 = !{!3029, !3029, i64 0} !3029 = !{!"0x159db3e0.w1.b2", !3030, i64 0} !3030 = !{!"0x159db3e0.w2.b2", !3015, i64 0} !3031 = !{!3032, !3032, i64 0} !3032 = !{!"0x159e1180.w1.b0", !3033, i64 0} !3033 = !{!"0x159e1180.w2.b0", !3034, i64 0} !3034 = !{!"0x159e1180.w4.b0", !3035, i64 0} !3035 = !{!"0x159e1180.w8.b0", !3036, i64 0} !3036 = !{!"0x159e1180.w16.b0", !3037, i64 0} !3037 = !{!"0x159e1180.w32.b0", !3038, i64 0} !3038 = !{!"0x159e1180.w64.b0", !3039, i64 0} !3039 = !{!"0x159e1180.w128.b0", !3040, i64 0} !3040 = !{!"0x159e1180.w256.b0", !3041, i64 0} !3041 = !{!"0x159e1180.w512.b0", !3042, i64 0} !3042 = !{!"0x159e1180.w1024.b0", !3043, i64 0} !3043 = !{!"i64", !3044, i64 0} !3044 = !{!"0x159e1180", !8, i64 0} !3045 = !{!3046, !3046, i64 0} !3046 = !{!"0x159e1180.w1.b1", !3033, i64 0} !3047 = !{!3048, !3048, i64 0} !3048 = !{!"0x159e1180.w1.b2", !3049, i64 0} !3049 = !{!"0x159e1180.w2.b2", !3034, i64 0} !3050 = !{!3051, !3051, i64 0} !3051 = !{!"0x159e1a00.w1.b0", !3052, i64 0} !3052 = !{!"0x159e1a00.w2.b0", !3053, i64 0} !3053 = !{!"0x159e1a00.w4.b0", !3054, i64 0} !3054 = !{!"0x159e1a00.w8.b0", !3055, i64 0} !3055 = !{!"0x159e1a00.w16.b0", !3056, i64 0} !3056 = !{!"0x159e1a00.w32.b0", !3057, i64 0} !3057 = !{!"0x159e1a00.w64.b0", !3058, i64 0} !3058 = !{!"0x159e1a00.w128.b0", !3059, i64 0} !3059 = !{!"0x159e1a00.w256.b0", !3060, i64 0} !3060 = !{!"0x159e1a00.w512.b0", !3061, i64 0} !3061 = !{!"0x159e1a00.w1024.b0", !3062, i64 0} !3062 = !{!"i64", !3063, i64 0} !3063 = !{!"0x159e1a00", !8, i64 0} !3064 = !{!3065, !3065, i64 0} !3065 = !{!"0x159e1a00.w1.b1", !3052, i64 0} !3066 = !{!3067, !3067, i64 0} !3067 = !{!"0x159e1a00.w1.b2", !3068, i64 0} !3068 = !{!"0x159e1a00.w2.b2", !3053, i64 0} !3069 = !{!3070, !3070, i64 0} !3070 = !{!"0x159e3910.w1.b0", !3071, i64 0} !3071 = !{!"0x159e3910.w2.b0", !3072, i64 0} !3072 = !{!"0x159e3910.w4.b0", !3073, i64 0} !3073 = !{!"0x159e3910.w8.b0", !3074, i64 0} !3074 = !{!"0x159e3910.w16.b0", !3075, i64 0} !3075 = !{!"0x159e3910.w32.b0", !3076, i64 0} !3076 = !{!"0x159e3910.w64.b0", !3077, i64 0} !3077 = !{!"0x159e3910.w128.b0", !3078, i64 0} !3078 = !{!"0x159e3910.w256.b0", !3079, i64 0} !3079 = !{!"0x159e3910.w512.b0", !3080, i64 0} !3080 = !{!"0x159e3910.w1024.b0", !3081, i64 0} !3081 = !{!"i64", !3082, i64 0} !3082 = !{!"0x159e3910", !8, i64 0} !3083 = !{!3084, !3084, i64 0} !3084 = !{!"0x159e3e10.w1.b0", !3085, i64 0} !3085 = !{!"0x159e3e10.w2.b0", !3086, i64 0} !3086 = !{!"0x159e3e10.w4.b0", !3087, i64 0} !3087 = !{!"0x159e3e10.w8.b0", !3088, i64 0} !3088 = !{!"0x159e3e10.w16.b0", !3089, i64 0} !3089 = !{!"0x159e3e10.w32.b0", !3090, i64 0} !3090 = !{!"0x159e3e10.w64.b0", !3091, i64 0} !3091 = !{!"0x159e3e10.w128.b0", !3092, i64 0} !3092 = !{!"0x159e3e10.w256.b0", !3093, i64 0} !3093 = !{!"0x159e3e10.w512.b0", !3094, i64 0} !3094 = !{!"0x159e3e10.w1024.b0", !3095, i64 0} !3095 = !{!"i64", !3096, i64 0} !3096 = !{!"0x159e3e10", !8, i64 0} !3097 = !{!3098, !3098, i64 0} !3098 = !{!"0x159e5a30.w1.b0", !3099, i64 0} !3099 = !{!"0x159e5a30.w2.b0", !3100, i64 0} !3100 = !{!"0x159e5a30.w4.b0", !3101, i64 0} !3101 = !{!"0x159e5a30.w8.b0", !3102, i64 0} !3102 = !{!"0x159e5a30.w16.b0", !3103, i64 0} !3103 = !{!"0x159e5a30.w32.b0", !3104, i64 0} !3104 = !{!"0x159e5a30.w64.b0", !3105, i64 0} !3105 = !{!"0x159e5a30.w128.b0", !3106, i64 0} !3106 = !{!"0x159e5a30.w256.b0", !3107, i64 0} !3107 = !{!"0x159e5a30.w512.b0", !3108, i64 0} !3108 = !{!"0x159e5a30.w1024.b0", !3109, i64 0} !3109 = !{!"i64", !3110, i64 0} !3110 = !{!"0x159e5a30", !8, i64 0} !3111 = !{!3112, !3112, i64 0} !3112 = !{!"0x159e5f30.w1.b0", !3113, i64 0} !3113 = !{!"0x159e5f30.w2.b0", !3114, i64 0} !3114 = !{!"0x159e5f30.w4.b0", !3115, i64 0} !3115 = !{!"0x159e5f30.w8.b0", !3116, i64 0} !3116 = !{!"0x159e5f30.w16.b0", !3117, i64 0} !3117 = !{!"0x159e5f30.w32.b0", !3118, i64 0} !3118 = !{!"0x159e5f30.w64.b0", !3119, i64 0} !3119 = !{!"0x159e5f30.w128.b0", !3120, i64 0} !3120 = !{!"0x159e5f30.w256.b0", !3121, i64 0} !3121 = !{!"0x159e5f30.w512.b0", !3122, i64 0} !3122 = !{!"0x159e5f30.w1024.b0", !3123, i64 0} !3123 = !{!"i64", !3124, i64 0} !3124 = !{!"0x159e5f30", !8, i64 0} !3125 = !{!3126, !3126, i64 0} !3126 = !{!"0x159e7990.w1.b0", !3127, i64 0} !3127 = !{!"0x159e7990.w2.b0", !3128, i64 0} !3128 = !{!"0x159e7990.w4.b0", !3129, i64 0} !3129 = !{!"0x159e7990.w8.b0", !3130, i64 0} !3130 = !{!"0x159e7990.w16.b0", !3131, i64 0} !3131 = !{!"0x159e7990.w32.b0", !3132, i64 0} !3132 = !{!"0x159e7990.w64.b0", !3133, i64 0} !3133 = !{!"0x159e7990.w128.b0", !3134, i64 0} !3134 = !{!"0x159e7990.w256.b0", !3135, i64 0} !3135 = !{!"0x159e7990.w512.b0", !3136, i64 0} !3136 = !{!"0x159e7990.w1024.b0", !3137, i64 0} !3137 = !{!"i64", !3138, i64 0} !3138 = !{!"0x159e7990", !8, i64 0} !3139 = !{!3140, !3140, i64 0} !3140 = !{!"0x159e7fa0.w1.b0", !3141, i64 0} !3141 = !{!"0x159e7fa0.w2.b0", !3142, i64 0} !3142 = !{!"0x159e7fa0.w4.b0", !3143, i64 0} !3143 = !{!"0x159e7fa0.w8.b0", !3144, i64 0} !3144 = !{!"0x159e7fa0.w16.b0", !3145, i64 0} !3145 = !{!"0x159e7fa0.w32.b0", !3146, i64 0} !3146 = !{!"0x159e7fa0.w64.b0", !3147, i64 0} !3147 = !{!"0x159e7fa0.w128.b0", !3148, i64 0} !3148 = !{!"0x159e7fa0.w256.b0", !3149, i64 0} !3149 = !{!"0x159e7fa0.w512.b0", !3150, i64 0} !3150 = !{!"0x159e7fa0.w1024.b0", !3151, i64 0} !3151 = !{!"i64", !3152, i64 0} !3152 = !{!"0x159e7fa0", !8, i64 0} !3153 = !{!3154, !3154, i64 0} !3154 = !{!"0x159e9a00.w1.b0", !3155, i64 0} !3155 = !{!"0x159e9a00.w2.b0", !3156, i64 0} !3156 = !{!"0x159e9a00.w4.b0", !3157, i64 0} !3157 = !{!"0x159e9a00.w8.b0", !3158, i64 0} !3158 = !{!"0x159e9a00.w16.b0", !3159, i64 0} !3159 = !{!"0x159e9a00.w32.b0", !3160, i64 0} !3160 = !{!"0x159e9a00.w64.b0", !3161, i64 0} !3161 = !{!"0x159e9a00.w128.b0", !3162, i64 0} !3162 = !{!"0x159e9a00.w256.b0", !3163, i64 0} !3163 = !{!"0x159e9a00.w512.b0", !3164, i64 0} !3164 = !{!"0x159e9a00.w1024.b0", !3165, i64 0} !3165 = !{!"i64", !3166, i64 0} !3166 = !{!"0x159e9a00", !8, i64 0} !3167 = !{!3168, !3168, i64 0} !3168 = !{!"0x159e9a00.w1.b1", !3155, i64 0} !3169 = !{!3170, !3170, i64 0} !3170 = !{!"0x159ea090.w1.b0", !3171, i64 0} !3171 = !{!"0x159ea090.w2.b0", !3172, i64 0} !3172 = !{!"0x159ea090.w4.b0", !3173, i64 0} !3173 = !{!"0x159ea090.w8.b0", !3174, i64 0} !3174 = !{!"0x159ea090.w16.b0", !3175, i64 0} !3175 = !{!"0x159ea090.w32.b0", !3176, i64 0} !3176 = !{!"0x159ea090.w64.b0", !3177, i64 0} !3177 = !{!"0x159ea090.w128.b0", !3178, i64 0} !3178 = !{!"0x159ea090.w256.b0", !3179, i64 0} !3179 = !{!"0x159ea090.w512.b0", !3180, i64 0} !3180 = !{!"0x159ea090.w1024.b0", !3181, i64 0} !3181 = !{!"i64", !3182, i64 0} !3182 = !{!"0x159ea090", !8, i64 0} !3183 = !{!3184, !3184, i64 0} !3184 = !{!"0x159ea090.w1.b1", !3171, i64 0} !3185 = !{!3186, !3186, i64 0} !3186 = !{!"0x3b67f70.w1.b0", !3187, i64 0} !3187 = !{!"0x3b67f70.w2.b0", !3188, i64 0} !3188 = !{!"0x3b67f70.w4.b0", !3189, i64 0} !3189 = !{!"0x3b67f70.w8.b0", !3190, i64 0} !3190 = !{!"0x3b67f70.w16.b0", !3191, i64 0} !3191 = !{!"0x3b67f70.w32.b0", !3192, i64 0} !3192 = !{!"0x3b67f70.w64.b0", !3193, i64 0} !3193 = !{!"0x3b67f70.w128.b0", !3194, i64 0} !3194 = !{!"0x3b67f70.w256.b0", !3195, i64 0} !3195 = !{!"0x3b67f70.w512.b0", !3196, i64 0} !3196 = !{!"0x3b67f70.w1024.b0", !3197, i64 0} !3197 = !{!"i8", !3198, i64 0} !3198 = !{!"0x3b67f70", !8, i64 0} !3199 = !{!3200, !3200, i64 0} !3200 = !{!"0x6f125b0.w1.b0", !3201, i64 0} !3201 = !{!"0x6f125b0.w2.b0", !3202, i64 0} !3202 = !{!"0x6f125b0.w4.b0", !3203, i64 0} !3203 = !{!"0x6f125b0.w8.b0", !3204, i64 0} !3204 = !{!"0x6f125b0.w16.b0", !3205, i64 0} !3205 = !{!"0x6f125b0.w32.b0", !3206, i64 0} !3206 = !{!"0x6f125b0.w64.b0", !3207, i64 0} !3207 = !{!"0x6f125b0.w128.b0", !3208, i64 0} !3208 = !{!"0x6f125b0.w256.b0", !3209, i64 0} !3209 = !{!"0x6f125b0.w512.b0", !3210, i64 0} !3210 = !{!"0x6f125b0.w1024.b0", !3211, i64 0} !3211 = !{!"i8", !3212, i64 0} !3212 = !{!"0x6f125b0", !8, i64 0} !3213 = !{!3214, !3214, i64 0} !3214 = !{!"0x3bde070.w1.b0", !3215, i64 0} !3215 = !{!"0x3bde070.w2.b0", !3216, i64 0} !3216 = !{!"0x3bde070.w4.b0", !3217, i64 0} !3217 = !{!"0x3bde070.w8.b0", !3218, i64 0} !3218 = !{!"0x3bde070.w16.b0", !3219, i64 0} !3219 = !{!"0x3bde070.w32.b0", !3220, i64 0} !3220 = !{!"0x3bde070.w64.b0", !3221, i64 0} !3221 = !{!"0x3bde070.w128.b0", !3222, i64 0} !3222 = !{!"0x3bde070.w256.b0", !3223, i64 0} !3223 = !{!"0x3bde070.w512.b0", !3224, i64 0} !3224 = !{!"0x3bde070.w1024.b0", !3225, i64 0} !3225 = !{!"i8", !3226, i64 0} !3226 = !{!"0x3bde070", !8, i64 0} !3227 = !{!3228, !3228, i64 0} !3228 = !{!"i8", !3229, i64 0} !3229 = !{!"0x15869e00", !8, i64 0} !3230 = !{!3231, !3231, i64 0} !3231 = !{!"i8", !3232, i64 0} !3232 = !{!"0x6e64f10", !8, i64 0} !3233 = !{!3234, !3234, i64 0} !3234 = !{!"i8", !3235, i64 0} !3235 = !{!"0x27a1ed0", !8, i64 0} !3236 = !{!3237, !3237, i64 0} !3237 = !{!"i8", !3238, i64 0} !3238 = !{!"0x3aaeee0", !8, i64 0} !3239 = !{!3240, !3240, i64 0} !3240 = !{!"0x159da710.w1.b0", !3241, i64 0} !3241 = !{!"0x159da710.w2.b0", !3242, i64 0} !3242 = !{!"0x159da710.w4.b0", !3243, i64 0} !3243 = !{!"0x159da710.w8.b0", !3244, i64 0} !3244 = !{!"0x159da710.w16.b0", !3245, i64 0} !3245 = !{!"0x159da710.w32.b0", !3246, i64 0} !3246 = !{!"0x159da710.w64.b0", !3247, i64 0} !3247 = !{!"0x159da710.w128.b0", !3248, i64 0} !3248 = !{!"0x159da710.w256.b0", !3249, i64 0} !3249 = !{!"0x159da710.w512.b0", !3250, i64 0} !3250 = !{!"0x159da710.w1024.b0", !3251, i64 0} !3251 = !{!"i8", !3252, i64 0} !3252 = !{!"0x159da710", !8, i64 0} !3253 = !{!3254, !3254, i64 0} !3254 = !{!"0x159da710.w1.b1", !3241, i64 0} !3255 = !{!3256, !3256, i64 0} !3256 = !{!"0x159da710.w1.b2", !3257, i64 0} !3257 = !{!"0x159da710.w2.b2", !3242, i64 0} !3258 = !{!3259, !3259, i64 0} !3259 = !{!"0x159da710.w1.b3", !3257, i64 0} !3260 = !{!3261, !3261, i64 0} !3261 = !{!"0x159da710.w1.b4", !3262, i64 0} !3262 = !{!"0x159da710.w2.b4", !3263, i64 0} !3263 = !{!"0x159da710.w4.b4", !3243, i64 0} !3264 = !{!3265, !3265, i64 0} !3265 = !{!"0x159da710.w1.b5", !3262, i64 0} !3266 = !{!3267, !3267, i64 0} !3267 = !{!"0x159df030.w1.b0", !3268, i64 0} !3268 = !{!"0x159df030.w2.b0", !3269, i64 0} !3269 = !{!"0x159df030.w4.b0", !3270, i64 0} !3270 = !{!"0x159df030.w8.b0", !3271, i64 0} !3271 = !{!"0x159df030.w16.b0", !3272, i64 0} !3272 = !{!"0x159df030.w32.b0", !3273, i64 0} !3273 = !{!"0x159df030.w64.b0", !3274, i64 0} !3274 = !{!"0x159df030.w128.b0", !3275, i64 0} !3275 = !{!"0x159df030.w256.b0", !3276, i64 0} !3276 = !{!"0x159df030.w512.b0", !3277, i64 0} !3277 = !{!"0x159df030.w1024.b0", !3278, i64 0} !3278 = !{!"i64", !3279, i64 0} !3279 = !{!"0x159df030", !8, i64 0} !3280 = !{!3281, !3281, i64 0} !3281 = !{!"0x159df030.w1.b1", !3268, i64 0} !3282 = !{!3283, !3283, i64 0} !3283 = !{!"0x159df030.w1.b2", !3284, i64 0} !3284 = !{!"0x159df030.w2.b2", !3269, i64 0} !3285 = !{!3286, !3286, i64 0} !3286 = !{!"0x159eba10.w1.b0", !3287, i64 0} !3287 = !{!"0x159eba10.w2.b0", !3288, i64 0} !3288 = !{!"0x159eba10.w4.b0", !3289, i64 0} !3289 = !{!"0x159eba10.w8.b0", !3290, i64 0} !3290 = !{!"0x159eba10.w16.b0", !3291, i64 0} !3291 = !{!"0x159eba10.w32.b0", !3292, i64 0} !3292 = !{!"0x159eba10.w64.b0", !3293, i64 0} !3293 = !{!"0x159eba10.w128.b0", !3294, i64 0} !3294 = !{!"0x159eba10.w256.b0", !3295, i64 0} !3295 = !{!"0x159eba10.w512.b0", !3296, i64 0} !3296 = !{!"0x159eba10.w1024.b0", !3297, i64 0} !3297 = !{!"i64", !3298, i64 0} !3298 = !{!"0x159eba10", !8, i64 0} !3299 = !{!3300, !3300, i64 0} !3300 = !{!"0x159eba10.w1.b1", !3287, i64 0} !3301 = !{!3302, !3302, i64 0} !3302 = !{!"0x159eba10.w1.b2", !3303, i64 0} !3303 = !{!"0x159eba10.w2.b2", !3288, i64 0} !3304 = !{!3305, !3305, i64 0} !3305 = !{!"0x159efb10.w1.b0", !3306, i64 0} !3306 = !{!"0x159efb10.w2.b0", !3307, i64 0} !3307 = !{!"0x159efb10.w4.b0", !3308, i64 0} !3308 = !{!"0x159efb10.w8.b0", !3309, i64 0} !3309 = !{!"0x159efb10.w16.b0", !3310, i64 0} !3310 = !{!"0x159efb10.w32.b0", !3311, i64 0} !3311 = !{!"0x159efb10.w64.b0", !3312, i64 0} !3312 = !{!"0x159efb10.w128.b0", !3313, i64 0} !3313 = !{!"0x159efb10.w256.b0", !3314, i64 0} !3314 = !{!"0x159efb10.w512.b0", !3315, i64 0} !3315 = !{!"0x159efb10.w1024.b0", !3316, i64 0} !3316 = !{!"i64", !3317, i64 0} !3317 = !{!"0x159efb10", !8, i64 0} !3318 = !{!3319, !3319, i64 0} !3319 = !{!"0x159efb10.w1.b1", !3306, i64 0} !3320 = !{!3321, !3321, i64 0} !3321 = !{!"0x159efb10.w1.b2", !3322, i64 0} !3322 = !{!"0x159efb10.w2.b2", !3307, i64 0} !3323 = !{!3324, !3324, i64 0} !3324 = !{!"0x159e7c00.w1.b0", !3325, i64 0} !3325 = !{!"0x159e7c00.w2.b0", !3326, i64 0} !3326 = !{!"0x159e7c00.w4.b0", !3327, i64 0} !3327 = !{!"0x159e7c00.w8.b0", !3328, i64 0} !3328 = !{!"0x159e7c00.w16.b0", !3329, i64 0} !3329 = !{!"0x159e7c00.w32.b0", !3330, i64 0} !3330 = !{!"0x159e7c00.w64.b0", !3331, i64 0} !3331 = !{!"0x159e7c00.w128.b0", !3332, i64 0} !3332 = !{!"0x159e7c00.w256.b0", !3333, i64 0} !3333 = !{!"0x159e7c00.w512.b0", !3334, i64 0} !3334 = !{!"0x159e7c00.w1024.b0", !3335, i64 0} !3335 = !{!"i64", !3336, i64 0} !3336 = !{!"0x159e7c00", !8, i64 0} !3337 = !{!3338, !3338, i64 0} !3338 = !{!"0x159e7c00.w1.b1", !3325, i64 0} !3339 = !{!3340, !3340, i64 0} !3340 = !{!"0x159e7c00.w1.b2", !3341, i64 0} !3341 = !{!"0x159e7c00.w2.b2", !3326, i64 0} !3342 = !{!3343, !3343, i64 0} !3343 = !{!"0x159f2370.w1.b0", !3344, i64 0} !3344 = !{!"0x159f2370.w2.b0", !3345, i64 0} !3345 = !{!"0x159f2370.w4.b0", !3346, i64 0} !3346 = !{!"0x159f2370.w8.b0", !3347, i64 0} !3347 = !{!"0x159f2370.w16.b0", !3348, i64 0} !3348 = !{!"0x159f2370.w32.b0", !3349, i64 0} !3349 = !{!"0x159f2370.w64.b0", !3350, i64 0} !3350 = !{!"0x159f2370.w128.b0", !3351, i64 0} !3351 = !{!"0x159f2370.w256.b0", !3352, i64 0} !3352 = !{!"0x159f2370.w512.b0", !3353, i64 0} !3353 = !{!"0x159f2370.w1024.b0", !3354, i64 0} !3354 = !{!"i64", !3355, i64 0} !3355 = !{!"0x159f2370", !8, i64 0} !3356 = !{!3357, !3357, i64 0} !3357 = !{!"0x159f2370.w1.b1", !3344, i64 0} !3358 = !{!3359, !3359, i64 0} !3359 = !{!"0x159f2370.w1.b2", !3360, i64 0} !3360 = !{!"0x159f2370.w2.b2", !3345, i64 0} !3361 = !{!3362, !3362, i64 0} !3362 = !{!"0x159f2bf0.w1.b0", !3363, i64 0} !3363 = !{!"0x159f2bf0.w2.b0", !3364, i64 0} !3364 = !{!"0x159f2bf0.w4.b0", !3365, i64 0} !3365 = !{!"0x159f2bf0.w8.b0", !3366, i64 0} !3366 = !{!"0x159f2bf0.w16.b0", !3367, i64 0} !3367 = !{!"0x159f2bf0.w32.b0", !3368, i64 0} !3368 = !{!"0x159f2bf0.w64.b0", !3369, i64 0} !3369 = !{!"0x159f2bf0.w128.b0", !3370, i64 0} !3370 = !{!"0x159f2bf0.w256.b0", !3371, i64 0} !3371 = !{!"0x159f2bf0.w512.b0", !3372, i64 0} !3372 = !{!"0x159f2bf0.w1024.b0", !3373, i64 0} !3373 = !{!"i64", !3374, i64 0} !3374 = !{!"0x159f2bf0", !8, i64 0} !3375 = !{!3376, !3376, i64 0} !3376 = !{!"0x159f2bf0.w1.b1", !3363, i64 0} !3377 = !{!3378, !3378, i64 0} !3378 = !{!"0x159f2bf0.w1.b2", !3379, i64 0} !3379 = !{!"0x159f2bf0.w2.b2", !3364, i64 0} !3380 = !{!3381, !3381, i64 0} !3381 = !{!"0x159f4b00.w1.b0", !3382, i64 0} !3382 = !{!"0x159f4b00.w2.b0", !3383, i64 0} !3383 = !{!"0x159f4b00.w4.b0", !3384, i64 0} !3384 = !{!"0x159f4b00.w8.b0", !3385, i64 0} !3385 = !{!"0x159f4b00.w16.b0", !3386, i64 0} !3386 = !{!"0x159f4b00.w32.b0", !3387, i64 0} !3387 = !{!"0x159f4b00.w64.b0", !3388, i64 0} !3388 = !{!"0x159f4b00.w128.b0", !3389, i64 0} !3389 = !{!"0x159f4b00.w256.b0", !3390, i64 0} !3390 = !{!"0x159f4b00.w512.b0", !3391, i64 0} !3391 = !{!"0x159f4b00.w1024.b0", !3392, i64 0} !3392 = !{!"i64", !3393, i64 0} !3393 = !{!"0x159f4b00", !8, i64 0} !3394 = !{!3395, !3395, i64 0} !3395 = !{!"0x159f5000.w1.b0", !3396, i64 0} !3396 = !{!"0x159f5000.w2.b0", !3397, i64 0} !3397 = !{!"0x159f5000.w4.b0", !3398, i64 0} !3398 = !{!"0x159f5000.w8.b0", !3399, i64 0} !3399 = !{!"0x159f5000.w16.b0", !3400, i64 0} !3400 = !{!"0x159f5000.w32.b0", !3401, i64 0} !3401 = !{!"0x159f5000.w64.b0", !3402, i64 0} !3402 = !{!"0x159f5000.w128.b0", !3403, i64 0} !3403 = !{!"0x159f5000.w256.b0", !3404, i64 0} !3404 = !{!"0x159f5000.w512.b0", !3405, i64 0} !3405 = !{!"0x159f5000.w1024.b0", !3406, i64 0} !3406 = !{!"i64", !3407, i64 0} !3407 = !{!"0x159f5000", !8, i64 0} !3408 = !{!3409, !3409, i64 0} !3409 = !{!"0x159f6c20.w1.b0", !3410, i64 0} !3410 = !{!"0x159f6c20.w2.b0", !3411, i64 0} !3411 = !{!"0x159f6c20.w4.b0", !3412, i64 0} !3412 = !{!"0x159f6c20.w8.b0", !3413, i64 0} !3413 = !{!"0x159f6c20.w16.b0", !3414, i64 0} !3414 = !{!"0x159f6c20.w32.b0", !3415, i64 0} !3415 = !{!"0x159f6c20.w64.b0", !3416, i64 0} !3416 = !{!"0x159f6c20.w128.b0", !3417, i64 0} !3417 = !{!"0x159f6c20.w256.b0", !3418, i64 0} !3418 = !{!"0x159f6c20.w512.b0", !3419, i64 0} !3419 = !{!"0x159f6c20.w1024.b0", !3420, i64 0} !3420 = !{!"i64", !3421, i64 0} !3421 = !{!"0x159f6c20", !8, i64 0} !3422 = !{!3423, !3423, i64 0} !3423 = !{!"0x159f7120.w1.b0", !3424, i64 0} !3424 = !{!"0x159f7120.w2.b0", !3425, i64 0} !3425 = !{!"0x159f7120.w4.b0", !3426, i64 0} !3426 = !{!"0x159f7120.w8.b0", !3427, i64 0} !3427 = !{!"0x159f7120.w16.b0", !3428, i64 0} !3428 = !{!"0x159f7120.w32.b0", !3429, i64 0} !3429 = !{!"0x159f7120.w64.b0", !3430, i64 0} !3430 = !{!"0x159f7120.w128.b0", !3431, i64 0} !3431 = !{!"0x159f7120.w256.b0", !3432, i64 0} !3432 = !{!"0x159f7120.w512.b0", !3433, i64 0} !3433 = !{!"0x159f7120.w1024.b0", !3434, i64 0} !3434 = !{!"i64", !3435, i64 0} !3435 = !{!"0x159f7120", !8, i64 0} !3436 = !{!3437, !3437, i64 0} !3437 = !{!"0x159f2460.w1.b0", !3438, i64 0} !3438 = !{!"0x159f2460.w2.b0", !3439, i64 0} !3439 = !{!"0x159f2460.w4.b0", !3440, i64 0} !3440 = !{!"0x159f2460.w8.b0", !3441, i64 0} !3441 = !{!"0x159f2460.w16.b0", !3442, i64 0} !3442 = !{!"0x159f2460.w32.b0", !3443, i64 0} !3443 = !{!"0x159f2460.w64.b0", !3444, i64 0} !3444 = !{!"0x159f2460.w128.b0", !3445, i64 0} !3445 = !{!"0x159f2460.w256.b0", !3446, i64 0} !3446 = !{!"0x159f2460.w512.b0", !3447, i64 0} !3447 = !{!"0x159f2460.w1024.b0", !3448, i64 0} !3448 = !{!"i64", !3449, i64 0} !3449 = !{!"0x159f2460", !8, i64 0} !3450 = !{!3451, !3451, i64 0} !3451 = !{!"0x159f2460.w1.b1", !3438, i64 0} !3452 = !{!3453, !3453, i64 0} !3453 = !{!"0x159f2460.w1.b2", !3454, i64 0} !3454 = !{!"0x159f2460.w2.b2", !3439, i64 0} !3455 = !{!3456, !3456, i64 0} !3456 = !{!"0x159f9520.w1.b0", !3457, i64 0} !3457 = !{!"0x159f9520.w2.b0", !3458, i64 0} !3458 = !{!"0x159f9520.w4.b0", !3459, i64 0} !3459 = !{!"0x159f9520.w8.b0", !3460, i64 0} !3460 = !{!"0x159f9520.w16.b0", !3461, i64 0} !3461 = !{!"0x159f9520.w32.b0", !3462, i64 0} !3462 = !{!"0x159f9520.w64.b0", !3463, i64 0} !3463 = !{!"0x159f9520.w128.b0", !3464, i64 0} !3464 = !{!"0x159f9520.w256.b0", !3465, i64 0} !3465 = !{!"0x159f9520.w512.b0", !3466, i64 0} !3466 = !{!"0x159f9520.w1024.b0", !3467, i64 0} !3467 = !{!"i64", !3468, i64 0} !3468 = !{!"0x159f9520", !8, i64 0} !3469 = !{!3470, !3470, i64 0} !3470 = !{!"0x159f9520.w1.b1", !3457, i64 0} !3471 = !{!3472, !3472, i64 0} !3472 = !{!"0x159f9520.w1.b2", !3473, i64 0} !3473 = !{!"0x159f9520.w2.b2", !3458, i64 0} !3474 = !{!3475, !3475, i64 0} !3475 = !{!"i8", !3476, i64 0} !3476 = !{!"0x6efaa90", !8, i64 0} !3477 = !{!3478, !3478, i64 0} !3478 = !{!"i8", !3479, i64 0} !3479 = !{!"0x6ea2760", !8, i64 0} !3480 = !{!3481, !3481, i64 0} !3481 = !{!"i8", !3482, i64 0} !3482 = !{!"0xc7f7950", !8, i64 0} !3483 = !{!3484, !3484, i64 0} !3484 = !{!"i8", !3485, i64 0} !3485 = !{!"0x3b934f0", !8, i64 0} !3486 = !{!3487, !3487, i64 0} !3487 = !{!"i8", !3488, i64 0} !3488 = !{!"0x159636a0", !8, i64 0} !3489 = !{!3490, !3490, i64 0} !3490 = !{!"i8", !3491, i64 0} !3491 = !{!"0x15963660", !8, i64 0} !3492 = !{!3493, !3493, i64 0} !3493 = !{!"0x159e7590.w1.b0", !3494, i64 0} !3494 = !{!"0x159e7590.w2.b0", !3495, i64 0} !3495 = !{!"0x159e7590.w4.b0", !3496, i64 0} !3496 = !{!"0x159e7590.w8.b0", !3497, i64 0} !3497 = !{!"0x159e7590.w16.b0", !3498, i64 0} !3498 = !{!"0x159e7590.w32.b0", !3499, i64 0} !3499 = !{!"0x159e7590.w64.b0", !3500, i64 0} !3500 = !{!"0x159e7590.w128.b0", !3501, i64 0} !3501 = !{!"0x159e7590.w256.b0", !3502, i64 0} !3502 = !{!"0x159e7590.w512.b0", !3503, i64 0} !3503 = !{!"0x159e7590.w1024.b0", !3504, i64 0} !3504 = !{!"i8", !3505, i64 0} !3505 = !{!"0x159e7590", !8, i64 0} !3506 = !{!3507, !3507, i64 0} !3507 = !{!"0x159e7590.w1.b1", !3494, i64 0} !3508 = !{!3509, !3509, i64 0} !3509 = !{!"0x159f50f0.w1.b0", !3510, i64 0} !3510 = !{!"0x159f50f0.w2.b0", !3511, i64 0} !3511 = !{!"0x159f50f0.w4.b0", !3512, i64 0} !3512 = !{!"0x159f50f0.w8.b0", !3513, i64 0} !3513 = !{!"0x159f50f0.w16.b0", !3514, i64 0} !3514 = !{!"0x159f50f0.w32.b0", !3515, i64 0} !3515 = !{!"0x159f50f0.w64.b0", !3516, i64 0} !3516 = !{!"0x159f50f0.w128.b0", !3517, i64 0} !3517 = !{!"0x159f50f0.w256.b0", !3518, i64 0} !3518 = !{!"0x159f50f0.w512.b0", !3519, i64 0} !3519 = !{!"0x159f50f0.w1024.b0", !3520, i64 0} !3520 = !{!"i64", !3521, i64 0} !3521 = !{!"0x159f50f0", !8, i64 0} !3522 = !{!3523, !3523, i64 0} !3523 = !{!"0x159f50f0.w1.b1", !3510, i64 0} !3524 = !{!3525, !3525, i64 0} !3525 = !{!"0x159f61b0.w1.b0", !3526, i64 0} !3526 = !{!"0x159f61b0.w2.b0", !3527, i64 0} !3527 = !{!"0x159f61b0.w4.b0", !3528, i64 0} !3528 = !{!"0x159f61b0.w8.b0", !3529, i64 0} !3529 = !{!"0x159f61b0.w16.b0", !3530, i64 0} !3530 = !{!"0x159f61b0.w32.b0", !3531, i64 0} !3531 = !{!"0x159f61b0.w64.b0", !3532, i64 0} !3532 = !{!"0x159f61b0.w128.b0", !3533, i64 0} !3533 = !{!"0x159f61b0.w256.b0", !3534, i64 0} !3534 = !{!"0x159f61b0.w512.b0", !3535, i64 0} !3535 = !{!"0x159f61b0.w1024.b0", !3536, i64 0} !3536 = !{!"i64", !3537, i64 0} !3537 = !{!"0x159f61b0", !8, i64 0} !3538 = !{!3539, !3539, i64 0} !3539 = !{!"0x159f61b0.w1.b1", !3526, i64 0} !3540 = !{!3541, !3541, i64 0} !3541 = !{!"0x159fd340.w1.b0", !3542, i64 0} !3542 = !{!"0x159fd340.w2.b0", !3543, i64 0} !3543 = !{!"0x159fd340.w4.b0", !3544, i64 0} !3544 = !{!"0x159fd340.w8.b0", !3545, i64 0} !3545 = !{!"0x159fd340.w16.b0", !3546, i64 0} !3546 = !{!"0x159fd340.w32.b0", !3547, i64 0} !3547 = !{!"0x159fd340.w64.b0", !3548, i64 0} !3548 = !{!"0x159fd340.w128.b0", !3549, i64 0} !3549 = !{!"0x159fd340.w256.b0", !3550, i64 0} !3550 = !{!"0x159fd340.w512.b0", !3551, i64 0} !3551 = !{!"0x159fd340.w1024.b0", !3552, i64 0} !3552 = !{!"i64", !3553, i64 0} !3553 = !{!"0x159fd340", !8, i64 0} !3554 = !{!3555, !3555, i64 0} !3555 = !{!"0x159fd340.w1.b1", !3542, i64 0} !3556 = !{!3557, !3557, i64 0} !3557 = !{!"0x159fd340.w1.b2", !3558, i64 0} !3558 = !{!"0x159fd340.w2.b2", !3543, i64 0} !3559 = !{!3560, !3560, i64 0} !3560 = !{!"0x159fdcb0.w1.b0", !3561, i64 0} !3561 = !{!"0x159fdcb0.w2.b0", !3562, i64 0} !3562 = !{!"0x159fdcb0.w4.b0", !3563, i64 0} !3563 = !{!"0x159fdcb0.w8.b0", !3564, i64 0} !3564 = !{!"0x159fdcb0.w16.b0", !3565, i64 0} !3565 = !{!"0x159fdcb0.w32.b0", !3566, i64 0} !3566 = !{!"0x159fdcb0.w64.b0", !3567, i64 0} !3567 = !{!"0x159fdcb0.w128.b0", !3568, i64 0} !3568 = !{!"0x159fdcb0.w256.b0", !3569, i64 0} !3569 = !{!"0x159fdcb0.w512.b0", !3570, i64 0} !3570 = !{!"0x159fdcb0.w1024.b0", !3571, i64 0} !3571 = !{!"i64", !3572, i64 0} !3572 = !{!"0x159fdcb0", !8, i64 0} !3573 = !{!3574, !3574, i64 0} !3574 = !{!"0x159fdcb0.w1.b1", !3561, i64 0} !3575 = !{!3576, !3576, i64 0} !3576 = !{!"0x159fdcb0.w1.b2", !3577, i64 0} !3577 = !{!"0x159fdcb0.w2.b2", !3562, i64 0} !3578 = !{!3579, !3579, i64 0} !3579 = !{!"i8", !3580, i64 0} !3580 = !{!"0x38bde10", !8, i64 0} !3581 = !{!3582, !3582, i64 0} !3582 = !{!"i8", !3583, i64 0} !3583 = !{!"0x3aaa170", !8, i64 0} !3584 = !{!3585, !3585, i64 0} !3585 = !{!"0x159f6d80.w1.b0", !3586, i64 0} !3586 = !{!"0x159f6d80.w2.b0", !3587, i64 0} !3587 = !{!"0x159f6d80.w4.b0", !3588, i64 0} !3588 = !{!"0x159f6d80.w8.b0", !3589, i64 0} !3589 = !{!"0x159f6d80.w16.b0", !3590, i64 0} !3590 = !{!"0x159f6d80.w32.b0", !3591, i64 0} !3591 = !{!"0x159f6d80.w64.b0", !3592, i64 0} !3592 = !{!"0x159f6d80.w128.b0", !3593, i64 0} !3593 = !{!"0x159f6d80.w256.b0", !3594, i64 0} !3594 = !{!"0x159f6d80.w512.b0", !3595, i64 0} !3595 = !{!"0x159f6d80.w1024.b0", !3596, i64 0} !3596 = !{!"i8", !3597, i64 0} !3597 = !{!"0x159f6d80", !8, i64 0} !3598 = !{!3599, !3599, i64 0} !3599 = !{!"0x159f6d80.w1.b1", !3586, i64 0} !3600 = !{!3601, !3601, i64 0} !3601 = !{!"0x15a00d30.w1.b0", !3602, i64 0} !3602 = !{!"0x15a00d30.w2.b0", !3603, i64 0} !3603 = !{!"0x15a00d30.w4.b0", !3604, i64 0} !3604 = !{!"0x15a00d30.w8.b0", !3605, i64 0} !3605 = !{!"0x15a00d30.w16.b0", !3606, i64 0} !3606 = !{!"0x15a00d30.w32.b0", !3607, i64 0} !3607 = !{!"0x15a00d30.w64.b0", !3608, i64 0} !3608 = !{!"0x15a00d30.w128.b0", !3609, i64 0} !3609 = !{!"0x15a00d30.w256.b0", !3610, i64 0} !3610 = !{!"0x15a00d30.w512.b0", !3611, i64 0} !3611 = !{!"0x15a00d30.w1024.b0", !3612, i64 0} !3612 = !{!"i64", !3613, i64 0} !3613 = !{!"0x15a00d30", !8, i64 0} !3614 = !{!3615, !3615, i64 0} !3615 = !{!"0x15a00d30.w1.b1", !3602, i64 0} !3616 = !{!3617, !3617, i64 0} !3617 = !{!"0x15a00d30.w1.b2", !3618, i64 0} !3618 = !{!"0x15a00d30.w2.b2", !3603, i64 0} !3619 = !{!3620, !3620, i64 0} !3620 = !{!"0x15a00d30.w1.b3", !3618, i64 0} !3621 = !{!3622, !3622, i64 0} !3622 = !{!"0x15a00d30.w1.b4", !3623, i64 0} !3623 = !{!"0x15a00d30.w2.b4", !3624, i64 0} !3624 = !{!"0x15a00d30.w4.b4", !3604, i64 0} !3625 = !{!3626, !3626, i64 0} !3626 = !{!"0x15a01ad0.w1.b0", !3627, i64 0} !3627 = !{!"0x15a01ad0.w2.b0", !3628, i64 0} !3628 = !{!"0x15a01ad0.w4.b0", !3629, i64 0} !3629 = !{!"0x15a01ad0.w8.b0", !3630, i64 0} !3630 = !{!"0x15a01ad0.w16.b0", !3631, i64 0} !3631 = !{!"0x15a01ad0.w32.b0", !3632, i64 0} !3632 = !{!"0x15a01ad0.w64.b0", !3633, i64 0} !3633 = !{!"0x15a01ad0.w128.b0", !3634, i64 0} !3634 = !{!"0x15a01ad0.w256.b0", !3635, i64 0} !3635 = !{!"0x15a01ad0.w512.b0", !3636, i64 0} !3636 = !{!"0x15a01ad0.w1024.b0", !3637, i64 0} !3637 = !{!"i64", !3638, i64 0} !3638 = !{!"0x15a01ad0", !8, i64 0} !3639 = !{!3640, !3640, i64 0} !3640 = !{!"0x15a01ad0.w1.b1", !3627, i64 0} !3641 = !{!3642, !3642, i64 0} !3642 = !{!"0x15a01ad0.w1.b2", !3643, i64 0} !3643 = !{!"0x15a01ad0.w2.b2", !3628, i64 0} !3644 = !{!3645, !3645, i64 0} !3645 = !{!"0x15a01ad0.w1.b3", !3643, i64 0} !3646 = !{!3647, !3647, i64 0} !3647 = !{!"0x15a01ad0.w1.b4", !3648, i64 0} !3648 = !{!"0x15a01ad0.w2.b4", !3649, i64 0} !3649 = !{!"0x15a01ad0.w4.b4", !3629, i64 0} !3650 = !{!3651, !3651, i64 0} !3651 = !{!"0x15a03dc0.w1.b0", !3652, i64 0} !3652 = !{!"0x15a03dc0.w2.b0", !3653, i64 0} !3653 = !{!"0x15a03dc0.w4.b0", !3654, i64 0} !3654 = !{!"0x15a03dc0.w8.b0", !3655, i64 0} !3655 = !{!"0x15a03dc0.w16.b0", !3656, i64 0} !3656 = !{!"0x15a03dc0.w32.b0", !3657, i64 0} !3657 = !{!"0x15a03dc0.w64.b0", !3658, i64 0} !3658 = !{!"0x15a03dc0.w128.b0", !3659, i64 0} !3659 = !{!"0x15a03dc0.w256.b0", !3660, i64 0} !3660 = !{!"0x15a03dc0.w512.b0", !3661, i64 0} !3661 = !{!"0x15a03dc0.w1024.b0", !3662, i64 0} !3662 = !{!"i64", !3663, i64 0} !3663 = !{!"0x15a03dc0", !8, i64 0} !3664 = !{!3665, !3665, i64 0} !3665 = !{!"0x15a03dc0.w1.b1", !3652, i64 0} !3666 = !{!3667, !3667, i64 0} !3667 = !{!"0x15a03dc0.w1.b2", !3668, i64 0} !3668 = !{!"0x15a03dc0.w2.b2", !3653, i64 0} !3669 = !{!3670, !3670, i64 0} !3670 = !{!"0x15a047c0.w1.b0", !3671, i64 0} !3671 = !{!"0x15a047c0.w2.b0", !3672, i64 0} !3672 = !{!"0x15a047c0.w4.b0", !3673, i64 0} !3673 = !{!"0x15a047c0.w8.b0", !3674, i64 0} !3674 = !{!"0x15a047c0.w16.b0", !3675, i64 0} !3675 = !{!"0x15a047c0.w32.b0", !3676, i64 0} !3676 = !{!"0x15a047c0.w64.b0", !3677, i64 0} !3677 = !{!"0x15a047c0.w128.b0", !3678, i64 0} !3678 = !{!"0x15a047c0.w256.b0", !3679, i64 0} !3679 = !{!"0x15a047c0.w512.b0", !3680, i64 0} !3680 = !{!"0x15a047c0.w1024.b0", !3681, i64 0} !3681 = !{!"i64", !3682, i64 0} !3682 = !{!"0x15a047c0", !8, i64 0} !3683 = !{!3684, !3684, i64 0} !3684 = !{!"0x15a047c0.w1.b1", !3671, i64 0} !3685 = !{!3686, !3686, i64 0} !3686 = !{!"0x15a047c0.w1.b2", !3687, i64 0} !3687 = !{!"0x15a047c0.w2.b2", !3672, i64 0} !3688 = !{!3689, !3689, i64 0} !3689 = !{!"i8", !3690, i64 0} !3690 = !{!"0xc7bbf70", !8, i64 0} !3691 = !{!3692, !3692, i64 0} !3692 = !{!"i8", !3693, i64 0} !3693 = !{!"0xc7ea440", !8, i64 0} !3694 = !{!3695, !3695, i64 0} !3695 = !{!"0x159f6860.w1.b0", !3696, i64 0} !3696 = !{!"0x159f6860.w2.b0", !3697, i64 0} !3697 = !{!"0x159f6860.w4.b0", !3698, i64 0} !3698 = !{!"0x159f6860.w8.b0", !3699, i64 0} !3699 = !{!"0x159f6860.w16.b0", !3700, i64 0} !3700 = !{!"0x159f6860.w32.b0", !3701, i64 0} !3701 = !{!"0x159f6860.w64.b0", !3702, i64 0} !3702 = !{!"0x159f6860.w128.b0", !3703, i64 0} !3703 = !{!"0x159f6860.w256.b0", !3704, i64 0} !3704 = !{!"0x159f6860.w512.b0", !3705, i64 0} !3705 = !{!"0x159f6860.w1024.b0", !3706, i64 0} !3706 = !{!"i8", !3707, i64 0} !3707 = !{!"0x159f6860", !8, i64 0} !3708 = !{!3709, !3709, i64 0} !3709 = !{!"0x159f6860.w1.b1", !3696, i64 0} !3710 = !{!3711, !3711, i64 0} !3711 = !{!"0x15a07690.w1.b0", !3712, i64 0} !3712 = !{!"0x15a07690.w2.b0", !3713, i64 0} !3713 = !{!"0x15a07690.w4.b0", !3714, i64 0} !3714 = !{!"0x15a07690.w8.b0", !3715, i64 0} !3715 = !{!"0x15a07690.w16.b0", !3716, i64 0} !3716 = !{!"0x15a07690.w32.b0", !3717, i64 0} !3717 = !{!"0x15a07690.w64.b0", !3718, i64 0} !3718 = !{!"0x15a07690.w128.b0", !3719, i64 0} !3719 = !{!"0x15a07690.w256.b0", !3720, i64 0} !3720 = !{!"0x15a07690.w512.b0", !3721, i64 0} !3721 = !{!"0x15a07690.w1024.b0", !3722, i64 0} !3722 = !{!"i64", !3723, i64 0} !3723 = !{!"0x15a07690", !8, i64 0} !3724 = !{!3725, !3725, i64 0} !3725 = !{!"0x15a07690.w1.b1", !3712, i64 0} !3726 = !{!3727, !3727, i64 0} !3727 = !{!"0x15a07d50.w1.b0", !3728, i64 0} !3728 = !{!"0x15a07d50.w2.b0", !3729, i64 0} !3729 = !{!"0x15a07d50.w4.b0", !3730, i64 0} !3730 = !{!"0x15a07d50.w8.b0", !3731, i64 0} !3731 = !{!"0x15a07d50.w16.b0", !3732, i64 0} !3732 = !{!"0x15a07d50.w32.b0", !3733, i64 0} !3733 = !{!"0x15a07d50.w64.b0", !3734, i64 0} !3734 = !{!"0x15a07d50.w128.b0", !3735, i64 0} !3735 = !{!"0x15a07d50.w256.b0", !3736, i64 0} !3736 = !{!"0x15a07d50.w512.b0", !3737, i64 0} !3737 = !{!"0x15a07d50.w1024.b0", !3738, i64 0} !3738 = !{!"i64", !3739, i64 0} !3739 = !{!"0x15a07d50", !8, i64 0} !3740 = !{!3741, !3741, i64 0} !3741 = !{!"0x15a07d50.w1.b1", !3728, i64 0} !3742 = !{!3743, !3743, i64 0} !3743 = !{!"0x15a099d0.w1.b0", !3744, i64 0} !3744 = !{!"0x15a099d0.w2.b0", !3745, i64 0} !3745 = !{!"0x15a099d0.w4.b0", !3746, i64 0} !3746 = !{!"0x15a099d0.w8.b0", !3747, i64 0} !3747 = !{!"0x15a099d0.w16.b0", !3748, i64 0} !3748 = !{!"0x15a099d0.w32.b0", !3749, i64 0} !3749 = !{!"0x15a099d0.w64.b0", !3750, i64 0} !3750 = !{!"0x15a099d0.w128.b0", !3751, i64 0} !3751 = !{!"0x15a099d0.w256.b0", !3752, i64 0} !3752 = !{!"0x15a099d0.w512.b0", !3753, i64 0} !3753 = !{!"0x15a099d0.w1024.b0", !3754, i64 0} !3754 = !{!"i64", !3755, i64 0} !3755 = !{!"0x15a099d0", !8, i64 0} !3756 = !{!3757, !3757, i64 0} !3757 = !{!"0x15a099d0.w1.b1", !3744, i64 0} !3758 = !{!3759, !3759, i64 0} !3759 = !{!"0x15a06c90.w1.b0", !3760, i64 0} !3760 = !{!"0x15a06c90.w2.b0", !3761, i64 0} !3761 = !{!"0x15a06c90.w4.b0", !3762, i64 0} !3762 = !{!"0x15a06c90.w8.b0", !3763, i64 0} !3763 = !{!"0x15a06c90.w16.b0", !3764, i64 0} !3764 = !{!"0x15a06c90.w32.b0", !3765, i64 0} !3765 = !{!"0x15a06c90.w64.b0", !3766, i64 0} !3766 = !{!"0x15a06c90.w128.b0", !3767, i64 0} !3767 = !{!"0x15a06c90.w256.b0", !3768, i64 0} !3768 = !{!"0x15a06c90.w512.b0", !3769, i64 0} !3769 = !{!"0x15a06c90.w1024.b0", !3770, i64 0} !3770 = !{!"i64", !3771, i64 0} !3771 = !{!"0x15a06c90", !8, i64 0} !3772 = !{!3773, !3773, i64 0} !3773 = !{!"0x15a06c90.w1.b1", !3760, i64 0} !3774 = !{!3775, !3775, i64 0} !3775 = !{!"0x15a016c0.w1.b0", !3776, i64 0} !3776 = !{!"0x15a016c0.w2.b0", !3777, i64 0} !3777 = !{!"0x15a016c0.w4.b0", !3778, i64 0} !3778 = !{!"0x15a016c0.w8.b0", !3779, i64 0} !3779 = !{!"0x15a016c0.w16.b0", !3780, i64 0} !3780 = !{!"0x15a016c0.w32.b0", !3781, i64 0} !3781 = !{!"0x15a016c0.w64.b0", !3782, i64 0} !3782 = !{!"0x15a016c0.w128.b0", !3783, i64 0} !3783 = !{!"0x15a016c0.w256.b0", !3784, i64 0} !3784 = !{!"0x15a016c0.w512.b0", !3785, i64 0} !3785 = !{!"0x15a016c0.w1024.b0", !3786, i64 0} !3786 = !{!"i8", !3787, i64 0} !3787 = !{!"0x15a016c0", !8, i64 0} !3788 = !{!3789, !3789, i64 0} !3789 = !{!"0x15a016c0.w1.b1", !3776, i64 0} !3790 = !{!3791, !3791, i64 0} !3791 = !{!"0x15a0d1b0.w1.b0", !3792, i64 0} !3792 = !{!"0x15a0d1b0.w2.b0", !3793, i64 0} !3793 = !{!"0x15a0d1b0.w4.b0", !3794, i64 0} !3794 = !{!"0x15a0d1b0.w8.b0", !3795, i64 0} !3795 = !{!"0x15a0d1b0.w16.b0", !3796, i64 0} !3796 = !{!"0x15a0d1b0.w32.b0", !3797, i64 0} !3797 = !{!"0x15a0d1b0.w64.b0", !3798, i64 0} !3798 = !{!"0x15a0d1b0.w128.b0", !3799, i64 0} !3799 = !{!"0x15a0d1b0.w256.b0", !3800, i64 0} !3800 = !{!"0x15a0d1b0.w512.b0", !3801, i64 0} !3801 = !{!"0x15a0d1b0.w1024.b0", !3802, i64 0} !3802 = !{!"i64", !3803, i64 0} !3803 = !{!"0x15a0d1b0", !8, i64 0} !3804 = !{!3805, !3805, i64 0} !3805 = !{!"0x15a0d1b0.w1.b1", !3792, i64 0} !3806 = !{!3807, !3807, i64 0} !3807 = !{!"0x15a0d870.w1.b0", !3808, i64 0} !3808 = !{!"0x15a0d870.w2.b0", !3809, i64 0} !3809 = !{!"0x15a0d870.w4.b0", !3810, i64 0} !3810 = !{!"0x15a0d870.w8.b0", !3811, i64 0} !3811 = !{!"0x15a0d870.w16.b0", !3812, i64 0} !3812 = !{!"0x15a0d870.w32.b0", !3813, i64 0} !3813 = !{!"0x15a0d870.w64.b0", !3814, i64 0} !3814 = !{!"0x15a0d870.w128.b0", !3815, i64 0} !3815 = !{!"0x15a0d870.w256.b0", !3816, i64 0} !3816 = !{!"0x15a0d870.w512.b0", !3817, i64 0} !3817 = !{!"0x15a0d870.w1024.b0", !3818, i64 0} !3818 = !{!"i64", !3819, i64 0} !3819 = !{!"0x15a0d870", !8, i64 0} !3820 = !{!3821, !3821, i64 0} !3821 = !{!"0x15a0d870.w1.b1", !3808, i64 0} !3822 = !{!3823, !3823, i64 0} !3823 = !{!"0x15a0f3b0.w1.b0", !3824, i64 0} !3824 = !{!"0x15a0f3b0.w2.b0", !3825, i64 0} !3825 = !{!"0x15a0f3b0.w4.b0", !3826, i64 0} !3826 = !{!"0x15a0f3b0.w8.b0", !3827, i64 0} !3827 = !{!"0x15a0f3b0.w16.b0", !3828, i64 0} !3828 = !{!"0x15a0f3b0.w32.b0", !3829, i64 0} !3829 = !{!"0x15a0f3b0.w64.b0", !3830, i64 0} !3830 = !{!"0x15a0f3b0.w128.b0", !3831, i64 0} !3831 = !{!"0x15a0f3b0.w256.b0", !3832, i64 0} !3832 = !{!"0x15a0f3b0.w512.b0", !3833, i64 0} !3833 = !{!"0x15a0f3b0.w1024.b0", !3834, i64 0} !3834 = !{!"i64", !3835, i64 0} !3835 = !{!"0x15a0f3b0", !8, i64 0} !3836 = !{!3837, !3837, i64 0} !3837 = !{!"0x15a0f3b0.w1.b1", !3824, i64 0} !3838 = !{!3839, !3839, i64 0} !3839 = !{!"0x15a0c7b0.w1.b0", !3840, i64 0} !3840 = !{!"0x15a0c7b0.w2.b0", !3841, i64 0} !3841 = !{!"0x15a0c7b0.w4.b0", !3842, i64 0} !3842 = !{!"0x15a0c7b0.w8.b0", !3843, i64 0} !3843 = !{!"0x15a0c7b0.w16.b0", !3844, i64 0} !3844 = !{!"0x15a0c7b0.w32.b0", !3845, i64 0} !3845 = !{!"0x15a0c7b0.w64.b0", !3846, i64 0} !3846 = !{!"0x15a0c7b0.w128.b0", !3847, i64 0} !3847 = !{!"0x15a0c7b0.w256.b0", !3848, i64 0} !3848 = !{!"0x15a0c7b0.w512.b0", !3849, i64 0} !3849 = !{!"0x15a0c7b0.w1024.b0", !3850, i64 0} !3850 = !{!"i64", !3851, i64 0} !3851 = !{!"0x15a0c7b0", !8, i64 0} !3852 = !{!3853, !3853, i64 0} !3853 = !{!"0x15a0c7b0.w1.b1", !3840, i64 0} !3854 = !{!3855, !3855, i64 0} !3855 = !{!"i8", !3856, i64 0} !3856 = !{!"0x6f08690", !8, i64 0} !3857 = !{!3858, !3858, i64 0} !3858 = !{!"float", !3859, i64 0} !3859 = !{!"0x158e04e0", !8, i64 0} !3860 = !{!3861, !3861, i64 0} !3861 = !{!"i8", !3862, i64 0} !3862 = !{!"0x3b8cb50", !8, i64 0} !3863 = !{!3864, !3864, i64 0} !3864 = !{!"0x15a0a310.w1.b0", !3865, i64 0} !3865 = !{!"0x15a0a310.w2.b0", !3866, i64 0} !3866 = !{!"0x15a0a310.w4.b0", !3867, i64 0} !3867 = !{!"0x15a0a310.w8.b0", !3868, i64 0} !3868 = !{!"0x15a0a310.w16.b0", !3869, i64 0} !3869 = !{!"0x15a0a310.w32.b0", !3870, i64 0} !3870 = !{!"0x15a0a310.w64.b0", !3871, i64 0} !3871 = !{!"0x15a0a310.w128.b0", !3872, i64 0} !3872 = !{!"0x15a0a310.w256.b0", !3873, i64 0} !3873 = !{!"0x15a0a310.w512.b0", !3874, i64 0} !3874 = !{!"0x15a0a310.w1024.b0", !3875, i64 0} !3875 = !{!"i8", !3876, i64 0} !3876 = !{!"0x15a0a310", !8, i64 0} !3877 = !{!3878, !3878, i64 0} !3878 = !{!"0x15a0a310.w1.b1", !3865, i64 0} !3879 = !{!3880, !3880, i64 0} !3880 = !{!"0x15a0a310.w1.b2", !3881, i64 0} !3881 = !{!"0x15a0a310.w2.b2", !3866, i64 0} !3882 = !{!3883, !3883, i64 0} !3883 = !{!"0x15a0a310.w1.b3", !3881, i64 0} !3884 = !{!3885, !3885, i64 0} !3885 = !{!"0x15a13880.w1.b0", !3886, i64 0} !3886 = !{!"0x15a13880.w2.b0", !3887, i64 0} !3887 = !{!"0x15a13880.w4.b0", !3888, i64 0} !3888 = !{!"0x15a13880.w8.b0", !3889, i64 0} !3889 = !{!"0x15a13880.w16.b0", !3890, i64 0} !3890 = !{!"0x15a13880.w32.b0", !3891, i64 0} !3891 = !{!"0x15a13880.w64.b0", !3892, i64 0} !3892 = !{!"0x15a13880.w128.b0", !3893, i64 0} !3893 = !{!"0x15a13880.w256.b0", !3894, i64 0} !3894 = !{!"0x15a13880.w512.b0", !3895, i64 0} !3895 = !{!"0x15a13880.w1024.b0", !3896, i64 0} !3896 = !{!"i64", !3897, i64 0} !3897 = !{!"0x15a13880", !8, i64 0} !3898 = !{!3899, !3899, i64 0} !3899 = !{!"0x15a13880.w1.b1", !3886, i64 0} !3900 = !{!3901, !3901, i64 0} !3901 = !{!"0x15a13f10.w1.b0", !3902, i64 0} !3902 = !{!"0x15a13f10.w2.b0", !3903, i64 0} !3903 = !{!"0x15a13f10.w4.b0", !3904, i64 0} !3904 = !{!"0x15a13f10.w8.b0", !3905, i64 0} !3905 = !{!"0x15a13f10.w16.b0", !3906, i64 0} !3906 = !{!"0x15a13f10.w32.b0", !3907, i64 0} !3907 = !{!"0x15a13f10.w64.b0", !3908, i64 0} !3908 = !{!"0x15a13f10.w128.b0", !3909, i64 0} !3909 = !{!"0x15a13f10.w256.b0", !3910, i64 0} !3910 = !{!"0x15a13f10.w512.b0", !3911, i64 0} !3911 = !{!"0x15a13f10.w1024.b0", !3912, i64 0} !3912 = !{!"i64", !3913, i64 0} !3913 = !{!"0x15a13f10", !8, i64 0} !3914 = !{!3915, !3915, i64 0} !3915 = !{!"0x15a13f10.w1.b1", !3902, i64 0} !3916 = !{!3917, !3917, i64 0} !3917 = !{!"0x15a15be0.w1.b0", !3918, i64 0} !3918 = !{!"0x15a15be0.w2.b0", !3919, i64 0} !3919 = !{!"0x15a15be0.w4.b0", !3920, i64 0} !3920 = !{!"0x15a15be0.w8.b0", !3921, i64 0} !3921 = !{!"0x15a15be0.w16.b0", !3922, i64 0} !3922 = !{!"0x15a15be0.w32.b0", !3923, i64 0} !3923 = !{!"0x15a15be0.w64.b0", !3924, i64 0} !3924 = !{!"0x15a15be0.w128.b0", !3925, i64 0} !3925 = !{!"0x15a15be0.w256.b0", !3926, i64 0} !3926 = !{!"0x15a15be0.w512.b0", !3927, i64 0} !3927 = !{!"0x15a15be0.w1024.b0", !3928, i64 0} !3928 = !{!"i64", !3929, i64 0} !3929 = !{!"0x15a15be0", !8, i64 0} !3930 = !{!3931, !3931, i64 0} !3931 = !{!"0x15a15be0.w1.b1", !3918, i64 0} !3932 = !{!3933, !3933, i64 0} !3933 = !{!"0x15a12e80.w1.b0", !3934, i64 0} !3934 = !{!"0x15a12e80.w2.b0", !3935, i64 0} !3935 = !{!"0x15a12e80.w4.b0", !3936, i64 0} !3936 = !{!"0x15a12e80.w8.b0", !3937, i64 0} !3937 = !{!"0x15a12e80.w16.b0", !3938, i64 0} !3938 = !{!"0x15a12e80.w32.b0", !3939, i64 0} !3939 = !{!"0x15a12e80.w64.b0", !3940, i64 0} !3940 = !{!"0x15a12e80.w128.b0", !3941, i64 0} !3941 = !{!"0x15a12e80.w256.b0", !3942, i64 0} !3942 = !{!"0x15a12e80.w512.b0", !3943, i64 0} !3943 = !{!"0x15a12e80.w1024.b0", !3944, i64 0} !3944 = !{!"i64", !3945, i64 0} !3945 = !{!"0x15a12e80", !8, i64 0} !3946 = !{!3947, !3947, i64 0} !3947 = !{!"0x15a12e80.w1.b1", !3934, i64 0} !3948 = !{!3949, !3949, i64 0} !3949 = !{!"0x15a18170.w1.b0", !3950, i64 0} !3950 = !{!"0x15a18170.w2.b0", !3951, i64 0} !3951 = !{!"0x15a18170.w4.b0", !3952, i64 0} !3952 = !{!"0x15a18170.w8.b0", !3953, i64 0} !3953 = !{!"0x15a18170.w16.b0", !3954, i64 0} !3954 = !{!"0x15a18170.w32.b0", !3955, i64 0} !3955 = !{!"0x15a18170.w64.b0", !3956, i64 0} !3956 = !{!"0x15a18170.w128.b0", !3957, i64 0} !3957 = !{!"0x15a18170.w256.b0", !3958, i64 0} !3958 = !{!"0x15a18170.w512.b0", !3959, i64 0} !3959 = !{!"0x15a18170.w1024.b0", !3960, i64 0} !3960 = !{!"i64", !3961, i64 0} !3961 = !{!"0x15a18170", !8, i64 0} !3962 = !{!3963, !3963, i64 0} !3963 = !{!"0x15a18670.w1.b0", !3964, i64 0} !3964 = !{!"0x15a18670.w2.b0", !3965, i64 0} !3965 = !{!"0x15a18670.w4.b0", !3966, i64 0} !3966 = !{!"0x15a18670.w8.b0", !3967, i64 0} !3967 = !{!"0x15a18670.w16.b0", !3968, i64 0} !3968 = !{!"0x15a18670.w32.b0", !3969, i64 0} !3969 = !{!"0x15a18670.w64.b0", !3970, i64 0} !3970 = !{!"0x15a18670.w128.b0", !3971, i64 0} !3971 = !{!"0x15a18670.w256.b0", !3972, i64 0} !3972 = !{!"0x15a18670.w512.b0", !3973, i64 0} !3973 = !{!"0x15a18670.w1024.b0", !3974, i64 0} !3974 = !{!"i64", !3975, i64 0} !3975 = !{!"0x15a18670", !8, i64 0} !3976 = !{!3977, !3977, i64 0} !3977 = !{!"0x15a1a050.w1.b0", !3978, i64 0} !3978 = !{!"0x15a1a050.w2.b0", !3979, i64 0} !3979 = !{!"0x15a1a050.w4.b0", !3980, i64 0} !3980 = !{!"0x15a1a050.w8.b0", !3981, i64 0} !3981 = !{!"0x15a1a050.w16.b0", !3982, i64 0} !3982 = !{!"0x15a1a050.w32.b0", !3983, i64 0} !3983 = !{!"0x15a1a050.w64.b0", !3984, i64 0} !3984 = !{!"0x15a1a050.w128.b0", !3985, i64 0} !3985 = !{!"0x15a1a050.w256.b0", !3986, i64 0} !3986 = !{!"0x15a1a050.w512.b0", !3987, i64 0} !3987 = !{!"0x15a1a050.w1024.b0", !3988, i64 0} !3988 = !{!"i64", !3989, i64 0} !3989 = !{!"0x15a1a050", !8, i64 0} !3990 = !{!3991, !3991, i64 0} !3991 = !{!"0x15a1a050.w1.b1", !3978, i64 0} !3992 = !{!3993, !3993, i64 0} !3993 = !{!"0x15a1a6e0.w1.b0", !3994, i64 0} !3994 = !{!"0x15a1a6e0.w2.b0", !3995, i64 0} !3995 = !{!"0x15a1a6e0.w4.b0", !3996, i64 0} !3996 = !{!"0x15a1a6e0.w8.b0", !3997, i64 0} !3997 = !{!"0x15a1a6e0.w16.b0", !3998, i64 0} !3998 = !{!"0x15a1a6e0.w32.b0", !3999, i64 0} !3999 = !{!"0x15a1a6e0.w64.b0", !4000, i64 0} !4000 = !{!"0x15a1a6e0.w128.b0", !4001, i64 0} !4001 = !{!"0x15a1a6e0.w256.b0", !4002, i64 0} !4002 = !{!"0x15a1a6e0.w512.b0", !4003, i64 0} !4003 = !{!"0x15a1a6e0.w1024.b0", !4004, i64 0} !4004 = !{!"i64", !4005, i64 0} !4005 = !{!"0x15a1a6e0", !8, i64 0} !4006 = !{!4007, !4007, i64 0} !4007 = !{!"0x15a1a6e0.w1.b1", !3994, i64 0} !4008 = !{!4009, !4009, i64 0} !4009 = !{!"0x8b777a0.w1.b0", !4010, i64 0} !4010 = !{!"0x8b777a0.w2.b0", !4011, i64 0} !4011 = !{!"0x8b777a0.w4.b0", !4012, i64 0} !4012 = !{!"0x8b777a0.w8.b0", !4013, i64 0} !4013 = !{!"0x8b777a0.w16.b0", !4014, i64 0} !4014 = !{!"0x8b777a0.w32.b0", !4015, i64 0} !4015 = !{!"0x8b777a0.w64.b0", !4016, i64 0} !4016 = !{!"0x8b777a0.w128.b0", !4017, i64 0} !4017 = !{!"0x8b777a0.w256.b0", !4018, i64 0} !4018 = !{!"0x8b777a0.w512.b0", !4019, i64 0} !4019 = !{!"0x8b777a0.w1024.b0", !4020, i64 0} !4020 = !{!"i64", !4021, i64 0} !4021 = !{!"0x8b777a0", !8, i64 0} !4022 = !{!4023, !4023, i64 0} !4023 = !{!"0x8b777a0.w1.b1", !4010, i64 0} !4024 = !{!4025, !4025, i64 0} !4025 = !{!"0x8b777a0.w1.b2", !4026, i64 0} !4026 = !{!"0x8b777a0.w2.b2", !4011, i64 0} !4027 = !{!4028, !4028, i64 0} !4028 = !{!"0x8b777a0.w1.b3", !4026, i64 0} !4029 = !{!4030, !4030, i64 0} !4030 = !{!"0x8b777a0.w1.b4", !4031, i64 0} !4031 = !{!"0x8b777a0.w2.b4", !4032, i64 0} !4032 = !{!"0x8b777a0.w4.b4", !4012, i64 0} !4033 = !{!4034, !4034, i64 0} !4034 = !{!"0x8b777a0.w1.b5", !4031, i64 0} !4035 = !{!4036, !4036, i64 0} !4036 = !{!"0x8b76ba0.w1.b0", !4037, i64 0} !4037 = !{!"0x8b76ba0.w2.b0", !4038, i64 0} !4038 = !{!"0x8b76ba0.w4.b0", !4039, i64 0} !4039 = !{!"0x8b76ba0.w8.b0", !4040, i64 0} !4040 = !{!"0x8b76ba0.w16.b0", !4041, i64 0} !4041 = !{!"0x8b76ba0.w32.b0", !4042, i64 0} !4042 = !{!"0x8b76ba0.w64.b0", !4043, i64 0} !4043 = !{!"0x8b76ba0.w128.b0", !4044, i64 0} !4044 = !{!"0x8b76ba0.w256.b0", !4045, i64 0} !4045 = !{!"0x8b76ba0.w512.b0", !4046, i64 0} !4046 = !{!"0x8b76ba0.w1024.b0", !4047, i64 0} !4047 = !{!"i32", !4048, i64 0} !4048 = !{!"0x8b76ba0", !8, i64 0} !4049 = !{!4050, !4050, i64 0} !4050 = !{!"0x8b76ba0.w1.b1", !4037, i64 0} !4051 = !{!4052, !4052, i64 0} !4052 = !{!"0x8b76ba0.w1.b2", !4053, i64 0} !4053 = !{!"0x8b76ba0.w2.b2", !4038, i64 0} !4054 = !{!4055, !4055, i64 0} !4055 = !{!"0x8b76ba0.w1.b3", !4053, i64 0} !4056 = !{!4057, !4057, i64 0} !4057 = !{!"0x8b76ba0.w1.b4", !4058, i64 0} !4058 = !{!"0x8b76ba0.w2.b4", !4059, i64 0} !4059 = !{!"0x8b76ba0.w4.b4", !4039, i64 0} !4060 = !{!4061, !4061, i64 0} !4061 = !{!"i8", !4062, i64 0} !4062 = !{!"0xc7f44a0", !8, i64 0} !4063 = !{!4064, !4064, i64 0} !4064 = !{!"float", !4065, i64 0} !4065 = !{!"0x3bfbdf0", !8, i64 0} !4066 = !{!4067, !4067, i64 0} !4067 = !{!"i8", !4068, i64 0} !4068 = !{!"0x17731390", !8, i64 0}