; 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 { i8*, i8* } %6 = type { i8*, i8* } %7 = type { i8*, i8*, i8*, i8*, i8*, i8* } %8 = type { i8*, i8*, i8* } %9 = type { i8*, i8*, i8* } %10 = type { i8*, i8*, i8* } %11 = type { i8*, i8* } %12 = type { i8*, i8*, i8* } %13 = type { i8*, i8* } %14 = type { i8*, i8* } %15 = type { i8*, i8* } %16 = type { i8*, i8*, i8*, i8*, i8*, i8* } %17 = type { i8*, i8* } %18 = type { i8*, i8* } %19 = type { float*, i8* } %20 = type { i8*, float* } %21 = type { i8*, i8* } %22 = type { i8*, i8*, i8* } %23 = type { float*, i8*, i8* } %24 = type { i8*, float* } %25 = type { i8*, i8* } %26 = type { i8*, 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 [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.1 = 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.2 = 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.3 = 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.4 = 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.5 = 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.6 = 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.7 = 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.8 = 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.9 = 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.10 = 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.11 = 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.12 = 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.13 = 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.14 = 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.15 = 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.16 = 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.17 = 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.18 = 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.19 = 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.20 = 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.21 = 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.22 = 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.23 = 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.24 = 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.25 = 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.26 = 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.27 = 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.28 = 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.29 = 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.30 = 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.31 = 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.32 = 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.33 = 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.34 = 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.35 = 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.36 = 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.37 = private constant [87 x i8] c"Assert fail: (1 == int32(arg3.strides[0])), arg3.strides: expected to be compact array\00", align 1 @.str.38 = 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.39 = 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.40 = 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 @.str.41 = 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.42 = 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.43 = 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.44 = private constant [87 x i8] c"Assert fail: (1 == int32(arg4.strides[0])), arg4.strides: expected to be compact array\00", align 1 @.str.45 = 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.46 = 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.47 = 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.48 = 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.49 = 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.50 = 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.51 = private constant [87 x i8] c"Assert fail: (1 == int32(arg5.strides[0])), arg5.strides: expected to be compact array\00", align 1 @.str.52 = 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.53 = 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.54 = 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.55 = 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.56 = 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.57 = 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.58 = 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.59 = 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.60 = 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.61 = 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.62 = 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.63 = 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.64 = 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.65 = 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.66 = 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.67 = 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.68 = 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.69 = 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.70 = 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.71 = 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.72 = 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.73 = 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.74 = 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.75 = 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.76 = 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.77 = 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.78 = 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.79 = 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.80 = 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.81 = private constant [87 x i8] c"Assert fail: (1 == int32(arg0.strides[0])), arg0.strides: expected to be compact array\00", align 1 @.str.82 = 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.83 = private constant [87 x i8] c"Assert fail: (1 == int32(arg1.strides[0])), arg1.strides: expected to be compact array\00", align 1 @.str.84 = 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.85 = 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.86 = 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.87 = private constant [87 x i8] c"Assert fail: (1 == int32(arg2.strides[0])), arg2.strides: expected to be compact array\00", align 1 @.str.89 = 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.90 = 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.91 = 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.92 = 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.93 = 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.94 = 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.95 = 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.96 = 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.97 = 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.98 = 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.99 = 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.100 = 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.101 = private constant [31 x i8] c"tvm.contrib.cblas.batch_matmul\00", align 1 @.str.102 = 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.103 = 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.104 = 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.105 = 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.106 = 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.107 = 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.108 = 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.109 = 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.110 = 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.111 = 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.112 = 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.113 = 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.115 = 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.116 = 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.117 = 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.118 = 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.119 = 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.120 = 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.121 = 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.122 = 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.123 = 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.124 = 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.125 = 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.126 = 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.127 = 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.128 = 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.129 = 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.130 = 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.131 = 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 @__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.132 = 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.134 = private constant [80 x i8] c"Assert fail: (num_args == 3), fused_reshape_sequence_mask: num_args should be 3\00", align 1 @.str.135 = 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.136 = 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.137 = 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.138 = 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.139 = 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.140 = 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.141 = 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.142 = 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.143 = 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.145 = 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.146 = 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.147 = 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.148 = 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.149 = 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.150 = 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.151 = 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.152 = 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.153 = 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.154 = 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.155 = 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.156 = 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.157 = 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.159 = private constant [74 x i8] c"Assert fail: (num_args == 3), fused_nn_batch_matmul: num_args should be 3\00", align 1 @.str.160 = 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.161 = 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.162 = 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.163 = 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.164 = 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.165 = 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.166 = 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.167 = 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.168 = private constant [69 x i8] c"Assert fail: (num_args == 2), fused_nn_softmax: num_args should be 2\00", align 1 @.str.169 = 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.170 = 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.171 = 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.172 = 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.173 = 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.175 = private constant [70 x i8] c"Assert fail: (num_args == 3), fused_reshape_add: num_args should be 3\00", align 1 @.str.176 = 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.177 = 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.178 = 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.179 = 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.180 = 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.181 = 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.182 = 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.184 = 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.185 = 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.186 = 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.187 = 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.188 = 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.189 = 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.190 = 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.191 = 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.192 = 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.194 = private constant [68 x i8] c"Assert fail: (num_args == 2), fused_reshape_2: num_args should be 2\00", align 1 @.str.195 = 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.196 = 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.197 = 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.198 = 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.199 = 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.200 = 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.201 = 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.202 = 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.203 = 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.205 = private constant [68 x i8] c"Assert fail: (num_args == 2), fused_reshape_1: num_args should be 2\00", align 1 @.str.206 = 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.207 = 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.208 = 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.210 = 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.211 = 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.212 = 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.213 = 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.214 = 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.215 = 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.216 = 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.217 = 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.218 = 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.219 = 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.220 = 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.221 = 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.222 = 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.223 = 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.224 = 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.225 = 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.226 = 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.227 = 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.228 = 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.230 = 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.231 = 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.232 = 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.234 = 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.235 = 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.236 = 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.238 = private constant [75 x i8] c"Assert fail: (num_args == 2), fused_nn_batch_flatten: num_args should be 2\00", align 1 @.str.239 = 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.240 = 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.241 = private constant [63 x i8] c"Assert fail: (num_args == 2), fused_mean: num_args should be 2\00", align 1 @.str.242 = 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.243 = 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.246 = 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.247 = 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.248 = 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.250 = 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.251 = 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.252 = 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.253 = 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.254 = 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.256 = private constant [67 x i8] c"Assert fail: (num_args == 3), fused_variance: num_args should be 3\00", align 1 @.str.257 = 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.258 = 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.259 = 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.262 = private constant [71 x i8] c"Assert fail: (num_args == 4), fused_nn_dense_add: num_args should be 4\00", align 1 @.str.263 = 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.264 = 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.265 = 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.266 = 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.267 = 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.268 = 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.269 = 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 @.str.270 = 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.271 = 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.272 = 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.274 = 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.275 = 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.276 = 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.277 = 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.278 = 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.279 = 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.280 = 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.281 = 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.282 = 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 @llvm.global_ctors = appending global [0 x { i32, void ()*, i8* }] zeroinitializer 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, 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 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 !28 %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 !30 %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 !34 %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 !36 %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.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 %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.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 %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.3, 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.4, 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.5, 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.6, 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.7, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end20: ; preds = %assert_end18 %115 = load i64, i64* %51, align 8, !tbaa !39 %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.10, 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 !53 %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.11, 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 !55 %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.12, 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 !58 if_then: ; preds = %assert_end26 %129 = load i64, i64* %53, align 8, !tbaa !59 %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 !73 %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 !75 %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.13, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end38: ; preds = %assert_end36 %167 = load i64, i64* %59, align 8, !tbaa !78 %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.18, 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 !92 %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.19, 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 !94 %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.20, 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 !58 if_then45: ; preds = %assert_end44 %181 = load i64, i64* %61, align 8, !tbaa !97 %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 !111 %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 !113 %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.21, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end60: ; preds = %assert_end58 %223 = load i64, i64* %65, align 8, !tbaa !116 %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.27, 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 !130 %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.28, 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 !132 %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.29, 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 !58 if_then67: ; preds = %assert_end66 %237 = load i64, i64* %67, align 8, !tbaa !135 %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 !149 %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 !151 %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.30, 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.31, 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.32, 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.33, 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.34, 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.35, i64 0, i64 0)) ret i32 -1 assert_end82: ; preds = %assert_end80 %279 = load i64, i64* %71, align 8, !tbaa !154 %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.36, 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 !58 if_then85: ; preds = %assert_end84 %283 = load i64, i64* %73, align 8, !tbaa !168 %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.37, 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.38, 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.39, 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.40, 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.41, 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.42, i64 0, i64 0)) ret i32 -1 assert_end100: ; preds = %assert_end98 %315 = load i64, i64* %77, align 8, !tbaa !182 %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.43, 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 !58 if_then103: ; preds = %assert_end102 %319 = load i64, i64* %79, align 8, !tbaa !196 %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.44, 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.45, 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.46, 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.47, 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.48, 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.49, i64 0, i64 0)) ret i32 -1 assert_end118: ; preds = %assert_end116 %351 = load i64, i64* %83, align 8, !tbaa !210 %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.50, 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 !58 if_then121: ; preds = %assert_end120 %355 = load i64, i64* %85, align 8, !tbaa !224 %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.51, 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.52, 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.53, 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.54, 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.55, 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.56, i64 0, i64 0)) ret i32 -1 assert_end136: ; preds = %assert_end134 %387 = load i64, i64* %89, align 8, !tbaa !238 %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.57, 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 !252 %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.58, 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 !58 if_then141: ; preds = %assert_end140 %396 = load i64, i64* %91, align 8, !tbaa !254 %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 !268 %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.59, 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.60, 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.61, 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.62, 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 nosync nounwind willreturn declare void @llvm.assume(i1 noundef) #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 #1 { entry: %7 = bitcast i8* %1 to float* %8 = load float, float* %7, align 128, !tbaa !270 %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 !284 %.pre14.pre = load float, float* %14, align 128, !tbaa !298 %16 = fadd float %.pre14.pre, 0x3D71979980000000 %17 = tail call float @llvm.sqrt.f32(float %16) br label %for_begin1.preheader.us for_begin1.preheader.us: ; preds = %for_begin1.preheader.us.preheader, %for_begin1.preheader.us %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader.us.preheader ], [ %indvars.iv.next8, %for_begin1.preheader.us ] %18 = shl nsw i64 %indvars.iv7, 4 %19 = getelementptr inbounds float, float* %10, i64 %18 %20 = load float, float* %19, align 64, !tbaa !312 %21 = fsub float %20, %.pre.pre %22 = fdiv float %21, %17 %23 = getelementptr inbounds float, float* %11, i64 %18 %24 = load float, float* %23, align 64, !tbaa !315 %25 = getelementptr inbounds float, float* %12, i64 %18 %26 = load float, float* %25, align 64, !tbaa !318 %27 = tail call float @llvm.fmuladd.f32(float %22, float %24, float %26) %28 = getelementptr inbounds float, float* %13, i64 %18 store float %27, float* %28, align 64, !tbaa !321 %29 = or i64 %18, 1 %30 = getelementptr inbounds float, float* %10, i64 %29 %31 = load float, float* %30, align 4, !tbaa !312 %32 = fsub float %31, %.pre.pre %33 = fdiv float %32, %17 %34 = getelementptr inbounds float, float* %11, i64 %29 %35 = load float, float* %34, align 4, !tbaa !315 %36 = getelementptr inbounds float, float* %12, i64 %29 %37 = load float, float* %36, align 4, !tbaa !318 %38 = tail call float @llvm.fmuladd.f32(float %33, float %35, float %37) %39 = getelementptr inbounds float, float* %13, i64 %29 store float %38, float* %39, align 4, !tbaa !321 %40 = or i64 %18, 2 %41 = getelementptr inbounds float, float* %10, i64 %40 %42 = load float, float* %41, align 8, !tbaa !312 %43 = fsub float %42, %.pre.pre %44 = fdiv float %43, %17 %45 = getelementptr inbounds float, float* %11, i64 %40 %46 = load float, float* %45, align 8, !tbaa !315 %47 = getelementptr inbounds float, float* %12, i64 %40 %48 = load float, float* %47, align 8, !tbaa !318 %49 = tail call float @llvm.fmuladd.f32(float %44, float %46, float %48) %50 = getelementptr inbounds float, float* %13, i64 %40 store float %49, float* %50, align 8, !tbaa !321 %51 = or i64 %18, 3 %52 = getelementptr inbounds float, float* %10, i64 %51 %53 = load float, float* %52, align 4, !tbaa !312 %54 = fsub float %53, %.pre.pre %55 = fdiv float %54, %17 %56 = getelementptr inbounds float, float* %11, i64 %51 %57 = load float, float* %56, align 4, !tbaa !315 %58 = getelementptr inbounds float, float* %12, i64 %51 %59 = load float, float* %58, align 4, !tbaa !318 %60 = tail call float @llvm.fmuladd.f32(float %55, float %57, float %59) %61 = getelementptr inbounds float, float* %13, i64 %51 store float %60, float* %61, align 4, !tbaa !321 %62 = or i64 %18, 4 %63 = getelementptr inbounds float, float* %10, i64 %62 %64 = load float, float* %63, align 16, !tbaa !312 %65 = fsub float %64, %.pre.pre %66 = fdiv float %65, %17 %67 = getelementptr inbounds float, float* %11, i64 %62 %68 = load float, float* %67, align 16, !tbaa !315 %69 = getelementptr inbounds float, float* %12, i64 %62 %70 = load float, float* %69, align 16, !tbaa !318 %71 = tail call float @llvm.fmuladd.f32(float %66, float %68, float %70) %72 = getelementptr inbounds float, float* %13, i64 %62 store float %71, float* %72, align 16, !tbaa !321 %73 = or i64 %18, 5 %74 = getelementptr inbounds float, float* %10, i64 %73 %75 = load float, float* %74, align 4, !tbaa !312 %76 = fsub float %75, %.pre.pre %77 = fdiv float %76, %17 %78 = getelementptr inbounds float, float* %11, i64 %73 %79 = load float, float* %78, align 4, !tbaa !315 %80 = getelementptr inbounds float, float* %12, i64 %73 %81 = load float, float* %80, align 4, !tbaa !318 %82 = tail call float @llvm.fmuladd.f32(float %77, float %79, float %81) %83 = getelementptr inbounds float, float* %13, i64 %73 store float %82, float* %83, align 4, !tbaa !321 %84 = or i64 %18, 6 %85 = getelementptr inbounds float, float* %10, i64 %84 %86 = load float, float* %85, align 8, !tbaa !312 %87 = fsub float %86, %.pre.pre %88 = fdiv float %87, %17 %89 = getelementptr inbounds float, float* %11, i64 %84 %90 = load float, float* %89, align 8, !tbaa !315 %91 = getelementptr inbounds float, float* %12, i64 %84 %92 = load float, float* %91, align 8, !tbaa !318 %93 = tail call float @llvm.fmuladd.f32(float %88, float %90, float %92) %94 = getelementptr inbounds float, float* %13, i64 %84 store float %93, float* %94, align 8, !tbaa !321 %95 = or i64 %18, 7 %96 = getelementptr inbounds float, float* %10, i64 %95 %97 = load float, float* %96, align 4, !tbaa !312 %98 = fsub float %97, %.pre.pre %99 = fdiv float %98, %17 %100 = getelementptr inbounds float, float* %11, i64 %95 %101 = load float, float* %100, align 4, !tbaa !315 %102 = getelementptr inbounds float, float* %12, i64 %95 %103 = load float, float* %102, align 4, !tbaa !318 %104 = tail call float @llvm.fmuladd.f32(float %99, float %101, float %103) %105 = getelementptr inbounds float, float* %13, i64 %95 store float %104, float* %105, align 4, !tbaa !321 %106 = or i64 %18, 8 %107 = getelementptr inbounds float, float* %10, i64 %106 %108 = load float, float* %107, align 32, !tbaa !312 %109 = fsub float %108, %.pre.pre %110 = fdiv float %109, %17 %111 = getelementptr inbounds float, float* %11, i64 %106 %112 = load float, float* %111, align 32, !tbaa !315 %113 = getelementptr inbounds float, float* %12, i64 %106 %114 = load float, float* %113, align 32, !tbaa !318 %115 = tail call float @llvm.fmuladd.f32(float %110, float %112, float %114) %116 = getelementptr inbounds float, float* %13, i64 %106 store float %115, float* %116, align 32, !tbaa !321 %117 = or i64 %18, 9 %118 = getelementptr inbounds float, float* %10, i64 %117 %119 = load float, float* %118, align 4, !tbaa !312 %120 = fsub float %119, %.pre.pre %121 = fdiv float %120, %17 %122 = getelementptr inbounds float, float* %11, i64 %117 %123 = load float, float* %122, align 4, !tbaa !315 %124 = getelementptr inbounds float, float* %12, i64 %117 %125 = load float, float* %124, align 4, !tbaa !318 %126 = tail call float @llvm.fmuladd.f32(float %121, float %123, float %125) %127 = getelementptr inbounds float, float* %13, i64 %117 store float %126, float* %127, align 4, !tbaa !321 %128 = or i64 %18, 10 %129 = getelementptr inbounds float, float* %10, i64 %128 %130 = load float, float* %129, align 8, !tbaa !312 %131 = fsub float %130, %.pre.pre %132 = fdiv float %131, %17 %133 = getelementptr inbounds float, float* %11, i64 %128 %134 = load float, float* %133, align 8, !tbaa !315 %135 = getelementptr inbounds float, float* %12, i64 %128 %136 = load float, float* %135, align 8, !tbaa !318 %137 = tail call float @llvm.fmuladd.f32(float %132, float %134, float %136) %138 = getelementptr inbounds float, float* %13, i64 %128 store float %137, float* %138, align 8, !tbaa !321 %139 = or i64 %18, 11 %140 = getelementptr inbounds float, float* %10, i64 %139 %141 = load float, float* %140, align 4, !tbaa !312 %142 = fsub float %141, %.pre.pre %143 = fdiv float %142, %17 %144 = getelementptr inbounds float, float* %11, i64 %139 %145 = load float, float* %144, align 4, !tbaa !315 %146 = getelementptr inbounds float, float* %12, i64 %139 %147 = load float, float* %146, align 4, !tbaa !318 %148 = tail call float @llvm.fmuladd.f32(float %143, float %145, float %147) %149 = getelementptr inbounds float, float* %13, i64 %139 store float %148, float* %149, align 4, !tbaa !321 %150 = or i64 %18, 12 %151 = getelementptr inbounds float, float* %10, i64 %150 %152 = load float, float* %151, align 16, !tbaa !312 %153 = fsub float %152, %.pre.pre %154 = fdiv float %153, %17 %155 = getelementptr inbounds float, float* %11, i64 %150 %156 = load float, float* %155, align 16, !tbaa !315 %157 = getelementptr inbounds float, float* %12, i64 %150 %158 = load float, float* %157, align 16, !tbaa !318 %159 = tail call float @llvm.fmuladd.f32(float %154, float %156, float %158) %160 = getelementptr inbounds float, float* %13, i64 %150 store float %159, float* %160, align 16, !tbaa !321 %161 = or i64 %18, 13 %162 = getelementptr inbounds float, float* %10, i64 %161 %163 = load float, float* %162, align 4, !tbaa !312 %164 = fsub float %163, %.pre.pre %165 = fdiv float %164, %17 %166 = getelementptr inbounds float, float* %11, i64 %161 %167 = load float, float* %166, align 4, !tbaa !315 %168 = getelementptr inbounds float, float* %12, i64 %161 %169 = load float, float* %168, align 4, !tbaa !318 %170 = tail call float @llvm.fmuladd.f32(float %165, float %167, float %169) %171 = getelementptr inbounds float, float* %13, i64 %161 store float %170, float* %171, align 4, !tbaa !321 %172 = or i64 %18, 14 %173 = getelementptr inbounds float, float* %10, i64 %172 %174 = load float, float* %173, align 8, !tbaa !312 %175 = fsub float %174, %.pre.pre %176 = fdiv float %175, %17 %177 = getelementptr inbounds float, float* %11, i64 %172 %178 = load float, float* %177, align 8, !tbaa !315 %179 = getelementptr inbounds float, float* %12, i64 %172 %180 = load float, float* %179, align 8, !tbaa !318 %181 = tail call float @llvm.fmuladd.f32(float %176, float %178, float %180) %182 = getelementptr inbounds float, float* %13, i64 %172 store float %181, float* %182, align 8, !tbaa !321 %183 = or i64 %18, 15 %184 = getelementptr inbounds float, float* %10, i64 %183 %185 = load float, float* %184, align 4, !tbaa !312 %186 = fsub float %185, %.pre.pre %187 = fdiv float %186, %17 %188 = getelementptr inbounds float, float* %11, i64 %183 %189 = load float, float* %188, align 4, !tbaa !315 %190 = getelementptr inbounds float, float* %12, i64 %183 %191 = load float, float* %190, align 4, !tbaa !318 %192 = tail call float @llvm.fmuladd.f32(float %187, float %189, float %191) %193 = getelementptr inbounds float, float* %13, i64 %183 store float %192, float* %193, align 4, !tbaa !321 %indvars.iv.next8 = add nuw nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, 48 br i1 %exitcond9.not, label %for_end, label %for_begin1.preheader.us, !prof !58 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) #2 ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare float @llvm.fmuladd.f32(float, float, float) #2 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.63, 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 !324 %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 !338 %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.64, 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.65, 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.66, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !340 %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.10, 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 !354 %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.11, 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 !356 %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.67, 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 !359 %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.68, 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 !361 %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.69, 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 !58 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !365 %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 !379 %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 !381 %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 !384 %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 !386 %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.70, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !390 %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.71, 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 !404 %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.72, 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 !406 %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.73, 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 !58 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !409 %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 !423 %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 !425 %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.74, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca %5, align 8 %3 = getelementptr inbounds %5, %5* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %5, %5* %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 %5* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda(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, 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 !428 %39 = getelementptr inbounds float, float* %4, i64 %32 store float %38, float* %39, align 4, !tbaa !431 %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 !428 %50 = sext i32 %42 to i64 %51 = getelementptr inbounds float, float* %4, i64 %50 store float %49, float* %51, align 4, !tbaa !431 %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 !428 %62 = sext i32 %54 to i64 %63 = getelementptr inbounds float, float* %4, i64 %62 store float %61, float* %63, align 4, !tbaa !431 %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 !428 %74 = sext i32 %66 to i64 %75 = getelementptr inbounds float, float* %4, i64 %74 store float %73, float* %75, align 4, !tbaa !431 %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 !428 %86 = sext i32 %78 to i64 %87 = getelementptr inbounds float, float* %4, i64 %86 store float %85, float* %87, align 4, !tbaa !431 %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 !428 %98 = sext i32 %90 to i64 %99 = getelementptr inbounds float, float* %4, i64 %98 store float %97, float* %99, align 4, !tbaa !431 %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 !428 %110 = sext i32 %102 to i64 %111 = getelementptr inbounds float, float* %4, i64 %110 store float %109, float* %111, align 4, !tbaa !431 %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 !428 %122 = sext i32 %114 to i64 %123 = getelementptr inbounds float, float* %4, i64 %122 store float %121, float* %123, align 4, !tbaa !431 %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 !428 %134 = sext i32 %126 to i64 %135 = getelementptr inbounds float, float* %4, i64 %134 store float %133, float* %135, align 4, !tbaa !431 %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 !428 %146 = sext i32 %138 to i64 %147 = getelementptr inbounds float, float* %4, i64 %146 store float %145, float* %147, align 4, !tbaa !431 %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 !428 %158 = sext i32 %150 to i64 %159 = getelementptr inbounds float, float* %4, i64 %158 store float %157, float* %159, align 4, !tbaa !431 %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 !428 %170 = sext i32 %162 to i64 %171 = getelementptr inbounds float, float* %4, i64 %170 store float %169, float* %171, align 4, !tbaa !431 %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 !428 %182 = sext i32 %174 to i64 %183 = getelementptr inbounds float, float* %4, i64 %182 store float %181, float* %183, align 4, !tbaa !431 %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 !428 %194 = sext i32 %186 to i64 %195 = getelementptr inbounds float, float* %4, i64 %194 store float %193, float* %195, align 4, !tbaa !431 %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 !428 %206 = sext i32 %198 to i64 %207 = getelementptr inbounds float, float* %4, i64 %206 store float %205, float* %207, align 4, !tbaa !431 %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 !428 %218 = sext i32 %210 to i64 %219 = getelementptr inbounds float, float* %4, i64 %218 store float %217, float* %219, align 4, !tbaa !431 %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 !58 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 !58 } 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.75, 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 !434 %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 !448 %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 !450 %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.76, 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.77, 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.78, 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.79, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !453 %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.80, 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 !58 if_then: ; preds = %assert_end14 %67 = load i64, i64* %29, align 8, !tbaa !467 %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.81, 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.14, 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.15, 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.82, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %95 = load i64, i64* %35, align 8, !tbaa !481 %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.18, 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 !58 if_then29: ; preds = %assert_end28 %99 = load i64, i64* %37, align 8, !tbaa !495 %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.83, 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.22, 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.23, 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.24, 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.84, 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.85, i64 0, i64 0)) ret i32 -1 assert_end44: ; preds = %assert_end42 %131 = load i64, i64* %41, align 8, !tbaa !509 %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.86, 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 !58 if_then47: ; preds = %assert_end46 %135 = load i64, i64* %43, align 8, !tbaa !523 %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.87, 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.31, 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.32, 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.33, 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 #3 { entry: %2 = alloca %6, align 8 %3 = getelementptr inbounds %6, %6* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %6, %6* %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 %6* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.88, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.88(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #4 { 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 !537 %21 = fptosi float %20 to i32 %22 = sext i32 %15 to i64 %wide.trip.count = sext i32 %12 to i64 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.lr.ph, %for_begin1.preheader %indvars.iv = phi i64 [ %22, %for_begin1.preheader.lr.ph ], [ %indvars.iv.next, %for_begin1.preheader ] %23 = phi i32 [ %15, %for_begin1.preheader.lr.ph ], [ %57, %for_begin1.preheader ] %24 = shl nsw i32 %23, 4 %25 = sext i32 %24 to i64 %26 = getelementptr inbounds i32, i32* %4, i64 %25 store i32 %21, i32* %26, align 4, !tbaa !551 %27 = or i64 %25, 1 %28 = getelementptr inbounds i32, i32* %4, i64 %27 store i32 %21, i32* %28, align 4, !tbaa !551 %29 = or i64 %25, 2 %30 = getelementptr inbounds i32, i32* %4, i64 %29 store i32 %21, i32* %30, align 4, !tbaa !551 %31 = or i64 %25, 3 %32 = getelementptr inbounds i32, i32* %4, i64 %31 store i32 %21, i32* %32, align 4, !tbaa !551 %33 = or i64 %25, 4 %34 = getelementptr inbounds i32, i32* %4, i64 %33 store i32 %21, i32* %34, align 4, !tbaa !551 %35 = or i64 %25, 5 %36 = getelementptr inbounds i32, i32* %4, i64 %35 store i32 %21, i32* %36, align 4, !tbaa !551 %37 = or i64 %25, 6 %38 = getelementptr inbounds i32, i32* %4, i64 %37 store i32 %21, i32* %38, align 4, !tbaa !551 %39 = or i64 %25, 7 %40 = getelementptr inbounds i32, i32* %4, i64 %39 store i32 %21, i32* %40, align 4, !tbaa !551 %41 = or i64 %25, 8 %42 = getelementptr inbounds i32, i32* %4, i64 %41 store i32 %21, i32* %42, align 4, !tbaa !551 %43 = or i64 %25, 9 %44 = getelementptr inbounds i32, i32* %4, i64 %43 store i32 %21, i32* %44, align 4, !tbaa !551 %45 = or i64 %25, 10 %46 = getelementptr inbounds i32, i32* %4, i64 %45 store i32 %21, i32* %46, align 4, !tbaa !551 %47 = or i64 %25, 11 %48 = getelementptr inbounds i32, i32* %4, i64 %47 store i32 %21, i32* %48, align 4, !tbaa !551 %49 = or i64 %25, 12 %50 = getelementptr inbounds i32, i32* %4, i64 %49 store i32 %21, i32* %50, align 4, !tbaa !551 %51 = or i64 %25, 13 %52 = getelementptr inbounds i32, i32* %4, i64 %51 store i32 %21, i32* %52, align 4, !tbaa !551 %53 = or i64 %25, 14 %54 = getelementptr inbounds i32, i32* %4, i64 %53 store i32 %21, i32* %54, align 4, !tbaa !551 %55 = or i64 %25, 15 %56 = getelementptr inbounds i32, i32* %4, i64 %55 store i32 %21, i32* %56, align 4, !tbaa !551 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %57 = add nsw i32 %23, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %for_end, label %for_begin1.preheader, !prof !58 for_end: ; preds = %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.89, 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 !554 %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 !568 %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 !570 %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.90, 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.91, 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.92, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %67 = load i64, i64* %31, align 8, !tbaa !573 %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.93, 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 !587 %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.94, 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 !589 %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.95, 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 !58 if_then: ; preds = %assert_end18 %81 = load i64, i64* %33, align 8, !tbaa !592 %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 !606 %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 !608 %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.96, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %119 = load i64, i64* %39, align 8, !tbaa !611 %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.71, 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 !625 %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.72, 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 !627 %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.73, 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 !58 if_then37: ; preds = %assert_end36 %133 = load i64, i64* %41, align 8, !tbaa !630 %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 !644 %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 !646 %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.74, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %175 = load i64, i64* %45, align 8, !tbaa !649 %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.97, 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 !663 %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.98, 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 !665 %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.99, 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 !58 if_then59: ; preds = %assert_end58 %189 = load i64, i64* %47, align 8, !tbaa !668 %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 !682 %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 !684 %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.100, 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.31, 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.32, 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.33, 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 #3 { entry: %8 = alloca i8*, align 8 store i64 12, i64* %0, align 8, !tbaa !687 %9 = getelementptr inbounds i64, i64* %0, i64 1 store i64 128, i64* %9, align 8, !tbaa !701 %10 = getelementptr inbounds i64, i64* %0, i64 2 store i64 64, i64* %10, align 8, !tbaa !703 %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 !706 %22 = getelementptr inbounds i64, i64* %0, i64 4 store i64 128, i64* %22, align 8, !tbaa !708 %23 = getelementptr inbounds i64, i64* %0, i64 5 store i64 64, i64* %23, align 8, !tbaa !712 %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 !714 %35 = getelementptr inbounds i64, i64* %0, i64 7 store i64 128, i64* %35, align 8, !tbaa !717 %36 = getelementptr inbounds i64, i64* %0, i64 8 store i64 128, i64* %36, align 8, !tbaa !719 %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 !724 %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 !738 %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 !740 %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 !743 %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 !745 %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 !58 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.101, 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_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.102, 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 !749 %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 !763 %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 !765 %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 !768 %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 !770 %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 !774 %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.103, 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.104, 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.105, 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.106, 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.107, 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.108, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %102 = load i64, i64* %45, align 8, !tbaa !776 %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.10, 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 !790 %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.11, 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 !792 %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.12, 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 !58 if_then: ; preds = %assert_end24 %116 = load i64, i64* %47, align 8, !tbaa !795 %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 !809 %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 !811 %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.13, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end36: ; preds = %assert_end34 %154 = load i64, i64* %53, align 8, !tbaa !814 %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.18, 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 !828 %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.19, 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 !830 %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.20, 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 !58 if_then43: ; preds = %assert_end42 %168 = load i64, i64* %55, align 8, !tbaa !833 %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 !847 %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 !849 %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.21, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end58: ; preds = %assert_end56 %210 = load i64, i64* %59, align 8, !tbaa !852 %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.27, 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 !866 %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.28, 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 !868 %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.29, 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 !58 if_then65: ; preds = %assert_end64 %224 = load i64, i64* %61, align 8, !tbaa !871 %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 !885 %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 !887 %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.30, 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.31, 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.32, 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.33, 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.34, 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.35, i64 0, i64 0)) ret i32 -1 assert_end80: ; preds = %assert_end78 %266 = load i64, i64* %65, align 8, !tbaa !890 %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.36, 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 !58 if_then83: ; preds = %assert_end82 %270 = load i64, i64* %67, align 8, !tbaa !904 %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.37, 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.38, 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.39, 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.40, 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.41, 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.42, i64 0, i64 0)) ret i32 -1 assert_end98: ; preds = %assert_end96 %302 = load i64, i64* %71, align 8, !tbaa !918 %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.43, 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 !58 if_then101: ; preds = %assert_end100 %306 = load i64, i64* %73, align 8, !tbaa !932 %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.44, 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.45, 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.46, 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.47, 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.109, 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.49, i64 0, i64 0)) ret i32 -1 assert_end116: ; preds = %assert_end114 %338 = load i64, i64* %77, align 8, !tbaa !946 %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.110, 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 !960 %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.111, 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 !962 %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.112, 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 !58 if_then123: ; preds = %assert_end122 %352 = load i64, i64* %79, align 8, !tbaa !965 %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 !979 %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 !981 %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.113, 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.52, 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.53, 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.54, 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 #3 { entry: %6 = alloca %7, align 8 %7 = getelementptr inbounds %7, %7* %6, i64 0, i32 0 store i8* %0, i8** %7, align 8 %8 = getelementptr inbounds %7, %7* %6, i64 0, i32 1 store i8* %1, i8** %8, align 8 %9 = getelementptr inbounds %7, %7* %6, i64 0, i32 2 store i8* %2, i8** %9, align 8 %10 = getelementptr inbounds %7, %7* %6, i64 0, i32 3 store i8* %3, i8** %10, align 8 %11 = getelementptr inbounds %7, %7* %6, i64 0, i32 4 store i8* %4, i8** %11, align 8 %12 = getelementptr inbounds %7, %7* %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 %7* %6 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.114, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.114(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #5 { 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 !984 %35 = getelementptr inbounds float, float* %13, i64 %indvars.iv10 %36 = load float, float* %35, align 4, !tbaa !987 %37 = fadd float %36, 0x3D71979980000000 %38 = tail call float @llvm.sqrt.f32(float %37) %39 = mul 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_end6 %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next8, %for_end6 ] %40 = shl nsw i64 %indvars.iv7, 4 br label %for_body5 for_end3: ; preds = %for_end6 %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 !58 for_body5: ; preds = %for_begin4.preheader, %for_body5 %indvars.iv = phi i64 [ 0, %for_begin4.preheader ], [ %indvars.iv.next, %for_body5 ] %41 = add nuw nsw i64 %indvars.iv, %40 %42 = add i64 %39, %41 %sext = shl i64 %42, 32 %43 = ashr exact i64 %sext, 32 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = load float, float* %44, align 4, !tbaa !990 %46 = fsub float %45, %34 %47 = fdiv float %46, %38 %48 = getelementptr inbounds float, float* %16, i64 %41 %49 = load float, float* %48, align 4, !tbaa !993 %50 = getelementptr inbounds float, float* %19, i64 %41 %51 = load float, float* %50, align 4, !tbaa !996 %52 = tail call float @llvm.fmuladd.f32(float %47, float %49, float %51) %53 = getelementptr inbounds float, float* %4, i64 %43 store float %52, float* %53, align 4, !tbaa !999 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 16 br i1 %exitcond.not, label %for_end6, label %for_body5, !prof !58 for_end6: ; preds = %for_body5 %indvars.iv.next8 = add nuw nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, 48 br i1 %exitcond9.not, label %for_end3, label %for_begin4.preheader, !prof !58 } 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.115, 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 !1002 %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 !1016 %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 !1018 %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 !1021 %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.116, 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.117, 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.118, 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.119, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1023 %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.10, 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 !1037 %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.121, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !1039 %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 !1053 %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.122, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !1055 %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.124, 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 !1069 %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.125, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !1071 %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 !1085 %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.126, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !1087 %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.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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !1101 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !1115 %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.129, 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 !1129 %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.130, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !1131 %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 !1145 %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.131, 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.38, 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.39, 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.40, 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 #3 { 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 !1147 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 3072, i64* %13, align 8, !tbaa !1161 %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 !1163 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 3072, i64* %25, align 8, !tbaa !1166 %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 !1168 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !1172 %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 !1174 %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 !1188 %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 !1190 %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 !1193 %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 !1195 %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 !58 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.132, 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 %8, align 8 %76 = getelementptr inbounds %8, %8* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %8, %8* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %8, %8* %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 %8* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.133, 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.133(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 %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.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %24 = mul nsw i64 %indvars.iv4, 768 br label %vector.body vector.body: ; preds = %vector.body, %for_begin1.preheader %index = phi i64 [ 0, %for_begin1.preheader ], [ %index.next, %vector.body ] %induction7 = add i64 %index, 1 %induction8 = add i64 %index, 2 %25 = add nsw i64 %index, %24 %26 = add nsw i64 %induction7, %24 %27 = add nsw i64 %induction8, %24 %28 = getelementptr inbounds float, float* %10, i64 %index %29 = getelementptr inbounds float, float* %10, i64 %induction7 %30 = getelementptr inbounds float, float* %10, i64 %induction8 %31 = load float, float* %28, align 4, !tbaa !1199 %32 = load float, float* %29, align 4, !tbaa !1199 %33 = load float, float* %30, align 4, !tbaa !1199 %34 = getelementptr inbounds float, float* %7, i64 %25 %35 = getelementptr inbounds float, float* %7, i64 %26 %36 = getelementptr inbounds float, float* %7, i64 %27 %37 = load float, float* %34, align 4, !tbaa !1202 %38 = load float, float* %35, align 4, !tbaa !1202 %39 = load float, float* %36, align 4, !tbaa !1202 %40 = fadd float %31, %37 %41 = fadd float %32, %38 %42 = fadd float %33, %39 %43 = getelementptr inbounds float, float* %4, i64 %25 %44 = getelementptr inbounds float, float* %4, i64 %26 %45 = getelementptr inbounds float, float* %4, i64 %27 store float %40, float* %43, align 4, !tbaa !1205 store float %41, float* %44, align 4, !tbaa !1205 store float %42, float* %45, align 4, !tbaa !1205 %index.next = add i64 %index, 3 %46 = icmp eq i64 %index.next, 768 br i1 %46, label %for_end3, label %vector.body, !prof !1208, !llvm.loop !1209 for_end: ; preds = %for_end3, %entry ret i32 0 for_end3: ; preds = %vector.body %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 !58 } 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.134, 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 !1211 %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 !1225 %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 !1227 %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.135, 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.136, 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.137, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !1230 %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.93, 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 !1244 %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.94, 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 !1246 %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.138, 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 !58 if_then: ; preds = %assert_end18 %77 = load i64, i64* %29, align 8, !tbaa !1249 %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 !1263 %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 !1265 %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.139, 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.14, 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.15, 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.82, 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.140, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %115 = load i64, i64* %35, align 8, !tbaa !1268 %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.141, 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 !58 if_then33: ; preds = %assert_end32 %119 = load i64, i64* %37, align 8, !tbaa !1282 %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.83, 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.22, 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.23, 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.24, 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.142, 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.26, i64 0, i64 0)) ret i32 -1 assert_end48: ; preds = %assert_end46 %151 = load i64, i64* %41, align 8, !tbaa !1296 %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.86, 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 !1310 %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.98, 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 !58 if_then53: ; preds = %assert_end52 %160 = load i64, i64* %43, align 8, !tbaa !1312 %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 !1326 %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.143, 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.31, 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.32, 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.33, 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 #3 { entry: %3 = alloca %9, align 8 %4 = getelementptr inbounds %9, %9* %3, i64 0, i32 0 store i8* %0, i8** %4, align 8 %5 = getelementptr inbounds %9, %9* %3, i64 0, i32 1 store i8* %1, i8** %5, align 8 %6 = getelementptr inbounds %9, %9* %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 %9* %3 to i8* %9 = call i32 %7(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.144, i8* nonnull %8, i32 0) ret i32 %9 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.144(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 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 !1328 %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 !58 if_else: ; preds = %for_begin4.preheader %33 = getelementptr inbounds float, float* %10, i64 %32 %34 = load float, float* %33, align 4, !tbaa !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !1331 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 !1334 %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 !58 } 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.145, 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 !1337 %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 !1351 %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 !1353 %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 !1356 %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.146, 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.147, 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.148, 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.149, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1358 %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.10, 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 !1372 %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.150, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !1374 %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 !1388 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !1390 %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.152, 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 !1404 %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.153, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !1406 %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 !1420 %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.154, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !1422 %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.155, 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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !1436 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !1450 %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.129, 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 !1464 %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.156, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !1466 %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 !1480 %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.157, 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.38, 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.39, 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.40, 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 #3 { 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 !1482 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !1496 %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 !1498 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !1501 %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 !1503 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 2304, i64* %37, align 8, !tbaa !1507 %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 !1509 %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 !1523 %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 !1525 %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 !1528 %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 !1530 %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 !58 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.132, 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 %10, align 8 %76 = getelementptr inbounds %10, %10* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %10, %10* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %10, %10* %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 %10* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.158, 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.158(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 %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.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %24 = mul nsw i64 %indvars.iv4, 2304 br label %vector.body vector.body: ; preds = %vector.body, %for_begin1.preheader %index = phi i64 [ 0, %for_begin1.preheader ], [ %index.next, %vector.body ] %induction7 = add i64 %index, 1 %induction8 = add i64 %index, 2 %25 = add nsw i64 %index, %24 %26 = add nsw i64 %induction7, %24 %27 = add nsw i64 %induction8, %24 %28 = getelementptr inbounds float, float* %10, i64 %index %29 = getelementptr inbounds float, float* %10, i64 %induction7 %30 = getelementptr inbounds float, float* %10, i64 %induction8 %31 = load float, float* %28, align 4, !tbaa !1534 %32 = load float, float* %29, align 4, !tbaa !1534 %33 = load float, float* %30, align 4, !tbaa !1534 %34 = getelementptr inbounds float, float* %7, i64 %25 %35 = getelementptr inbounds float, float* %7, i64 %26 %36 = getelementptr inbounds float, float* %7, i64 %27 %37 = load float, float* %34, align 4, !tbaa !1537 %38 = load float, float* %35, align 4, !tbaa !1537 %39 = load float, float* %36, align 4, !tbaa !1537 %40 = fadd float %31, %37 %41 = fadd float %32, %38 %42 = fadd float %33, %39 %43 = getelementptr inbounds float, float* %4, i64 %25 %44 = getelementptr inbounds float, float* %4, i64 %26 %45 = getelementptr inbounds float, float* %4, i64 %27 store float %40, float* %43, align 4, !tbaa !1540 store float %41, float* %44, align 4, !tbaa !1540 store float %42, float* %45, align 4, !tbaa !1540 %index.next = add i64 %index, 3 %46 = icmp eq i64 %index.next, 2304 br i1 %46, label %for_end3, label %vector.body, !prof !1208, !llvm.loop !1543 for_end: ; preds = %for_end3, %entry ret i32 0 for_end3: ; preds = %vector.body %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 !58 } 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.159, 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 !1544 %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 !1558 %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 !1560 %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.160, 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.161, 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.162, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %67 = load i64, i64* %31, align 8, !tbaa !1563 %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.93, 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 !1577 %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.94, 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 !1579 %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.138, 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 !58 if_then: ; preds = %assert_end18 %81 = load i64, i64* %33, align 8, !tbaa !1582 %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 !1596 %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 !1598 %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.139, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %119 = load i64, i64* %39, align 8, !tbaa !1601 %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.71, 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 !1615 %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.163, 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 !1617 %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.164, 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 !58 if_then37: ; preds = %assert_end36 %133 = load i64, i64* %41, align 8, !tbaa !1620 %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 !1634 %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 !1636 %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.165, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %175 = load i64, i64* %45, align 8, !tbaa !1639 %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.97, 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 !1653 %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.98, 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 !1655 %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.166, 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 !58 if_then59: ; preds = %assert_end58 %189 = load i64, i64* %47, align 8, !tbaa !1658 %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 !1672 %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 !1674 %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.167, 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.31, 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.32, 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.33, 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 #3 { entry: %8 = alloca i8*, align 8 store i64 12, i64* %0, align 8, !tbaa !1677 %9 = getelementptr inbounds i64, i64* %0, i64 1 store i64 128, i64* %9, align 8, !tbaa !1691 %10 = getelementptr inbounds i64, i64* %0, i64 2 store i64 128, i64* %10, align 8, !tbaa !1693 %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 !1696 %22 = getelementptr inbounds i64, i64* %0, i64 4 store i64 64, i64* %22, align 8, !tbaa !1698 %23 = getelementptr inbounds i64, i64* %0, i64 5 store i64 128, i64* %23, align 8, !tbaa !1702 %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 !1704 %35 = getelementptr inbounds i64, i64* %0, i64 7 store i64 128, i64* %35, align 8, !tbaa !1707 %36 = getelementptr inbounds i64, i64* %0, i64 8 store i64 64, i64* %36, align 8, !tbaa !1709 %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 !1714 %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 !1728 %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 !1730 %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 !1733 %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 !1735 %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 !58 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.101, 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_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.168, 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 !1739 %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 !1753 %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.169, 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.170, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !1755 %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.171, 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 !1769 %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.94, 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 !58 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !1771 %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 !1785 %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.172, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !1787 %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.141, 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 !1801 %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.72, 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 !58 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !1803 %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 !1817 %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.173, 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.22, 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.23, 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.24, 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 #3 { 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.174, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.174(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #5 { 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 %22 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 126 %23 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 127 %24 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 126 %25 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 127 br label %for_begin1.preheader for_begin1.preheader: ; preds = %for_begin1.preheader.lr.ph, %for_body11 %indvars.iv34 = phi i64 [ %21, %for_begin1.preheader.lr.ph ], [ %indvars.iv.next35, %for_body11 ] %26 = phi i32 [ %17, %for_begin1.preheader.lr.ph ], [ %90, %for_body11 ] %27 = shl nsw i32 %26, 7 %28 = sext i32 %27 to i64 br label %for_body2 for_end: ; preds = %for_body11, %entry ret i32 0 vector.body43: ; preds = %for_body2, %vector.body43 %index45 = phi i64 [ %index.next46, %vector.body43 ], [ 0, %for_body2 ] %induction50 = add i64 %index45, 1 %induction51 = add i64 %index45, 2 %29 = add nsw i64 %index45, %28 %30 = add nsw i64 %induction50, %28 %31 = add nsw i64 %induction51, %28 %32 = getelementptr inbounds float, float* %20, i64 %29 %33 = getelementptr inbounds float, float* %20, i64 %30 %34 = getelementptr inbounds float, float* %20, i64 %31 %35 = load float, float* %32, align 4, !tbaa !1819 %36 = load float, float* %33, align 4, !tbaa !1819 %37 = load float, float* %34, align 4, !tbaa !1819 %38 = fsub float %35, %52 %39 = fsub float %36, %52 %40 = fsub float %37, %52 %41 = call float @llvm.exp.f32(float %38) %42 = call float @llvm.exp.f32(float %39) %43 = call float @llvm.exp.f32(float %40) %44 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %index45 %45 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %induction50 %46 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %induction51 store float %41, float* %44, align 4, !tbaa !1822 store float %42, float* %45, align 4, !tbaa !1822 store float %43, float* %46, align 4, !tbaa !1822 %index.next46 = add i64 %index45, 3 %47 = icmp eq i64 %index.next46, 126 br i1 %47, label %for_body5, label %vector.body43, !prof !1208, !llvm.loop !1825 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 ], [ %52, %for_body2 ] %48 = add nsw i64 %indvars.iv, %28 %49 = getelementptr inbounds float, float* %20, i64 %48 %50 = load float, float* %49, align 4, !tbaa !1819 %51 = fcmp ogt float %.022, %50 %52 = select i1 %51, float %.022, float %50 %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.body43, label %for_body2, !prof !58 for_body5: ; preds = %vector.body43 %53 = or i64 %28, 126 %54 = getelementptr inbounds float, float* %20, i64 %53 %55 = load float, float* %54, align 4, !tbaa !1819 %56 = fsub float %55, %52 %57 = tail call float @llvm.exp.f32(float %56) store float %57, float* %22, align 8, !tbaa !1822 %58 = or i64 %28, 127 %59 = getelementptr inbounds float, float* %20, i64 %58 %60 = load float, float* %59, align 4, !tbaa !1819 %61 = fsub float %60, %52 %62 = tail call float @llvm.exp.f32(float %61) store float %62, float* %23, align 4, !tbaa !1822 br label %for_body8 vector.body: ; preds = %for_body8, %vector.body %index = phi i64 [ %index.next, %vector.body ], [ 0, %for_body8 ] %induction39 = add i64 %index, 1 %induction40 = add i64 %index, 2 %63 = add nsw i64 %index, %28 %64 = add nsw i64 %induction39, %28 %65 = add nsw i64 %induction40, %28 %66 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %index %67 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %induction39 %68 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %induction40 %69 = load float, float* %66, align 4, !tbaa !1822 %70 = load float, float* %67, align 4, !tbaa !1822 %71 = load float, float* %68, align 4, !tbaa !1822 %72 = fdiv float %69, %81 %73 = fdiv float %70, %81 %74 = fdiv float %71, %81 %75 = getelementptr inbounds float, float* %6, i64 %63 %76 = getelementptr inbounds float, float* %6, i64 %64 %77 = getelementptr inbounds float, float* %6, i64 %65 store float %72, float* %75, align 4, !tbaa !1826 store float %73, float* %76, align 4, !tbaa !1826 store float %74, float* %77, align 4, !tbaa !1826 %index.next = add i64 %index, 3 %78 = icmp eq i64 %index.next, 126 br i1 %78, label %for_body11, label %vector.body, !prof !1208, !llvm.loop !1829 for_body8: ; preds = %for_body5, %for_body8 %indvars.iv28 = phi i64 [ %indvars.iv.next29, %for_body8 ], [ 0, %for_body5 ] %.01623 = phi float [ %81, %for_body8 ], [ 0.000000e+00, %for_body5 ] %79 = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 %indvars.iv28 %80 = load float, float* %79, align 4, !tbaa !1822 %81 = fadd float %.01623, %80 %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 !58 for_body11: ; preds = %vector.body %82 = or i64 %28, 126 %83 = load float, float* %24, align 8, !tbaa !1822 %84 = fdiv float %83, %81 %85 = getelementptr inbounds float, float* %6, i64 %82 store float %84, float* %85, align 4, !tbaa !1826 %86 = or i64 %28, 127 %87 = load float, float* %25, align 4, !tbaa !1822 %88 = fdiv float %87, %81 %89 = getelementptr inbounds float, float* %6, i64 %86 store float %88, float* %89, align 4, !tbaa !1826 %indvars.iv.next35 = add nsw i64 %indvars.iv34, 1 %90 = add nsw i32 %26, 1 %exitcond36.not = icmp eq i64 %indvars.iv.next35, %wide.trip.count br i1 %exitcond36.not, label %for_end, label %for_begin1.preheader, !prof !58 } ; Function Attrs: nofree nosync nounwind readnone speculatable willreturn declare float @llvm.exp.f32(float) #2 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.175, 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 !1830 %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 !1844 %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 !1846 %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.176, 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.177, 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.178, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !1849 %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.10, 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 !1863 %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.150, 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 !58 if_then: ; preds = %assert_end16 %72 = load i64, i64* %29, align 8, !tbaa !1865 %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 !1879 %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.151, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %105 = load i64, i64* %35, align 8, !tbaa !1881 %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.18, 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 !1895 %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.19, 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 !1897 %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.179, 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 !58 if_then35: ; preds = %assert_end34 %119 = load i64, i64* %37, align 8, !tbaa !1900 %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 !1914 %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 !1916 %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.180, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %161 = load i64, i64* %41, align 8, !tbaa !1919 %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.27, 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 !1933 %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.28, 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 !1935 %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.181, 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 !58 if_then57: ; preds = %assert_end56 %175 = load i64, i64* %43, align 8, !tbaa !1938 %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 !1952 %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 !1954 %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.182, 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.31, 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.32, 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.33, 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 #3 { entry: %3 = alloca %12, align 8 %4 = getelementptr inbounds %12, %12* %3, i64 0, i32 0 store i8* %0, i8** %4, align 8 %5 = getelementptr inbounds %12, %12* %3, i64 0, i32 1 store i8* %1, i8** %5, align 8 %6 = getelementptr inbounds %12, %12* %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 %12* %3 to i8* %9 = call i32 %7(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.183, i8* nonnull %8, i32 0) ret i32 %9 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.183(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 %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 !1957 %29 = getelementptr inbounds float, float* %7, i64 %26 %30 = load float, float* %29, align 4, !tbaa !1960 %31 = fadd float %28, %30 %32 = getelementptr inbounds float, float* %4, i64 %26 store float %31, float* %32, align 4, !tbaa !1963 %33 = or i64 %26, 1 %34 = getelementptr inbounds float, float* %10, i64 %33 %35 = load float, float* %34, align 4, !tbaa !1957 %36 = getelementptr inbounds float, float* %7, i64 %33 %37 = load float, float* %36, align 4, !tbaa !1960 %38 = fadd float %35, %37 %39 = getelementptr inbounds float, float* %4, i64 %33 store float %38, float* %39, align 4, !tbaa !1963 %40 = or i64 %26, 2 %41 = getelementptr inbounds float, float* %10, i64 %40 %42 = load float, float* %41, align 4, !tbaa !1957 %43 = getelementptr inbounds float, float* %7, i64 %40 %44 = load float, float* %43, align 4, !tbaa !1960 %45 = fadd float %42, %44 %46 = getelementptr inbounds float, float* %4, i64 %40 store float %45, float* %46, align 4, !tbaa !1963 %47 = or i64 %26, 3 %48 = getelementptr inbounds float, float* %10, i64 %47 %49 = load float, float* %48, align 4, !tbaa !1957 %50 = getelementptr inbounds float, float* %7, i64 %47 %51 = load float, float* %50, align 4, !tbaa !1960 %52 = fadd float %49, %51 %53 = getelementptr inbounds float, float* %4, i64 %47 store float %52, float* %53, align 4, !tbaa !1963 %54 = or i64 %26, 4 %55 = getelementptr inbounds float, float* %10, i64 %54 %56 = load float, float* %55, align 4, !tbaa !1957 %57 = getelementptr inbounds float, float* %7, i64 %54 %58 = load float, float* %57, align 4, !tbaa !1960 %59 = fadd float %56, %58 %60 = getelementptr inbounds float, float* %4, i64 %54 store float %59, float* %60, align 4, !tbaa !1963 %61 = or i64 %26, 5 %62 = getelementptr inbounds float, float* %10, i64 %61 %63 = load float, float* %62, align 4, !tbaa !1957 %64 = getelementptr inbounds float, float* %7, i64 %61 %65 = load float, float* %64, align 4, !tbaa !1960 %66 = fadd float %63, %65 %67 = getelementptr inbounds float, float* %4, i64 %61 store float %66, float* %67, align 4, !tbaa !1963 %68 = or i64 %26, 6 %69 = getelementptr inbounds float, float* %10, i64 %68 %70 = load float, float* %69, align 4, !tbaa !1957 %71 = getelementptr inbounds float, float* %7, i64 %68 %72 = load float, float* %71, align 4, !tbaa !1960 %73 = fadd float %70, %72 %74 = getelementptr inbounds float, float* %4, i64 %68 store float %73, float* %74, align 4, !tbaa !1963 %75 = or i64 %26, 7 %76 = getelementptr inbounds float, float* %10, i64 %75 %77 = load float, float* %76, align 4, !tbaa !1957 %78 = getelementptr inbounds float, float* %7, i64 %75 %79 = load float, float* %78, align 4, !tbaa !1960 %80 = fadd float %77, %79 %81 = getelementptr inbounds float, float* %4, i64 %75 store float %80, float* %81, align 4, !tbaa !1963 %82 = or i64 %26, 8 %83 = getelementptr inbounds float, float* %10, i64 %82 %84 = load float, float* %83, align 4, !tbaa !1957 %85 = getelementptr inbounds float, float* %7, i64 %82 %86 = load float, float* %85, align 4, !tbaa !1960 %87 = fadd float %84, %86 %88 = getelementptr inbounds float, float* %4, i64 %82 store float %87, float* %88, align 4, !tbaa !1963 %89 = or i64 %26, 9 %90 = getelementptr inbounds float, float* %10, i64 %89 %91 = load float, float* %90, align 4, !tbaa !1957 %92 = getelementptr inbounds float, float* %7, i64 %89 %93 = load float, float* %92, align 4, !tbaa !1960 %94 = fadd float %91, %93 %95 = getelementptr inbounds float, float* %4, i64 %89 store float %94, float* %95, align 4, !tbaa !1963 %96 = or i64 %26, 10 %97 = getelementptr inbounds float, float* %10, i64 %96 %98 = load float, float* %97, align 4, !tbaa !1957 %99 = getelementptr inbounds float, float* %7, i64 %96 %100 = load float, float* %99, align 4, !tbaa !1960 %101 = fadd float %98, %100 %102 = getelementptr inbounds float, float* %4, i64 %96 store float %101, float* %102, align 4, !tbaa !1963 %103 = or i64 %26, 11 %104 = getelementptr inbounds float, float* %10, i64 %103 %105 = load float, float* %104, align 4, !tbaa !1957 %106 = getelementptr inbounds float, float* %7, i64 %103 %107 = load float, float* %106, align 4, !tbaa !1960 %108 = fadd float %105, %107 %109 = getelementptr inbounds float, float* %4, i64 %103 store float %108, float* %109, align 4, !tbaa !1963 %110 = or i64 %26, 12 %111 = getelementptr inbounds float, float* %10, i64 %110 %112 = load float, float* %111, align 4, !tbaa !1957 %113 = getelementptr inbounds float, float* %7, i64 %110 %114 = load float, float* %113, align 4, !tbaa !1960 %115 = fadd float %112, %114 %116 = getelementptr inbounds float, float* %4, i64 %110 store float %115, float* %116, align 4, !tbaa !1963 %117 = or i64 %26, 13 %118 = getelementptr inbounds float, float* %10, i64 %117 %119 = load float, float* %118, align 4, !tbaa !1957 %120 = getelementptr inbounds float, float* %7, i64 %117 %121 = load float, float* %120, align 4, !tbaa !1960 %122 = fadd float %119, %121 %123 = getelementptr inbounds float, float* %4, i64 %117 store float %122, float* %123, align 4, !tbaa !1963 %124 = or i64 %26, 14 %125 = getelementptr inbounds float, float* %10, i64 %124 %126 = load float, float* %125, align 4, !tbaa !1957 %127 = getelementptr inbounds float, float* %7, i64 %124 %128 = load float, float* %127, align 4, !tbaa !1960 %129 = fadd float %126, %128 %130 = getelementptr inbounds float, float* %4, i64 %124 store float %129, float* %130, align 4, !tbaa !1963 %131 = or i64 %26, 15 %132 = getelementptr inbounds float, float* %10, i64 %131 %133 = load float, float* %132, align 4, !tbaa !1957 %134 = getelementptr inbounds float, float* %7, i64 %131 %135 = load float, float* %134, align 4, !tbaa !1960 %136 = fadd float %133, %135 %137 = getelementptr inbounds float, float* %4, i64 %131 store float %136, float* %137, align 4, !tbaa !1963 %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 !58 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 !58 } 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.184, 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 !1966 %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 !1980 %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 !1982 %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 !1985 %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.185, 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.186, 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.187, 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.188, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !1987 %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.80, 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 !2001 %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.150, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !2003 %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 !2017 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !2019 %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.124, 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 !2033 %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.153, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !2035 %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 !2049 %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.154, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !2051 %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.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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !2065 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !2079 %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.189, 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 !2093 %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.130, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !2095 %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 !2109 %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.131, 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.38, 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.39, 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.40, 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 #3 { 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 !2111 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !2125 %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 !2127 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !2130 %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 !2132 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !2136 %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 !2138 %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 !2152 %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 !2154 %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 !2157 %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 !2159 %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 !58 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.132, 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 ], [ %77, %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 %for_body call_end: ; preds = %handle_init %77 = load i8*, i8** %9, align 8 store i8* %77, i8** @.tvm_func.tvm.contrib.cblas.matmul, align 8 br label %handle_init_end for_body: ; preds = %for_begin.preheader, %for_body %indvars.iv = phi i64 [ 0, %for_begin.preheader ], [ %indvars.iv.next, %for_body ] %78 = getelementptr inbounds float, float* %74, i64 %indvars.iv %79 = load float, float* %78, align 4, !tbaa !2163 %80 = getelementptr inbounds float, float* %75, i64 %indvars.iv %81 = load float, float* %80, align 4, !tbaa !2166 %82 = fadd float %79, %81 %83 = fcmp olt float %82, 9.000000e+00 %84 = select i1 %83, float %82, float 9.000000e+00 %85 = fcmp ogt float %84, -9.000000e+00 %86 = select i1 %85, float %84, float -9.000000e+00 %87 = fmul float %86, %86 %88 = call float @llvm.fmuladd.f32(float %87, float 0xBCB3E4B800000000, float 0x3D4C266FC0000000) %89 = call float @llvm.fmuladd.f32(float %87, float %88, float 0xBDD7A6FFE0000000) %90 = call float @llvm.fmuladd.f32(float %87, float %89, float 0x3E6B800820000000) %91 = call float @llvm.fmuladd.f32(float %87, float %90, float 0x3EEF286940000000) %92 = call float @llvm.fmuladd.f32(float %87, float %91, float 0x3F44E1BDA0000000) %93 = call float @llvm.fmuladd.f32(float %87, float %92, float 0x3F740B3B80000000) %94 = fmul float %86, %93 %95 = call float @llvm.fmuladd.f32(float %87, float 0x3EB41A7B00000000, float 0x3F1F12BAC0000000) %96 = call float @llvm.fmuladd.f32(float %87, float %95, float 0x3F629540A0000000) %97 = call float @llvm.fmuladd.f32(float %87, float %96, float 0x3F740B3BA0000000) %98 = fdiv float %94, %97 %99 = getelementptr inbounds float, float* %76, i64 %indvars.iv store float %98, float* %99, align 4, !tbaa !2169 %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 !58 for_end: ; preds = %for_body %100 = load i32 (i32, i32, i8*)*, i32 (i32, i32, i8*)** @__TVMBackendFreeWorkspace, align 8, !tbaa !6 %101 = call i32 %100(i32 1, i32 %3, i8* nonnull %11) %.not10 = icmp ne i32 %101, 0 %spec.select = sext i1 %.not10 to i32 ret i32 %spec.select } 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.190, 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 !2172 %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 !2186 %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.191, 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.192, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2188 %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.10, 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 !2202 %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.11, 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 !2204 %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.12, 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 !58 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !2207 %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 !2221 %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 !2223 %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.13, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !2226 %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.18, 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 !2240 %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.153, 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 !58 if_then33: ; preds = %assert_end32 %111 = load i64, i64* %31, align 8, !tbaa !2242 %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 !2256 %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.154, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca %13, align 8 %3 = getelementptr inbounds %13, %13* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %13, %13* %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 %13* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.193, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.193(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, 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 !2258 %26 = getelementptr inbounds float, float* %4, i64 %23 store float %25, float* %26, align 4, !tbaa !2261 %27 = or i64 %23, 1 %28 = getelementptr inbounds float, float* %7, i64 %27 %29 = load float, float* %28, align 4, !tbaa !2258 %30 = getelementptr inbounds float, float* %4, i64 %27 store float %29, float* %30, align 4, !tbaa !2261 %31 = or i64 %23, 2 %32 = getelementptr inbounds float, float* %7, i64 %31 %33 = load float, float* %32, align 4, !tbaa !2258 %34 = getelementptr inbounds float, float* %4, i64 %31 store float %33, float* %34, align 4, !tbaa !2261 %35 = or i64 %23, 3 %36 = getelementptr inbounds float, float* %7, i64 %35 %37 = load float, float* %36, align 4, !tbaa !2258 %38 = getelementptr inbounds float, float* %4, i64 %35 store float %37, float* %38, align 4, !tbaa !2261 %39 = or i64 %23, 4 %40 = getelementptr inbounds float, float* %7, i64 %39 %41 = load float, float* %40, align 4, !tbaa !2258 %42 = getelementptr inbounds float, float* %4, i64 %39 store float %41, float* %42, align 4, !tbaa !2261 %43 = or i64 %23, 5 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = load float, float* %44, align 4, !tbaa !2258 %46 = getelementptr inbounds float, float* %4, i64 %43 store float %45, float* %46, align 4, !tbaa !2261 %47 = or i64 %23, 6 %48 = getelementptr inbounds float, float* %7, i64 %47 %49 = load float, float* %48, align 4, !tbaa !2258 %50 = getelementptr inbounds float, float* %4, i64 %47 store float %49, float* %50, align 4, !tbaa !2261 %51 = or i64 %23, 7 %52 = getelementptr inbounds float, float* %7, i64 %51 %53 = load float, float* %52, align 4, !tbaa !2258 %54 = getelementptr inbounds float, float* %4, i64 %51 store float %53, float* %54, align 4, !tbaa !2261 %55 = or i64 %23, 8 %56 = getelementptr inbounds float, float* %7, i64 %55 %57 = load float, float* %56, align 4, !tbaa !2258 %58 = getelementptr inbounds float, float* %4, i64 %55 store float %57, float* %58, align 4, !tbaa !2261 %59 = or i64 %23, 9 %60 = getelementptr inbounds float, float* %7, i64 %59 %61 = load float, float* %60, align 4, !tbaa !2258 %62 = getelementptr inbounds float, float* %4, i64 %59 store float %61, float* %62, align 4, !tbaa !2261 %63 = or i64 %23, 10 %64 = getelementptr inbounds float, float* %7, i64 %63 %65 = load float, float* %64, align 4, !tbaa !2258 %66 = getelementptr inbounds float, float* %4, i64 %63 store float %65, float* %66, align 4, !tbaa !2261 %67 = or i64 %23, 11 %68 = getelementptr inbounds float, float* %7, i64 %67 %69 = load float, float* %68, align 4, !tbaa !2258 %70 = getelementptr inbounds float, float* %4, i64 %67 store float %69, float* %70, align 4, !tbaa !2261 %71 = or i64 %23, 12 %72 = getelementptr inbounds float, float* %7, i64 %71 %73 = load float, float* %72, align 4, !tbaa !2258 %74 = getelementptr inbounds float, float* %4, i64 %71 store float %73, float* %74, align 4, !tbaa !2261 %75 = or i64 %23, 13 %76 = getelementptr inbounds float, float* %7, i64 %75 %77 = load float, float* %76, align 4, !tbaa !2258 %78 = getelementptr inbounds float, float* %4, i64 %75 store float %77, float* %78, align 4, !tbaa !2261 %79 = or i64 %23, 14 %80 = getelementptr inbounds float, float* %7, i64 %79 %81 = load float, float* %80, align 4, !tbaa !2258 %82 = getelementptr inbounds float, float* %4, i64 %79 store float %81, float* %82, align 4, !tbaa !2261 %83 = or i64 %23, 15 %84 = getelementptr inbounds float, float* %7, i64 %83 %85 = load float, float* %84, align 4, !tbaa !2258 %86 = getelementptr inbounds float, float* %4, i64 %83 store float %85, float* %86, align 4, !tbaa !2261 %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 !58 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 !58 } 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.194, 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 !2264 %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 !2278 %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.195, 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.196, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2280 %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.10, 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 !2294 %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.197, 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 !58 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !2296 %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 !2310 %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.198, 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.14, 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.15, 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.199, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !2312 %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.18, 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 !2326 %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.19, 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 !2328 %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.200, 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 !2331 %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.201, 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 !2333 %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.202, 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 !58 if_then37: ; preds = %assert_end36 %116 = load i64, i64* %31, align 8, !tbaa !2337 %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 !2351 %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 !2353 %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 !2356 %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 !2358 %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.203, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca %14, align 8 %3 = getelementptr inbounds %14, %14* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %14, %14* %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 %14* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.204, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.204(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, 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_end6.2 %indvars.iv18 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next19, %for_end6.2 ] %21 = mul nsw i64 %indvars.iv18, 192 br label %for_begin7.preheader for_end: ; preds = %for_end6.2, %entry ret i32 0 for_begin7.preheader: ; preds = %for_begin1.preheader, %for_begin7.preheader %indvars.iv = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next, %for_begin7.preheader ] %22 = shl nsw i64 %indvars.iv, 4 %23 = add nsw i64 %21, %22 %24 = getelementptr inbounds float, float* %7, i64 %23 %25 = load float, float* %24, align 4, !tbaa !2362 %26 = getelementptr inbounds float, float* %4, i64 %23 store float %25, float* %26, align 4, !tbaa !2365 %27 = or i64 %23, 1 %28 = getelementptr inbounds float, float* %7, i64 %27 %29 = load float, float* %28, align 4, !tbaa !2362 %30 = getelementptr inbounds float, float* %4, i64 %27 store float %29, float* %30, align 4, !tbaa !2365 %31 = or i64 %23, 2 %32 = getelementptr inbounds float, float* %7, i64 %31 %33 = load float, float* %32, align 4, !tbaa !2362 %34 = getelementptr inbounds float, float* %4, i64 %31 store float %33, float* %34, align 4, !tbaa !2365 %35 = or i64 %23, 3 %36 = getelementptr inbounds float, float* %7, i64 %35 %37 = load float, float* %36, align 4, !tbaa !2362 %38 = getelementptr inbounds float, float* %4, i64 %35 store float %37, float* %38, align 4, !tbaa !2365 %39 = or i64 %23, 4 %40 = getelementptr inbounds float, float* %7, i64 %39 %41 = load float, float* %40, align 4, !tbaa !2362 %42 = getelementptr inbounds float, float* %4, i64 %39 store float %41, float* %42, align 4, !tbaa !2365 %43 = or i64 %23, 5 %44 = getelementptr inbounds float, float* %7, i64 %43 %45 = load float, float* %44, align 4, !tbaa !2362 %46 = getelementptr inbounds float, float* %4, i64 %43 store float %45, float* %46, align 4, !tbaa !2365 %47 = or i64 %23, 6 %48 = getelementptr inbounds float, float* %7, i64 %47 %49 = load float, float* %48, align 4, !tbaa !2362 %50 = getelementptr inbounds float, float* %4, i64 %47 store float %49, float* %50, align 4, !tbaa !2365 %51 = or i64 %23, 7 %52 = getelementptr inbounds float, float* %7, i64 %51 %53 = load float, float* %52, align 4, !tbaa !2362 %54 = getelementptr inbounds float, float* %4, i64 %51 store float %53, float* %54, align 4, !tbaa !2365 %55 = or i64 %23, 8 %56 = getelementptr inbounds float, float* %7, i64 %55 %57 = load float, float* %56, align 4, !tbaa !2362 %58 = getelementptr inbounds float, float* %4, i64 %55 store float %57, float* %58, align 4, !tbaa !2365 %59 = or i64 %23, 9 %60 = getelementptr inbounds float, float* %7, i64 %59 %61 = load float, float* %60, align 4, !tbaa !2362 %62 = getelementptr inbounds float, float* %4, i64 %59 store float %61, float* %62, align 4, !tbaa !2365 %63 = or i64 %23, 10 %64 = getelementptr inbounds float, float* %7, i64 %63 %65 = load float, float* %64, align 4, !tbaa !2362 %66 = getelementptr inbounds float, float* %4, i64 %63 store float %65, float* %66, align 4, !tbaa !2365 %67 = or i64 %23, 11 %68 = getelementptr inbounds float, float* %7, i64 %67 %69 = load float, float* %68, align 4, !tbaa !2362 %70 = getelementptr inbounds float, float* %4, i64 %67 store float %69, float* %70, align 4, !tbaa !2365 %71 = or i64 %23, 12 %72 = getelementptr inbounds float, float* %7, i64 %71 %73 = load float, float* %72, align 4, !tbaa !2362 %74 = getelementptr inbounds float, float* %4, i64 %71 store float %73, float* %74, align 4, !tbaa !2365 %75 = or i64 %23, 13 %76 = getelementptr inbounds float, float* %7, i64 %75 %77 = load float, float* %76, align 4, !tbaa !2362 %78 = getelementptr inbounds float, float* %4, i64 %75 store float %77, float* %78, align 4, !tbaa !2365 %79 = or i64 %23, 14 %80 = getelementptr inbounds float, float* %7, i64 %79 %81 = load float, float* %80, align 4, !tbaa !2362 %82 = getelementptr inbounds float, float* %4, i64 %79 store float %81, float* %82, align 4, !tbaa !2365 %83 = or i64 %23, 15 %84 = getelementptr inbounds float, float* %7, i64 %83 %85 = load float, float* %84, align 4, !tbaa !2362 %86 = getelementptr inbounds float, float* %4, i64 %83 store float %85, float* %86, align 4, !tbaa !2365 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 4 br i1 %exitcond.not, label %for_end6, label %for_begin7.preheader, !prof !58 for_end6: ; preds = %for_begin7.preheader %87 = add nsw i64 %21, 64 br label %for_begin7.preheader.1 for_begin7.preheader.1: ; preds = %for_begin7.preheader.1, %for_end6 %indvars.iv.1 = phi i64 [ 0, %for_end6 ], [ %indvars.iv.next.1, %for_begin7.preheader.1 ] %88 = shl nsw i64 %indvars.iv.1, 4 %89 = add nsw i64 %87, %88 %90 = getelementptr inbounds float, float* %7, i64 %89 %91 = load float, float* %90, align 4, !tbaa !2362 %92 = getelementptr inbounds float, float* %4, i64 %89 store float %91, float* %92, align 4, !tbaa !2365 %93 = or i64 %89, 1 %94 = getelementptr inbounds float, float* %7, i64 %93 %95 = load float, float* %94, align 4, !tbaa !2362 %96 = getelementptr inbounds float, float* %4, i64 %93 store float %95, float* %96, align 4, !tbaa !2365 %97 = or i64 %89, 2 %98 = getelementptr inbounds float, float* %7, i64 %97 %99 = load float, float* %98, align 4, !tbaa !2362 %100 = getelementptr inbounds float, float* %4, i64 %97 store float %99, float* %100, align 4, !tbaa !2365 %101 = or i64 %89, 3 %102 = getelementptr inbounds float, float* %7, i64 %101 %103 = load float, float* %102, align 4, !tbaa !2362 %104 = getelementptr inbounds float, float* %4, i64 %101 store float %103, float* %104, align 4, !tbaa !2365 %105 = or i64 %89, 4 %106 = getelementptr inbounds float, float* %7, i64 %105 %107 = load float, float* %106, align 4, !tbaa !2362 %108 = getelementptr inbounds float, float* %4, i64 %105 store float %107, float* %108, align 4, !tbaa !2365 %109 = or i64 %89, 5 %110 = getelementptr inbounds float, float* %7, i64 %109 %111 = load float, float* %110, align 4, !tbaa !2362 %112 = getelementptr inbounds float, float* %4, i64 %109 store float %111, float* %112, align 4, !tbaa !2365 %113 = or i64 %89, 6 %114 = getelementptr inbounds float, float* %7, i64 %113 %115 = load float, float* %114, align 4, !tbaa !2362 %116 = getelementptr inbounds float, float* %4, i64 %113 store float %115, float* %116, align 4, !tbaa !2365 %117 = or i64 %89, 7 %118 = getelementptr inbounds float, float* %7, i64 %117 %119 = load float, float* %118, align 4, !tbaa !2362 %120 = getelementptr inbounds float, float* %4, i64 %117 store float %119, float* %120, align 4, !tbaa !2365 %121 = or i64 %89, 8 %122 = getelementptr inbounds float, float* %7, i64 %121 %123 = load float, float* %122, align 4, !tbaa !2362 %124 = getelementptr inbounds float, float* %4, i64 %121 store float %123, float* %124, align 4, !tbaa !2365 %125 = or i64 %89, 9 %126 = getelementptr inbounds float, float* %7, i64 %125 %127 = load float, float* %126, align 4, !tbaa !2362 %128 = getelementptr inbounds float, float* %4, i64 %125 store float %127, float* %128, align 4, !tbaa !2365 %129 = or i64 %89, 10 %130 = getelementptr inbounds float, float* %7, i64 %129 %131 = load float, float* %130, align 4, !tbaa !2362 %132 = getelementptr inbounds float, float* %4, i64 %129 store float %131, float* %132, align 4, !tbaa !2365 %133 = or i64 %89, 11 %134 = getelementptr inbounds float, float* %7, i64 %133 %135 = load float, float* %134, align 4, !tbaa !2362 %136 = getelementptr inbounds float, float* %4, i64 %133 store float %135, float* %136, align 4, !tbaa !2365 %137 = or i64 %89, 12 %138 = getelementptr inbounds float, float* %7, i64 %137 %139 = load float, float* %138, align 4, !tbaa !2362 %140 = getelementptr inbounds float, float* %4, i64 %137 store float %139, float* %140, align 4, !tbaa !2365 %141 = or i64 %89, 13 %142 = getelementptr inbounds float, float* %7, i64 %141 %143 = load float, float* %142, align 4, !tbaa !2362 %144 = getelementptr inbounds float, float* %4, i64 %141 store float %143, float* %144, align 4, !tbaa !2365 %145 = or i64 %89, 14 %146 = getelementptr inbounds float, float* %7, i64 %145 %147 = load float, float* %146, align 4, !tbaa !2362 %148 = getelementptr inbounds float, float* %4, i64 %145 store float %147, float* %148, align 4, !tbaa !2365 %149 = or i64 %89, 15 %150 = getelementptr inbounds float, float* %7, i64 %149 %151 = load float, float* %150, align 4, !tbaa !2362 %152 = getelementptr inbounds float, float* %4, i64 %149 store float %151, float* %152, align 4, !tbaa !2365 %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv.1, 1 %exitcond.1.not = icmp eq i64 %indvars.iv.next.1, 4 br i1 %exitcond.1.not, label %for_end6.1, label %for_begin7.preheader.1, !prof !58 for_end6.1: ; preds = %for_begin7.preheader.1 %153 = add nsw i64 %21, 128 br label %for_begin7.preheader.2 for_begin7.preheader.2: ; preds = %for_begin7.preheader.2, %for_end6.1 %indvars.iv.2 = phi i64 [ 0, %for_end6.1 ], [ %indvars.iv.next.2, %for_begin7.preheader.2 ] %154 = shl nsw i64 %indvars.iv.2, 4 %155 = add nsw i64 %153, %154 %156 = getelementptr inbounds float, float* %7, i64 %155 %157 = load float, float* %156, align 4, !tbaa !2362 %158 = getelementptr inbounds float, float* %4, i64 %155 store float %157, float* %158, align 4, !tbaa !2365 %159 = or i64 %155, 1 %160 = getelementptr inbounds float, float* %7, i64 %159 %161 = load float, float* %160, align 4, !tbaa !2362 %162 = getelementptr inbounds float, float* %4, i64 %159 store float %161, float* %162, align 4, !tbaa !2365 %163 = or i64 %155, 2 %164 = getelementptr inbounds float, float* %7, i64 %163 %165 = load float, float* %164, align 4, !tbaa !2362 %166 = getelementptr inbounds float, float* %4, i64 %163 store float %165, float* %166, align 4, !tbaa !2365 %167 = or i64 %155, 3 %168 = getelementptr inbounds float, float* %7, i64 %167 %169 = load float, float* %168, align 4, !tbaa !2362 %170 = getelementptr inbounds float, float* %4, i64 %167 store float %169, float* %170, align 4, !tbaa !2365 %171 = or i64 %155, 4 %172 = getelementptr inbounds float, float* %7, i64 %171 %173 = load float, float* %172, align 4, !tbaa !2362 %174 = getelementptr inbounds float, float* %4, i64 %171 store float %173, float* %174, align 4, !tbaa !2365 %175 = or i64 %155, 5 %176 = getelementptr inbounds float, float* %7, i64 %175 %177 = load float, float* %176, align 4, !tbaa !2362 %178 = getelementptr inbounds float, float* %4, i64 %175 store float %177, float* %178, align 4, !tbaa !2365 %179 = or i64 %155, 6 %180 = getelementptr inbounds float, float* %7, i64 %179 %181 = load float, float* %180, align 4, !tbaa !2362 %182 = getelementptr inbounds float, float* %4, i64 %179 store float %181, float* %182, align 4, !tbaa !2365 %183 = or i64 %155, 7 %184 = getelementptr inbounds float, float* %7, i64 %183 %185 = load float, float* %184, align 4, !tbaa !2362 %186 = getelementptr inbounds float, float* %4, i64 %183 store float %185, float* %186, align 4, !tbaa !2365 %187 = or i64 %155, 8 %188 = getelementptr inbounds float, float* %7, i64 %187 %189 = load float, float* %188, align 4, !tbaa !2362 %190 = getelementptr inbounds float, float* %4, i64 %187 store float %189, float* %190, align 4, !tbaa !2365 %191 = or i64 %155, 9 %192 = getelementptr inbounds float, float* %7, i64 %191 %193 = load float, float* %192, align 4, !tbaa !2362 %194 = getelementptr inbounds float, float* %4, i64 %191 store float %193, float* %194, align 4, !tbaa !2365 %195 = or i64 %155, 10 %196 = getelementptr inbounds float, float* %7, i64 %195 %197 = load float, float* %196, align 4, !tbaa !2362 %198 = getelementptr inbounds float, float* %4, i64 %195 store float %197, float* %198, align 4, !tbaa !2365 %199 = or i64 %155, 11 %200 = getelementptr inbounds float, float* %7, i64 %199 %201 = load float, float* %200, align 4, !tbaa !2362 %202 = getelementptr inbounds float, float* %4, i64 %199 store float %201, float* %202, align 4, !tbaa !2365 %203 = or i64 %155, 12 %204 = getelementptr inbounds float, float* %7, i64 %203 %205 = load float, float* %204, align 4, !tbaa !2362 %206 = getelementptr inbounds float, float* %4, i64 %203 store float %205, float* %206, align 4, !tbaa !2365 %207 = or i64 %155, 13 %208 = getelementptr inbounds float, float* %7, i64 %207 %209 = load float, float* %208, align 4, !tbaa !2362 %210 = getelementptr inbounds float, float* %4, i64 %207 store float %209, float* %210, align 4, !tbaa !2365 %211 = or i64 %155, 14 %212 = getelementptr inbounds float, float* %7, i64 %211 %213 = load float, float* %212, align 4, !tbaa !2362 %214 = getelementptr inbounds float, float* %4, i64 %211 store float %213, float* %214, align 4, !tbaa !2365 %215 = or i64 %155, 15 %216 = getelementptr inbounds float, float* %7, i64 %215 %217 = load float, float* %216, align 4, !tbaa !2362 %218 = getelementptr inbounds float, float* %4, i64 %215 store float %217, float* %218, align 4, !tbaa !2365 %indvars.iv.next.2 = add nuw nsw i64 %indvars.iv.2, 1 %exitcond.2.not = icmp eq i64 %indvars.iv.next.2, 4 br i1 %exitcond.2.not, label %for_end6.2, label %for_begin7.preheader.2, !prof !58 for_end6.2: ; preds = %for_begin7.preheader.2 %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 !58 } 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.205, 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 !2368 %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 !2382 %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.206, 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.207, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2384 %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.171, 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 !2398 %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.94, 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 !58 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !2400 %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 !2414 %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.172, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !2416 %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.71, 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 !2430 %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.72, 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 !2432 %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.164, 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 !58 if_then33: ; preds = %assert_end32 %106 = load i64, i64* %31, align 8, !tbaa !2435 %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 !2449 %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 !2451 %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.208, 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.22, 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.23, 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.24, 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 #3 { 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.209, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.209(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, 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.iv10 = phi i64 [ %20, %for_begin1.preheader.preheader ], [ %indvars.iv.next11, %for_end3 ] %21 = phi i32 [ %18, %for_begin1.preheader.preheader ], [ %89, %for_end3 ] %22 = shl nsw i32 %21, 7 %23 = 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 ] %24 = shl nsw i64 %indvars.iv, 4 %25 = add nsw i64 %24, %23 %26 = getelementptr inbounds float, float* %7, i64 %25 %27 = load float, float* %26, align 4, !tbaa !2454 %28 = getelementptr inbounds float, float* %4, i64 %25 store float %27, float* %28, align 4, !tbaa !2457 %29 = or i64 %25, 1 %30 = getelementptr inbounds float, float* %7, i64 %29 %31 = load float, float* %30, align 4, !tbaa !2454 %32 = getelementptr inbounds float, float* %4, i64 %29 store float %31, float* %32, align 4, !tbaa !2457 %33 = or i64 %25, 2 %34 = getelementptr inbounds float, float* %7, i64 %33 %35 = load float, float* %34, align 4, !tbaa !2454 %36 = getelementptr inbounds float, float* %4, i64 %33 store float %35, float* %36, align 4, !tbaa !2457 %37 = or i64 %25, 3 %38 = getelementptr inbounds float, float* %7, i64 %37 %39 = load float, float* %38, align 4, !tbaa !2454 %40 = getelementptr inbounds float, float* %4, i64 %37 store float %39, float* %40, align 4, !tbaa !2457 %41 = or i64 %25, 4 %42 = getelementptr inbounds float, float* %7, i64 %41 %43 = load float, float* %42, align 4, !tbaa !2454 %44 = getelementptr inbounds float, float* %4, i64 %41 store float %43, float* %44, align 4, !tbaa !2457 %45 = or i64 %25, 5 %46 = getelementptr inbounds float, float* %7, i64 %45 %47 = load float, float* %46, align 4, !tbaa !2454 %48 = getelementptr inbounds float, float* %4, i64 %45 store float %47, float* %48, align 4, !tbaa !2457 %49 = or i64 %25, 6 %50 = getelementptr inbounds float, float* %7, i64 %49 %51 = load float, float* %50, align 4, !tbaa !2454 %52 = getelementptr inbounds float, float* %4, i64 %49 store float %51, float* %52, align 4, !tbaa !2457 %53 = or i64 %25, 7 %54 = getelementptr inbounds float, float* %7, i64 %53 %55 = load float, float* %54, align 4, !tbaa !2454 %56 = getelementptr inbounds float, float* %4, i64 %53 store float %55, float* %56, align 4, !tbaa !2457 %57 = or i64 %25, 8 %58 = getelementptr inbounds float, float* %7, i64 %57 %59 = load float, float* %58, align 4, !tbaa !2454 %60 = getelementptr inbounds float, float* %4, i64 %57 store float %59, float* %60, align 4, !tbaa !2457 %61 = or i64 %25, 9 %62 = getelementptr inbounds float, float* %7, i64 %61 %63 = load float, float* %62, align 4, !tbaa !2454 %64 = getelementptr inbounds float, float* %4, i64 %61 store float %63, float* %64, align 4, !tbaa !2457 %65 = or i64 %25, 10 %66 = getelementptr inbounds float, float* %7, i64 %65 %67 = load float, float* %66, align 4, !tbaa !2454 %68 = getelementptr inbounds float, float* %4, i64 %65 store float %67, float* %68, align 4, !tbaa !2457 %69 = or i64 %25, 11 %70 = getelementptr inbounds float, float* %7, i64 %69 %71 = load float, float* %70, align 4, !tbaa !2454 %72 = getelementptr inbounds float, float* %4, i64 %69 store float %71, float* %72, align 4, !tbaa !2457 %73 = or i64 %25, 12 %74 = getelementptr inbounds float, float* %7, i64 %73 %75 = load float, float* %74, align 4, !tbaa !2454 %76 = getelementptr inbounds float, float* %4, i64 %73 store float %75, float* %76, align 4, !tbaa !2457 %77 = or i64 %25, 13 %78 = getelementptr inbounds float, float* %7, i64 %77 %79 = load float, float* %78, align 4, !tbaa !2454 %80 = getelementptr inbounds float, float* %4, i64 %77 store float %79, float* %80, align 4, !tbaa !2457 %81 = or i64 %25, 14 %82 = getelementptr inbounds float, float* %7, i64 %81 %83 = load float, float* %82, align 4, !tbaa !2454 %84 = getelementptr inbounds float, float* %4, i64 %81 store float %83, float* %84, align 4, !tbaa !2457 %85 = or i64 %25, 15 %86 = getelementptr inbounds float, float* %7, i64 %85 %87 = load float, float* %86, align 4, !tbaa !2454 %88 = getelementptr inbounds float, float* %4, i64 %85 store float %87, float* %88, align 4, !tbaa !2457 %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 !58 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next11 = add nsw i64 %indvars.iv10, 1 %89 = add nsw i32 %21, 1 %exitcond12.not = icmp eq i64 %indvars.iv.next11, %wide.trip.count br i1 %exitcond12.not, label %for_end, label %for_begin1.preheader, !prof !58 } 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.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 !2460 %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 !2474 %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 !2476 %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 !2479 %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 !2481 %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 !2485 %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.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 %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.212, 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.213, 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.214, 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.215, 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.216, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end18: ; preds = %assert_end16 %102 = load i64, i64* %45, align 8, !tbaa !2487 %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.217, 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 !2501 %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.150, 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 !58 if_then: ; preds = %assert_end22 %111 = load i64, i64* %47, align 8, !tbaa !2503 %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 !2517 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end34: ; preds = %assert_end32 %144 = load i64, i64* %53, align 8, !tbaa !2519 %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.218, 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 !2533 %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.72, 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 !58 if_then39: ; preds = %assert_end38 %153 = load i64, i64* %55, align 8, !tbaa !2535 %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 !2549 %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.173, 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.22, 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.23, 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.24, 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.142, 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.26, i64 0, i64 0)) ret i32 -1 assert_end54: ; preds = %assert_end52 %190 = load i64, i64* %59, align 8, !tbaa !2551 %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.219, 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 !2565 %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.220, 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 !58 if_then59: ; preds = %assert_end58 %199 = load i64, i64* %61, align 8, !tbaa !2567 %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 !2581 %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.221, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end74: ; preds = %assert_end72 %236 = load i64, i64* %65, align 8, !tbaa !2583 %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.189, 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 !2597 %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.222, 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 !58 if_then79: ; preds = %assert_end78 %245 = load i64, i64* %67, align 8, !tbaa !2599 %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 !2613 %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.223, 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.38, 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.39, 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.40, 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.224, 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.42, i64 0, i64 0)) ret i32 -1 assert_end94: ; preds = %assert_end92 %282 = load i64, i64* %71, align 8, !tbaa !2615 %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.225, 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 !2629 %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.226, 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 !2631 %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.227, 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 !58 if_then101: ; preds = %assert_end100 %296 = load i64, i64* %73, align 8, !tbaa !2634 %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 !2648 %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 !2650 %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.228, 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.45, 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.46, 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.47, 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.109, 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.49, i64 0, i64 0)) ret i32 -1 assert_end116: ; preds = %assert_end114 %338 = load i64, i64* %77, align 8, !tbaa !2653 %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.110, 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 !2667 %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.111, 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 !2669 %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.112, 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 !58 if_then123: ; preds = %assert_end122 %352 = load i64, i64* %79, align 8, !tbaa !2672 %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 !2686 %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 !2688 %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.113, 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.52, 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.53, 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.54, 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 #3 { entry: %6 = alloca %16, align 8 %7 = getelementptr inbounds %16, %16* %6, i64 0, i32 0 store i8* %0, i8** %7, align 8 %8 = getelementptr inbounds %16, %16* %6, i64 0, i32 1 store i8* %1, i8** %8, align 8 %9 = getelementptr inbounds %16, %16* %6, i64 0, i32 2 store i8* %2, i8** %9, align 8 %10 = getelementptr inbounds %16, %16* %6, i64 0, i32 3 store i8* %3, i8** %10, align 8 %11 = getelementptr inbounds %16, %16* %6, i64 0, i32 4 store i8* %4, i8** %11, align 8 %12 = getelementptr inbounds %16, %16* %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 %16* %6 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.229, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.229(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.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 !2691 %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 !2694 %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 !2697 %59 = add nuw nsw i64 %53, %50 %60 = getelementptr inbounds float, float* %13, i64 %59 %61 = load float, float* %60, align 4, !tbaa !2700 %62 = add nuw nsw i64 %53, %49 %63 = getelementptr inbounds float, float* %7, i64 %62 %64 = load float, float* %63, align 4, !tbaa !2703 %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 !2706 %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 !2697 %74 = add nuw nsw i64 %68, %50 %75 = getelementptr inbounds float, float* %13, i64 %74 %76 = load float, float* %75, align 4, !tbaa !2700 %77 = add nuw nsw i64 %68, %49 %78 = getelementptr inbounds float, float* %7, i64 %77 %79 = load float, float* %78, align 4, !tbaa !2703 %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 !2706 %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 !2697 %89 = add nuw nsw i64 %83, %50 %90 = getelementptr inbounds float, float* %13, i64 %89 %91 = load float, float* %90, align 4, !tbaa !2700 %92 = add nuw nsw i64 %83, %49 %93 = getelementptr inbounds float, float* %7, i64 %92 %94 = load float, float* %93, align 4, !tbaa !2703 %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 !2706 %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 !2697 %104 = add nuw nsw i64 %98, %50 %105 = getelementptr inbounds float, float* %13, i64 %104 %106 = load float, float* %105, align 4, !tbaa !2700 %107 = add nuw nsw i64 %98, %49 %108 = getelementptr inbounds float, float* %7, i64 %107 %109 = load float, float* %108, align 4, !tbaa !2703 %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 !2706 %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 !2697 %119 = add nuw nsw i64 %113, %50 %120 = getelementptr inbounds float, float* %13, i64 %119 %121 = load float, float* %120, align 4, !tbaa !2700 %122 = add nuw nsw i64 %113, %49 %123 = getelementptr inbounds float, float* %7, i64 %122 %124 = load float, float* %123, align 4, !tbaa !2703 %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 !2706 %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 !2697 %134 = add nuw nsw i64 %128, %50 %135 = getelementptr inbounds float, float* %13, i64 %134 %136 = load float, float* %135, align 4, !tbaa !2700 %137 = add nuw nsw i64 %128, %49 %138 = getelementptr inbounds float, float* %7, i64 %137 %139 = load float, float* %138, align 4, !tbaa !2703 %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 !2706 %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 !2697 %149 = add nuw nsw i64 %143, %50 %150 = getelementptr inbounds float, float* %13, i64 %149 %151 = load float, float* %150, align 4, !tbaa !2700 %152 = add nuw nsw i64 %143, %49 %153 = getelementptr inbounds float, float* %7, i64 %152 %154 = load float, float* %153, align 4, !tbaa !2703 %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 !2706 %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 !2697 %164 = add nuw nsw i64 %158, %50 %165 = getelementptr inbounds float, float* %13, i64 %164 %166 = load float, float* %165, align 4, !tbaa !2700 %167 = add nuw nsw i64 %158, %49 %168 = getelementptr inbounds float, float* %7, i64 %167 %169 = load float, float* %168, align 4, !tbaa !2703 %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 !2706 %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 !2697 %179 = add nuw nsw i64 %173, %50 %180 = getelementptr inbounds float, float* %13, i64 %179 %181 = load float, float* %180, align 4, !tbaa !2700 %182 = add nuw nsw i64 %173, %49 %183 = getelementptr inbounds float, float* %7, i64 %182 %184 = load float, float* %183, align 4, !tbaa !2703 %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 !2706 %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 !2697 %194 = add nuw nsw i64 %188, %50 %195 = getelementptr inbounds float, float* %13, i64 %194 %196 = load float, float* %195, align 4, !tbaa !2700 %197 = add nuw nsw i64 %188, %49 %198 = getelementptr inbounds float, float* %7, i64 %197 %199 = load float, float* %198, align 4, !tbaa !2703 %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 !2706 %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 !2697 %209 = add nuw nsw i64 %203, %50 %210 = getelementptr inbounds float, float* %13, i64 %209 %211 = load float, float* %210, align 4, !tbaa !2700 %212 = add nuw nsw i64 %203, %49 %213 = getelementptr inbounds float, float* %7, i64 %212 %214 = load float, float* %213, align 4, !tbaa !2703 %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 !2706 %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 !2697 %224 = add nuw nsw i64 %218, %50 %225 = getelementptr inbounds float, float* %13, i64 %224 %226 = load float, float* %225, align 4, !tbaa !2700 %227 = add nuw nsw i64 %218, %49 %228 = getelementptr inbounds float, float* %7, i64 %227 %229 = load float, float* %228, align 4, !tbaa !2703 %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 !2706 %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 !2697 %239 = add nuw nsw i64 %233, %50 %240 = getelementptr inbounds float, float* %13, i64 %239 %241 = load float, float* %240, align 4, !tbaa !2700 %242 = add nuw nsw i64 %233, %49 %243 = getelementptr inbounds float, float* %7, i64 %242 %244 = load float, float* %243, align 4, !tbaa !2703 %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 !2706 %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 !2697 %254 = add nuw nsw i64 %248, %50 %255 = getelementptr inbounds float, float* %13, i64 %254 %256 = load float, float* %255, align 4, !tbaa !2700 %257 = add nuw nsw i64 %248, %49 %258 = getelementptr inbounds float, float* %7, i64 %257 %259 = load float, float* %258, align 4, !tbaa !2703 %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 !2706 %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 !2697 %269 = add nuw nsw i64 %263, %50 %270 = getelementptr inbounds float, float* %13, i64 %269 %271 = load float, float* %270, align 4, !tbaa !2700 %272 = add nuw nsw i64 %263, %49 %273 = getelementptr inbounds float, float* %7, i64 %272 %274 = load float, float* %273, align 4, !tbaa !2703 %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 !2706 %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 !2697 %284 = add nuw nsw i64 %278, %50 %285 = getelementptr inbounds float, float* %13, i64 %284 %286 = load float, float* %285, align 4, !tbaa !2700 %287 = add nuw nsw i64 %278, %49 %288 = getelementptr inbounds float, float* %7, i64 %287 %289 = load float, float* %288, align 4, !tbaa !2703 %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 !2706 %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 !58 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 !58 } 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.230, 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 !2709 %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 !2723 %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.231, 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.232, 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.66, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2725 %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.10, 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 !2739 %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.11, 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 !2741 %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.67, 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 !2744 %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.68, 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 !2746 %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.69, 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 !58 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !2750 %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 !2764 %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 !2766 %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 !2769 %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 !2771 %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.70, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !2775 %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.71, 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 !2789 %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.163, 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 !2791 %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.164, 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 !58 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !2794 %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 !2808 %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 !2810 %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.165, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca %17, align 8 %3 = getelementptr inbounds %17, %17* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %17, %17* %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 %17* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.233, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.233(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, 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 ], [ %129, %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 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 ] %30 = shl nsw i64 %indvars.iv, 4 %31 = add nsw i64 %30, %29 %32 = trunc i64 %indvars.iv to i32 %33 = mul i32 %32, 36864 %34 = add i32 %28, %33 %35 = sext i32 %34 to i64 %36 = getelementptr inbounds float, float* %7, i64 %35 %37 = load float, float* %36, align 4, !tbaa !2813 %38 = getelementptr inbounds float, float* %4, i64 %31 store float %37, float* %38, align 4, !tbaa !2816 %39 = or i64 %31, 1 %40 = add i32 %34, 2304 %41 = sext i32 %40 to i64 %42 = getelementptr inbounds float, float* %7, i64 %41 %43 = load float, float* %42, align 4, !tbaa !2813 %44 = getelementptr inbounds float, float* %4, i64 %39 store float %43, float* %44, align 4, !tbaa !2816 %45 = or i64 %31, 2 %46 = add i32 %34, 4608 %47 = sext i32 %46 to i64 %48 = getelementptr inbounds float, float* %7, i64 %47 %49 = load float, float* %48, align 4, !tbaa !2813 %50 = getelementptr inbounds float, float* %4, i64 %45 store float %49, float* %50, align 4, !tbaa !2816 %51 = or i64 %31, 3 %52 = add i32 %34, 6912 %53 = sext i32 %52 to i64 %54 = getelementptr inbounds float, float* %7, i64 %53 %55 = load float, float* %54, align 4, !tbaa !2813 %56 = getelementptr inbounds float, float* %4, i64 %51 store float %55, float* %56, align 4, !tbaa !2816 %57 = or i64 %31, 4 %58 = add i32 %34, 9216 %59 = sext i32 %58 to i64 %60 = getelementptr inbounds float, float* %7, i64 %59 %61 = load float, float* %60, align 4, !tbaa !2813 %62 = getelementptr inbounds float, float* %4, i64 %57 store float %61, float* %62, align 4, !tbaa !2816 %63 = or i64 %31, 5 %64 = add i32 %34, 11520 %65 = sext i32 %64 to i64 %66 = getelementptr inbounds float, float* %7, i64 %65 %67 = load float, float* %66, align 4, !tbaa !2813 %68 = getelementptr inbounds float, float* %4, i64 %63 store float %67, float* %68, align 4, !tbaa !2816 %69 = or i64 %31, 6 %70 = add i32 %34, 13824 %71 = sext i32 %70 to i64 %72 = getelementptr inbounds float, float* %7, i64 %71 %73 = load float, float* %72, align 4, !tbaa !2813 %74 = getelementptr inbounds float, float* %4, i64 %69 store float %73, float* %74, align 4, !tbaa !2816 %75 = or i64 %31, 7 %76 = add i32 %34, 16128 %77 = sext i32 %76 to i64 %78 = getelementptr inbounds float, float* %7, i64 %77 %79 = load float, float* %78, align 4, !tbaa !2813 %80 = getelementptr inbounds float, float* %4, i64 %75 store float %79, float* %80, align 4, !tbaa !2816 %81 = or i64 %31, 8 %82 = add i32 %34, 18432 %83 = sext i32 %82 to i64 %84 = getelementptr inbounds float, float* %7, i64 %83 %85 = load float, float* %84, align 4, !tbaa !2813 %86 = getelementptr inbounds float, float* %4, i64 %81 store float %85, float* %86, align 4, !tbaa !2816 %87 = or i64 %31, 9 %88 = add i32 %34, 20736 %89 = sext i32 %88 to i64 %90 = getelementptr inbounds float, float* %7, i64 %89 %91 = load float, float* %90, align 4, !tbaa !2813 %92 = getelementptr inbounds float, float* %4, i64 %87 store float %91, float* %92, align 4, !tbaa !2816 %93 = or i64 %31, 10 %94 = add i32 %34, 23040 %95 = sext i32 %94 to i64 %96 = getelementptr inbounds float, float* %7, i64 %95 %97 = load float, float* %96, align 4, !tbaa !2813 %98 = getelementptr inbounds float, float* %4, i64 %93 store float %97, float* %98, align 4, !tbaa !2816 %99 = or i64 %31, 11 %100 = add i32 %34, 25344 %101 = sext i32 %100 to i64 %102 = getelementptr inbounds float, float* %7, i64 %101 %103 = load float, float* %102, align 4, !tbaa !2813 %104 = getelementptr inbounds float, float* %4, i64 %99 store float %103, float* %104, align 4, !tbaa !2816 %105 = or i64 %31, 12 %106 = add i32 %34, 27648 %107 = sext i32 %106 to i64 %108 = getelementptr inbounds float, float* %7, i64 %107 %109 = load float, float* %108, align 4, !tbaa !2813 %110 = getelementptr inbounds float, float* %4, i64 %105 store float %109, float* %110, align 4, !tbaa !2816 %111 = or i64 %31, 13 %112 = add i32 %34, 29952 %113 = sext i32 %112 to i64 %114 = getelementptr inbounds float, float* %7, i64 %113 %115 = load float, float* %114, align 4, !tbaa !2813 %116 = getelementptr inbounds float, float* %4, i64 %111 store float %115, float* %116, align 4, !tbaa !2816 %117 = or i64 %31, 14 %118 = add i32 %34, 32256 %119 = sext i32 %118 to i64 %120 = getelementptr inbounds float, float* %7, i64 %119 %121 = load float, float* %120, align 4, !tbaa !2813 %122 = getelementptr inbounds float, float* %4, i64 %117 store float %121, float* %122, align 4, !tbaa !2816 %123 = or i64 %31, 15 %124 = add i32 %34, 34560 %125 = sext i32 %124 to i64 %126 = getelementptr inbounds float, float* %7, i64 %125 %127 = load float, float* %126, align 4, !tbaa !2813 %128 = getelementptr inbounds float, float* %4, i64 %123 store float %127, float* %128, align 4, !tbaa !2816 %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 !58 for_end3: ; preds = %for_begin4.preheader %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1 %129 = 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 !58 } 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.234, 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 !2819 %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 !2833 %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.235, 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.236, 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.66, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2835 %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.10, 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 !2849 %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.11, 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 !2851 %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.67, 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 !2854 %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.68, 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 !2856 %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.69, 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 !58 if_then: ; preds = %assert_end20 %74 = load i64, i64* %23, align 8, !tbaa !2860 %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 !2874 %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 !2876 %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 !2879 %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 !2881 %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.70, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end32: ; preds = %assert_end30 %122 = load i64, i64* %29, align 8, !tbaa !2885 %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.71, 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 !2899 %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.72, 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 !2901 %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.73, 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 !58 if_then39: ; preds = %assert_end38 %136 = load i64, i64* %31, align 8, !tbaa !2904 %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 !2918 %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 !2920 %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.74, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca %18, align 8 %3 = getelementptr inbounds %18, %18* %2, i64 0, i32 0 store i8* %0, i8** %3, align 8 %4 = getelementptr inbounds %18, %18* %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 %18* %2 to i8* %7 = call i32 %5(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.237, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.237(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, 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 !2923 %38 = fmul float %37, 1.250000e-01 %39 = getelementptr inbounds float, float* %4, i64 %32 store float %38, float* %39, align 4, !tbaa !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !2923 %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 !2926 %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 !58 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 !58 } 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.238, 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 !2929 %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 !2943 %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.239, 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.240, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !2945 %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.80, 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 !2959 %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.150, 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 !58 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !2961 %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 !2975 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !2977 %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.218, 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 !2991 %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.153, 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 !58 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !2993 %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 !3007 %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.154, 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.22, 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.23, 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.24, 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_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.241, 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 !3009 %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 !3023 %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.242, 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.243, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3025 %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.10, 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 !3039 %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.11, 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 !3041 %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.12, 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 !58 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !3044 %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 !3058 %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 !3060 %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.13, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !3063 %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.18, 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 !3077 %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.19, 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 !3079 %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.20, 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 !58 if_then35: ; preds = %assert_end34 %116 = load i64, i64* %31, align 8, !tbaa !3082 %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 !3096 %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 !3098 %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.21, 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.22, 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.23, 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.24, 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 #3 { entry: %2 = alloca [128 x float], align 16 %3 = alloca %19, align 8 %.sub = getelementptr inbounds [128 x float], [128 x float]* %2, i64 0, i64 0 %4 = getelementptr inbounds %19, %19* %3, i64 0, i32 0 store float* %.sub, float** %4, align 8 %5 = getelementptr inbounds %19, %19* %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 %19* %3 to i8* %8 = call i32 %6(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.244, 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 %20, align 8 %11 = getelementptr inbounds %20, %20* %10, i64 0, i32 0 store i8* %1, i8** %11, align 8 %12 = getelementptr inbounds %20, %20* %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 %20* %10 to i8* %15 = call i32 %13(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.245, i8* nonnull %14, i32 0) ret i32 %15 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.244(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_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 !3101 %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 !3104 %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 !58 for_end3: ; preds = %for_body2 store float %27, float* %21, align 4, !tbaa !3101 %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 !58 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.245(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_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, 3 br i1 %min.iters.check, label %for_body.preheader3, label %vector.ph vector.ph: ; preds = %for_body.preheader %n.mod.vf = urem i64 %21, 3 %n.vec = sub nsw i64 %21, %n.mod.vf %ind.end = add nsw i64 %n.vec, %20 br label %vector.body vector.body: ; preds = %vector.body, %vector.ph %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %offset.idx = add i64 %index, %20 %induction1 = add i64 %offset.idx, 1 %induction2 = add i64 %offset.idx, 2 %22 = getelementptr inbounds float, float* %7, i64 %offset.idx %23 = getelementptr inbounds float, float* %7, i64 %induction1 %24 = getelementptr inbounds float, float* %7, i64 %induction2 %25 = load float, float* %22, align 4, !tbaa !3101 %26 = load float, float* %23, align 4, !tbaa !3101 %27 = load float, float* %24, align 4, !tbaa !3101 %28 = fmul float %25, 0x3F55555560000000 %29 = fmul float %26, 0x3F55555560000000 %30 = fmul float %27, 0x3F55555560000000 %31 = getelementptr inbounds float, float* %4, i64 %offset.idx %32 = getelementptr inbounds float, float* %4, i64 %induction1 %33 = getelementptr inbounds float, float* %4, i64 %induction2 store float %28, float* %31, align 4, !tbaa !3107 store float %29, float* %32, align 4, !tbaa !3107 store float %30, float* %33, align 4, !tbaa !3107 %index.next = add i64 %index, 3 %34 = icmp eq i64 %index.next, %n.vec br i1 %34, label %middle.block, label %vector.body, !prof !1208, !llvm.loop !3110 middle.block: ; preds = %vector.body %cmp.n = icmp eq i64 %n.mod.vf, 0 br i1 %cmp.n, label %for_end, label %for_body.preheader3 for_body.preheader3: ; 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.preheader3, %for_body %indvars.iv = phi i64 [ %indvars.iv.next, %for_body ], [ %indvars.iv.ph, %for_body.preheader3 ] %35 = getelementptr inbounds float, float* %7, i64 %indvars.iv %36 = load float, float* %35, align 4, !tbaa !3101 %37 = fmul float %36, 0x3F55555560000000 %38 = getelementptr inbounds float, float* %4, i64 %indvars.iv store float %37, float* %38, align 4, !tbaa !3107 %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 !3111, !llvm.loop !3112 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.246, 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 !3113 %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 !3127 %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.247, 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.248, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3129 %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.93, 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 !3143 %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.94, 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 !3145 %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.95, 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 !58 if_then: ; preds = %assert_end16 %64 = load i64, i64* %23, align 8, !tbaa !3148 %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 !3162 %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 !3164 %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.96, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end28: ; preds = %assert_end26 %102 = load i64, i64* %29, align 8, !tbaa !3167 %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.18, 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 !3181 %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.153, 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 !58 if_then33: ; preds = %assert_end32 %111 = load i64, i64* %31, align 8, !tbaa !3183 %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 !3197 %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.154, 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.22, 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.23, 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.24, 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 #3 { 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.249, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.249(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, 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 !3199 %35 = sext i32 %25 to i64 %36 = getelementptr inbounds float, float* %4, i64 %35 store float %34, float* %36, align 4, !tbaa !3202 %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 !3199 %49 = sext i32 %39 to i64 %50 = getelementptr inbounds float, float* %4, i64 %49 store float %48, float* %50, align 4, !tbaa !3202 %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 !3199 %63 = sext i32 %53 to i64 %64 = getelementptr inbounds float, float* %4, i64 %63 store float %62, float* %64, align 4, !tbaa !3202 %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 !3199 %77 = sext i32 %67 to i64 %78 = getelementptr inbounds float, float* %4, i64 %77 store float %76, float* %78, align 4, !tbaa !3202 %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 !3199 %91 = sext i32 %81 to i64 %92 = getelementptr inbounds float, float* %4, i64 %91 store float %90, float* %92, align 4, !tbaa !3202 %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 !3199 %105 = sext i32 %95 to i64 %106 = getelementptr inbounds float, float* %4, i64 %105 store float %104, float* %106, align 4, !tbaa !3202 %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 !3199 %119 = sext i32 %109 to i64 %120 = getelementptr inbounds float, float* %4, i64 %119 store float %118, float* %120, align 4, !tbaa !3202 %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 !3199 %133 = sext i32 %123 to i64 %134 = getelementptr inbounds float, float* %4, i64 %133 store float %132, float* %134, align 4, !tbaa !3202 %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 !3199 %147 = sext i32 %137 to i64 %148 = getelementptr inbounds float, float* %4, i64 %147 store float %146, float* %148, align 4, !tbaa !3202 %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 !3199 %161 = sext i32 %151 to i64 %162 = getelementptr inbounds float, float* %4, i64 %161 store float %160, float* %162, align 4, !tbaa !3202 %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 !3199 %175 = sext i32 %165 to i64 %176 = getelementptr inbounds float, float* %4, i64 %175 store float %174, float* %176, align 4, !tbaa !3202 %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 !3199 %189 = sext i32 %179 to i64 %190 = getelementptr inbounds float, float* %4, i64 %189 store float %188, float* %190, align 4, !tbaa !3202 %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 !3199 %203 = sext i32 %193 to i64 %204 = getelementptr inbounds float, float* %4, i64 %203 store float %202, float* %204, align 4, !tbaa !3202 %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 !3199 %217 = sext i32 %207 to i64 %218 = getelementptr inbounds float, float* %4, i64 %217 store float %216, float* %218, align 4, !tbaa !3202 %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 !3199 %231 = sext i32 %221 to i64 %232 = getelementptr inbounds float, float* %4, i64 %231 store float %230, float* %232, align 4, !tbaa !3202 %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 !3199 %245 = sext i32 %235 to i64 %246 = getelementptr inbounds float, float* %4, i64 %245 store float %244, float* %246, align 4, !tbaa !3202 %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 !58 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 !58 } 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.250, 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 !3205 %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 !3219 %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 !3221 %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 !3224 %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.251, 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.252, 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.253, 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.254, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !3226 %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.10, 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 !3240 %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.150, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !3242 %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 !3256 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !3258 %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.124, 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 !3272 %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.153, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !3274 %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 !3288 %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.154, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !3290 %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.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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !3304 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !3318 %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.129, 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 !3332 %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.130, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !3334 %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 !3348 %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.131, 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.38, 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.39, 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.40, 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 #3 { 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 !3350 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !3364 %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 !3366 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !3369 %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 !3371 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 768, i64* %37, align 8, !tbaa !3375 %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 !3377 %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 !3391 %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 !3393 %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 !3396 %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 !3398 %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 !58 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.132, 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 %22, align 8 %76 = getelementptr inbounds %22, %22* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %22, %22* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %22, %22* %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 %22* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.255, 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.255(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 %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.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %24 = mul nsw i64 %indvars.iv4, 768 br label %vector.body vector.body: ; preds = %vector.body, %for_begin1.preheader %index = phi i64 [ 0, %for_begin1.preheader ], [ %index.next, %vector.body ] %induction7 = add i64 %index, 1 %induction8 = add i64 %index, 2 %25 = add nsw i64 %index, %24 %26 = add nsw i64 %induction7, %24 %27 = add nsw i64 %induction8, %24 %28 = getelementptr inbounds float, float* %10, i64 %index %29 = getelementptr inbounds float, float* %10, i64 %induction7 %30 = getelementptr inbounds float, float* %10, i64 %induction8 %31 = load float, float* %28, align 4, !tbaa !3402 %32 = load float, float* %29, align 4, !tbaa !3402 %33 = load float, float* %30, align 4, !tbaa !3402 %34 = getelementptr inbounds float, float* %7, i64 %25 %35 = getelementptr inbounds float, float* %7, i64 %26 %36 = getelementptr inbounds float, float* %7, i64 %27 %37 = load float, float* %34, align 4, !tbaa !3405 %38 = load float, float* %35, align 4, !tbaa !3405 %39 = load float, float* %36, align 4, !tbaa !3405 %40 = fadd float %31, %37 %41 = fadd float %32, %38 %42 = fadd float %33, %39 %43 = getelementptr inbounds float, float* %4, i64 %25 %44 = getelementptr inbounds float, float* %4, i64 %26 %45 = getelementptr inbounds float, float* %4, i64 %27 store float %40, float* %43, align 4, !tbaa !3408 store float %41, float* %44, align 4, !tbaa !3408 store float %42, float* %45, align 4, !tbaa !3408 %index.next = add i64 %index, 3 %46 = icmp eq i64 %index.next, 768 br i1 %46, label %for_end3, label %vector.body, !prof !1208, !llvm.loop !3411 for_end: ; preds = %for_end3, %entry ret i32 0 for_end3: ; preds = %vector.body %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 !58 } 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.256, 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 !3412 %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 !3426 %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 !3428 %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.257, 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.258, 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.259, 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.8, 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.9, i64 0, i64 0)) ret i32 -1 assert_end12: ; preds = %assert_end10 %63 = load i64, i64* %27, align 8, !tbaa !3431 %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.10, 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 !3445 %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.11, 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 !3447 %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.12, 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 !58 if_then: ; preds = %assert_end18 %77 = load i64, i64* %29, align 8, !tbaa !3450 %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 !3464 %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 !3466 %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.13, 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.14, 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.15, 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.16, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %115 = load i64, i64* %35, align 8, !tbaa !3469 %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.18, 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 !3483 %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.19, 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 !3485 %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.20, 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 !58 if_then37: ; preds = %assert_end36 %129 = load i64, i64* %37, align 8, !tbaa !3488 %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 !3502 %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 !3504 %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.21, 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.22, 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.23, 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.24, 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.25, 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.26, i64 0, i64 0)) ret i32 -1 assert_end52: ; preds = %assert_end50 %171 = load i64, i64* %41, align 8, !tbaa !3507 %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.27, 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 !3521 %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.28, 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 !3523 %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.29, 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 !58 if_then59: ; preds = %assert_end58 %185 = load i64, i64* %43, align 8, !tbaa !3526 %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 !3540 %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 !3542 %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.30, 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.31, 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.32, 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.33, 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: 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 #3 { entry: %3 = alloca [128 x float], align 16 %4 = alloca %23, align 8 %.sub = getelementptr inbounds [128 x float], [128 x float]* %3, i64 0, i64 0 %5 = getelementptr inbounds %23, %23* %4, i64 0, i32 0 store float* %.sub, float** %5, align 8 %6 = getelementptr inbounds %23, %23* %4, i64 0, i32 1 store i8* %0, i8** %6, align 8 %7 = getelementptr inbounds %23, %23* %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 %23* %4 to i8* %10 = call i32 %8(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.260, 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 %24, align 8 %13 = getelementptr inbounds %24, %24* %12, i64 0, i32 0 store i8* %2, i8** %13, align 8 %14 = getelementptr inbounds %24, %24* %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 %24* %12 to i8* %17 = call i32 %15(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.261, i8* nonnull %16, i32 0) ret i32 %17 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.260(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 %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 !3545 %25 = getelementptr inbounds float, float* %10, i64 %indvars.iv5 %26 = load float, float* %25, align 4, !tbaa !3548 %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 !3551 %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 !58 for_end3: ; preds = %for_body2 store float %33, float* %24, align 4, !tbaa !3545 %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 !58 } ; Function Attrs: nofree norecurse nounwind define private i32 @__tvm_parallel_lambda.261(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_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, 3 br i1 %min.iters.check, label %for_body.preheader3, label %vector.ph vector.ph: ; preds = %for_body.preheader %n.mod.vf = urem i64 %21, 3 %n.vec = sub nsw i64 %21, %n.mod.vf %ind.end = add nsw i64 %n.vec, %20 br label %vector.body vector.body: ; preds = %vector.body, %vector.ph %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] %offset.idx = add i64 %index, %20 %induction1 = add i64 %offset.idx, 1 %induction2 = add i64 %offset.idx, 2 %22 = getelementptr inbounds float, float* %7, i64 %offset.idx %23 = getelementptr inbounds float, float* %7, i64 %induction1 %24 = getelementptr inbounds float, float* %7, i64 %induction2 %25 = load float, float* %22, align 4, !tbaa !3545 %26 = load float, float* %23, align 4, !tbaa !3545 %27 = load float, float* %24, align 4, !tbaa !3545 %28 = fmul float %25, 0x3F55555560000000 %29 = fmul float %26, 0x3F55555560000000 %30 = fmul float %27, 0x3F55555560000000 %31 = getelementptr inbounds float, float* %4, i64 %offset.idx %32 = getelementptr inbounds float, float* %4, i64 %induction1 %33 = getelementptr inbounds float, float* %4, i64 %induction2 store float %28, float* %31, align 4, !tbaa !3554 store float %29, float* %32, align 4, !tbaa !3554 store float %30, float* %33, align 4, !tbaa !3554 %index.next = add i64 %index, 3 %34 = icmp eq i64 %index.next, %n.vec br i1 %34, label %middle.block, label %vector.body, !prof !1208, !llvm.loop !3557 middle.block: ; preds = %vector.body %cmp.n = icmp eq i64 %n.mod.vf, 0 br i1 %cmp.n, label %for_end, label %for_body.preheader3 for_body.preheader3: ; 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.preheader3, %for_body %indvars.iv = phi i64 [ %indvars.iv.next, %for_body ], [ %indvars.iv.ph, %for_body.preheader3 ] %35 = getelementptr inbounds float, float* %7, i64 %indvars.iv %36 = load float, float* %35, align 4, !tbaa !3545 %37 = fmul float %36, 0x3F55555560000000 %38 = getelementptr inbounds float, float* %4, i64 %indvars.iv store float %37, float* %38, align 4, !tbaa !3554 %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 !3111, !llvm.loop !3558 for_end: ; preds = %for_body, %middle.block, %entry ret i32 0 } 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.262, 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 !3559 %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 !3573 %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 !3575 %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 !3578 %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.263, 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.264, 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.265, 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.266, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !3580 %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.80, 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 !3594 %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.150, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !3596 %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 !3610 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !3612 %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.267, 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 !3626 %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.153, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !3628 %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 !3642 %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.154, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !3644 %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.219, 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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !3658 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !3672 %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.189, 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 !3686 %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.268, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !3688 %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 !3702 %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.269, 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.38, 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.39, 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.40, 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 #3 { entry: %9 = alloca i8*, align 8 %10 = alloca [2 x float], align 4 store i64 1, i64* %0, align 8, !tbaa !3704 %11 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %11, align 8, !tbaa !3718 %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 !3720 %23 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %23, align 8, !tbaa !3723 %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 !3725 %35 = getelementptr inbounds i64, i64* %0, i64 5 store i64 2, i64* %35, align 8, !tbaa !3729 %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 !3731 %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 !3745 %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 !3747 %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 !3750 %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 !3752 %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 !58 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.132, 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 !3756 %76 = getelementptr inbounds [2 x float], [2 x float]* %10, i64 0, i64 0 %77 = load float, float* %76, align 4, !tbaa !3759 %78 = fadd float %75, %77 store float %78, float* %74, align 128, !tbaa !3762 %79 = getelementptr inbounds i8, i8* %8, i64 4 %80 = bitcast i8* %79 to float* %81 = load float, float* %80, align 4, !tbaa !3756 %82 = getelementptr inbounds [2 x float], [2 x float]* %10, i64 0, i64 1 %83 = load float, float* %82, align 4, !tbaa !3759 %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 !3762 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 } 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.270, 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 !3765 %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 !3779 %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.271, 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.272, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end10: ; preds = %assert_end8 %50 = load i64, i64* %21, align 8, !tbaa !3781 %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.10, 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 !3795 %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.121, 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 !58 if_then: ; preds = %assert_end14 %59 = load i64, i64* %23, align 8, !tbaa !3797 %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 !3811 %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.122, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end26: ; preds = %assert_end24 %92 = load i64, i64* %29, align 8, !tbaa !3813 %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.18, 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 !3827 %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.125, 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 !58 if_then31: ; preds = %assert_end30 %101 = load i64, i64* %31, align 8, !tbaa !3829 %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 !3843 %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.126, 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.22, 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.23, 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.24, 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 #3 { 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.273, i8* nonnull %6, i32 0) ret i32 %7 } ; Function Attrs: nofree nounwind define private i32 @__tvm_parallel_lambda.273(i32 %0, %1* nocapture readonly %1, i8* nocapture readonly %2) #5 { 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_begin1.preheader, %for_end6 %indvars.iv7 = phi i64 [ 0, %for_begin1.preheader ], [ %indvars.iv.next8, %for_end6 ] %22 = shl nsw i64 %indvars.iv7, 4 %23 = add nsw i64 %22, %21 br label %for_body5 for_end3: ; preds = %for_end6 %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 !58 for_body5: ; preds = %for_begin4.preheader, %for_body5 %indvars.iv = phi i64 [ 0, %for_begin4.preheader ], [ %indvars.iv.next, %for_body5 ] %24 = add nsw i64 %23, %indvars.iv %25 = getelementptr inbounds float, float* %7, i64 %24 %26 = load float, float* %25, align 4, !tbaa !3845 %27 = fmul float %26, 0x3FE6A09E60000000 %28 = fcmp olt float %27, 4.000000e+00 %29 = select i1 %28, float %27, float 4.000000e+00 %30 = fcmp ogt float %29, -4.000000e+00 %31 = select i1 %30, float %29, float -4.000000e+00 %32 = fmul float %31, %31 %33 = tail call float @llvm.fmuladd.f32(float %32, float 0xBDF2BBE160000000, float 0x3E5DBFFDC0000000) %34 = tail call float @llvm.fmuladd.f32(float %32, float %33, float 0xBEC19FEA20000000) %35 = tail call float @llvm.fmuladd.f32(float %32, float %34, float 0xBF0DD85A40000000) %36 = tail call float @llvm.fmuladd.f32(float %32, float %35, float 0xBF48158C60000000) %37 = tail call float @llvm.fmuladd.f32(float %32, float %36, float 0xBF68343EC0000000) %38 = tail call float @llvm.fmuladd.f32(float %32, float %37, float 0xBF907B7A80000000) %39 = fmul float %31, %38 %40 = tail call float @llvm.fmuladd.f32(float %32, float 0xBEEE8C19A0000000, float 0xBF2BF7A520000000) %41 = tail call float @llvm.fmuladd.f32(float %32, float %40, float 0xBF5B9249C0000000) %42 = tail call float @llvm.fmuladd.f32(float %32, float %41, float 0xBF7E337F00000000) %43 = tail call float @llvm.fmuladd.f32(float %32, float %42, float 0xBF8D36D4E0000000) %44 = fdiv float %39, %43 %45 = fadd float %44, 1.000000e+00 %46 = fmul float %26, 5.000000e-01 %47 = fmul float %46, %45 %48 = getelementptr inbounds float, float* %4, i64 %24 store float %47, float* %48, align 4, !tbaa !3848 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 16 br i1 %exitcond.not, label %for_end6, label %for_body5, !prof !58 for_end6: ; preds = %for_body5 %indvars.iv.next8 = add nuw nsw i64 %indvars.iv7, 1 %exitcond9.not = icmp eq i64 %indvars.iv.next8, 192 br i1 %exitcond9.not, label %for_end3, label %for_begin4.preheader, !prof !58 } 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.274, 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 !3851 %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 !3865 %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 !3867 %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 !3870 %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.275, 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.276, 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.277, 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.278, 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.120, 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.9, i64 0, i64 0)) ret i32 -1 assert_end14: ; preds = %assert_end12 %80 = load i64, i64* %37, align 8, !tbaa !3872 %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.10, 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 !3886 %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.150, 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 !58 if_then: ; preds = %assert_end18 %89 = load i64, i64* %39, align 8, !tbaa !3888 %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 !3902 %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.151, 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.14, 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.15, 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.123, 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.17, i64 0, i64 0)) ret i32 -1 assert_end30: ; preds = %assert_end28 %122 = load i64, i64* %45, align 8, !tbaa !3904 %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.279, 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 !3918 %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.153, 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 !58 if_then35: ; preds = %assert_end34 %131 = load i64, i64* %47, align 8, !tbaa !3920 %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 !3934 %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.154, 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.22, 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.23, 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.24, 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.84, 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.26, i64 0, i64 0)) ret i32 -1 assert_end50: ; preds = %assert_end48 %168 = load i64, i64* %51, align 8, !tbaa !3936 %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.280, 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 !58 if_then53: ; preds = %assert_end52 %172 = load i64, i64* %53, align 8, !tbaa !3950 %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.87, 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.31, 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.32, 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.33, 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.128, 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.35, i64 0, i64 0)) ret i32 -1 assert_end68: ; preds = %assert_end66 %204 = load i64, i64* %57, align 8, !tbaa !3964 %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.129, 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 !3978 %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.281, 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 !58 if_then73: ; preds = %assert_end72 %213 = load i64, i64* %59, align 8, !tbaa !3980 %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 !3994 %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.282, 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.38, 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.39, 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.40, 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 #3 { 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 !3996 %13 = getelementptr inbounds i64, i64* %0, i64 1 store i64 768, i64* %13, align 8, !tbaa !4010 %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 !4012 %25 = getelementptr inbounds i64, i64* %0, i64 3 store i64 768, i64* %25, align 8, !tbaa !4015 %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 !4017 %37 = getelementptr inbounds i64, i64* %0, i64 5 store i64 3072, i64* %37, align 8, !tbaa !4021 %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 !4023 %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 !4037 %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 !4039 %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 !4042 %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 !4044 %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 !58 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.132, 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 %26, align 8 %76 = getelementptr inbounds %26, %26* %75, i64 0, i32 0 store i8* %7, i8** %76, align 8 %77 = getelementptr inbounds %26, %26* %75, i64 0, i32 1 store i8* %11, i8** %77, align 8 %78 = getelementptr inbounds %26, %26* %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 %26* %75 to i8* %81 = call i32 %79(i32 (i32, %1*, i8*)* nonnull @__tvm_parallel_lambda.283, 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.283(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 %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.iv4 = phi i64 [ %23, %for_begin1.preheader.preheader ], [ %indvars.iv.next5, %for_end3 ] %24 = mul nsw i64 %indvars.iv4, 3072 br label %vector.body vector.body: ; preds = %vector.body, %for_begin1.preheader %index = phi i64 [ 0, %for_begin1.preheader ], [ %index.next, %vector.body ] %induction7 = add i64 %index, 1 %induction8 = add i64 %index, 2 %25 = add nsw i64 %index, %24 %26 = add nsw i64 %induction7, %24 %27 = add nsw i64 %induction8, %24 %28 = getelementptr inbounds float, float* %10, i64 %index %29 = getelementptr inbounds float, float* %10, i64 %induction7 %30 = getelementptr inbounds float, float* %10, i64 %induction8 %31 = load float, float* %28, align 4, !tbaa !4048 %32 = load float, float* %29, align 4, !tbaa !4048 %33 = load float, float* %30, align 4, !tbaa !4048 %34 = getelementptr inbounds float, float* %7, i64 %25 %35 = getelementptr inbounds float, float* %7, i64 %26 %36 = getelementptr inbounds float, float* %7, i64 %27 %37 = load float, float* %34, align 4, !tbaa !4051 %38 = load float, float* %35, align 4, !tbaa !4051 %39 = load float, float* %36, align 4, !tbaa !4051 %40 = fadd float %31, %37 %41 = fadd float %32, %38 %42 = fadd float %33, %39 %43 = getelementptr inbounds float, float* %4, i64 %25 %44 = getelementptr inbounds float, float* %4, i64 %26 %45 = getelementptr inbounds float, float* %4, i64 %27 store float %40, float* %43, align 4, !tbaa !4054 store float %41, float* %44, align 4, !tbaa !4054 store float %42, float* %45, align 4, !tbaa !4054 %index.next = add i64 %index, 3 %46 = icmp eq i64 %index.next, 3072 br i1 %46, label %for_end3, label %vector.body, !prof !1208, !llvm.loop !4057 for_end: ; preds = %for_end3, %entry ret i32 0 for_end3: ; preds = %vector.body %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 !58 } ; 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 attributes #0 = { nofree nosync nounwind willreturn } attributes #1 = { nofree noinline nounwind } attributes #2 = { nofree nosync nounwind readnone speculatable willreturn } attributes #3 = { noinline } attributes #4 = { nofree norecurse nounwind } attributes #5 = { nofree nounwind } attributes #6 = { nofree noinline norecurse nounwind } attributes #7 = { argmemonly nofree nosync nounwind willreturn writeonly } attributes #8 = { argmemonly nofree nosync nounwind 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 = !{!"0xcc37e40.w1.b0", !11, i64 0} !11 = !{!"0xcc37e40.w2.b0", !12, i64 0} !12 = !{!"0xcc37e40.w4.b0", !13, i64 0} !13 = !{!"0xcc37e40.w8.b0", !14, i64 0} !14 = !{!"0xcc37e40.w16.b0", !15, i64 0} !15 = !{!"0xcc37e40.w32.b0", !16, i64 0} !16 = !{!"0xcc37e40.w64.b0", !17, i64 0} !17 = !{!"0xcc37e40.w128.b0", !18, i64 0} !18 = !{!"0xcc37e40.w256.b0", !19, i64 0} !19 = !{!"0xcc37e40.w512.b0", !20, i64 0} !20 = !{!"0xcc37e40.w1024.b0", !21, i64 0} !21 = !{!"i8", !22, i64 0} !22 = !{!"0xcc37e40", !8, i64 0} !23 = !{!24, !24, i64 0} !24 = !{!"0xcc37e40.w1.b1", !11, i64 0} !25 = !{!26, !26, i64 0} !26 = !{!"0xcc37e40.w1.b2", !27, i64 0} !27 = !{!"0xcc37e40.w2.b2", !12, i64 0} !28 = !{!29, !29, i64 0} !29 = !{!"0xcc37e40.w1.b3", !27, i64 0} !30 = !{!31, !31, i64 0} !31 = !{!"0xcc37e40.w1.b4", !32, i64 0} !32 = !{!"0xcc37e40.w2.b4", !33, i64 0} !33 = !{!"0xcc37e40.w4.b4", !13, i64 0} !34 = !{!35, !35, i64 0} !35 = !{!"0xcc37e40.w1.b5", !32, i64 0} !36 = !{!37, !37, i64 0} !37 = !{!"0xcc37e40.w1.b6", !38, i64 0} !38 = !{!"0xcc37e40.w2.b6", !33, i64 0} !39 = !{!40, !40, i64 0} !40 = !{!"0x15e7b6b0.w1.b0", !41, i64 0} !41 = !{!"0x15e7b6b0.w2.b0", !42, i64 0} !42 = !{!"0x15e7b6b0.w4.b0", !43, i64 0} !43 = !{!"0x15e7b6b0.w8.b0", !44, i64 0} !44 = !{!"0x15e7b6b0.w16.b0", !45, i64 0} !45 = !{!"0x15e7b6b0.w32.b0", !46, i64 0} !46 = !{!"0x15e7b6b0.w64.b0", !47, i64 0} !47 = !{!"0x15e7b6b0.w128.b0", !48, i64 0} !48 = !{!"0x15e7b6b0.w256.b0", !49, i64 0} !49 = !{!"0x15e7b6b0.w512.b0", !50, i64 0} !50 = !{!"0x15e7b6b0.w1024.b0", !51, i64 0} !51 = !{!"i64", !52, i64 0} !52 = !{!"0x15e7b6b0", !8, i64 0} !53 = !{!54, !54, i64 0} !54 = !{!"0x15e7b6b0.w1.b1", !41, i64 0} !55 = !{!56, !56, i64 0} !56 = !{!"0x15e7b6b0.w1.b2", !57, i64 0} !57 = !{!"0x15e7b6b0.w2.b2", !42, i64 0} !58 = !{!"branch_weights", i32 1, i32 1048576} !59 = !{!60, !60, i64 0} !60 = !{!"0x15e902d0.w1.b0", !61, i64 0} !61 = !{!"0x15e902d0.w2.b0", !62, i64 0} !62 = !{!"0x15e902d0.w4.b0", !63, i64 0} !63 = !{!"0x15e902d0.w8.b0", !64, i64 0} !64 = !{!"0x15e902d0.w16.b0", !65, i64 0} !65 = !{!"0x15e902d0.w32.b0", !66, i64 0} !66 = !{!"0x15e902d0.w64.b0", !67, i64 0} !67 = !{!"0x15e902d0.w128.b0", !68, i64 0} !68 = !{!"0x15e902d0.w256.b0", !69, i64 0} !69 = !{!"0x15e902d0.w512.b0", !70, i64 0} !70 = !{!"0x15e902d0.w1024.b0", !71, i64 0} !71 = !{!"i64", !72, i64 0} !72 = !{!"0x15e902d0", !8, i64 0} !73 = !{!74, !74, i64 0} !74 = !{!"0x15e902d0.w1.b1", !61, i64 0} !75 = !{!76, !76, i64 0} !76 = !{!"0x15e902d0.w1.b2", !77, i64 0} !77 = !{!"0x15e902d0.w2.b2", !62, i64 0} !78 = !{!79, !79, i64 0} !79 = !{!"0x15e922c0.w1.b0", !80, i64 0} !80 = !{!"0x15e922c0.w2.b0", !81, i64 0} !81 = !{!"0x15e922c0.w4.b0", !82, i64 0} !82 = !{!"0x15e922c0.w8.b0", !83, i64 0} !83 = !{!"0x15e922c0.w16.b0", !84, i64 0} !84 = !{!"0x15e922c0.w32.b0", !85, i64 0} !85 = !{!"0x15e922c0.w64.b0", !86, i64 0} !86 = !{!"0x15e922c0.w128.b0", !87, i64 0} !87 = !{!"0x15e922c0.w256.b0", !88, i64 0} !88 = !{!"0x15e922c0.w512.b0", !89, i64 0} !89 = !{!"0x15e922c0.w1024.b0", !90, i64 0} !90 = !{!"i64", !91, i64 0} !91 = !{!"0x15e922c0", !8, i64 0} !92 = !{!93, !93, i64 0} !93 = !{!"0x15e922c0.w1.b1", !80, i64 0} !94 = !{!95, !95, i64 0} !95 = !{!"0x15e922c0.w1.b2", !96, i64 0} !96 = !{!"0x15e922c0.w2.b2", !81, i64 0} !97 = !{!98, !98, i64 0} !98 = !{!"0x15e7a930.w1.b0", !99, i64 0} !99 = !{!"0x15e7a930.w2.b0", !100, i64 0} !100 = !{!"0x15e7a930.w4.b0", !101, i64 0} !101 = !{!"0x15e7a930.w8.b0", !102, i64 0} !102 = !{!"0x15e7a930.w16.b0", !103, i64 0} !103 = !{!"0x15e7a930.w32.b0", !104, i64 0} !104 = !{!"0x15e7a930.w64.b0", !105, i64 0} !105 = !{!"0x15e7a930.w128.b0", !106, i64 0} !106 = !{!"0x15e7a930.w256.b0", !107, i64 0} !107 = !{!"0x15e7a930.w512.b0", !108, i64 0} !108 = !{!"0x15e7a930.w1024.b0", !109, i64 0} !109 = !{!"i64", !110, i64 0} !110 = !{!"0x15e7a930", !8, i64 0} !111 = !{!112, !112, i64 0} !112 = !{!"0x15e7a930.w1.b1", !99, i64 0} !113 = !{!114, !114, i64 0} !114 = !{!"0x15e7a930.w1.b2", !115, i64 0} !115 = !{!"0x15e7a930.w2.b2", !100, i64 0} !116 = !{!117, !117, i64 0} !117 = !{!"0x15e88200.w1.b0", !118, i64 0} !118 = !{!"0x15e88200.w2.b0", !119, i64 0} !119 = !{!"0x15e88200.w4.b0", !120, i64 0} !120 = !{!"0x15e88200.w8.b0", !121, i64 0} !121 = !{!"0x15e88200.w16.b0", !122, i64 0} !122 = !{!"0x15e88200.w32.b0", !123, i64 0} !123 = !{!"0x15e88200.w64.b0", !124, i64 0} !124 = !{!"0x15e88200.w128.b0", !125, i64 0} !125 = !{!"0x15e88200.w256.b0", !126, i64 0} !126 = !{!"0x15e88200.w512.b0", !127, i64 0} !127 = !{!"0x15e88200.w1024.b0", !128, i64 0} !128 = !{!"i64", !129, i64 0} !129 = !{!"0x15e88200", !8, i64 0} !130 = !{!131, !131, i64 0} !131 = !{!"0x15e88200.w1.b1", !118, i64 0} !132 = !{!133, !133, i64 0} !133 = !{!"0x15e88200.w1.b2", !134, i64 0} !134 = !{!"0x15e88200.w2.b2", !119, i64 0} !135 = !{!136, !136, i64 0} !136 = !{!"0x15e88a00.w1.b0", !137, i64 0} !137 = !{!"0x15e88a00.w2.b0", !138, i64 0} !138 = !{!"0x15e88a00.w4.b0", !139, i64 0} !139 = !{!"0x15e88a00.w8.b0", !140, i64 0} !140 = !{!"0x15e88a00.w16.b0", !141, i64 0} !141 = !{!"0x15e88a00.w32.b0", !142, i64 0} !142 = !{!"0x15e88a00.w64.b0", !143, i64 0} !143 = !{!"0x15e88a00.w128.b0", !144, i64 0} !144 = !{!"0x15e88a00.w256.b0", !145, i64 0} !145 = !{!"0x15e88a00.w512.b0", !146, i64 0} !146 = !{!"0x15e88a00.w1024.b0", !147, i64 0} !147 = !{!"i64", !148, i64 0} !148 = !{!"0x15e88a00", !8, i64 0} !149 = !{!150, !150, i64 0} !150 = !{!"0x15e88a00.w1.b1", !137, i64 0} !151 = !{!152, !152, i64 0} !152 = !{!"0x15e88a00.w1.b2", !153, i64 0} !153 = !{!"0x15e88a00.w2.b2", !138, i64 0} !154 = !{!155, !155, i64 0} !155 = !{!"0x15e8a910.w1.b0", !156, i64 0} !156 = !{!"0x15e8a910.w2.b0", !157, i64 0} !157 = !{!"0x15e8a910.w4.b0", !158, i64 0} !158 = !{!"0x15e8a910.w8.b0", !159, i64 0} !159 = !{!"0x15e8a910.w16.b0", !160, i64 0} !160 = !{!"0x15e8a910.w32.b0", !161, i64 0} !161 = !{!"0x15e8a910.w64.b0", !162, i64 0} !162 = !{!"0x15e8a910.w128.b0", !163, i64 0} !163 = !{!"0x15e8a910.w256.b0", !164, i64 0} !164 = !{!"0x15e8a910.w512.b0", !165, i64 0} !165 = !{!"0x15e8a910.w1024.b0", !166, i64 0} !166 = !{!"i64", !167, i64 0} !167 = !{!"0x15e8a910", !8, i64 0} !168 = !{!169, !169, i64 0} !169 = !{!"0x15e8ae10.w1.b0", !170, i64 0} !170 = !{!"0x15e8ae10.w2.b0", !171, i64 0} !171 = !{!"0x15e8ae10.w4.b0", !172, i64 0} !172 = !{!"0x15e8ae10.w8.b0", !173, i64 0} !173 = !{!"0x15e8ae10.w16.b0", !174, i64 0} !174 = !{!"0x15e8ae10.w32.b0", !175, i64 0} !175 = !{!"0x15e8ae10.w64.b0", !176, i64 0} !176 = !{!"0x15e8ae10.w128.b0", !177, i64 0} !177 = !{!"0x15e8ae10.w256.b0", !178, i64 0} !178 = !{!"0x15e8ae10.w512.b0", !179, i64 0} !179 = !{!"0x15e8ae10.w1024.b0", !180, i64 0} !180 = !{!"i64", !181, i64 0} !181 = !{!"0x15e8ae10", !8, i64 0} !182 = !{!183, !183, i64 0} !183 = !{!"0x15e6d490.w1.b0", !184, i64 0} !184 = !{!"0x15e6d490.w2.b0", !185, i64 0} !185 = !{!"0x15e6d490.w4.b0", !186, i64 0} !186 = !{!"0x15e6d490.w8.b0", !187, i64 0} !187 = !{!"0x15e6d490.w16.b0", !188, i64 0} !188 = !{!"0x15e6d490.w32.b0", !189, i64 0} !189 = !{!"0x15e6d490.w64.b0", !190, i64 0} !190 = !{!"0x15e6d490.w128.b0", !191, i64 0} !191 = !{!"0x15e6d490.w256.b0", !192, i64 0} !192 = !{!"0x15e6d490.w512.b0", !193, i64 0} !193 = !{!"0x15e6d490.w1024.b0", !194, i64 0} !194 = !{!"i64", !195, i64 0} !195 = !{!"0x15e6d490", !8, i64 0} !196 = !{!197, !197, i64 0} !197 = !{!"0x15e6d990.w1.b0", !198, i64 0} !198 = !{!"0x15e6d990.w2.b0", !199, i64 0} !199 = !{!"0x15e6d990.w4.b0", !200, i64 0} !200 = !{!"0x15e6d990.w8.b0", !201, i64 0} !201 = !{!"0x15e6d990.w16.b0", !202, i64 0} !202 = !{!"0x15e6d990.w32.b0", !203, i64 0} !203 = !{!"0x15e6d990.w64.b0", !204, i64 0} !204 = !{!"0x15e6d990.w128.b0", !205, i64 0} !205 = !{!"0x15e6d990.w256.b0", !206, i64 0} !206 = !{!"0x15e6d990.w512.b0", !207, i64 0} !207 = !{!"0x15e6d990.w1024.b0", !208, i64 0} !208 = !{!"i64", !209, i64 0} !209 = !{!"0x15e6d990", !8, i64 0} !210 = !{!211, !211, i64 0} !211 = !{!"0x15e882f0.w1.b0", !212, i64 0} !212 = !{!"0x15e882f0.w2.b0", !213, i64 0} !213 = !{!"0x15e882f0.w4.b0", !214, i64 0} !214 = !{!"0x15e882f0.w8.b0", !215, i64 0} !215 = !{!"0x15e882f0.w16.b0", !216, i64 0} !216 = !{!"0x15e882f0.w32.b0", !217, i64 0} !217 = !{!"0x15e882f0.w64.b0", !218, i64 0} !218 = !{!"0x15e882f0.w128.b0", !219, i64 0} !219 = !{!"0x15e882f0.w256.b0", !220, i64 0} !220 = !{!"0x15e882f0.w512.b0", !221, i64 0} !221 = !{!"0x15e882f0.w1024.b0", !222, i64 0} !222 = !{!"i64", !223, i64 0} !223 = !{!"0x15e882f0", !8, i64 0} !224 = !{!225, !225, i64 0} !225 = !{!"0x15e6f9f0.w1.b0", !226, i64 0} !226 = !{!"0x15e6f9f0.w2.b0", !227, i64 0} !227 = !{!"0x15e6f9f0.w4.b0", !228, i64 0} !228 = !{!"0x15e6f9f0.w8.b0", !229, i64 0} !229 = !{!"0x15e6f9f0.w16.b0", !230, i64 0} !230 = !{!"0x15e6f9f0.w32.b0", !231, i64 0} !231 = !{!"0x15e6f9f0.w64.b0", !232, i64 0} !232 = !{!"0x15e6f9f0.w128.b0", !233, i64 0} !233 = !{!"0x15e6f9f0.w256.b0", !234, i64 0} !234 = !{!"0x15e6f9f0.w512.b0", !235, i64 0} !235 = !{!"0x15e6f9f0.w1024.b0", !236, i64 0} !236 = !{!"i64", !237, i64 0} !237 = !{!"0x15e6f9f0", !8, i64 0} !238 = !{!239, !239, i64 0} !239 = !{!"0x15da83b0.w1.b0", !240, i64 0} !240 = !{!"0x15da83b0.w2.b0", !241, i64 0} !241 = !{!"0x15da83b0.w4.b0", !242, i64 0} !242 = !{!"0x15da83b0.w8.b0", !243, i64 0} !243 = !{!"0x15da83b0.w16.b0", !244, i64 0} !244 = !{!"0x15da83b0.w32.b0", !245, i64 0} !245 = !{!"0x15da83b0.w64.b0", !246, i64 0} !246 = !{!"0x15da83b0.w128.b0", !247, i64 0} !247 = !{!"0x15da83b0.w256.b0", !248, i64 0} !248 = !{!"0x15da83b0.w512.b0", !249, i64 0} !249 = !{!"0x15da83b0.w1024.b0", !250, i64 0} !250 = !{!"i64", !251, i64 0} !251 = !{!"0x15da83b0", !8, i64 0} !252 = !{!253, !253, i64 0} !253 = !{!"0x15da83b0.w1.b1", !240, i64 0} !254 = !{!255, !255, i64 0} !255 = !{!"0x15da89a0.w1.b0", !256, i64 0} !256 = !{!"0x15da89a0.w2.b0", !257, i64 0} !257 = !{!"0x15da89a0.w4.b0", !258, i64 0} !258 = !{!"0x15da89a0.w8.b0", !259, i64 0} !259 = !{!"0x15da89a0.w16.b0", !260, i64 0} !260 = !{!"0x15da89a0.w32.b0", !261, i64 0} !261 = !{!"0x15da89a0.w64.b0", !262, i64 0} !262 = !{!"0x15da89a0.w128.b0", !263, i64 0} !263 = !{!"0x15da89a0.w256.b0", !264, i64 0} !264 = !{!"0x15da89a0.w512.b0", !265, i64 0} !265 = !{!"0x15da89a0.w1024.b0", !266, i64 0} !266 = !{!"i64", !267, i64 0} !267 = !{!"0x15da89a0", !8, i64 0} !268 = !{!269, !269, i64 0} !269 = !{!"0x15da89a0.w1.b1", !256, i64 0} !270 = !{!271, !271, i64 0} !271 = !{!"0xcc2a490.w1.b0", !272, i64 0} !272 = !{!"0xcc2a490.w2.b0", !273, i64 0} !273 = !{!"0xcc2a490.w4.b0", !274, i64 0} !274 = !{!"0xcc2a490.w8.b0", !275, i64 0} !275 = !{!"0xcc2a490.w16.b0", !276, i64 0} !276 = !{!"0xcc2a490.w32.b0", !277, i64 0} !277 = !{!"0xcc2a490.w64.b0", !278, i64 0} !278 = !{!"0xcc2a490.w128.b0", !279, i64 0} !279 = !{!"0xcc2a490.w256.b0", !280, i64 0} !280 = !{!"0xcc2a490.w512.b0", !281, i64 0} !281 = !{!"0xcc2a490.w1024.b0", !282, i64 0} !282 = !{!"i8", !283, i64 0} !283 = !{!"0xcc2a490", !8, i64 0} !284 = !{!285, !285, i64 0} !285 = !{!"0x3cafef0.w1.b0", !286, i64 0} !286 = !{!"0x3cafef0.w2.b0", !287, i64 0} !287 = !{!"0x3cafef0.w4.b0", !288, i64 0} !288 = !{!"0x3cafef0.w8.b0", !289, i64 0} !289 = !{!"0x3cafef0.w16.b0", !290, i64 0} !290 = !{!"0x3cafef0.w32.b0", !291, i64 0} !291 = !{!"0x3cafef0.w64.b0", !292, i64 0} !292 = !{!"0x3cafef0.w128.b0", !293, i64 0} !293 = !{!"0x3cafef0.w256.b0", !294, i64 0} !294 = !{!"0x3cafef0.w512.b0", !295, i64 0} !295 = !{!"0x3cafef0.w1024.b0", !296, i64 0} !296 = !{!"i8", !297, i64 0} !297 = !{!"0x3cafef0", !8, i64 0} !298 = !{!299, !299, i64 0} !299 = !{!"0x3f3c3c0.w1.b0", !300, i64 0} !300 = !{!"0x3f3c3c0.w2.b0", !301, i64 0} !301 = !{!"0x3f3c3c0.w4.b0", !302, i64 0} !302 = !{!"0x3f3c3c0.w8.b0", !303, i64 0} !303 = !{!"0x3f3c3c0.w16.b0", !304, i64 0} !304 = !{!"0x3f3c3c0.w32.b0", !305, i64 0} !305 = !{!"0x3f3c3c0.w64.b0", !306, i64 0} !306 = !{!"0x3f3c3c0.w128.b0", !307, i64 0} !307 = !{!"0x3f3c3c0.w256.b0", !308, i64 0} !308 = !{!"0x3f3c3c0.w512.b0", !309, i64 0} !309 = !{!"0x3f3c3c0.w1024.b0", !310, i64 0} !310 = !{!"i8", !311, i64 0} !311 = !{!"0x3f3c3c0", !8, i64 0} !312 = !{!313, !313, i64 0} !313 = !{!"i8", !314, i64 0} !314 = !{!"0x3db6da0", !8, i64 0} !315 = !{!316, !316, i64 0} !316 = !{!"i8", !317, i64 0} !317 = !{!"0x3fa9aa0", !8, i64 0} !318 = !{!319, !319, i64 0} !319 = !{!"i8", !320, i64 0} !320 = !{!"0x408f4d0", !8, i64 0} !321 = !{!322, !322, i64 0} !322 = !{!"i8", !323, i64 0} !323 = !{!"0x15e1a630", !8, i64 0} !324 = !{!325, !325, i64 0} !325 = !{!"0x15e79cc0.w1.b0", !326, i64 0} !326 = !{!"0x15e79cc0.w2.b0", !327, i64 0} !327 = !{!"0x15e79cc0.w4.b0", !328, i64 0} !328 = !{!"0x15e79cc0.w8.b0", !329, i64 0} !329 = !{!"0x15e79cc0.w16.b0", !330, i64 0} !330 = !{!"0x15e79cc0.w32.b0", !331, i64 0} !331 = !{!"0x15e79cc0.w64.b0", !332, i64 0} !332 = !{!"0x15e79cc0.w128.b0", !333, i64 0} !333 = !{!"0x15e79cc0.w256.b0", !334, i64 0} !334 = !{!"0x15e79cc0.w512.b0", !335, i64 0} !335 = !{!"0x15e79cc0.w1024.b0", !336, i64 0} !336 = !{!"i8", !337, i64 0} !337 = !{!"0x15e79cc0", !8, i64 0} !338 = !{!339, !339, i64 0} !339 = !{!"0x15e79cc0.w1.b1", !326, i64 0} !340 = !{!341, !341, i64 0} !341 = !{!"0x15e7b570.w1.b0", !342, i64 0} !342 = !{!"0x15e7b570.w2.b0", !343, i64 0} !343 = !{!"0x15e7b570.w4.b0", !344, i64 0} !344 = !{!"0x15e7b570.w8.b0", !345, i64 0} !345 = !{!"0x15e7b570.w16.b0", !346, i64 0} !346 = !{!"0x15e7b570.w32.b0", !347, i64 0} !347 = !{!"0x15e7b570.w64.b0", !348, i64 0} !348 = !{!"0x15e7b570.w128.b0", !349, i64 0} !349 = !{!"0x15e7b570.w256.b0", !350, i64 0} !350 = !{!"0x15e7b570.w512.b0", !351, i64 0} !351 = !{!"0x15e7b570.w1024.b0", !352, i64 0} !352 = !{!"i64", !353, i64 0} !353 = !{!"0x15e7b570", !8, i64 0} !354 = !{!355, !355, i64 0} !355 = !{!"0x15e7b570.w1.b1", !342, i64 0} !356 = !{!357, !357, i64 0} !357 = !{!"0x15e7b570.w1.b2", !358, i64 0} !358 = !{!"0x15e7b570.w2.b2", !343, i64 0} !359 = !{!360, !360, i64 0} !360 = !{!"0x15e7b570.w1.b3", !358, i64 0} !361 = !{!362, !362, i64 0} !362 = !{!"0x15e7b570.w1.b4", !363, i64 0} !363 = !{!"0x15e7b570.w2.b4", !364, i64 0} !364 = !{!"0x15e7b570.w4.b4", !344, i64 0} !365 = !{!366, !366, i64 0} !366 = !{!"0x15da7ff0.w1.b0", !367, i64 0} !367 = !{!"0x15da7ff0.w2.b0", !368, i64 0} !368 = !{!"0x15da7ff0.w4.b0", !369, i64 0} !369 = !{!"0x15da7ff0.w8.b0", !370, i64 0} !370 = !{!"0x15da7ff0.w16.b0", !371, i64 0} !371 = !{!"0x15da7ff0.w32.b0", !372, i64 0} !372 = !{!"0x15da7ff0.w64.b0", !373, i64 0} !373 = !{!"0x15da7ff0.w128.b0", !374, i64 0} !374 = !{!"0x15da7ff0.w256.b0", !375, i64 0} !375 = !{!"0x15da7ff0.w512.b0", !376, i64 0} !376 = !{!"0x15da7ff0.w1024.b0", !377, i64 0} !377 = !{!"i64", !378, i64 0} !378 = !{!"0x15da7ff0", !8, i64 0} !379 = !{!380, !380, i64 0} !380 = !{!"0x15da7ff0.w1.b1", !367, i64 0} !381 = !{!382, !382, i64 0} !382 = !{!"0x15da7ff0.w1.b2", !383, i64 0} !383 = !{!"0x15da7ff0.w2.b2", !368, i64 0} !384 = !{!385, !385, i64 0} !385 = !{!"0x15da7ff0.w1.b3", !383, i64 0} !386 = !{!387, !387, i64 0} !387 = !{!"0x15da7ff0.w1.b4", !388, i64 0} !388 = !{!"0x15da7ff0.w2.b4", !389, i64 0} !389 = !{!"0x15da7ff0.w4.b4", !369, i64 0} !390 = !{!391, !391, i64 0} !391 = !{!"0x15da4fe0.w1.b0", !392, i64 0} !392 = !{!"0x15da4fe0.w2.b0", !393, i64 0} !393 = !{!"0x15da4fe0.w4.b0", !394, i64 0} !394 = !{!"0x15da4fe0.w8.b0", !395, i64 0} !395 = !{!"0x15da4fe0.w16.b0", !396, i64 0} !396 = !{!"0x15da4fe0.w32.b0", !397, i64 0} !397 = !{!"0x15da4fe0.w64.b0", !398, i64 0} !398 = !{!"0x15da4fe0.w128.b0", !399, i64 0} !399 = !{!"0x15da4fe0.w256.b0", !400, i64 0} !400 = !{!"0x15da4fe0.w512.b0", !401, i64 0} !401 = !{!"0x15da4fe0.w1024.b0", !402, i64 0} !402 = !{!"i64", !403, i64 0} !403 = !{!"0x15da4fe0", !8, i64 0} !404 = !{!405, !405, i64 0} !405 = !{!"0x15da4fe0.w1.b1", !392, i64 0} !406 = !{!407, !407, i64 0} !407 = !{!"0x15da4fe0.w1.b2", !408, i64 0} !408 = !{!"0x15da4fe0.w2.b2", !393, i64 0} !409 = !{!410, !410, i64 0} !410 = !{!"0x15da59a0.w1.b0", !411, i64 0} !411 = !{!"0x15da59a0.w2.b0", !412, i64 0} !412 = !{!"0x15da59a0.w4.b0", !413, i64 0} !413 = !{!"0x15da59a0.w8.b0", !414, i64 0} !414 = !{!"0x15da59a0.w16.b0", !415, i64 0} !415 = !{!"0x15da59a0.w32.b0", !416, i64 0} !416 = !{!"0x15da59a0.w64.b0", !417, i64 0} !417 = !{!"0x15da59a0.w128.b0", !418, i64 0} !418 = !{!"0x15da59a0.w256.b0", !419, i64 0} !419 = !{!"0x15da59a0.w512.b0", !420, i64 0} !420 = !{!"0x15da59a0.w1024.b0", !421, i64 0} !421 = !{!"i64", !422, i64 0} !422 = !{!"0x15da59a0", !8, i64 0} !423 = !{!424, !424, i64 0} !424 = !{!"0x15da59a0.w1.b1", !411, i64 0} !425 = !{!426, !426, i64 0} !426 = !{!"0x15da59a0.w1.b2", !427, i64 0} !427 = !{!"0x15da59a0.w2.b2", !412, i64 0} !428 = !{!429, !429, i64 0} !429 = !{!"i8", !430, i64 0} !430 = !{!"0x15ddd540", !8, i64 0} !431 = !{!432, !432, i64 0} !432 = !{!"i8", !433, i64 0} !433 = !{!"0x15dc3530", !8, i64 0} !434 = !{!435, !435, i64 0} !435 = !{!"0x15da8370.w1.b0", !436, i64 0} !436 = !{!"0x15da8370.w2.b0", !437, i64 0} !437 = !{!"0x15da8370.w4.b0", !438, i64 0} !438 = !{!"0x15da8370.w8.b0", !439, i64 0} !439 = !{!"0x15da8370.w16.b0", !440, i64 0} !440 = !{!"0x15da8370.w32.b0", !441, i64 0} !441 = !{!"0x15da8370.w64.b0", !442, i64 0} !442 = !{!"0x15da8370.w128.b0", !443, i64 0} !443 = !{!"0x15da8370.w256.b0", !444, i64 0} !444 = !{!"0x15da8370.w512.b0", !445, i64 0} !445 = !{!"0x15da8370.w1024.b0", !446, i64 0} !446 = !{!"i8", !447, i64 0} !447 = !{!"0x15da8370", !8, i64 0} !448 = !{!449, !449, i64 0} !449 = !{!"0x15da8370.w1.b1", !436, i64 0} !450 = !{!451, !451, i64 0} !451 = !{!"0x15da8370.w1.b2", !452, i64 0} !452 = !{!"0x15da8370.w2.b2", !437, i64 0} !453 = !{!454, !454, i64 0} !454 = !{!"0x15de73f0.w1.b0", !455, i64 0} !455 = !{!"0x15de73f0.w2.b0", !456, i64 0} !456 = !{!"0x15de73f0.w4.b0", !457, i64 0} !457 = !{!"0x15de73f0.w8.b0", !458, i64 0} !458 = !{!"0x15de73f0.w16.b0", !459, i64 0} !459 = !{!"0x15de73f0.w32.b0", !460, i64 0} !460 = !{!"0x15de73f0.w64.b0", !461, i64 0} !461 = !{!"0x15de73f0.w128.b0", !462, i64 0} !462 = !{!"0x15de73f0.w256.b0", !463, i64 0} !463 = !{!"0x15de73f0.w512.b0", !464, i64 0} !464 = !{!"0x15de73f0.w1024.b0", !465, i64 0} !465 = !{!"i64", !466, i64 0} !466 = !{!"0x15de73f0", !8, i64 0} !467 = !{!468, !468, i64 0} !468 = !{!"0x15de7920.w1.b0", !469, i64 0} !469 = !{!"0x15de7920.w2.b0", !470, i64 0} !470 = !{!"0x15de7920.w4.b0", !471, i64 0} !471 = !{!"0x15de7920.w8.b0", !472, i64 0} !472 = !{!"0x15de7920.w16.b0", !473, i64 0} !473 = !{!"0x15de7920.w32.b0", !474, i64 0} !474 = !{!"0x15de7920.w64.b0", !475, i64 0} !475 = !{!"0x15de7920.w128.b0", !476, i64 0} !476 = !{!"0x15de7920.w256.b0", !477, i64 0} !477 = !{!"0x15de7920.w512.b0", !478, i64 0} !478 = !{!"0x15de7920.w1024.b0", !479, i64 0} !479 = !{!"i64", !480, i64 0} !480 = !{!"0x15de7920", !8, i64 0} !481 = !{!482, !482, i64 0} !482 = !{!"0xcbef660.w1.b0", !483, i64 0} !483 = !{!"0xcbef660.w2.b0", !484, i64 0} !484 = !{!"0xcbef660.w4.b0", !485, i64 0} !485 = !{!"0xcbef660.w8.b0", !486, i64 0} !486 = !{!"0xcbef660.w16.b0", !487, i64 0} !487 = !{!"0xcbef660.w32.b0", !488, i64 0} !488 = !{!"0xcbef660.w64.b0", !489, i64 0} !489 = !{!"0xcbef660.w128.b0", !490, i64 0} !490 = !{!"0xcbef660.w256.b0", !491, i64 0} !491 = !{!"0xcbef660.w512.b0", !492, i64 0} !492 = !{!"0xcbef660.w1024.b0", !493, i64 0} !493 = !{!"i64", !494, i64 0} !494 = !{!"0xcbef660", !8, i64 0} !495 = !{!496, !496, i64 0} !496 = !{!"0xcbefcc0.w1.b0", !497, i64 0} !497 = !{!"0xcbefcc0.w2.b0", !498, i64 0} !498 = !{!"0xcbefcc0.w4.b0", !499, i64 0} !499 = !{!"0xcbefcc0.w8.b0", !500, i64 0} !500 = !{!"0xcbefcc0.w16.b0", !501, i64 0} !501 = !{!"0xcbefcc0.w32.b0", !502, i64 0} !502 = !{!"0xcbefcc0.w64.b0", !503, i64 0} !503 = !{!"0xcbefcc0.w128.b0", !504, i64 0} !504 = !{!"0xcbefcc0.w256.b0", !505, i64 0} !505 = !{!"0xcbefcc0.w512.b0", !506, i64 0} !506 = !{!"0xcbefcc0.w1024.b0", !507, i64 0} !507 = !{!"i64", !508, i64 0} !508 = !{!"0xcbefcc0", !8, i64 0} !509 = !{!510, !510, i64 0} !510 = !{!"0xcbf1840.w1.b0", !511, i64 0} !511 = !{!"0xcbf1840.w2.b0", !512, i64 0} !512 = !{!"0xcbf1840.w4.b0", !513, i64 0} !513 = !{!"0xcbf1840.w8.b0", !514, i64 0} !514 = !{!"0xcbf1840.w16.b0", !515, i64 0} !515 = !{!"0xcbf1840.w32.b0", !516, i64 0} !516 = !{!"0xcbf1840.w64.b0", !517, i64 0} !517 = !{!"0xcbf1840.w128.b0", !518, i64 0} !518 = !{!"0xcbf1840.w256.b0", !519, i64 0} !519 = !{!"0xcbf1840.w512.b0", !520, i64 0} !520 = !{!"0xcbf1840.w1024.b0", !521, i64 0} !521 = !{!"i64", !522, i64 0} !522 = !{!"0xcbf1840", !8, i64 0} !523 = !{!524, !524, i64 0} !524 = !{!"0xcbf1d40.w1.b0", !525, i64 0} !525 = !{!"0xcbf1d40.w2.b0", !526, i64 0} !526 = !{!"0xcbf1d40.w4.b0", !527, i64 0} !527 = !{!"0xcbf1d40.w8.b0", !528, i64 0} !528 = !{!"0xcbf1d40.w16.b0", !529, i64 0} !529 = !{!"0xcbf1d40.w32.b0", !530, i64 0} !530 = !{!"0xcbf1d40.w64.b0", !531, i64 0} !531 = !{!"0xcbf1d40.w128.b0", !532, i64 0} !532 = !{!"0xcbf1d40.w256.b0", !533, i64 0} !533 = !{!"0xcbf1d40.w512.b0", !534, i64 0} !534 = !{!"0xcbf1d40.w1024.b0", !535, i64 0} !535 = !{!"i64", !536, i64 0} !536 = !{!"0xcbf1d40", !8, i64 0} !537 = !{!538, !538, i64 0} !538 = !{!"0x73322e0.w1.b0", !539, i64 0} !539 = !{!"0x73322e0.w2.b0", !540, i64 0} !540 = !{!"0x73322e0.w4.b0", !541, i64 0} !541 = !{!"0x73322e0.w8.b0", !542, i64 0} !542 = !{!"0x73322e0.w16.b0", !543, i64 0} !543 = !{!"0x73322e0.w32.b0", !544, i64 0} !544 = !{!"0x73322e0.w64.b0", !545, i64 0} !545 = !{!"0x73322e0.w128.b0", !546, i64 0} !546 = !{!"0x73322e0.w256.b0", !547, i64 0} !547 = !{!"0x73322e0.w512.b0", !548, i64 0} !548 = !{!"0x73322e0.w1024.b0", !549, i64 0} !549 = !{!"i8", !550, i64 0} !550 = !{!"0x73322e0", !8, i64 0} !551 = !{!552, !552, i64 0} !552 = !{!"i8", !553, i64 0} !553 = !{!"0x15d87230", !8, i64 0} !554 = !{!555, !555, i64 0} !555 = !{!"0x15edbe70.w1.b0", !556, i64 0} !556 = !{!"0x15edbe70.w2.b0", !557, i64 0} !557 = !{!"0x15edbe70.w4.b0", !558, i64 0} !558 = !{!"0x15edbe70.w8.b0", !559, i64 0} !559 = !{!"0x15edbe70.w16.b0", !560, i64 0} !560 = !{!"0x15edbe70.w32.b0", !561, i64 0} !561 = !{!"0x15edbe70.w64.b0", !562, i64 0} !562 = !{!"0x15edbe70.w128.b0", !563, i64 0} !563 = !{!"0x15edbe70.w256.b0", !564, i64 0} !564 = !{!"0x15edbe70.w512.b0", !565, i64 0} !565 = !{!"0x15edbe70.w1024.b0", !566, i64 0} !566 = !{!"i8", !567, i64 0} !567 = !{!"0x15edbe70", !8, i64 0} !568 = !{!569, !569, i64 0} !569 = !{!"0x15edbe70.w1.b1", !556, i64 0} !570 = !{!571, !571, i64 0} !571 = !{!"0x15edbe70.w1.b2", !572, i64 0} !572 = !{!"0x15edbe70.w2.b2", !557, i64 0} !573 = !{!574, !574, i64 0} !574 = !{!"0x15ee8210.w1.b0", !575, i64 0} !575 = !{!"0x15ee8210.w2.b0", !576, i64 0} !576 = !{!"0x15ee8210.w4.b0", !577, i64 0} !577 = !{!"0x15ee8210.w8.b0", !578, i64 0} !578 = !{!"0x15ee8210.w16.b0", !579, i64 0} !579 = !{!"0x15ee8210.w32.b0", !580, i64 0} !580 = !{!"0x15ee8210.w64.b0", !581, i64 0} !581 = !{!"0x15ee8210.w128.b0", !582, i64 0} !582 = !{!"0x15ee8210.w256.b0", !583, i64 0} !583 = !{!"0x15ee8210.w512.b0", !584, i64 0} !584 = !{!"0x15ee8210.w1024.b0", !585, i64 0} !585 = !{!"i64", !586, i64 0} !586 = !{!"0x15ee8210", !8, i64 0} !587 = !{!588, !588, i64 0} !588 = !{!"0x15ee8210.w1.b1", !575, i64 0} !589 = !{!590, !590, i64 0} !590 = !{!"0x15ee8210.w1.b2", !591, i64 0} !591 = !{!"0x15ee8210.w2.b2", !576, i64 0} !592 = !{!593, !593, i64 0} !593 = !{!"0x15ee6fc0.w1.b0", !594, i64 0} !594 = !{!"0x15ee6fc0.w2.b0", !595, i64 0} !595 = !{!"0x15ee6fc0.w4.b0", !596, i64 0} !596 = !{!"0x15ee6fc0.w8.b0", !597, i64 0} !597 = !{!"0x15ee6fc0.w16.b0", !598, i64 0} !598 = !{!"0x15ee6fc0.w32.b0", !599, i64 0} !599 = !{!"0x15ee6fc0.w64.b0", !600, i64 0} !600 = !{!"0x15ee6fc0.w128.b0", !601, i64 0} !601 = !{!"0x15ee6fc0.w256.b0", !602, i64 0} !602 = !{!"0x15ee6fc0.w512.b0", !603, i64 0} !603 = !{!"0x15ee6fc0.w1024.b0", !604, i64 0} !604 = !{!"i64", !605, i64 0} !605 = !{!"0x15ee6fc0", !8, i64 0} !606 = !{!607, !607, i64 0} !607 = !{!"0x15ee6fc0.w1.b1", !594, i64 0} !608 = !{!609, !609, i64 0} !609 = !{!"0x15ee6fc0.w1.b2", !610, i64 0} !610 = !{!"0x15ee6fc0.w2.b2", !595, i64 0} !611 = !{!612, !612, i64 0} !612 = !{!"0x15eea980.w1.b0", !613, i64 0} !613 = !{!"0x15eea980.w2.b0", !614, i64 0} !614 = !{!"0x15eea980.w4.b0", !615, i64 0} !615 = !{!"0x15eea980.w8.b0", !616, i64 0} !616 = !{!"0x15eea980.w16.b0", !617, i64 0} !617 = !{!"0x15eea980.w32.b0", !618, i64 0} !618 = !{!"0x15eea980.w64.b0", !619, i64 0} !619 = !{!"0x15eea980.w128.b0", !620, i64 0} !620 = !{!"0x15eea980.w256.b0", !621, i64 0} !621 = !{!"0x15eea980.w512.b0", !622, i64 0} !622 = !{!"0x15eea980.w1024.b0", !623, i64 0} !623 = !{!"i64", !624, i64 0} !624 = !{!"0x15eea980", !8, i64 0} !625 = !{!626, !626, i64 0} !626 = !{!"0x15eea980.w1.b1", !613, i64 0} !627 = !{!628, !628, i64 0} !628 = !{!"0x15eea980.w1.b2", !629, i64 0} !629 = !{!"0x15eea980.w2.b2", !614, i64 0} !630 = !{!631, !631, i64 0} !631 = !{!"0x15ee74a0.w1.b0", !632, i64 0} !632 = !{!"0x15ee74a0.w2.b0", !633, i64 0} !633 = !{!"0x15ee74a0.w4.b0", !634, i64 0} !634 = !{!"0x15ee74a0.w8.b0", !635, i64 0} !635 = !{!"0x15ee74a0.w16.b0", !636, i64 0} !636 = !{!"0x15ee74a0.w32.b0", !637, i64 0} !637 = !{!"0x15ee74a0.w64.b0", !638, i64 0} !638 = !{!"0x15ee74a0.w128.b0", !639, i64 0} !639 = !{!"0x15ee74a0.w256.b0", !640, i64 0} !640 = !{!"0x15ee74a0.w512.b0", !641, i64 0} !641 = !{!"0x15ee74a0.w1024.b0", !642, i64 0} !642 = !{!"i64", !643, i64 0} !643 = !{!"0x15ee74a0", !8, i64 0} !644 = !{!645, !645, i64 0} !645 = !{!"0x15ee74a0.w1.b1", !632, i64 0} !646 = !{!647, !647, i64 0} !647 = !{!"0x15ee74a0.w1.b2", !648, i64 0} !648 = !{!"0x15ee74a0.w2.b2", !633, i64 0} !649 = !{!650, !650, i64 0} !650 = !{!"0x15eed1e0.w1.b0", !651, i64 0} !651 = !{!"0x15eed1e0.w2.b0", !652, i64 0} !652 = !{!"0x15eed1e0.w4.b0", !653, i64 0} !653 = !{!"0x15eed1e0.w8.b0", !654, i64 0} !654 = !{!"0x15eed1e0.w16.b0", !655, i64 0} !655 = !{!"0x15eed1e0.w32.b0", !656, i64 0} !656 = !{!"0x15eed1e0.w64.b0", !657, i64 0} !657 = !{!"0x15eed1e0.w128.b0", !658, i64 0} !658 = !{!"0x15eed1e0.w256.b0", !659, i64 0} !659 = !{!"0x15eed1e0.w512.b0", !660, i64 0} !660 = !{!"0x15eed1e0.w1024.b0", !661, i64 0} !661 = !{!"i64", !662, i64 0} !662 = !{!"0x15eed1e0", !8, i64 0} !663 = !{!664, !664, i64 0} !664 = !{!"0x15eed1e0.w1.b1", !651, i64 0} !665 = !{!666, !666, i64 0} !666 = !{!"0x15eed1e0.w1.b2", !667, i64 0} !667 = !{!"0x15eed1e0.w2.b2", !652, i64 0} !668 = !{!669, !669, i64 0} !669 = !{!"0x15eeda60.w1.b0", !670, i64 0} !670 = !{!"0x15eeda60.w2.b0", !671, i64 0} !671 = !{!"0x15eeda60.w4.b0", !672, i64 0} !672 = !{!"0x15eeda60.w8.b0", !673, i64 0} !673 = !{!"0x15eeda60.w16.b0", !674, i64 0} !674 = !{!"0x15eeda60.w32.b0", !675, i64 0} !675 = !{!"0x15eeda60.w64.b0", !676, i64 0} !676 = !{!"0x15eeda60.w128.b0", !677, i64 0} !677 = !{!"0x15eeda60.w256.b0", !678, i64 0} !678 = !{!"0x15eeda60.w512.b0", !679, i64 0} !679 = !{!"0x15eeda60.w1024.b0", !680, i64 0} !680 = !{!"i64", !681, i64 0} !681 = !{!"0x15eeda60", !8, i64 0} !682 = !{!683, !683, i64 0} !683 = !{!"0x15eeda60.w1.b1", !670, i64 0} !684 = !{!685, !685, i64 0} !685 = !{!"0x15eeda60.w1.b2", !686, i64 0} !686 = !{!"0x15eeda60.w2.b2", !671, i64 0} !687 = !{!688, !688, i64 0} !688 = !{!"0x15f391f0.w1.b0", !689, i64 0} !689 = !{!"0x15f391f0.w2.b0", !690, i64 0} !690 = !{!"0x15f391f0.w4.b0", !691, i64 0} !691 = !{!"0x15f391f0.w8.b0", !692, i64 0} !692 = !{!"0x15f391f0.w16.b0", !693, i64 0} !693 = !{!"0x15f391f0.w32.b0", !694, i64 0} !694 = !{!"0x15f391f0.w64.b0", !695, i64 0} !695 = !{!"0x15f391f0.w128.b0", !696, i64 0} !696 = !{!"0x15f391f0.w256.b0", !697, i64 0} !697 = !{!"0x15f391f0.w512.b0", !698, i64 0} !698 = !{!"0x15f391f0.w1024.b0", !699, i64 0} !699 = !{!"i64", !700, i64 0} !700 = !{!"0x15f391f0", !8, i64 0} !701 = !{!702, !702, i64 0} !702 = !{!"0x15f391f0.w1.b1", !689, i64 0} !703 = !{!704, !704, i64 0} !704 = !{!"0x15f391f0.w1.b2", !705, i64 0} !705 = !{!"0x15f391f0.w2.b2", !690, i64 0} !706 = !{!707, !707, i64 0} !707 = !{!"0x15f391f0.w1.b3", !705, i64 0} !708 = !{!709, !709, i64 0} !709 = !{!"0x15f391f0.w1.b4", !710, i64 0} !710 = !{!"0x15f391f0.w2.b4", !711, i64 0} !711 = !{!"0x15f391f0.w4.b4", !691, i64 0} !712 = !{!713, !713, i64 0} !713 = !{!"0x15f391f0.w1.b5", !710, i64 0} !714 = !{!715, !715, i64 0} !715 = !{!"0x15f391f0.w1.b6", !716, i64 0} !716 = !{!"0x15f391f0.w2.b6", !711, i64 0} !717 = !{!718, !718, i64 0} !718 = !{!"0x15f391f0.w1.b7", !716, i64 0} !719 = !{!720, !720, i64 0} !720 = !{!"0x15f391f0.w1.b8", !721, i64 0} !721 = !{!"0x15f391f0.w2.b8", !722, i64 0} !722 = !{!"0x15f391f0.w4.b8", !723, i64 0} !723 = !{!"0x15f391f0.w8.b8", !692, i64 0} !724 = !{!725, !725, i64 0} !725 = !{!"0x15f385f0.w1.b0", !726, i64 0} !726 = !{!"0x15f385f0.w2.b0", !727, i64 0} !727 = !{!"0x15f385f0.w4.b0", !728, i64 0} !728 = !{!"0x15f385f0.w8.b0", !729, i64 0} !729 = !{!"0x15f385f0.w16.b0", !730, i64 0} !730 = !{!"0x15f385f0.w32.b0", !731, i64 0} !731 = !{!"0x15f385f0.w64.b0", !732, i64 0} !732 = !{!"0x15f385f0.w128.b0", !733, i64 0} !733 = !{!"0x15f385f0.w256.b0", !734, i64 0} !734 = !{!"0x15f385f0.w512.b0", !735, i64 0} !735 = !{!"0x15f385f0.w1024.b0", !736, i64 0} !736 = !{!"i32", !737, i64 0} !737 = !{!"0x15f385f0", !8, i64 0} !738 = !{!739, !739, i64 0} !739 = !{!"0x15f385f0.w1.b1", !726, i64 0} !740 = !{!741, !741, i64 0} !741 = !{!"0x15f385f0.w1.b2", !742, i64 0} !742 = !{!"0x15f385f0.w2.b2", !727, i64 0} !743 = !{!744, !744, i64 0} !744 = !{!"0x15f385f0.w1.b3", !742, i64 0} !745 = !{!746, !746, i64 0} !746 = !{!"0x15f385f0.w1.b4", !747, i64 0} !747 = !{!"0x15f385f0.w2.b4", !748, i64 0} !748 = !{!"0x15f385f0.w4.b4", !728, i64 0} !749 = !{!750, !750, i64 0} !750 = !{!"0x15dc3ec0.w1.b0", !751, i64 0} !751 = !{!"0x15dc3ec0.w2.b0", !752, i64 0} !752 = !{!"0x15dc3ec0.w4.b0", !753, i64 0} !753 = !{!"0x15dc3ec0.w8.b0", !754, i64 0} !754 = !{!"0x15dc3ec0.w16.b0", !755, i64 0} !755 = !{!"0x15dc3ec0.w32.b0", !756, i64 0} !756 = !{!"0x15dc3ec0.w64.b0", !757, i64 0} !757 = !{!"0x15dc3ec0.w128.b0", !758, i64 0} !758 = !{!"0x15dc3ec0.w256.b0", !759, i64 0} !759 = !{!"0x15dc3ec0.w512.b0", !760, i64 0} !760 = !{!"0x15dc3ec0.w1024.b0", !761, i64 0} !761 = !{!"i8", !762, i64 0} !762 = !{!"0x15dc3ec0", !8, i64 0} !763 = !{!764, !764, i64 0} !764 = !{!"0x15dc3ec0.w1.b1", !751, i64 0} !765 = !{!766, !766, i64 0} !766 = !{!"0x15dc3ec0.w1.b2", !767, i64 0} !767 = !{!"0x15dc3ec0.w2.b2", !752, i64 0} !768 = !{!769, !769, i64 0} !769 = !{!"0x15dc3ec0.w1.b3", !767, i64 0} !770 = !{!771, !771, i64 0} !771 = !{!"0x15dc3ec0.w1.b4", !772, i64 0} !772 = !{!"0x15dc3ec0.w2.b4", !773, i64 0} !773 = !{!"0x15dc3ec0.w4.b4", !753, i64 0} !774 = !{!775, !775, i64 0} !775 = !{!"0x15dc3ec0.w1.b5", !772, i64 0} !776 = !{!777, !777, i64 0} !777 = !{!"0x15db3d50.w1.b0", !778, i64 0} !778 = !{!"0x15db3d50.w2.b0", !779, i64 0} !779 = !{!"0x15db3d50.w4.b0", !780, i64 0} !780 = !{!"0x15db3d50.w8.b0", !781, i64 0} !781 = !{!"0x15db3d50.w16.b0", !782, i64 0} !782 = !{!"0x15db3d50.w32.b0", !783, i64 0} !783 = !{!"0x15db3d50.w64.b0", !784, i64 0} !784 = !{!"0x15db3d50.w128.b0", !785, i64 0} !785 = !{!"0x15db3d50.w256.b0", !786, i64 0} !786 = !{!"0x15db3d50.w512.b0", !787, i64 0} !787 = !{!"0x15db3d50.w1024.b0", !788, i64 0} !788 = !{!"i64", !789, i64 0} !789 = !{!"0x15db3d50", !8, i64 0} !790 = !{!791, !791, i64 0} !791 = !{!"0x15db3d50.w1.b1", !778, i64 0} !792 = !{!793, !793, i64 0} !793 = !{!"0x15db3d50.w1.b2", !794, i64 0} !794 = !{!"0x15db3d50.w2.b2", !779, i64 0} !795 = !{!796, !796, i64 0} !796 = !{!"0x15db4530.w1.b0", !797, i64 0} !797 = !{!"0x15db4530.w2.b0", !798, i64 0} !798 = !{!"0x15db4530.w4.b0", !799, i64 0} !799 = !{!"0x15db4530.w8.b0", !800, i64 0} !800 = !{!"0x15db4530.w16.b0", !801, i64 0} !801 = !{!"0x15db4530.w32.b0", !802, i64 0} !802 = !{!"0x15db4530.w64.b0", !803, i64 0} !803 = !{!"0x15db4530.w128.b0", !804, i64 0} !804 = !{!"0x15db4530.w256.b0", !805, i64 0} !805 = !{!"0x15db4530.w512.b0", !806, i64 0} !806 = !{!"0x15db4530.w1024.b0", !807, i64 0} !807 = !{!"i64", !808, i64 0} !808 = !{!"0x15db4530", !8, i64 0} !809 = !{!810, !810, i64 0} !810 = !{!"0x15db4530.w1.b1", !797, i64 0} !811 = !{!812, !812, i64 0} !812 = !{!"0x15db4530.w1.b2", !813, i64 0} !813 = !{!"0x15db4530.w2.b2", !798, i64 0} !814 = !{!815, !815, i64 0} !815 = !{!"0x15db64c0.w1.b0", !816, i64 0} !816 = !{!"0x15db64c0.w2.b0", !817, i64 0} !817 = !{!"0x15db64c0.w4.b0", !818, i64 0} !818 = !{!"0x15db64c0.w8.b0", !819, i64 0} !819 = !{!"0x15db64c0.w16.b0", !820, i64 0} !820 = !{!"0x15db64c0.w32.b0", !821, i64 0} !821 = !{!"0x15db64c0.w64.b0", !822, i64 0} !822 = !{!"0x15db64c0.w128.b0", !823, i64 0} !823 = !{!"0x15db64c0.w256.b0", !824, i64 0} !824 = !{!"0x15db64c0.w512.b0", !825, i64 0} !825 = !{!"0x15db64c0.w1024.b0", !826, i64 0} !826 = !{!"i64", !827, i64 0} !827 = !{!"0x15db64c0", !8, i64 0} !828 = !{!829, !829, i64 0} !829 = !{!"0x15db64c0.w1.b1", !816, i64 0} !830 = !{!831, !831, i64 0} !831 = !{!"0x15db64c0.w1.b2", !832, i64 0} !832 = !{!"0x15db64c0.w2.b2", !817, i64 0} !833 = !{!834, !834, i64 0} !834 = !{!"0x15d8d880.w1.b0", !835, i64 0} !835 = !{!"0x15d8d880.w2.b0", !836, i64 0} !836 = !{!"0x15d8d880.w4.b0", !837, i64 0} !837 = !{!"0x15d8d880.w8.b0", !838, i64 0} !838 = !{!"0x15d8d880.w16.b0", !839, i64 0} !839 = !{!"0x15d8d880.w32.b0", !840, i64 0} !840 = !{!"0x15d8d880.w64.b0", !841, i64 0} !841 = !{!"0x15d8d880.w128.b0", !842, i64 0} !842 = !{!"0x15d8d880.w256.b0", !843, i64 0} !843 = !{!"0x15d8d880.w512.b0", !844, i64 0} !844 = !{!"0x15d8d880.w1024.b0", !845, i64 0} !845 = !{!"i64", !846, i64 0} !846 = !{!"0x15d8d880", !8, i64 0} !847 = !{!848, !848, i64 0} !848 = !{!"0x15d8d880.w1.b1", !835, i64 0} !849 = !{!850, !850, i64 0} !850 = !{!"0x15d8d880.w1.b2", !851, i64 0} !851 = !{!"0x15d8d880.w2.b2", !836, i64 0} !852 = !{!853, !853, i64 0} !853 = !{!"0xcbe2880.w1.b0", !854, i64 0} !854 = !{!"0xcbe2880.w2.b0", !855, i64 0} !855 = !{!"0xcbe2880.w4.b0", !856, i64 0} !856 = !{!"0xcbe2880.w8.b0", !857, i64 0} !857 = !{!"0xcbe2880.w16.b0", !858, i64 0} !858 = !{!"0xcbe2880.w32.b0", !859, i64 0} !859 = !{!"0xcbe2880.w64.b0", !860, i64 0} !860 = !{!"0xcbe2880.w128.b0", !861, i64 0} !861 = !{!"0xcbe2880.w256.b0", !862, i64 0} !862 = !{!"0xcbe2880.w512.b0", !863, i64 0} !863 = !{!"0xcbe2880.w1024.b0", !864, i64 0} !864 = !{!"i64", !865, i64 0} !865 = !{!"0xcbe2880", !8, i64 0} !866 = !{!867, !867, i64 0} !867 = !{!"0xcbe2880.w1.b1", !854, i64 0} !868 = !{!869, !869, i64 0} !869 = !{!"0xcbe2880.w1.b2", !870, i64 0} !870 = !{!"0xcbe2880.w2.b2", !855, i64 0} !871 = !{!872, !872, i64 0} !872 = !{!"0xcbe3080.w1.b0", !873, i64 0} !873 = !{!"0xcbe3080.w2.b0", !874, i64 0} !874 = !{!"0xcbe3080.w4.b0", !875, i64 0} !875 = !{!"0xcbe3080.w8.b0", !876, i64 0} !876 = !{!"0xcbe3080.w16.b0", !877, i64 0} !877 = !{!"0xcbe3080.w32.b0", !878, i64 0} !878 = !{!"0xcbe3080.w64.b0", !879, i64 0} !879 = !{!"0xcbe3080.w128.b0", !880, i64 0} !880 = !{!"0xcbe3080.w256.b0", !881, i64 0} !881 = !{!"0xcbe3080.w512.b0", !882, i64 0} !882 = !{!"0xcbe3080.w1024.b0", !883, i64 0} !883 = !{!"i64", !884, i64 0} !884 = !{!"0xcbe3080", !8, i64 0} !885 = !{!886, !886, i64 0} !886 = !{!"0xcbe3080.w1.b1", !873, i64 0} !887 = !{!888, !888, i64 0} !888 = !{!"0xcbe3080.w1.b2", !889, i64 0} !889 = !{!"0xcbe3080.w2.b2", !874, i64 0} !890 = !{!891, !891, i64 0} !891 = !{!"0xcbe4f90.w1.b0", !892, i64 0} !892 = !{!"0xcbe4f90.w2.b0", !893, i64 0} !893 = !{!"0xcbe4f90.w4.b0", !894, i64 0} !894 = !{!"0xcbe4f90.w8.b0", !895, i64 0} !895 = !{!"0xcbe4f90.w16.b0", !896, i64 0} !896 = !{!"0xcbe4f90.w32.b0", !897, i64 0} !897 = !{!"0xcbe4f90.w64.b0", !898, i64 0} !898 = !{!"0xcbe4f90.w128.b0", !899, i64 0} !899 = !{!"0xcbe4f90.w256.b0", !900, i64 0} !900 = !{!"0xcbe4f90.w512.b0", !901, i64 0} !901 = !{!"0xcbe4f90.w1024.b0", !902, i64 0} !902 = !{!"i64", !903, i64 0} !903 = !{!"0xcbe4f90", !8, i64 0} !904 = !{!905, !905, i64 0} !905 = !{!"0xcbe5490.w1.b0", !906, i64 0} !906 = !{!"0xcbe5490.w2.b0", !907, i64 0} !907 = !{!"0xcbe5490.w4.b0", !908, i64 0} !908 = !{!"0xcbe5490.w8.b0", !909, i64 0} !909 = !{!"0xcbe5490.w16.b0", !910, i64 0} !910 = !{!"0xcbe5490.w32.b0", !911, i64 0} !911 = !{!"0xcbe5490.w64.b0", !912, i64 0} !912 = !{!"0xcbe5490.w128.b0", !913, i64 0} !913 = !{!"0xcbe5490.w256.b0", !914, i64 0} !914 = !{!"0xcbe5490.w512.b0", !915, i64 0} !915 = !{!"0xcbe5490.w1024.b0", !916, i64 0} !916 = !{!"i64", !917, i64 0} !917 = !{!"0xcbe5490", !8, i64 0} !918 = !{!919, !919, i64 0} !919 = !{!"0xcc16f80.w1.b0", !920, i64 0} !920 = !{!"0xcc16f80.w2.b0", !921, i64 0} !921 = !{!"0xcc16f80.w4.b0", !922, i64 0} !922 = !{!"0xcc16f80.w8.b0", !923, i64 0} !923 = !{!"0xcc16f80.w16.b0", !924, i64 0} !924 = !{!"0xcc16f80.w32.b0", !925, i64 0} !925 = !{!"0xcc16f80.w64.b0", !926, i64 0} !926 = !{!"0xcc16f80.w128.b0", !927, i64 0} !927 = !{!"0xcc16f80.w256.b0", !928, i64 0} !928 = !{!"0xcc16f80.w512.b0", !929, i64 0} !929 = !{!"0xcc16f80.w1024.b0", !930, i64 0} !930 = !{!"i64", !931, i64 0} !931 = !{!"0xcc16f80", !8, i64 0} !932 = !{!933, !933, i64 0} !933 = !{!"0xcc17480.w1.b0", !934, i64 0} !934 = !{!"0xcc17480.w2.b0", !935, i64 0} !935 = !{!"0xcc17480.w4.b0", !936, i64 0} !936 = !{!"0xcc17480.w8.b0", !937, i64 0} !937 = !{!"0xcc17480.w16.b0", !938, i64 0} !938 = !{!"0xcc17480.w32.b0", !939, i64 0} !939 = !{!"0xcc17480.w64.b0", !940, i64 0} !940 = !{!"0xcc17480.w128.b0", !941, i64 0} !941 = !{!"0xcc17480.w256.b0", !942, i64 0} !942 = !{!"0xcc17480.w512.b0", !943, i64 0} !943 = !{!"0xcc17480.w1024.b0", !944, i64 0} !944 = !{!"i64", !945, i64 0} !945 = !{!"0xcc17480", !8, i64 0} !946 = !{!947, !947, i64 0} !947 = !{!"0xcbe2970.w1.b0", !948, i64 0} !948 = !{!"0xcbe2970.w2.b0", !949, i64 0} !949 = !{!"0xcbe2970.w4.b0", !950, i64 0} !950 = !{!"0xcbe2970.w8.b0", !951, i64 0} !951 = !{!"0xcbe2970.w16.b0", !952, i64 0} !952 = !{!"0xcbe2970.w32.b0", !953, i64 0} !953 = !{!"0xcbe2970.w64.b0", !954, i64 0} !954 = !{!"0xcbe2970.w128.b0", !955, i64 0} !955 = !{!"0xcbe2970.w256.b0", !956, i64 0} !956 = !{!"0xcbe2970.w512.b0", !957, i64 0} !957 = !{!"0xcbe2970.w1024.b0", !958, i64 0} !958 = !{!"i64", !959, i64 0} !959 = !{!"0xcbe2970", !8, i64 0} !960 = !{!961, !961, i64 0} !961 = !{!"0xcbe2970.w1.b1", !948, i64 0} !962 = !{!963, !963, i64 0} !963 = !{!"0xcbe2970.w1.b2", !964, i64 0} !964 = !{!"0xcbe2970.w2.b2", !949, i64 0} !965 = !{!966, !966, i64 0} !966 = !{!"0xcc197e0.w1.b0", !967, i64 0} !967 = !{!"0xcc197e0.w2.b0", !968, i64 0} !968 = !{!"0xcc197e0.w4.b0", !969, i64 0} !969 = !{!"0xcc197e0.w8.b0", !970, i64 0} !970 = !{!"0xcc197e0.w16.b0", !971, i64 0} !971 = !{!"0xcc197e0.w32.b0", !972, i64 0} !972 = !{!"0xcc197e0.w64.b0", !973, i64 0} !973 = !{!"0xcc197e0.w128.b0", !974, i64 0} !974 = !{!"0xcc197e0.w256.b0", !975, i64 0} !975 = !{!"0xcc197e0.w512.b0", !976, i64 0} !976 = !{!"0xcc197e0.w1024.b0", !977, i64 0} !977 = !{!"i64", !978, i64 0} !978 = !{!"0xcc197e0", !8, i64 0} !979 = !{!980, !980, i64 0} !980 = !{!"0xcc197e0.w1.b1", !967, i64 0} !981 = !{!982, !982, i64 0} !982 = !{!"0xcc197e0.w1.b2", !983, i64 0} !983 = !{!"0xcc197e0.w2.b2", !968, i64 0} !984 = !{!985, !985, i64 0} !985 = !{!"i8", !986, i64 0} !986 = !{!"0x4080100", !8, i64 0} !987 = !{!988, !988, i64 0} !988 = !{!"i8", !989, i64 0} !989 = !{!"0x7334e20", !8, i64 0} !990 = !{!991, !991, i64 0} !991 = !{!"i8", !992, i64 0} !992 = !{!"0x3ea0c00", !8, i64 0} !993 = !{!994, !994, i64 0} !994 = !{!"i8", !995, i64 0} !995 = !{!"0x733d710", !8, i64 0} !996 = !{!997, !997, i64 0} !997 = !{!"i8", !998, i64 0} !998 = !{!"0x15d66b80", !8, i64 0} !999 = !{!1000, !1000, i64 0} !1000 = !{!"i8", !1001, i64 0} !1001 = !{!"0x4052320", !8, i64 0} !1002 = !{!1003, !1003, i64 0} !1003 = !{!"0x15e67db0.w1.b0", !1004, i64 0} !1004 = !{!"0x15e67db0.w2.b0", !1005, i64 0} !1005 = !{!"0x15e67db0.w4.b0", !1006, i64 0} !1006 = !{!"0x15e67db0.w8.b0", !1007, i64 0} !1007 = !{!"0x15e67db0.w16.b0", !1008, i64 0} !1008 = !{!"0x15e67db0.w32.b0", !1009, i64 0} !1009 = !{!"0x15e67db0.w64.b0", !1010, i64 0} !1010 = !{!"0x15e67db0.w128.b0", !1011, i64 0} !1011 = !{!"0x15e67db0.w256.b0", !1012, i64 0} !1012 = !{!"0x15e67db0.w512.b0", !1013, i64 0} !1013 = !{!"0x15e67db0.w1024.b0", !1014, i64 0} !1014 = !{!"i8", !1015, i64 0} !1015 = !{!"0x15e67db0", !8, i64 0} !1016 = !{!1017, !1017, i64 0} !1017 = !{!"0x15e67db0.w1.b1", !1004, i64 0} !1018 = !{!1019, !1019, i64 0} !1019 = !{!"0x15e67db0.w1.b2", !1020, i64 0} !1020 = !{!"0x15e67db0.w2.b2", !1005, i64 0} !1021 = !{!1022, !1022, i64 0} !1022 = !{!"0x15e67db0.w1.b3", !1020, i64 0} !1023 = !{!1024, !1024, i64 0} !1024 = !{!"0x15deba80.w1.b0", !1025, i64 0} !1025 = !{!"0x15deba80.w2.b0", !1026, i64 0} !1026 = !{!"0x15deba80.w4.b0", !1027, i64 0} !1027 = !{!"0x15deba80.w8.b0", !1028, i64 0} !1028 = !{!"0x15deba80.w16.b0", !1029, i64 0} !1029 = !{!"0x15deba80.w32.b0", !1030, i64 0} !1030 = !{!"0x15deba80.w64.b0", !1031, i64 0} !1031 = !{!"0x15deba80.w128.b0", !1032, i64 0} !1032 = !{!"0x15deba80.w256.b0", !1033, i64 0} !1033 = !{!"0x15deba80.w512.b0", !1034, i64 0} !1034 = !{!"0x15deba80.w1024.b0", !1035, i64 0} !1035 = !{!"i64", !1036, i64 0} !1036 = !{!"0x15deba80", !8, i64 0} !1037 = !{!1038, !1038, i64 0} !1038 = !{!"0x15deba80.w1.b1", !1025, i64 0} !1039 = !{!1040, !1040, i64 0} !1040 = !{!"0x15dec0a0.w1.b0", !1041, i64 0} !1041 = !{!"0x15dec0a0.w2.b0", !1042, i64 0} !1042 = !{!"0x15dec0a0.w4.b0", !1043, i64 0} !1043 = !{!"0x15dec0a0.w8.b0", !1044, i64 0} !1044 = !{!"0x15dec0a0.w16.b0", !1045, i64 0} !1045 = !{!"0x15dec0a0.w32.b0", !1046, i64 0} !1046 = !{!"0x15dec0a0.w64.b0", !1047, i64 0} !1047 = !{!"0x15dec0a0.w128.b0", !1048, i64 0} !1048 = !{!"0x15dec0a0.w256.b0", !1049, i64 0} !1049 = !{!"0x15dec0a0.w512.b0", !1050, i64 0} !1050 = !{!"0x15dec0a0.w1024.b0", !1051, i64 0} !1051 = !{!"i64", !1052, i64 0} !1052 = !{!"0x15dec0a0", !8, i64 0} !1053 = !{!1054, !1054, i64 0} !1054 = !{!"0x15dec0a0.w1.b1", !1041, i64 0} !1055 = !{!1056, !1056, i64 0} !1056 = !{!"0x15e489e0.w1.b0", !1057, i64 0} !1057 = !{!"0x15e489e0.w2.b0", !1058, i64 0} !1058 = !{!"0x15e489e0.w4.b0", !1059, i64 0} !1059 = !{!"0x15e489e0.w8.b0", !1060, i64 0} !1060 = !{!"0x15e489e0.w16.b0", !1061, i64 0} !1061 = !{!"0x15e489e0.w32.b0", !1062, i64 0} !1062 = !{!"0x15e489e0.w64.b0", !1063, i64 0} !1063 = !{!"0x15e489e0.w128.b0", !1064, i64 0} !1064 = !{!"0x15e489e0.w256.b0", !1065, i64 0} !1065 = !{!"0x15e489e0.w512.b0", !1066, i64 0} !1066 = !{!"0x15e489e0.w1024.b0", !1067, i64 0} !1067 = !{!"i64", !1068, i64 0} !1068 = !{!"0x15e489e0", !8, i64 0} !1069 = !{!1070, !1070, i64 0} !1070 = !{!"0x15e489e0.w1.b1", !1057, i64 0} !1071 = !{!1072, !1072, i64 0} !1072 = !{!"0x15e49130.w1.b0", !1073, i64 0} !1073 = !{!"0x15e49130.w2.b0", !1074, i64 0} !1074 = !{!"0x15e49130.w4.b0", !1075, i64 0} !1075 = !{!"0x15e49130.w8.b0", !1076, i64 0} !1076 = !{!"0x15e49130.w16.b0", !1077, i64 0} !1077 = !{!"0x15e49130.w32.b0", !1078, i64 0} !1078 = !{!"0x15e49130.w64.b0", !1079, i64 0} !1079 = !{!"0x15e49130.w128.b0", !1080, i64 0} !1080 = !{!"0x15e49130.w256.b0", !1081, i64 0} !1081 = !{!"0x15e49130.w512.b0", !1082, i64 0} !1082 = !{!"0x15e49130.w1024.b0", !1083, i64 0} !1083 = !{!"i64", !1084, i64 0} !1084 = !{!"0x15e49130", !8, i64 0} !1085 = !{!1086, !1086, i64 0} !1086 = !{!"0x15e49130.w1.b1", !1073, i64 0} !1087 = !{!1088, !1088, i64 0} !1088 = !{!"0x15e4afe0.w1.b0", !1089, i64 0} !1089 = !{!"0x15e4afe0.w2.b0", !1090, i64 0} !1090 = !{!"0x15e4afe0.w4.b0", !1091, i64 0} !1091 = !{!"0x15e4afe0.w8.b0", !1092, i64 0} !1092 = !{!"0x15e4afe0.w16.b0", !1093, i64 0} !1093 = !{!"0x15e4afe0.w32.b0", !1094, i64 0} !1094 = !{!"0x15e4afe0.w64.b0", !1095, i64 0} !1095 = !{!"0x15e4afe0.w128.b0", !1096, i64 0} !1096 = !{!"0x15e4afe0.w256.b0", !1097, i64 0} !1097 = !{!"0x15e4afe0.w512.b0", !1098, i64 0} !1098 = !{!"0x15e4afe0.w1024.b0", !1099, i64 0} !1099 = !{!"i64", !1100, i64 0} !1100 = !{!"0x15e4afe0", !8, i64 0} !1101 = !{!1102, !1102, i64 0} !1102 = !{!"0x15e4b4e0.w1.b0", !1103, i64 0} !1103 = !{!"0x15e4b4e0.w2.b0", !1104, i64 0} !1104 = !{!"0x15e4b4e0.w4.b0", !1105, i64 0} !1105 = !{!"0x15e4b4e0.w8.b0", !1106, i64 0} !1106 = !{!"0x15e4b4e0.w16.b0", !1107, i64 0} !1107 = !{!"0x15e4b4e0.w32.b0", !1108, i64 0} !1108 = !{!"0x15e4b4e0.w64.b0", !1109, i64 0} !1109 = !{!"0x15e4b4e0.w128.b0", !1110, i64 0} !1110 = !{!"0x15e4b4e0.w256.b0", !1111, i64 0} !1111 = !{!"0x15e4b4e0.w512.b0", !1112, i64 0} !1112 = !{!"0x15e4b4e0.w1024.b0", !1113, i64 0} !1113 = !{!"i64", !1114, i64 0} !1114 = !{!"0x15e4b4e0", !8, i64 0} !1115 = !{!1116, !1116, i64 0} !1116 = !{!"0x15e4ceb0.w1.b0", !1117, i64 0} !1117 = !{!"0x15e4ceb0.w2.b0", !1118, i64 0} !1118 = !{!"0x15e4ceb0.w4.b0", !1119, i64 0} !1119 = !{!"0x15e4ceb0.w8.b0", !1120, i64 0} !1120 = !{!"0x15e4ceb0.w16.b0", !1121, i64 0} !1121 = !{!"0x15e4ceb0.w32.b0", !1122, i64 0} !1122 = !{!"0x15e4ceb0.w64.b0", !1123, i64 0} !1123 = !{!"0x15e4ceb0.w128.b0", !1124, i64 0} !1124 = !{!"0x15e4ceb0.w256.b0", !1125, i64 0} !1125 = !{!"0x15e4ceb0.w512.b0", !1126, i64 0} !1126 = !{!"0x15e4ceb0.w1024.b0", !1127, i64 0} !1127 = !{!"i64", !1128, i64 0} !1128 = !{!"0x15e4ceb0", !8, i64 0} !1129 = !{!1130, !1130, i64 0} !1130 = !{!"0x15e4ceb0.w1.b1", !1117, i64 0} !1131 = !{!1132, !1132, i64 0} !1132 = !{!"0x15e4d4a0.w1.b0", !1133, i64 0} !1133 = !{!"0x15e4d4a0.w2.b0", !1134, i64 0} !1134 = !{!"0x15e4d4a0.w4.b0", !1135, i64 0} !1135 = !{!"0x15e4d4a0.w8.b0", !1136, i64 0} !1136 = !{!"0x15e4d4a0.w16.b0", !1137, i64 0} !1137 = !{!"0x15e4d4a0.w32.b0", !1138, i64 0} !1138 = !{!"0x15e4d4a0.w64.b0", !1139, i64 0} !1139 = !{!"0x15e4d4a0.w128.b0", !1140, i64 0} !1140 = !{!"0x15e4d4a0.w256.b0", !1141, i64 0} !1141 = !{!"0x15e4d4a0.w512.b0", !1142, i64 0} !1142 = !{!"0x15e4d4a0.w1024.b0", !1143, i64 0} !1143 = !{!"i64", !1144, i64 0} !1144 = !{!"0x15e4d4a0", !8, i64 0} !1145 = !{!1146, !1146, i64 0} !1146 = !{!"0x15e4d4a0.w1.b1", !1133, i64 0} !1147 = !{!1148, !1148, i64 0} !1148 = !{!"0x15f24510.w1.b0", !1149, i64 0} !1149 = !{!"0x15f24510.w2.b0", !1150, i64 0} !1150 = !{!"0x15f24510.w4.b0", !1151, i64 0} !1151 = !{!"0x15f24510.w8.b0", !1152, i64 0} !1152 = !{!"0x15f24510.w16.b0", !1153, i64 0} !1153 = !{!"0x15f24510.w32.b0", !1154, i64 0} !1154 = !{!"0x15f24510.w64.b0", !1155, i64 0} !1155 = !{!"0x15f24510.w128.b0", !1156, i64 0} !1156 = !{!"0x15f24510.w256.b0", !1157, i64 0} !1157 = !{!"0x15f24510.w512.b0", !1158, i64 0} !1158 = !{!"0x15f24510.w1024.b0", !1159, i64 0} !1159 = !{!"i64", !1160, i64 0} !1160 = !{!"0x15f24510", !8, i64 0} !1161 = !{!1162, !1162, i64 0} !1162 = !{!"0x15f24510.w1.b1", !1149, i64 0} !1163 = !{!1164, !1164, i64 0} !1164 = !{!"0x15f24510.w1.b2", !1165, i64 0} !1165 = !{!"0x15f24510.w2.b2", !1150, i64 0} !1166 = !{!1167, !1167, i64 0} !1167 = !{!"0x15f24510.w1.b3", !1165, i64 0} !1168 = !{!1169, !1169, i64 0} !1169 = !{!"0x15f24510.w1.b4", !1170, i64 0} !1170 = !{!"0x15f24510.w2.b4", !1171, i64 0} !1171 = !{!"0x15f24510.w4.b4", !1151, i64 0} !1172 = !{!1173, !1173, i64 0} !1173 = !{!"0x15f24510.w1.b5", !1170, i64 0} !1174 = !{!1175, !1175, i64 0} !1175 = !{!"0x15f20e90.w1.b0", !1176, i64 0} !1176 = !{!"0x15f20e90.w2.b0", !1177, i64 0} !1177 = !{!"0x15f20e90.w4.b0", !1178, i64 0} !1178 = !{!"0x15f20e90.w8.b0", !1179, i64 0} !1179 = !{!"0x15f20e90.w16.b0", !1180, i64 0} !1180 = !{!"0x15f20e90.w32.b0", !1181, i64 0} !1181 = !{!"0x15f20e90.w64.b0", !1182, i64 0} !1182 = !{!"0x15f20e90.w128.b0", !1183, i64 0} !1183 = !{!"0x15f20e90.w256.b0", !1184, i64 0} !1184 = !{!"0x15f20e90.w512.b0", !1185, i64 0} !1185 = !{!"0x15f20e90.w1024.b0", !1186, i64 0} !1186 = !{!"i32", !1187, i64 0} !1187 = !{!"0x15f20e90", !8, i64 0} !1188 = !{!1189, !1189, i64 0} !1189 = !{!"0x15f20e90.w1.b1", !1176, i64 0} !1190 = !{!1191, !1191, i64 0} !1191 = !{!"0x15f20e90.w1.b2", !1192, i64 0} !1192 = !{!"0x15f20e90.w2.b2", !1177, i64 0} !1193 = !{!1194, !1194, i64 0} !1194 = !{!"0x15f20e90.w1.b3", !1192, i64 0} !1195 = !{!1196, !1196, i64 0} !1196 = !{!"0x15f20e90.w1.b4", !1197, i64 0} !1197 = !{!"0x15f20e90.w2.b4", !1198, i64 0} !1198 = !{!"0x15f20e90.w4.b4", !1178, i64 0} !1199 = !{!1200, !1200, i64 0} !1200 = !{!"i8", !1201, i64 0} !1201 = !{!"0x733db90", !8, i64 0} !1202 = !{!1203, !1203, i64 0} !1203 = !{!"i8", !1204, i64 0} !1204 = !{!"0xcc21b50", !8, i64 0} !1205 = !{!1206, !1206, i64 0} !1206 = !{!"i8", !1207, i64 0} !1207 = !{!"0x15e62390", !8, i64 0} !1208 = !{!"branch_weights", i32 1, i32 349524} !1209 = distinct !{!1209, !1210} !1210 = !{!"llvm.loop.isvectorized", i32 1} !1211 = !{!1212, !1212, i64 0} !1212 = !{!"0xcbe32f0.w1.b0", !1213, i64 0} !1213 = !{!"0xcbe32f0.w2.b0", !1214, i64 0} !1214 = !{!"0xcbe32f0.w4.b0", !1215, i64 0} !1215 = !{!"0xcbe32f0.w8.b0", !1216, i64 0} !1216 = !{!"0xcbe32f0.w16.b0", !1217, i64 0} !1217 = !{!"0xcbe32f0.w32.b0", !1218, i64 0} !1218 = !{!"0xcbe32f0.w64.b0", !1219, i64 0} !1219 = !{!"0xcbe32f0.w128.b0", !1220, i64 0} !1220 = !{!"0xcbe32f0.w256.b0", !1221, i64 0} !1221 = !{!"0xcbe32f0.w512.b0", !1222, i64 0} !1222 = !{!"0xcbe32f0.w1024.b0", !1223, i64 0} !1223 = !{!"i8", !1224, i64 0} !1224 = !{!"0xcbe32f0", !8, i64 0} !1225 = !{!1226, !1226, i64 0} !1226 = !{!"0xcbe32f0.w1.b1", !1213, i64 0} !1227 = !{!1228, !1228, i64 0} !1228 = !{!"0xcbe32f0.w1.b2", !1229, i64 0} !1229 = !{!"0xcbe32f0.w2.b2", !1214, i64 0} !1230 = !{!1231, !1231, i64 0} !1231 = !{!"0xcc180c0.w1.b0", !1232, i64 0} !1232 = !{!"0xcc180c0.w2.b0", !1233, i64 0} !1233 = !{!"0xcc180c0.w4.b0", !1234, i64 0} !1234 = !{!"0xcc180c0.w8.b0", !1235, i64 0} !1235 = !{!"0xcc180c0.w16.b0", !1236, i64 0} !1236 = !{!"0xcc180c0.w32.b0", !1237, i64 0} !1237 = !{!"0xcc180c0.w64.b0", !1238, i64 0} !1238 = !{!"0xcc180c0.w128.b0", !1239, i64 0} !1239 = !{!"0xcc180c0.w256.b0", !1240, i64 0} !1240 = !{!"0xcc180c0.w512.b0", !1241, i64 0} !1241 = !{!"0xcc180c0.w1024.b0", !1242, i64 0} !1242 = !{!"i64", !1243, i64 0} !1243 = !{!"0xcc180c0", !8, i64 0} !1244 = !{!1245, !1245, i64 0} !1245 = !{!"0xcc180c0.w1.b1", !1232, i64 0} !1246 = !{!1247, !1247, i64 0} !1247 = !{!"0xcc180c0.w1.b2", !1248, i64 0} !1248 = !{!"0xcc180c0.w2.b2", !1233, i64 0} !1249 = !{!1250, !1250, i64 0} !1250 = !{!"0x15e67f60.w1.b0", !1251, i64 0} !1251 = !{!"0x15e67f60.w2.b0", !1252, i64 0} !1252 = !{!"0x15e67f60.w4.b0", !1253, i64 0} !1253 = !{!"0x15e67f60.w8.b0", !1254, i64 0} !1254 = !{!"0x15e67f60.w16.b0", !1255, i64 0} !1255 = !{!"0x15e67f60.w32.b0", !1256, i64 0} !1256 = !{!"0x15e67f60.w64.b0", !1257, i64 0} !1257 = !{!"0x15e67f60.w128.b0", !1258, i64 0} !1258 = !{!"0x15e67f60.w256.b0", !1259, i64 0} !1259 = !{!"0x15e67f60.w512.b0", !1260, i64 0} !1260 = !{!"0x15e67f60.w1024.b0", !1261, i64 0} !1261 = !{!"i64", !1262, i64 0} !1262 = !{!"0x15e67f60", !8, i64 0} !1263 = !{!1264, !1264, i64 0} !1264 = !{!"0x15e67f60.w1.b1", !1251, i64 0} !1265 = !{!1266, !1266, i64 0} !1266 = !{!"0x15e67f60.w1.b2", !1267, i64 0} !1267 = !{!"0x15e67f60.w2.b2", !1252, i64 0} !1268 = !{!1269, !1269, i64 0} !1269 = !{!"0xcc0bf20.w1.b0", !1270, i64 0} !1270 = !{!"0xcc0bf20.w2.b0", !1271, i64 0} !1271 = !{!"0xcc0bf20.w4.b0", !1272, i64 0} !1272 = !{!"0xcc0bf20.w8.b0", !1273, i64 0} !1273 = !{!"0xcc0bf20.w16.b0", !1274, i64 0} !1274 = !{!"0xcc0bf20.w32.b0", !1275, i64 0} !1275 = !{!"0xcc0bf20.w64.b0", !1276, i64 0} !1276 = !{!"0xcc0bf20.w128.b0", !1277, i64 0} !1277 = !{!"0xcc0bf20.w256.b0", !1278, i64 0} !1278 = !{!"0xcc0bf20.w512.b0", !1279, i64 0} !1279 = !{!"0xcc0bf20.w1024.b0", !1280, i64 0} !1280 = !{!"i64", !1281, i64 0} !1281 = !{!"0xcc0bf20", !8, i64 0} !1282 = !{!1283, !1283, i64 0} !1283 = !{!"0xcc0c580.w1.b0", !1284, i64 0} !1284 = !{!"0xcc0c580.w2.b0", !1285, i64 0} !1285 = !{!"0xcc0c580.w4.b0", !1286, i64 0} !1286 = !{!"0xcc0c580.w8.b0", !1287, i64 0} !1287 = !{!"0xcc0c580.w16.b0", !1288, i64 0} !1288 = !{!"0xcc0c580.w32.b0", !1289, i64 0} !1289 = !{!"0xcc0c580.w64.b0", !1290, i64 0} !1290 = !{!"0xcc0c580.w128.b0", !1291, i64 0} !1291 = !{!"0xcc0c580.w256.b0", !1292, i64 0} !1292 = !{!"0xcc0c580.w512.b0", !1293, i64 0} !1293 = !{!"0xcc0c580.w1024.b0", !1294, i64 0} !1294 = !{!"i64", !1295, i64 0} !1295 = !{!"0xcc0c580", !8, i64 0} !1296 = !{!1297, !1297, i64 0} !1297 = !{!"0xcc0e040.w1.b0", !1298, i64 0} !1298 = !{!"0xcc0e040.w2.b0", !1299, i64 0} !1299 = !{!"0xcc0e040.w4.b0", !1300, i64 0} !1300 = !{!"0xcc0e040.w8.b0", !1301, i64 0} !1301 = !{!"0xcc0e040.w16.b0", !1302, i64 0} !1302 = !{!"0xcc0e040.w32.b0", !1303, i64 0} !1303 = !{!"0xcc0e040.w64.b0", !1304, i64 0} !1304 = !{!"0xcc0e040.w128.b0", !1305, i64 0} !1305 = !{!"0xcc0e040.w256.b0", !1306, i64 0} !1306 = !{!"0xcc0e040.w512.b0", !1307, i64 0} !1307 = !{!"0xcc0e040.w1024.b0", !1308, i64 0} !1308 = !{!"i64", !1309, i64 0} !1309 = !{!"0xcc0e040", !8, i64 0} !1310 = !{!1311, !1311, i64 0} !1311 = !{!"0xcc0e040.w1.b1", !1298, i64 0} !1312 = !{!1313, !1313, i64 0} !1313 = !{!"0xcc0e630.w1.b0", !1314, i64 0} !1314 = !{!"0xcc0e630.w2.b0", !1315, i64 0} !1315 = !{!"0xcc0e630.w4.b0", !1316, i64 0} !1316 = !{!"0xcc0e630.w8.b0", !1317, i64 0} !1317 = !{!"0xcc0e630.w16.b0", !1318, i64 0} !1318 = !{!"0xcc0e630.w32.b0", !1319, i64 0} !1319 = !{!"0xcc0e630.w64.b0", !1320, i64 0} !1320 = !{!"0xcc0e630.w128.b0", !1321, i64 0} !1321 = !{!"0xcc0e630.w256.b0", !1322, i64 0} !1322 = !{!"0xcc0e630.w512.b0", !1323, i64 0} !1323 = !{!"0xcc0e630.w1024.b0", !1324, i64 0} !1324 = !{!"i64", !1325, i64 0} !1325 = !{!"0xcc0e630", !8, i64 0} !1326 = !{!1327, !1327, i64 0} !1327 = !{!"0xcc0e630.w1.b1", !1314, i64 0} !1328 = !{!1329, !1329, i64 0} !1329 = !{!"i8", !1330, i64 0} !1330 = !{!"0x15d5b010", !8, i64 0} !1331 = !{!1332, !1332, i64 0} !1332 = !{!"i8", !1333, i64 0} !1333 = !{!"0x40e7900", !8, i64 0} !1334 = !{!1335, !1335, i64 0} !1335 = !{!"i8", !1336, i64 0} !1336 = !{!"0x40fd3a0", !8, i64 0} !1337 = !{!1338, !1338, i64 0} !1338 = !{!"0x15dc4ea0.w1.b0", !1339, i64 0} !1339 = !{!"0x15dc4ea0.w2.b0", !1340, i64 0} !1340 = !{!"0x15dc4ea0.w4.b0", !1341, i64 0} !1341 = !{!"0x15dc4ea0.w8.b0", !1342, i64 0} !1342 = !{!"0x15dc4ea0.w16.b0", !1343, i64 0} !1343 = !{!"0x15dc4ea0.w32.b0", !1344, i64 0} !1344 = !{!"0x15dc4ea0.w64.b0", !1345, i64 0} !1345 = !{!"0x15dc4ea0.w128.b0", !1346, i64 0} !1346 = !{!"0x15dc4ea0.w256.b0", !1347, i64 0} !1347 = !{!"0x15dc4ea0.w512.b0", !1348, i64 0} !1348 = !{!"0x15dc4ea0.w1024.b0", !1349, i64 0} !1349 = !{!"i8", !1350, i64 0} !1350 = !{!"0x15dc4ea0", !8, i64 0} !1351 = !{!1352, !1352, i64 0} !1352 = !{!"0x15dc4ea0.w1.b1", !1339, i64 0} !1353 = !{!1354, !1354, i64 0} !1354 = !{!"0x15dc4ea0.w1.b2", !1355, i64 0} !1355 = !{!"0x15dc4ea0.w2.b2", !1340, i64 0} !1356 = !{!1357, !1357, i64 0} !1357 = !{!"0x15dc4ea0.w1.b3", !1355, i64 0} !1358 = !{!1359, !1359, i64 0} !1359 = !{!"0xcbe32b0.w1.b0", !1360, i64 0} !1360 = !{!"0xcbe32b0.w2.b0", !1361, i64 0} !1361 = !{!"0xcbe32b0.w4.b0", !1362, i64 0} !1362 = !{!"0xcbe32b0.w8.b0", !1363, i64 0} !1363 = !{!"0xcbe32b0.w16.b0", !1364, i64 0} !1364 = !{!"0xcbe32b0.w32.b0", !1365, i64 0} !1365 = !{!"0xcbe32b0.w64.b0", !1366, i64 0} !1366 = !{!"0xcbe32b0.w128.b0", !1367, i64 0} !1367 = !{!"0xcbe32b0.w256.b0", !1368, i64 0} !1368 = !{!"0xcbe32b0.w512.b0", !1369, i64 0} !1369 = !{!"0xcbe32b0.w1024.b0", !1370, i64 0} !1370 = !{!"i64", !1371, i64 0} !1371 = !{!"0xcbe32b0", !8, i64 0} !1372 = !{!1373, !1373, i64 0} !1373 = !{!"0xcbe32b0.w1.b1", !1360, i64 0} !1374 = !{!1375, !1375, i64 0} !1375 = !{!"0x15db7ab0.w1.b0", !1376, i64 0} !1376 = !{!"0x15db7ab0.w2.b0", !1377, i64 0} !1377 = !{!"0x15db7ab0.w4.b0", !1378, i64 0} !1378 = !{!"0x15db7ab0.w8.b0", !1379, i64 0} !1379 = !{!"0x15db7ab0.w16.b0", !1380, i64 0} !1380 = !{!"0x15db7ab0.w32.b0", !1381, i64 0} !1381 = !{!"0x15db7ab0.w64.b0", !1382, i64 0} !1382 = !{!"0x15db7ab0.w128.b0", !1383, i64 0} !1383 = !{!"0x15db7ab0.w256.b0", !1384, i64 0} !1384 = !{!"0x15db7ab0.w512.b0", !1385, i64 0} !1385 = !{!"0x15db7ab0.w1024.b0", !1386, i64 0} !1386 = !{!"i64", !1387, i64 0} !1387 = !{!"0x15db7ab0", !8, i64 0} !1388 = !{!1389, !1389, i64 0} !1389 = !{!"0x15db7ab0.w1.b1", !1376, i64 0} !1390 = !{!1391, !1391, i64 0} !1391 = !{!"0xcc15720.w1.b0", !1392, i64 0} !1392 = !{!"0xcc15720.w2.b0", !1393, i64 0} !1393 = !{!"0xcc15720.w4.b0", !1394, i64 0} !1394 = !{!"0xcc15720.w8.b0", !1395, i64 0} !1395 = !{!"0xcc15720.w16.b0", !1396, i64 0} !1396 = !{!"0xcc15720.w32.b0", !1397, i64 0} !1397 = !{!"0xcc15720.w64.b0", !1398, i64 0} !1398 = !{!"0xcc15720.w128.b0", !1399, i64 0} !1399 = !{!"0xcc15720.w256.b0", !1400, i64 0} !1400 = !{!"0xcc15720.w512.b0", !1401, i64 0} !1401 = !{!"0xcc15720.w1024.b0", !1402, i64 0} !1402 = !{!"i64", !1403, i64 0} !1403 = !{!"0xcc15720", !8, i64 0} !1404 = !{!1405, !1405, i64 0} !1405 = !{!"0xcc15720.w1.b1", !1392, i64 0} !1406 = !{!1407, !1407, i64 0} !1407 = !{!"0xcc06d10.w1.b0", !1408, i64 0} !1408 = !{!"0xcc06d10.w2.b0", !1409, i64 0} !1409 = !{!"0xcc06d10.w4.b0", !1410, i64 0} !1410 = !{!"0xcc06d10.w8.b0", !1411, i64 0} !1411 = !{!"0xcc06d10.w16.b0", !1412, i64 0} !1412 = !{!"0xcc06d10.w32.b0", !1413, i64 0} !1413 = !{!"0xcc06d10.w64.b0", !1414, i64 0} !1414 = !{!"0xcc06d10.w128.b0", !1415, i64 0} !1415 = !{!"0xcc06d10.w256.b0", !1416, i64 0} !1416 = !{!"0xcc06d10.w512.b0", !1417, i64 0} !1417 = !{!"0xcc06d10.w1024.b0", !1418, i64 0} !1418 = !{!"i64", !1419, i64 0} !1419 = !{!"0xcc06d10", !8, i64 0} !1420 = !{!1421, !1421, i64 0} !1421 = !{!"0xcc06d10.w1.b1", !1408, i64 0} !1422 = !{!1423, !1423, i64 0} !1423 = !{!"0xcc08b40.w1.b0", !1424, i64 0} !1424 = !{!"0xcc08b40.w2.b0", !1425, i64 0} !1425 = !{!"0xcc08b40.w4.b0", !1426, i64 0} !1426 = !{!"0xcc08b40.w8.b0", !1427, i64 0} !1427 = !{!"0xcc08b40.w16.b0", !1428, i64 0} !1428 = !{!"0xcc08b40.w32.b0", !1429, i64 0} !1429 = !{!"0xcc08b40.w64.b0", !1430, i64 0} !1430 = !{!"0xcc08b40.w128.b0", !1431, i64 0} !1431 = !{!"0xcc08b40.w256.b0", !1432, i64 0} !1432 = !{!"0xcc08b40.w512.b0", !1433, i64 0} !1433 = !{!"0xcc08b40.w1024.b0", !1434, i64 0} !1434 = !{!"i64", !1435, i64 0} !1435 = !{!"0xcc08b40", !8, i64 0} !1436 = !{!1437, !1437, i64 0} !1437 = !{!"0xcc09040.w1.b0", !1438, i64 0} !1438 = !{!"0xcc09040.w2.b0", !1439, i64 0} !1439 = !{!"0xcc09040.w4.b0", !1440, i64 0} !1440 = !{!"0xcc09040.w8.b0", !1441, i64 0} !1441 = !{!"0xcc09040.w16.b0", !1442, i64 0} !1442 = !{!"0xcc09040.w32.b0", !1443, i64 0} !1443 = !{!"0xcc09040.w64.b0", !1444, i64 0} !1444 = !{!"0xcc09040.w128.b0", !1445, i64 0} !1445 = !{!"0xcc09040.w256.b0", !1446, i64 0} !1446 = !{!"0xcc09040.w512.b0", !1447, i64 0} !1447 = !{!"0xcc09040.w1024.b0", !1448, i64 0} !1448 = !{!"i64", !1449, i64 0} !1449 = !{!"0xcc09040", !8, i64 0} !1450 = !{!1451, !1451, i64 0} !1451 = !{!"0xcc0aa70.w1.b0", !1452, i64 0} !1452 = !{!"0xcc0aa70.w2.b0", !1453, i64 0} !1453 = !{!"0xcc0aa70.w4.b0", !1454, i64 0} !1454 = !{!"0xcc0aa70.w8.b0", !1455, i64 0} !1455 = !{!"0xcc0aa70.w16.b0", !1456, i64 0} !1456 = !{!"0xcc0aa70.w32.b0", !1457, i64 0} !1457 = !{!"0xcc0aa70.w64.b0", !1458, i64 0} !1458 = !{!"0xcc0aa70.w128.b0", !1459, i64 0} !1459 = !{!"0xcc0aa70.w256.b0", !1460, i64 0} !1460 = !{!"0xcc0aa70.w512.b0", !1461, i64 0} !1461 = !{!"0xcc0aa70.w1024.b0", !1462, i64 0} !1462 = !{!"i64", !1463, i64 0} !1463 = !{!"0xcc0aa70", !8, i64 0} !1464 = !{!1465, !1465, i64 0} !1465 = !{!"0xcc0aa70.w1.b1", !1452, i64 0} !1466 = !{!1467, !1467, i64 0} !1467 = !{!"0x15e67c10.w1.b0", !1468, i64 0} !1468 = !{!"0x15e67c10.w2.b0", !1469, i64 0} !1469 = !{!"0x15e67c10.w4.b0", !1470, i64 0} !1470 = !{!"0x15e67c10.w8.b0", !1471, i64 0} !1471 = !{!"0x15e67c10.w16.b0", !1472, i64 0} !1472 = !{!"0x15e67c10.w32.b0", !1473, i64 0} !1473 = !{!"0x15e67c10.w64.b0", !1474, i64 0} !1474 = !{!"0x15e67c10.w128.b0", !1475, i64 0} !1475 = !{!"0x15e67c10.w256.b0", !1476, i64 0} !1476 = !{!"0x15e67c10.w512.b0", !1477, i64 0} !1477 = !{!"0x15e67c10.w1024.b0", !1478, i64 0} !1478 = !{!"i64", !1479, i64 0} !1479 = !{!"0x15e67c10", !8, i64 0} !1480 = !{!1481, !1481, i64 0} !1481 = !{!"0x15e67c10.w1.b1", !1468, i64 0} !1482 = !{!1483, !1483, i64 0} !1483 = !{!"0x15f1e040.w1.b0", !1484, i64 0} !1484 = !{!"0x15f1e040.w2.b0", !1485, i64 0} !1485 = !{!"0x15f1e040.w4.b0", !1486, i64 0} !1486 = !{!"0x15f1e040.w8.b0", !1487, i64 0} !1487 = !{!"0x15f1e040.w16.b0", !1488, i64 0} !1488 = !{!"0x15f1e040.w32.b0", !1489, i64 0} !1489 = !{!"0x15f1e040.w64.b0", !1490, i64 0} !1490 = !{!"0x15f1e040.w128.b0", !1491, i64 0} !1491 = !{!"0x15f1e040.w256.b0", !1492, i64 0} !1492 = !{!"0x15f1e040.w512.b0", !1493, i64 0} !1493 = !{!"0x15f1e040.w1024.b0", !1494, i64 0} !1494 = !{!"i64", !1495, i64 0} !1495 = !{!"0x15f1e040", !8, i64 0} !1496 = !{!1497, !1497, i64 0} !1497 = !{!"0x15f1e040.w1.b1", !1484, i64 0} !1498 = !{!1499, !1499, i64 0} !1499 = !{!"0x15f1e040.w1.b2", !1500, i64 0} !1500 = !{!"0x15f1e040.w2.b2", !1485, i64 0} !1501 = !{!1502, !1502, i64 0} !1502 = !{!"0x15f1e040.w1.b3", !1500, i64 0} !1503 = !{!1504, !1504, i64 0} !1504 = !{!"0x15f1e040.w1.b4", !1505, i64 0} !1505 = !{!"0x15f1e040.w2.b4", !1506, i64 0} !1506 = !{!"0x15f1e040.w4.b4", !1486, i64 0} !1507 = !{!1508, !1508, i64 0} !1508 = !{!"0x15f1e040.w1.b5", !1505, i64 0} !1509 = !{!1510, !1510, i64 0} !1510 = !{!"0x15f1a3f0.w1.b0", !1511, i64 0} !1511 = !{!"0x15f1a3f0.w2.b0", !1512, i64 0} !1512 = !{!"0x15f1a3f0.w4.b0", !1513, i64 0} !1513 = !{!"0x15f1a3f0.w8.b0", !1514, i64 0} !1514 = !{!"0x15f1a3f0.w16.b0", !1515, i64 0} !1515 = !{!"0x15f1a3f0.w32.b0", !1516, i64 0} !1516 = !{!"0x15f1a3f0.w64.b0", !1517, i64 0} !1517 = !{!"0x15f1a3f0.w128.b0", !1518, i64 0} !1518 = !{!"0x15f1a3f0.w256.b0", !1519, i64 0} !1519 = !{!"0x15f1a3f0.w512.b0", !1520, i64 0} !1520 = !{!"0x15f1a3f0.w1024.b0", !1521, i64 0} !1521 = !{!"i32", !1522, i64 0} !1522 = !{!"0x15f1a3f0", !8, i64 0} !1523 = !{!1524, !1524, i64 0} !1524 = !{!"0x15f1a3f0.w1.b1", !1511, i64 0} !1525 = !{!1526, !1526, i64 0} !1526 = !{!"0x15f1a3f0.w1.b2", !1527, i64 0} !1527 = !{!"0x15f1a3f0.w2.b2", !1512, i64 0} !1528 = !{!1529, !1529, i64 0} !1529 = !{!"0x15f1a3f0.w1.b3", !1527, i64 0} !1530 = !{!1531, !1531, i64 0} !1531 = !{!"0x15f1a3f0.w1.b4", !1532, i64 0} !1532 = !{!"0x15f1a3f0.w2.b4", !1533, i64 0} !1533 = !{!"0x15f1a3f0.w4.b4", !1513, i64 0} !1534 = !{!1535, !1535, i64 0} !1535 = !{!"i8", !1536, i64 0} !1536 = !{!"0x740f190", !8, i64 0} !1537 = !{!1538, !1538, i64 0} !1538 = !{!"i8", !1539, i64 0} !1539 = !{!"0x12333b40", !8, i64 0} !1540 = !{!1541, !1541, i64 0} !1541 = !{!"i8", !1542, i64 0} !1542 = !{!"0xcbfb190", !8, i64 0} !1543 = distinct !{!1543, !1210} !1544 = !{!1545, !1545, i64 0} !1545 = !{!"0xcc14c60.w1.b0", !1546, i64 0} !1546 = !{!"0xcc14c60.w2.b0", !1547, i64 0} !1547 = !{!"0xcc14c60.w4.b0", !1548, i64 0} !1548 = !{!"0xcc14c60.w8.b0", !1549, i64 0} !1549 = !{!"0xcc14c60.w16.b0", !1550, i64 0} !1550 = !{!"0xcc14c60.w32.b0", !1551, i64 0} !1551 = !{!"0xcc14c60.w64.b0", !1552, i64 0} !1552 = !{!"0xcc14c60.w128.b0", !1553, i64 0} !1553 = !{!"0xcc14c60.w256.b0", !1554, i64 0} !1554 = !{!"0xcc14c60.w512.b0", !1555, i64 0} !1555 = !{!"0xcc14c60.w1024.b0", !1556, i64 0} !1556 = !{!"i8", !1557, i64 0} !1557 = !{!"0xcc14c60", !8, i64 0} !1558 = !{!1559, !1559, i64 0} !1559 = !{!"0xcc14c60.w1.b1", !1546, i64 0} !1560 = !{!1561, !1561, i64 0} !1561 = !{!"0xcc14c60.w1.b2", !1562, i64 0} !1562 = !{!"0xcc14c60.w2.b2", !1547, i64 0} !1563 = !{!1564, !1564, i64 0} !1564 = !{!"0x15deb6f0.w1.b0", !1565, i64 0} !1565 = !{!"0x15deb6f0.w2.b0", !1566, i64 0} !1566 = !{!"0x15deb6f0.w4.b0", !1567, i64 0} !1567 = !{!"0x15deb6f0.w8.b0", !1568, i64 0} !1568 = !{!"0x15deb6f0.w16.b0", !1569, i64 0} !1569 = !{!"0x15deb6f0.w32.b0", !1570, i64 0} !1570 = !{!"0x15deb6f0.w64.b0", !1571, i64 0} !1571 = !{!"0x15deb6f0.w128.b0", !1572, i64 0} !1572 = !{!"0x15deb6f0.w256.b0", !1573, i64 0} !1573 = !{!"0x15deb6f0.w512.b0", !1574, i64 0} !1574 = !{!"0x15deb6f0.w1024.b0", !1575, i64 0} !1575 = !{!"i64", !1576, i64 0} !1576 = !{!"0x15deb6f0", !8, i64 0} !1577 = !{!1578, !1578, i64 0} !1578 = !{!"0x15deb6f0.w1.b1", !1565, i64 0} !1579 = !{!1580, !1580, i64 0} !1580 = !{!"0x15deb6f0.w1.b2", !1581, i64 0} !1581 = !{!"0x15deb6f0.w2.b2", !1566, i64 0} !1582 = !{!1583, !1583, i64 0} !1583 = !{!"0x15e4d8f0.w1.b0", !1584, i64 0} !1584 = !{!"0x15e4d8f0.w2.b0", !1585, i64 0} !1585 = !{!"0x15e4d8f0.w4.b0", !1586, i64 0} !1586 = !{!"0x15e4d8f0.w8.b0", !1587, i64 0} !1587 = !{!"0x15e4d8f0.w16.b0", !1588, i64 0} !1588 = !{!"0x15e4d8f0.w32.b0", !1589, i64 0} !1589 = !{!"0x15e4d8f0.w64.b0", !1590, i64 0} !1590 = !{!"0x15e4d8f0.w128.b0", !1591, i64 0} !1591 = !{!"0x15e4d8f0.w256.b0", !1592, i64 0} !1592 = !{!"0x15e4d8f0.w512.b0", !1593, i64 0} !1593 = !{!"0x15e4d8f0.w1024.b0", !1594, i64 0} !1594 = !{!"i64", !1595, i64 0} !1595 = !{!"0x15e4d8f0", !8, i64 0} !1596 = !{!1597, !1597, i64 0} !1597 = !{!"0x15e4d8f0.w1.b1", !1584, i64 0} !1598 = !{!1599, !1599, i64 0} !1599 = !{!"0x15e4d8f0.w1.b2", !1600, i64 0} !1600 = !{!"0x15e4d8f0.w2.b2", !1585, i64 0} !1601 = !{!1602, !1602, i64 0} !1602 = !{!"0x15e740e0.w1.b0", !1603, i64 0} !1603 = !{!"0x15e740e0.w2.b0", !1604, i64 0} !1604 = !{!"0x15e740e0.w4.b0", !1605, i64 0} !1605 = !{!"0x15e740e0.w8.b0", !1606, i64 0} !1606 = !{!"0x15e740e0.w16.b0", !1607, i64 0} !1607 = !{!"0x15e740e0.w32.b0", !1608, i64 0} !1608 = !{!"0x15e740e0.w64.b0", !1609, i64 0} !1609 = !{!"0x15e740e0.w128.b0", !1610, i64 0} !1610 = !{!"0x15e740e0.w256.b0", !1611, i64 0} !1611 = !{!"0x15e740e0.w512.b0", !1612, i64 0} !1612 = !{!"0x15e740e0.w1024.b0", !1613, i64 0} !1613 = !{!"i64", !1614, i64 0} !1614 = !{!"0x15e740e0", !8, i64 0} !1615 = !{!1616, !1616, i64 0} !1616 = !{!"0x15e740e0.w1.b1", !1603, i64 0} !1617 = !{!1618, !1618, i64 0} !1618 = !{!"0x15e740e0.w1.b2", !1619, i64 0} !1619 = !{!"0x15e740e0.w2.b2", !1604, i64 0} !1620 = !{!1621, !1621, i64 0} !1621 = !{!"0x15e717c0.w1.b0", !1622, i64 0} !1622 = !{!"0x15e717c0.w2.b0", !1623, i64 0} !1623 = !{!"0x15e717c0.w4.b0", !1624, i64 0} !1624 = !{!"0x15e717c0.w8.b0", !1625, i64 0} !1625 = !{!"0x15e717c0.w16.b0", !1626, i64 0} !1626 = !{!"0x15e717c0.w32.b0", !1627, i64 0} !1627 = !{!"0x15e717c0.w64.b0", !1628, i64 0} !1628 = !{!"0x15e717c0.w128.b0", !1629, i64 0} !1629 = !{!"0x15e717c0.w256.b0", !1630, i64 0} !1630 = !{!"0x15e717c0.w512.b0", !1631, i64 0} !1631 = !{!"0x15e717c0.w1024.b0", !1632, i64 0} !1632 = !{!"i64", !1633, i64 0} !1633 = !{!"0x15e717c0", !8, i64 0} !1634 = !{!1635, !1635, i64 0} !1635 = !{!"0x15e717c0.w1.b1", !1622, i64 0} !1636 = !{!1637, !1637, i64 0} !1637 = !{!"0x15e717c0.w1.b2", !1638, i64 0} !1638 = !{!"0x15e717c0.w2.b2", !1623, i64 0} !1639 = !{!1640, !1640, i64 0} !1640 = !{!"0x15e76930.w1.b0", !1641, i64 0} !1641 = !{!"0x15e76930.w2.b0", !1642, i64 0} !1642 = !{!"0x15e76930.w4.b0", !1643, i64 0} !1643 = !{!"0x15e76930.w8.b0", !1644, i64 0} !1644 = !{!"0x15e76930.w16.b0", !1645, i64 0} !1645 = !{!"0x15e76930.w32.b0", !1646, i64 0} !1646 = !{!"0x15e76930.w64.b0", !1647, i64 0} !1647 = !{!"0x15e76930.w128.b0", !1648, i64 0} !1648 = !{!"0x15e76930.w256.b0", !1649, i64 0} !1649 = !{!"0x15e76930.w512.b0", !1650, i64 0} !1650 = !{!"0x15e76930.w1024.b0", !1651, i64 0} !1651 = !{!"i64", !1652, i64 0} !1652 = !{!"0x15e76930", !8, i64 0} !1653 = !{!1654, !1654, i64 0} !1654 = !{!"0x15e76930.w1.b1", !1641, i64 0} !1655 = !{!1656, !1656, i64 0} !1656 = !{!"0x15e76930.w1.b2", !1657, i64 0} !1657 = !{!"0x15e76930.w2.b2", !1642, i64 0} !1658 = !{!1659, !1659, i64 0} !1659 = !{!"0x15e77130.w1.b0", !1660, i64 0} !1660 = !{!"0x15e77130.w2.b0", !1661, i64 0} !1661 = !{!"0x15e77130.w4.b0", !1662, i64 0} !1662 = !{!"0x15e77130.w8.b0", !1663, i64 0} !1663 = !{!"0x15e77130.w16.b0", !1664, i64 0} !1664 = !{!"0x15e77130.w32.b0", !1665, i64 0} !1665 = !{!"0x15e77130.w64.b0", !1666, i64 0} !1666 = !{!"0x15e77130.w128.b0", !1667, i64 0} !1667 = !{!"0x15e77130.w256.b0", !1668, i64 0} !1668 = !{!"0x15e77130.w512.b0", !1669, i64 0} !1669 = !{!"0x15e77130.w1024.b0", !1670, i64 0} !1670 = !{!"i64", !1671, i64 0} !1671 = !{!"0x15e77130", !8, i64 0} !1672 = !{!1673, !1673, i64 0} !1673 = !{!"0x15e77130.w1.b1", !1660, i64 0} !1674 = !{!1675, !1675, i64 0} !1675 = !{!"0x15e77130.w1.b2", !1676, i64 0} !1676 = !{!"0x15e77130.w2.b2", !1661, i64 0} !1677 = !{!1678, !1678, i64 0} !1678 = !{!"0x15f2a450.w1.b0", !1679, i64 0} !1679 = !{!"0x15f2a450.w2.b0", !1680, i64 0} !1680 = !{!"0x15f2a450.w4.b0", !1681, i64 0} !1681 = !{!"0x15f2a450.w8.b0", !1682, i64 0} !1682 = !{!"0x15f2a450.w16.b0", !1683, i64 0} !1683 = !{!"0x15f2a450.w32.b0", !1684, i64 0} !1684 = !{!"0x15f2a450.w64.b0", !1685, i64 0} !1685 = !{!"0x15f2a450.w128.b0", !1686, i64 0} !1686 = !{!"0x15f2a450.w256.b0", !1687, i64 0} !1687 = !{!"0x15f2a450.w512.b0", !1688, i64 0} !1688 = !{!"0x15f2a450.w1024.b0", !1689, i64 0} !1689 = !{!"i64", !1690, i64 0} !1690 = !{!"0x15f2a450", !8, i64 0} !1691 = !{!1692, !1692, i64 0} !1692 = !{!"0x15f2a450.w1.b1", !1679, i64 0} !1693 = !{!1694, !1694, i64 0} !1694 = !{!"0x15f2a450.w1.b2", !1695, i64 0} !1695 = !{!"0x15f2a450.w2.b2", !1680, i64 0} !1696 = !{!1697, !1697, i64 0} !1697 = !{!"0x15f2a450.w1.b3", !1695, i64 0} !1698 = !{!1699, !1699, i64 0} !1699 = !{!"0x15f2a450.w1.b4", !1700, i64 0} !1700 = !{!"0x15f2a450.w2.b4", !1701, i64 0} !1701 = !{!"0x15f2a450.w4.b4", !1681, i64 0} !1702 = !{!1703, !1703, i64 0} !1703 = !{!"0x15f2a450.w1.b5", !1700, i64 0} !1704 = !{!1705, !1705, i64 0} !1705 = !{!"0x15f2a450.w1.b6", !1706, i64 0} !1706 = !{!"0x15f2a450.w2.b6", !1701, i64 0} !1707 = !{!1708, !1708, i64 0} !1708 = !{!"0x15f2a450.w1.b7", !1706, i64 0} !1709 = !{!1710, !1710, i64 0} !1710 = !{!"0x15f2a450.w1.b8", !1711, i64 0} !1711 = !{!"0x15f2a450.w2.b8", !1712, i64 0} !1712 = !{!"0x15f2a450.w4.b8", !1713, i64 0} !1713 = !{!"0x15f2a450.w8.b8", !1682, i64 0} !1714 = !{!1715, !1715, i64 0} !1715 = !{!"0x15f27530.w1.b0", !1716, i64 0} !1716 = !{!"0x15f27530.w2.b0", !1717, i64 0} !1717 = !{!"0x15f27530.w4.b0", !1718, i64 0} !1718 = !{!"0x15f27530.w8.b0", !1719, i64 0} !1719 = !{!"0x15f27530.w16.b0", !1720, i64 0} !1720 = !{!"0x15f27530.w32.b0", !1721, i64 0} !1721 = !{!"0x15f27530.w64.b0", !1722, i64 0} !1722 = !{!"0x15f27530.w128.b0", !1723, i64 0} !1723 = !{!"0x15f27530.w256.b0", !1724, i64 0} !1724 = !{!"0x15f27530.w512.b0", !1725, i64 0} !1725 = !{!"0x15f27530.w1024.b0", !1726, i64 0} !1726 = !{!"i32", !1727, i64 0} !1727 = !{!"0x15f27530", !8, i64 0} !1728 = !{!1729, !1729, i64 0} !1729 = !{!"0x15f27530.w1.b1", !1716, i64 0} !1730 = !{!1731, !1731, i64 0} !1731 = !{!"0x15f27530.w1.b2", !1732, i64 0} !1732 = !{!"0x15f27530.w2.b2", !1717, i64 0} !1733 = !{!1734, !1734, i64 0} !1734 = !{!"0x15f27530.w1.b3", !1732, i64 0} !1735 = !{!1736, !1736, i64 0} !1736 = !{!"0x15f27530.w1.b4", !1737, i64 0} !1737 = !{!"0x15f27530.w2.b4", !1738, i64 0} !1738 = !{!"0x15f27530.w4.b4", !1718, i64 0} !1739 = !{!1740, !1740, i64 0} !1740 = !{!"0x15dec310.w1.b0", !1741, i64 0} !1741 = !{!"0x15dec310.w2.b0", !1742, i64 0} !1742 = !{!"0x15dec310.w4.b0", !1743, i64 0} !1743 = !{!"0x15dec310.w8.b0", !1744, i64 0} !1744 = !{!"0x15dec310.w16.b0", !1745, i64 0} !1745 = !{!"0x15dec310.w32.b0", !1746, i64 0} !1746 = !{!"0x15dec310.w64.b0", !1747, i64 0} !1747 = !{!"0x15dec310.w128.b0", !1748, i64 0} !1748 = !{!"0x15dec310.w256.b0", !1749, i64 0} !1749 = !{!"0x15dec310.w512.b0", !1750, i64 0} !1750 = !{!"0x15dec310.w1024.b0", !1751, i64 0} !1751 = !{!"i8", !1752, i64 0} !1752 = !{!"0x15dec310", !8, i64 0} !1753 = !{!1754, !1754, i64 0} !1754 = !{!"0x15dec310.w1.b1", !1741, i64 0} !1755 = !{!1756, !1756, i64 0} !1756 = !{!"0x15ded990.w1.b0", !1757, i64 0} !1757 = !{!"0x15ded990.w2.b0", !1758, i64 0} !1758 = !{!"0x15ded990.w4.b0", !1759, i64 0} !1759 = !{!"0x15ded990.w8.b0", !1760, i64 0} !1760 = !{!"0x15ded990.w16.b0", !1761, i64 0} !1761 = !{!"0x15ded990.w32.b0", !1762, i64 0} !1762 = !{!"0x15ded990.w64.b0", !1763, i64 0} !1763 = !{!"0x15ded990.w128.b0", !1764, i64 0} !1764 = !{!"0x15ded990.w256.b0", !1765, i64 0} !1765 = !{!"0x15ded990.w512.b0", !1766, i64 0} !1766 = !{!"0x15ded990.w1024.b0", !1767, i64 0} !1767 = !{!"i64", !1768, i64 0} !1768 = !{!"0x15ded990", !8, i64 0} !1769 = !{!1770, !1770, i64 0} !1770 = !{!"0x15ded990.w1.b1", !1757, i64 0} !1771 = !{!1772, !1772, i64 0} !1772 = !{!"0x15d99c30.w1.b0", !1773, i64 0} !1773 = !{!"0x15d99c30.w2.b0", !1774, i64 0} !1774 = !{!"0x15d99c30.w4.b0", !1775, i64 0} !1775 = !{!"0x15d99c30.w8.b0", !1776, i64 0} !1776 = !{!"0x15d99c30.w16.b0", !1777, i64 0} !1777 = !{!"0x15d99c30.w32.b0", !1778, i64 0} !1778 = !{!"0x15d99c30.w64.b0", !1779, i64 0} !1779 = !{!"0x15d99c30.w128.b0", !1780, i64 0} !1780 = !{!"0x15d99c30.w256.b0", !1781, i64 0} !1781 = !{!"0x15d99c30.w512.b0", !1782, i64 0} !1782 = !{!"0x15d99c30.w1024.b0", !1783, i64 0} !1783 = !{!"i64", !1784, i64 0} !1784 = !{!"0x15d99c30", !8, i64 0} !1785 = !{!1786, !1786, i64 0} !1786 = !{!"0x15d99c30.w1.b1", !1773, i64 0} !1787 = !{!1788, !1788, i64 0} !1788 = !{!"0x15d9b6d0.w1.b0", !1789, i64 0} !1789 = !{!"0x15d9b6d0.w2.b0", !1790, i64 0} !1790 = !{!"0x15d9b6d0.w4.b0", !1791, i64 0} !1791 = !{!"0x15d9b6d0.w8.b0", !1792, i64 0} !1792 = !{!"0x15d9b6d0.w16.b0", !1793, i64 0} !1793 = !{!"0x15d9b6d0.w32.b0", !1794, i64 0} !1794 = !{!"0x15d9b6d0.w64.b0", !1795, i64 0} !1795 = !{!"0x15d9b6d0.w128.b0", !1796, i64 0} !1796 = !{!"0x15d9b6d0.w256.b0", !1797, i64 0} !1797 = !{!"0x15d9b6d0.w512.b0", !1798, i64 0} !1798 = !{!"0x15d9b6d0.w1024.b0", !1799, i64 0} !1799 = !{!"i64", !1800, i64 0} !1800 = !{!"0x15d9b6d0", !8, i64 0} !1801 = !{!1802, !1802, i64 0} !1802 = !{!"0x15d9b6d0.w1.b1", !1789, i64 0} !1803 = !{!1804, !1804, i64 0} !1804 = !{!"0x15d9be20.w1.b0", !1805, i64 0} !1805 = !{!"0x15d9be20.w2.b0", !1806, i64 0} !1806 = !{!"0x15d9be20.w4.b0", !1807, i64 0} !1807 = !{!"0x15d9be20.w8.b0", !1808, i64 0} !1808 = !{!"0x15d9be20.w16.b0", !1809, i64 0} !1809 = !{!"0x15d9be20.w32.b0", !1810, i64 0} !1810 = !{!"0x15d9be20.w64.b0", !1811, i64 0} !1811 = !{!"0x15d9be20.w128.b0", !1812, i64 0} !1812 = !{!"0x15d9be20.w256.b0", !1813, i64 0} !1813 = !{!"0x15d9be20.w512.b0", !1814, i64 0} !1814 = !{!"0x15d9be20.w1024.b0", !1815, i64 0} !1815 = !{!"i64", !1816, i64 0} !1816 = !{!"0x15d9be20", !8, i64 0} !1817 = !{!1818, !1818, i64 0} !1818 = !{!"0x15d9be20.w1.b1", !1805, i64 0} !1819 = !{!1820, !1820, i64 0} !1820 = !{!"i8", !1821, i64 0} !1821 = !{!"0x7309860", !8, i64 0} !1822 = !{!1823, !1823, i64 0} !1823 = !{!"float", !1824, i64 0} !1824 = !{!"0x7328420", !8, i64 0} !1825 = distinct !{!1825, !1210} !1826 = !{!1827, !1827, i64 0} !1827 = !{!"i8", !1828, i64 0} !1828 = !{!"0x3f9f810", !8, i64 0} !1829 = distinct !{!1829, !1210} !1830 = !{!1831, !1831, i64 0} !1831 = !{!"0x15e769a0.w1.b0", !1832, i64 0} !1832 = !{!"0x15e769a0.w2.b0", !1833, i64 0} !1833 = !{!"0x15e769a0.w4.b0", !1834, i64 0} !1834 = !{!"0x15e769a0.w8.b0", !1835, i64 0} !1835 = !{!"0x15e769a0.w16.b0", !1836, i64 0} !1836 = !{!"0x15e769a0.w32.b0", !1837, i64 0} !1837 = !{!"0x15e769a0.w64.b0", !1838, i64 0} !1838 = !{!"0x15e769a0.w128.b0", !1839, i64 0} !1839 = !{!"0x15e769a0.w256.b0", !1840, i64 0} !1840 = !{!"0x15e769a0.w512.b0", !1841, i64 0} !1841 = !{!"0x15e769a0.w1024.b0", !1842, i64 0} !1842 = !{!"i8", !1843, i64 0} !1843 = !{!"0x15e769a0", !8, i64 0} !1844 = !{!1845, !1845, i64 0} !1845 = !{!"0x15e769a0.w1.b1", !1832, i64 0} !1846 = !{!1847, !1847, i64 0} !1847 = !{!"0x15e769a0.w1.b2", !1848, i64 0} !1848 = !{!"0x15e769a0.w2.b2", !1833, i64 0} !1849 = !{!1850, !1850, i64 0} !1850 = !{!"0x15d9f3d0.w1.b0", !1851, i64 0} !1851 = !{!"0x15d9f3d0.w2.b0", !1852, i64 0} !1852 = !{!"0x15d9f3d0.w4.b0", !1853, i64 0} !1853 = !{!"0x15d9f3d0.w8.b0", !1854, i64 0} !1854 = !{!"0x15d9f3d0.w16.b0", !1855, i64 0} !1855 = !{!"0x15d9f3d0.w32.b0", !1856, i64 0} !1856 = !{!"0x15d9f3d0.w64.b0", !1857, i64 0} !1857 = !{!"0x15d9f3d0.w128.b0", !1858, i64 0} !1858 = !{!"0x15d9f3d0.w256.b0", !1859, i64 0} !1859 = !{!"0x15d9f3d0.w512.b0", !1860, i64 0} !1860 = !{!"0x15d9f3d0.w1024.b0", !1861, i64 0} !1861 = !{!"i64", !1862, i64 0} !1862 = !{!"0x15d9f3d0", !8, i64 0} !1863 = !{!1864, !1864, i64 0} !1864 = !{!"0x15d9f3d0.w1.b1", !1851, i64 0} !1865 = !{!1866, !1866, i64 0} !1866 = !{!"0x15ea2390.w1.b0", !1867, i64 0} !1867 = !{!"0x15ea2390.w2.b0", !1868, i64 0} !1868 = !{!"0x15ea2390.w4.b0", !1869, i64 0} !1869 = !{!"0x15ea2390.w8.b0", !1870, i64 0} !1870 = !{!"0x15ea2390.w16.b0", !1871, i64 0} !1871 = !{!"0x15ea2390.w32.b0", !1872, i64 0} !1872 = !{!"0x15ea2390.w64.b0", !1873, i64 0} !1873 = !{!"0x15ea2390.w128.b0", !1874, i64 0} !1874 = !{!"0x15ea2390.w256.b0", !1875, i64 0} !1875 = !{!"0x15ea2390.w512.b0", !1876, i64 0} !1876 = !{!"0x15ea2390.w1024.b0", !1877, i64 0} !1877 = !{!"i64", !1878, i64 0} !1878 = !{!"0x15ea2390", !8, i64 0} !1879 = !{!1880, !1880, i64 0} !1880 = !{!"0x15ea2390.w1.b1", !1867, i64 0} !1881 = !{!1882, !1882, i64 0} !1882 = !{!"0x15ea40c0.w1.b0", !1883, i64 0} !1883 = !{!"0x15ea40c0.w2.b0", !1884, i64 0} !1884 = !{!"0x15ea40c0.w4.b0", !1885, i64 0} !1885 = !{!"0x15ea40c0.w8.b0", !1886, i64 0} !1886 = !{!"0x15ea40c0.w16.b0", !1887, i64 0} !1887 = !{!"0x15ea40c0.w32.b0", !1888, i64 0} !1888 = !{!"0x15ea40c0.w64.b0", !1889, i64 0} !1889 = !{!"0x15ea40c0.w128.b0", !1890, i64 0} !1890 = !{!"0x15ea40c0.w256.b0", !1891, i64 0} !1891 = !{!"0x15ea40c0.w512.b0", !1892, i64 0} !1892 = !{!"0x15ea40c0.w1024.b0", !1893, i64 0} !1893 = !{!"i64", !1894, i64 0} !1894 = !{!"0x15ea40c0", !8, i64 0} !1895 = !{!1896, !1896, i64 0} !1896 = !{!"0x15ea40c0.w1.b1", !1883, i64 0} !1897 = !{!1898, !1898, i64 0} !1898 = !{!"0x15ea40c0.w1.b2", !1899, i64 0} !1899 = !{!"0x15ea40c0.w2.b2", !1884, i64 0} !1900 = !{!1901, !1901, i64 0} !1901 = !{!"0x15ea4a10.w1.b0", !1902, i64 0} !1902 = !{!"0x15ea4a10.w2.b0", !1903, i64 0} !1903 = !{!"0x15ea4a10.w4.b0", !1904, i64 0} !1904 = !{!"0x15ea4a10.w8.b0", !1905, i64 0} !1905 = !{!"0x15ea4a10.w16.b0", !1906, i64 0} !1906 = !{!"0x15ea4a10.w32.b0", !1907, i64 0} !1907 = !{!"0x15ea4a10.w64.b0", !1908, i64 0} !1908 = !{!"0x15ea4a10.w128.b0", !1909, i64 0} !1909 = !{!"0x15ea4a10.w256.b0", !1910, i64 0} !1910 = !{!"0x15ea4a10.w512.b0", !1911, i64 0} !1911 = !{!"0x15ea4a10.w1024.b0", !1912, i64 0} !1912 = !{!"i64", !1913, i64 0} !1913 = !{!"0x15ea4a10", !8, i64 0} !1914 = !{!1915, !1915, i64 0} !1915 = !{!"0x15ea4a10.w1.b1", !1902, i64 0} !1916 = !{!1917, !1917, i64 0} !1917 = !{!"0x15ea4a10.w1.b2", !1918, i64 0} !1918 = !{!"0x15ea4a10.w2.b2", !1903, i64 0} !1919 = !{!1920, !1920, i64 0} !1920 = !{!"0x15ea69f0.w1.b0", !1921, i64 0} !1921 = !{!"0x15ea69f0.w2.b0", !1922, i64 0} !1922 = !{!"0x15ea69f0.w4.b0", !1923, i64 0} !1923 = !{!"0x15ea69f0.w8.b0", !1924, i64 0} !1924 = !{!"0x15ea69f0.w16.b0", !1925, i64 0} !1925 = !{!"0x15ea69f0.w32.b0", !1926, i64 0} !1926 = !{!"0x15ea69f0.w64.b0", !1927, i64 0} !1927 = !{!"0x15ea69f0.w128.b0", !1928, i64 0} !1928 = !{!"0x15ea69f0.w256.b0", !1929, i64 0} !1929 = !{!"0x15ea69f0.w512.b0", !1930, i64 0} !1930 = !{!"0x15ea69f0.w1024.b0", !1931, i64 0} !1931 = !{!"i64", !1932, i64 0} !1932 = !{!"0x15ea69f0", !8, i64 0} !1933 = !{!1934, !1934, i64 0} !1934 = !{!"0x15ea69f0.w1.b1", !1921, i64 0} !1935 = !{!1936, !1936, i64 0} !1936 = !{!"0x15ea69f0.w1.b2", !1937, i64 0} !1937 = !{!"0x15ea69f0.w2.b2", !1922, i64 0} !1938 = !{!1939, !1939, i64 0} !1939 = !{!"0x15ea71f0.w1.b0", !1940, i64 0} !1940 = !{!"0x15ea71f0.w2.b0", !1941, i64 0} !1941 = !{!"0x15ea71f0.w4.b0", !1942, i64 0} !1942 = !{!"0x15ea71f0.w8.b0", !1943, i64 0} !1943 = !{!"0x15ea71f0.w16.b0", !1944, i64 0} !1944 = !{!"0x15ea71f0.w32.b0", !1945, i64 0} !1945 = !{!"0x15ea71f0.w64.b0", !1946, i64 0} !1946 = !{!"0x15ea71f0.w128.b0", !1947, i64 0} !1947 = !{!"0x15ea71f0.w256.b0", !1948, i64 0} !1948 = !{!"0x15ea71f0.w512.b0", !1949, i64 0} !1949 = !{!"0x15ea71f0.w1024.b0", !1950, i64 0} !1950 = !{!"i64", !1951, i64 0} !1951 = !{!"0x15ea71f0", !8, i64 0} !1952 = !{!1953, !1953, i64 0} !1953 = !{!"0x15ea71f0.w1.b1", !1940, i64 0} !1954 = !{!1955, !1955, i64 0} !1955 = !{!"0x15ea71f0.w1.b2", !1956, i64 0} !1956 = !{!"0x15ea71f0.w2.b2", !1941, i64 0} !1957 = !{!1958, !1958, i64 0} !1958 = !{!"i8", !1959, i64 0} !1959 = !{!"0x73a1520", !8, i64 0} !1960 = !{!1961, !1961, i64 0} !1961 = !{!"i8", !1962, i64 0} !1962 = !{!"0x7397360", !8, i64 0} !1963 = !{!1964, !1964, i64 0} !1964 = !{!"i8", !1965, i64 0} !1965 = !{!"0x734c7d0", !8, i64 0} !1966 = !{!1967, !1967, i64 0} !1967 = !{!"0x15d9b810.w1.b0", !1968, i64 0} !1968 = !{!"0x15d9b810.w2.b0", !1969, i64 0} !1969 = !{!"0x15d9b810.w4.b0", !1970, i64 0} !1970 = !{!"0x15d9b810.w8.b0", !1971, i64 0} !1971 = !{!"0x15d9b810.w16.b0", !1972, i64 0} !1972 = !{!"0x15d9b810.w32.b0", !1973, i64 0} !1973 = !{!"0x15d9b810.w64.b0", !1974, i64 0} !1974 = !{!"0x15d9b810.w128.b0", !1975, i64 0} !1975 = !{!"0x15d9b810.w256.b0", !1976, i64 0} !1976 = !{!"0x15d9b810.w512.b0", !1977, i64 0} !1977 = !{!"0x15d9b810.w1024.b0", !1978, i64 0} !1978 = !{!"i8", !1979, i64 0} !1979 = !{!"0x15d9b810", !8, i64 0} !1980 = !{!1981, !1981, i64 0} !1981 = !{!"0x15d9b810.w1.b1", !1968, i64 0} !1982 = !{!1983, !1983, i64 0} !1983 = !{!"0x15d9b810.w1.b2", !1984, i64 0} !1984 = !{!"0x15d9b810.w2.b2", !1969, i64 0} !1985 = !{!1986, !1986, i64 0} !1986 = !{!"0x15d9b810.w1.b3", !1984, i64 0} !1987 = !{!1988, !1988, i64 0} !1988 = !{!"0x15eaac60.w1.b0", !1989, i64 0} !1989 = !{!"0x15eaac60.w2.b0", !1990, i64 0} !1990 = !{!"0x15eaac60.w4.b0", !1991, i64 0} !1991 = !{!"0x15eaac60.w8.b0", !1992, i64 0} !1992 = !{!"0x15eaac60.w16.b0", !1993, i64 0} !1993 = !{!"0x15eaac60.w32.b0", !1994, i64 0} !1994 = !{!"0x15eaac60.w64.b0", !1995, i64 0} !1995 = !{!"0x15eaac60.w128.b0", !1996, i64 0} !1996 = !{!"0x15eaac60.w256.b0", !1997, i64 0} !1997 = !{!"0x15eaac60.w512.b0", !1998, i64 0} !1998 = !{!"0x15eaac60.w1024.b0", !1999, i64 0} !1999 = !{!"i64", !2000, i64 0} !2000 = !{!"0x15eaac60", !8, i64 0} !2001 = !{!2002, !2002, i64 0} !2002 = !{!"0x15eaac60.w1.b1", !1989, i64 0} !2003 = !{!2004, !2004, i64 0} !2004 = !{!"0x15eab280.w1.b0", !2005, i64 0} !2005 = !{!"0x15eab280.w2.b0", !2006, i64 0} !2006 = !{!"0x15eab280.w4.b0", !2007, i64 0} !2007 = !{!"0x15eab280.w8.b0", !2008, i64 0} !2008 = !{!"0x15eab280.w16.b0", !2009, i64 0} !2009 = !{!"0x15eab280.w32.b0", !2010, i64 0} !2010 = !{!"0x15eab280.w64.b0", !2011, i64 0} !2011 = !{!"0x15eab280.w128.b0", !2012, i64 0} !2012 = !{!"0x15eab280.w256.b0", !2013, i64 0} !2013 = !{!"0x15eab280.w512.b0", !2014, i64 0} !2014 = !{!"0x15eab280.w1024.b0", !2015, i64 0} !2015 = !{!"i64", !2016, i64 0} !2016 = !{!"0x15eab280", !8, i64 0} !2017 = !{!2018, !2018, i64 0} !2018 = !{!"0x15eab280.w1.b1", !2005, i64 0} !2019 = !{!2020, !2020, i64 0} !2020 = !{!"0x15eacdc0.w1.b0", !2021, i64 0} !2021 = !{!"0x15eacdc0.w2.b0", !2022, i64 0} !2022 = !{!"0x15eacdc0.w4.b0", !2023, i64 0} !2023 = !{!"0x15eacdc0.w8.b0", !2024, i64 0} !2024 = !{!"0x15eacdc0.w16.b0", !2025, i64 0} !2025 = !{!"0x15eacdc0.w32.b0", !2026, i64 0} !2026 = !{!"0x15eacdc0.w64.b0", !2027, i64 0} !2027 = !{!"0x15eacdc0.w128.b0", !2028, i64 0} !2028 = !{!"0x15eacdc0.w256.b0", !2029, i64 0} !2029 = !{!"0x15eacdc0.w512.b0", !2030, i64 0} !2030 = !{!"0x15eacdc0.w1024.b0", !2031, i64 0} !2031 = !{!"i64", !2032, i64 0} !2032 = !{!"0x15eacdc0", !8, i64 0} !2033 = !{!2034, !2034, i64 0} !2034 = !{!"0x15eacdc0.w1.b1", !2021, i64 0} !2035 = !{!2036, !2036, i64 0} !2036 = !{!"0x15e95a20.w1.b0", !2037, i64 0} !2037 = !{!"0x15e95a20.w2.b0", !2038, i64 0} !2038 = !{!"0x15e95a20.w4.b0", !2039, i64 0} !2039 = !{!"0x15e95a20.w8.b0", !2040, i64 0} !2040 = !{!"0x15e95a20.w16.b0", !2041, i64 0} !2041 = !{!"0x15e95a20.w32.b0", !2042, i64 0} !2042 = !{!"0x15e95a20.w64.b0", !2043, i64 0} !2043 = !{!"0x15e95a20.w128.b0", !2044, i64 0} !2044 = !{!"0x15e95a20.w256.b0", !2045, i64 0} !2045 = !{!"0x15e95a20.w512.b0", !2046, i64 0} !2046 = !{!"0x15e95a20.w1024.b0", !2047, i64 0} !2047 = !{!"i64", !2048, i64 0} !2048 = !{!"0x15e95a20", !8, i64 0} !2049 = !{!2050, !2050, i64 0} !2050 = !{!"0x15e95a20.w1.b1", !2037, i64 0} !2051 = !{!2052, !2052, i64 0} !2052 = !{!"0x15e978a0.w1.b0", !2053, i64 0} !2053 = !{!"0x15e978a0.w2.b0", !2054, i64 0} !2054 = !{!"0x15e978a0.w4.b0", !2055, i64 0} !2055 = !{!"0x15e978a0.w8.b0", !2056, i64 0} !2056 = !{!"0x15e978a0.w16.b0", !2057, i64 0} !2057 = !{!"0x15e978a0.w32.b0", !2058, i64 0} !2058 = !{!"0x15e978a0.w64.b0", !2059, i64 0} !2059 = !{!"0x15e978a0.w128.b0", !2060, i64 0} !2060 = !{!"0x15e978a0.w256.b0", !2061, i64 0} !2061 = !{!"0x15e978a0.w512.b0", !2062, i64 0} !2062 = !{!"0x15e978a0.w1024.b0", !2063, i64 0} !2063 = !{!"i64", !2064, i64 0} !2064 = !{!"0x15e978a0", !8, i64 0} !2065 = !{!2066, !2066, i64 0} !2066 = !{!"0x15e97da0.w1.b0", !2067, i64 0} !2067 = !{!"0x15e97da0.w2.b0", !2068, i64 0} !2068 = !{!"0x15e97da0.w4.b0", !2069, i64 0} !2069 = !{!"0x15e97da0.w8.b0", !2070, i64 0} !2070 = !{!"0x15e97da0.w16.b0", !2071, i64 0} !2071 = !{!"0x15e97da0.w32.b0", !2072, i64 0} !2072 = !{!"0x15e97da0.w64.b0", !2073, i64 0} !2073 = !{!"0x15e97da0.w128.b0", !2074, i64 0} !2074 = !{!"0x15e97da0.w256.b0", !2075, i64 0} !2075 = !{!"0x15e97da0.w512.b0", !2076, i64 0} !2076 = !{!"0x15e97da0.w1024.b0", !2077, i64 0} !2077 = !{!"i64", !2078, i64 0} !2078 = !{!"0x15e97da0", !8, i64 0} !2079 = !{!2080, !2080, i64 0} !2080 = !{!"0x15e99770.w1.b0", !2081, i64 0} !2081 = !{!"0x15e99770.w2.b0", !2082, i64 0} !2082 = !{!"0x15e99770.w4.b0", !2083, i64 0} !2083 = !{!"0x15e99770.w8.b0", !2084, i64 0} !2084 = !{!"0x15e99770.w16.b0", !2085, i64 0} !2085 = !{!"0x15e99770.w32.b0", !2086, i64 0} !2086 = !{!"0x15e99770.w64.b0", !2087, i64 0} !2087 = !{!"0x15e99770.w128.b0", !2088, i64 0} !2088 = !{!"0x15e99770.w256.b0", !2089, i64 0} !2089 = !{!"0x15e99770.w512.b0", !2090, i64 0} !2090 = !{!"0x15e99770.w1024.b0", !2091, i64 0} !2091 = !{!"i64", !2092, i64 0} !2092 = !{!"0x15e99770", !8, i64 0} !2093 = !{!2094, !2094, i64 0} !2094 = !{!"0x15e99770.w1.b1", !2081, i64 0} !2095 = !{!2096, !2096, i64 0} !2096 = !{!"0x15e99d60.w1.b0", !2097, i64 0} !2097 = !{!"0x15e99d60.w2.b0", !2098, i64 0} !2098 = !{!"0x15e99d60.w4.b0", !2099, i64 0} !2099 = !{!"0x15e99d60.w8.b0", !2100, i64 0} !2100 = !{!"0x15e99d60.w16.b0", !2101, i64 0} !2101 = !{!"0x15e99d60.w32.b0", !2102, i64 0} !2102 = !{!"0x15e99d60.w64.b0", !2103, i64 0} !2103 = !{!"0x15e99d60.w128.b0", !2104, i64 0} !2104 = !{!"0x15e99d60.w256.b0", !2105, i64 0} !2105 = !{!"0x15e99d60.w512.b0", !2106, i64 0} !2106 = !{!"0x15e99d60.w1024.b0", !2107, i64 0} !2107 = !{!"i64", !2108, i64 0} !2108 = !{!"0x15e99d60", !8, i64 0} !2109 = !{!2110, !2110, i64 0} !2110 = !{!"0x15e99d60.w1.b1", !2097, i64 0} !2111 = !{!2112, !2112, i64 0} !2112 = !{!"0x15f306c0.w1.b0", !2113, i64 0} !2113 = !{!"0x15f306c0.w2.b0", !2114, i64 0} !2114 = !{!"0x15f306c0.w4.b0", !2115, i64 0} !2115 = !{!"0x15f306c0.w8.b0", !2116, i64 0} !2116 = !{!"0x15f306c0.w16.b0", !2117, i64 0} !2117 = !{!"0x15f306c0.w32.b0", !2118, i64 0} !2118 = !{!"0x15f306c0.w64.b0", !2119, i64 0} !2119 = !{!"0x15f306c0.w128.b0", !2120, i64 0} !2120 = !{!"0x15f306c0.w256.b0", !2121, i64 0} !2121 = !{!"0x15f306c0.w512.b0", !2122, i64 0} !2122 = !{!"0x15f306c0.w1024.b0", !2123, i64 0} !2123 = !{!"i64", !2124, i64 0} !2124 = !{!"0x15f306c0", !8, i64 0} !2125 = !{!2126, !2126, i64 0} !2126 = !{!"0x15f306c0.w1.b1", !2113, i64 0} !2127 = !{!2128, !2128, i64 0} !2128 = !{!"0x15f306c0.w1.b2", !2129, i64 0} !2129 = !{!"0x15f306c0.w2.b2", !2114, i64 0} !2130 = !{!2131, !2131, i64 0} !2131 = !{!"0x15f306c0.w1.b3", !2129, i64 0} !2132 = !{!2133, !2133, i64 0} !2133 = !{!"0x15f306c0.w1.b4", !2134, i64 0} !2134 = !{!"0x15f306c0.w2.b4", !2135, i64 0} !2135 = !{!"0x15f306c0.w4.b4", !2115, i64 0} !2136 = !{!2137, !2137, i64 0} !2137 = !{!"0x15f306c0.w1.b5", !2134, i64 0} !2138 = !{!2139, !2139, i64 0} !2139 = !{!"0x15f2fc30.w1.b0", !2140, i64 0} !2140 = !{!"0x15f2fc30.w2.b0", !2141, i64 0} !2141 = !{!"0x15f2fc30.w4.b0", !2142, i64 0} !2142 = !{!"0x15f2fc30.w8.b0", !2143, i64 0} !2143 = !{!"0x15f2fc30.w16.b0", !2144, i64 0} !2144 = !{!"0x15f2fc30.w32.b0", !2145, i64 0} !2145 = !{!"0x15f2fc30.w64.b0", !2146, i64 0} !2146 = !{!"0x15f2fc30.w128.b0", !2147, i64 0} !2147 = !{!"0x15f2fc30.w256.b0", !2148, i64 0} !2148 = !{!"0x15f2fc30.w512.b0", !2149, i64 0} !2149 = !{!"0x15f2fc30.w1024.b0", !2150, i64 0} !2150 = !{!"i32", !2151, i64 0} !2151 = !{!"0x15f2fc30", !8, i64 0} !2152 = !{!2153, !2153, i64 0} !2153 = !{!"0x15f2fc30.w1.b1", !2140, i64 0} !2154 = !{!2155, !2155, i64 0} !2155 = !{!"0x15f2fc30.w1.b2", !2156, i64 0} !2156 = !{!"0x15f2fc30.w2.b2", !2141, i64 0} !2157 = !{!2158, !2158, i64 0} !2158 = !{!"0x15f2fc30.w1.b3", !2156, i64 0} !2159 = !{!2160, !2160, i64 0} !2160 = !{!"0x15f2fc30.w1.b4", !2161, i64 0} !2161 = !{!"0x15f2fc30.w2.b4", !2162, i64 0} !2162 = !{!"0x15f2fc30.w4.b4", !2142, i64 0} !2163 = !{!2164, !2164, i64 0} !2164 = !{!"i8", !2165, i64 0} !2165 = !{!"0x12453cb0", !8, i64 0} !2166 = !{!2167, !2167, i64 0} !2167 = !{!"i8", !2168, i64 0} !2168 = !{!"0x736a150", !8, i64 0} !2169 = !{!2170, !2170, i64 0} !2170 = !{!"i8", !2171, i64 0} !2171 = !{!"0x40561c0", !8, i64 0} !2172 = !{!2173, !2173, i64 0} !2173 = !{!"0x15ea2350.w1.b0", !2174, i64 0} !2174 = !{!"0x15ea2350.w2.b0", !2175, i64 0} !2175 = !{!"0x15ea2350.w4.b0", !2176, i64 0} !2176 = !{!"0x15ea2350.w8.b0", !2177, i64 0} !2177 = !{!"0x15ea2350.w16.b0", !2178, i64 0} !2178 = !{!"0x15ea2350.w32.b0", !2179, i64 0} !2179 = !{!"0x15ea2350.w64.b0", !2180, i64 0} !2180 = !{!"0x15ea2350.w128.b0", !2181, i64 0} !2181 = !{!"0x15ea2350.w256.b0", !2182, i64 0} !2182 = !{!"0x15ea2350.w512.b0", !2183, i64 0} !2183 = !{!"0x15ea2350.w1024.b0", !2184, i64 0} !2184 = !{!"i8", !2185, i64 0} !2185 = !{!"0x15ea2350", !8, i64 0} !2186 = !{!2187, !2187, i64 0} !2187 = !{!"0x15ea2350.w1.b1", !2174, i64 0} !2188 = !{!2189, !2189, i64 0} !2189 = !{!"0x15e969d0.w1.b0", !2190, i64 0} !2190 = !{!"0x15e969d0.w2.b0", !2191, i64 0} !2191 = !{!"0x15e969d0.w4.b0", !2192, i64 0} !2192 = !{!"0x15e969d0.w8.b0", !2193, i64 0} !2193 = !{!"0x15e969d0.w16.b0", !2194, i64 0} !2194 = !{!"0x15e969d0.w32.b0", !2195, i64 0} !2195 = !{!"0x15e969d0.w64.b0", !2196, i64 0} !2196 = !{!"0x15e969d0.w128.b0", !2197, i64 0} !2197 = !{!"0x15e969d0.w256.b0", !2198, i64 0} !2198 = !{!"0x15e969d0.w512.b0", !2199, i64 0} !2199 = !{!"0x15e969d0.w1024.b0", !2200, i64 0} !2200 = !{!"i64", !2201, i64 0} !2201 = !{!"0x15e969d0", !8, i64 0} !2202 = !{!2203, !2203, i64 0} !2203 = !{!"0x15e969d0.w1.b1", !2190, i64 0} !2204 = !{!2205, !2205, i64 0} !2205 = !{!"0x15e969d0.w1.b2", !2206, i64 0} !2206 = !{!"0x15e969d0.w2.b2", !2191, i64 0} !2207 = !{!2208, !2208, i64 0} !2208 = !{!"0x15ea9b40.w1.b0", !2209, i64 0} !2209 = !{!"0x15ea9b40.w2.b0", !2210, i64 0} !2210 = !{!"0x15ea9b40.w4.b0", !2211, i64 0} !2211 = !{!"0x15ea9b40.w8.b0", !2212, i64 0} !2212 = !{!"0x15ea9b40.w16.b0", !2213, i64 0} !2213 = !{!"0x15ea9b40.w32.b0", !2214, i64 0} !2214 = !{!"0x15ea9b40.w64.b0", !2215, i64 0} !2215 = !{!"0x15ea9b40.w128.b0", !2216, i64 0} !2216 = !{!"0x15ea9b40.w256.b0", !2217, i64 0} !2217 = !{!"0x15ea9b40.w512.b0", !2218, i64 0} !2218 = !{!"0x15ea9b40.w1024.b0", !2219, i64 0} !2219 = !{!"i64", !2220, i64 0} !2220 = !{!"0x15ea9b40", !8, i64 0} !2221 = !{!2222, !2222, i64 0} !2222 = !{!"0x15ea9b40.w1.b1", !2209, i64 0} !2223 = !{!2224, !2224, i64 0} !2224 = !{!"0x15ea9b40.w1.b2", !2225, i64 0} !2225 = !{!"0x15ea9b40.w2.b2", !2210, i64 0} !2226 = !{!2227, !2227, i64 0} !2227 = !{!"0x15e9eb10.w1.b0", !2228, i64 0} !2228 = !{!"0x15e9eb10.w2.b0", !2229, i64 0} !2229 = !{!"0x15e9eb10.w4.b0", !2230, i64 0} !2230 = !{!"0x15e9eb10.w8.b0", !2231, i64 0} !2231 = !{!"0x15e9eb10.w16.b0", !2232, i64 0} !2232 = !{!"0x15e9eb10.w32.b0", !2233, i64 0} !2233 = !{!"0x15e9eb10.w64.b0", !2234, i64 0} !2234 = !{!"0x15e9eb10.w128.b0", !2235, i64 0} !2235 = !{!"0x15e9eb10.w256.b0", !2236, i64 0} !2236 = !{!"0x15e9eb10.w512.b0", !2237, i64 0} !2237 = !{!"0x15e9eb10.w1024.b0", !2238, i64 0} !2238 = !{!"i64", !2239, i64 0} !2239 = !{!"0x15e9eb10", !8, i64 0} !2240 = !{!2241, !2241, i64 0} !2241 = !{!"0x15e9eb10.w1.b1", !2228, i64 0} !2242 = !{!2243, !2243, i64 0} !2243 = !{!"0x15e9f260.w1.b0", !2244, i64 0} !2244 = !{!"0x15e9f260.w2.b0", !2245, i64 0} !2245 = !{!"0x15e9f260.w4.b0", !2246, i64 0} !2246 = !{!"0x15e9f260.w8.b0", !2247, i64 0} !2247 = !{!"0x15e9f260.w16.b0", !2248, i64 0} !2248 = !{!"0x15e9f260.w32.b0", !2249, i64 0} !2249 = !{!"0x15e9f260.w64.b0", !2250, i64 0} !2250 = !{!"0x15e9f260.w128.b0", !2251, i64 0} !2251 = !{!"0x15e9f260.w256.b0", !2252, i64 0} !2252 = !{!"0x15e9f260.w512.b0", !2253, i64 0} !2253 = !{!"0x15e9f260.w1024.b0", !2254, i64 0} !2254 = !{!"i64", !2255, i64 0} !2255 = !{!"0x15e9f260", !8, i64 0} !2256 = !{!2257, !2257, i64 0} !2257 = !{!"0x15e9f260.w1.b1", !2244, i64 0} !2258 = !{!2259, !2259, i64 0} !2259 = !{!"i8", !2260, i64 0} !2260 = !{!"0x15dcfe80", !8, i64 0} !2261 = !{!2262, !2262, i64 0} !2262 = !{!"i8", !2263, i64 0} !2263 = !{!"0x15e01970", !8, i64 0} !2264 = !{!2265, !2265, i64 0} !2265 = !{!"0x15eaaf70.w1.b0", !2266, i64 0} !2266 = !{!"0x15eaaf70.w2.b0", !2267, i64 0} !2267 = !{!"0x15eaaf70.w4.b0", !2268, i64 0} !2268 = !{!"0x15eaaf70.w8.b0", !2269, i64 0} !2269 = !{!"0x15eaaf70.w16.b0", !2270, i64 0} !2270 = !{!"0x15eaaf70.w32.b0", !2271, i64 0} !2271 = !{!"0x15eaaf70.w64.b0", !2272, i64 0} !2272 = !{!"0x15eaaf70.w128.b0", !2273, i64 0} !2273 = !{!"0x15eaaf70.w256.b0", !2274, i64 0} !2274 = !{!"0x15eaaf70.w512.b0", !2275, i64 0} !2275 = !{!"0x15eaaf70.w1024.b0", !2276, i64 0} !2276 = !{!"i8", !2277, i64 0} !2277 = !{!"0x15eaaf70", !8, i64 0} !2278 = !{!2279, !2279, i64 0} !2279 = !{!"0x15eaaf70.w1.b1", !2266, i64 0} !2280 = !{!2281, !2281, i64 0} !2281 = !{!"0x15eada30.w1.b0", !2282, i64 0} !2282 = !{!"0x15eada30.w2.b0", !2283, i64 0} !2283 = !{!"0x15eada30.w4.b0", !2284, i64 0} !2284 = !{!"0x15eada30.w8.b0", !2285, i64 0} !2285 = !{!"0x15eada30.w16.b0", !2286, i64 0} !2286 = !{!"0x15eada30.w32.b0", !2287, i64 0} !2287 = !{!"0x15eada30.w64.b0", !2288, i64 0} !2288 = !{!"0x15eada30.w128.b0", !2289, i64 0} !2289 = !{!"0x15eada30.w256.b0", !2290, i64 0} !2290 = !{!"0x15eada30.w512.b0", !2291, i64 0} !2291 = !{!"0x15eada30.w1024.b0", !2292, i64 0} !2292 = !{!"i64", !2293, i64 0} !2293 = !{!"0x15eada30", !8, i64 0} !2294 = !{!2295, !2295, i64 0} !2295 = !{!"0x15eada30.w1.b1", !2282, i64 0} !2296 = !{!2297, !2297, i64 0} !2297 = !{!"0x15eae050.w1.b0", !2298, i64 0} !2298 = !{!"0x15eae050.w2.b0", !2299, i64 0} !2299 = !{!"0x15eae050.w4.b0", !2300, i64 0} !2300 = !{!"0x15eae050.w8.b0", !2301, i64 0} !2301 = !{!"0x15eae050.w16.b0", !2302, i64 0} !2302 = !{!"0x15eae050.w32.b0", !2303, i64 0} !2303 = !{!"0x15eae050.w64.b0", !2304, i64 0} !2304 = !{!"0x15eae050.w128.b0", !2305, i64 0} !2305 = !{!"0x15eae050.w256.b0", !2306, i64 0} !2306 = !{!"0x15eae050.w512.b0", !2307, i64 0} !2307 = !{!"0x15eae050.w1024.b0", !2308, i64 0} !2308 = !{!"i64", !2309, i64 0} !2309 = !{!"0x15eae050", !8, i64 0} !2310 = !{!2311, !2311, i64 0} !2311 = !{!"0x15eae050.w1.b1", !2298, i64 0} !2312 = !{!2313, !2313, i64 0} !2313 = !{!"0x15eaf500.w1.b0", !2314, i64 0} !2314 = !{!"0x15eaf500.w2.b0", !2315, i64 0} !2315 = !{!"0x15eaf500.w4.b0", !2316, i64 0} !2316 = !{!"0x15eaf500.w8.b0", !2317, i64 0} !2317 = !{!"0x15eaf500.w16.b0", !2318, i64 0} !2318 = !{!"0x15eaf500.w32.b0", !2319, i64 0} !2319 = !{!"0x15eaf500.w64.b0", !2320, i64 0} !2320 = !{!"0x15eaf500.w128.b0", !2321, i64 0} !2321 = !{!"0x15eaf500.w256.b0", !2322, i64 0} !2322 = !{!"0x15eaf500.w512.b0", !2323, i64 0} !2323 = !{!"0x15eaf500.w1024.b0", !2324, i64 0} !2324 = !{!"i64", !2325, i64 0} !2325 = !{!"0x15eaf500", !8, i64 0} !2326 = !{!2327, !2327, i64 0} !2327 = !{!"0x15eaf500.w1.b1", !2314, i64 0} !2328 = !{!2329, !2329, i64 0} !2329 = !{!"0x15eaf500.w1.b2", !2330, i64 0} !2330 = !{!"0x15eaf500.w2.b2", !2315, i64 0} !2331 = !{!2332, !2332, i64 0} !2332 = !{!"0x15eaf500.w1.b3", !2330, i64 0} !2333 = !{!2334, !2334, i64 0} !2334 = !{!"0x15eaf500.w1.b4", !2335, i64 0} !2335 = !{!"0x15eaf500.w2.b4", !2336, i64 0} !2336 = !{!"0x15eaf500.w4.b4", !2316, i64 0} !2337 = !{!2338, !2338, i64 0} !2338 = !{!"0x15eb0390.w1.b0", !2339, i64 0} !2339 = !{!"0x15eb0390.w2.b0", !2340, i64 0} !2340 = !{!"0x15eb0390.w4.b0", !2341, i64 0} !2341 = !{!"0x15eb0390.w8.b0", !2342, i64 0} !2342 = !{!"0x15eb0390.w16.b0", !2343, i64 0} !2343 = !{!"0x15eb0390.w32.b0", !2344, i64 0} !2344 = !{!"0x15eb0390.w64.b0", !2345, i64 0} !2345 = !{!"0x15eb0390.w128.b0", !2346, i64 0} !2346 = !{!"0x15eb0390.w256.b0", !2347, i64 0} !2347 = !{!"0x15eb0390.w512.b0", !2348, i64 0} !2348 = !{!"0x15eb0390.w1024.b0", !2349, i64 0} !2349 = !{!"i64", !2350, i64 0} !2350 = !{!"0x15eb0390", !8, i64 0} !2351 = !{!2352, !2352, i64 0} !2352 = !{!"0x15eb0390.w1.b1", !2339, i64 0} !2353 = !{!2354, !2354, i64 0} !2354 = !{!"0x15eb0390.w1.b2", !2355, i64 0} !2355 = !{!"0x15eb0390.w2.b2", !2340, i64 0} !2356 = !{!2357, !2357, i64 0} !2357 = !{!"0x15eb0390.w1.b3", !2355, i64 0} !2358 = !{!2359, !2359, i64 0} !2359 = !{!"0x15eb0390.w1.b4", !2360, i64 0} !2360 = !{!"0x15eb0390.w2.b4", !2361, i64 0} !2361 = !{!"0x15eb0390.w4.b4", !2341, i64 0} !2362 = !{!2363, !2363, i64 0} !2363 = !{!"i8", !2364, i64 0} !2364 = !{!"0x7319940", !8, i64 0} !2365 = !{!2366, !2366, i64 0} !2366 = !{!"i8", !2367, i64 0} !2367 = !{!"0x73198b0", !8, i64 0} !2368 = !{!2369, !2369, i64 0} !2369 = !{!"0x15eb39f0.w1.b0", !2370, i64 0} !2370 = !{!"0x15eb39f0.w2.b0", !2371, i64 0} !2371 = !{!"0x15eb39f0.w4.b0", !2372, i64 0} !2372 = !{!"0x15eb39f0.w8.b0", !2373, i64 0} !2373 = !{!"0x15eb39f0.w16.b0", !2374, i64 0} !2374 = !{!"0x15eb39f0.w32.b0", !2375, i64 0} !2375 = !{!"0x15eb39f0.w64.b0", !2376, i64 0} !2376 = !{!"0x15eb39f0.w128.b0", !2377, i64 0} !2377 = !{!"0x15eb39f0.w256.b0", !2378, i64 0} !2378 = !{!"0x15eb39f0.w512.b0", !2379, i64 0} !2379 = !{!"0x15eb39f0.w1024.b0", !2380, i64 0} !2380 = !{!"i8", !2381, i64 0} !2381 = !{!"0x15eb39f0", !8, i64 0} !2382 = !{!2383, !2383, i64 0} !2383 = !{!"0x15eb39f0.w1.b1", !2370, i64 0} !2384 = !{!2385, !2385, i64 0} !2385 = !{!"0x15ebc6a0.w1.b0", !2386, i64 0} !2386 = !{!"0x15ebc6a0.w2.b0", !2387, i64 0} !2387 = !{!"0x15ebc6a0.w4.b0", !2388, i64 0} !2388 = !{!"0x15ebc6a0.w8.b0", !2389, i64 0} !2389 = !{!"0x15ebc6a0.w16.b0", !2390, i64 0} !2390 = !{!"0x15ebc6a0.w32.b0", !2391, i64 0} !2391 = !{!"0x15ebc6a0.w64.b0", !2392, i64 0} !2392 = !{!"0x15ebc6a0.w128.b0", !2393, i64 0} !2393 = !{!"0x15ebc6a0.w256.b0", !2394, i64 0} !2394 = !{!"0x15ebc6a0.w512.b0", !2395, i64 0} !2395 = !{!"0x15ebc6a0.w1024.b0", !2396, i64 0} !2396 = !{!"i64", !2397, i64 0} !2397 = !{!"0x15ebc6a0", !8, i64 0} !2398 = !{!2399, !2399, i64 0} !2399 = !{!"0x15ebc6a0.w1.b1", !2386, i64 0} !2400 = !{!2401, !2401, i64 0} !2401 = !{!"0x15ebffe0.w1.b0", !2402, i64 0} !2402 = !{!"0x15ebffe0.w2.b0", !2403, i64 0} !2403 = !{!"0x15ebffe0.w4.b0", !2404, i64 0} !2404 = !{!"0x15ebffe0.w8.b0", !2405, i64 0} !2405 = !{!"0x15ebffe0.w16.b0", !2406, i64 0} !2406 = !{!"0x15ebffe0.w32.b0", !2407, i64 0} !2407 = !{!"0x15ebffe0.w64.b0", !2408, i64 0} !2408 = !{!"0x15ebffe0.w128.b0", !2409, i64 0} !2409 = !{!"0x15ebffe0.w256.b0", !2410, i64 0} !2410 = !{!"0x15ebffe0.w512.b0", !2411, i64 0} !2411 = !{!"0x15ebffe0.w1024.b0", !2412, i64 0} !2412 = !{!"i64", !2413, i64 0} !2413 = !{!"0x15ebffe0", !8, i64 0} !2414 = !{!2415, !2415, i64 0} !2415 = !{!"0x15ebffe0.w1.b1", !2402, i64 0} !2416 = !{!2417, !2417, i64 0} !2417 = !{!"0x15ec5480.w1.b0", !2418, i64 0} !2418 = !{!"0x15ec5480.w2.b0", !2419, i64 0} !2419 = !{!"0x15ec5480.w4.b0", !2420, i64 0} !2420 = !{!"0x15ec5480.w8.b0", !2421, i64 0} !2421 = !{!"0x15ec5480.w16.b0", !2422, i64 0} !2422 = !{!"0x15ec5480.w32.b0", !2423, i64 0} !2423 = !{!"0x15ec5480.w64.b0", !2424, i64 0} !2424 = !{!"0x15ec5480.w128.b0", !2425, i64 0} !2425 = !{!"0x15ec5480.w256.b0", !2426, i64 0} !2426 = !{!"0x15ec5480.w512.b0", !2427, i64 0} !2427 = !{!"0x15ec5480.w1024.b0", !2428, i64 0} !2428 = !{!"i64", !2429, i64 0} !2429 = !{!"0x15ec5480", !8, i64 0} !2430 = !{!2431, !2431, i64 0} !2431 = !{!"0x15ec5480.w1.b1", !2418, i64 0} !2432 = !{!2433, !2433, i64 0} !2433 = !{!"0x15ec5480.w1.b2", !2434, i64 0} !2434 = !{!"0x15ec5480.w2.b2", !2419, i64 0} !2435 = !{!2436, !2436, i64 0} !2436 = !{!"0x15ec5e50.w1.b0", !2437, i64 0} !2437 = !{!"0x15ec5e50.w2.b0", !2438, i64 0} !2438 = !{!"0x15ec5e50.w4.b0", !2439, i64 0} !2439 = !{!"0x15ec5e50.w8.b0", !2440, i64 0} !2440 = !{!"0x15ec5e50.w16.b0", !2441, i64 0} !2441 = !{!"0x15ec5e50.w32.b0", !2442, i64 0} !2442 = !{!"0x15ec5e50.w64.b0", !2443, i64 0} !2443 = !{!"0x15ec5e50.w128.b0", !2444, i64 0} !2444 = !{!"0x15ec5e50.w256.b0", !2445, i64 0} !2445 = !{!"0x15ec5e50.w512.b0", !2446, i64 0} !2446 = !{!"0x15ec5e50.w1024.b0", !2447, i64 0} !2447 = !{!"i64", !2448, i64 0} !2448 = !{!"0x15ec5e50", !8, i64 0} !2449 = !{!2450, !2450, i64 0} !2450 = !{!"0x15ec5e50.w1.b1", !2437, i64 0} !2451 = !{!2452, !2452, i64 0} !2452 = !{!"0x15ec5e50.w1.b2", !2453, i64 0} !2453 = !{!"0x15ec5e50.w2.b2", !2438, i64 0} !2454 = !{!2455, !2455, i64 0} !2455 = !{!"i8", !2456, i64 0} !2456 = !{!"0x40bdf90", !8, i64 0} !2457 = !{!2458, !2458, i64 0} !2458 = !{!"i8", !2459, i64 0} !2459 = !{!"0x738cef0", !8, i64 0} !2460 = !{!2461, !2461, i64 0} !2461 = !{!"0x15e9fd50.w1.b0", !2462, i64 0} !2462 = !{!"0x15e9fd50.w2.b0", !2463, i64 0} !2463 = !{!"0x15e9fd50.w4.b0", !2464, i64 0} !2464 = !{!"0x15e9fd50.w8.b0", !2465, i64 0} !2465 = !{!"0x15e9fd50.w16.b0", !2466, i64 0} !2466 = !{!"0x15e9fd50.w32.b0", !2467, i64 0} !2467 = !{!"0x15e9fd50.w64.b0", !2468, i64 0} !2468 = !{!"0x15e9fd50.w128.b0", !2469, i64 0} !2469 = !{!"0x15e9fd50.w256.b0", !2470, i64 0} !2470 = !{!"0x15e9fd50.w512.b0", !2471, i64 0} !2471 = !{!"0x15e9fd50.w1024.b0", !2472, i64 0} !2472 = !{!"i8", !2473, i64 0} !2473 = !{!"0x15e9fd50", !8, i64 0} !2474 = !{!2475, !2475, i64 0} !2475 = !{!"0x15e9fd50.w1.b1", !2462, i64 0} !2476 = !{!2477, !2477, i64 0} !2477 = !{!"0x15e9fd50.w1.b2", !2478, i64 0} !2478 = !{!"0x15e9fd50.w2.b2", !2463, i64 0} !2479 = !{!2480, !2480, i64 0} !2480 = !{!"0x15e9fd50.w1.b3", !2478, i64 0} !2481 = !{!2482, !2482, i64 0} !2482 = !{!"0x15e9fd50.w1.b4", !2483, i64 0} !2483 = !{!"0x15e9fd50.w2.b4", !2484, i64 0} !2484 = !{!"0x15e9fd50.w4.b4", !2464, i64 0} !2485 = !{!2486, !2486, i64 0} !2486 = !{!"0x15e9fd50.w1.b5", !2483, i64 0} !2487 = !{!2488, !2488, i64 0} !2488 = !{!"0x15eb5360.w1.b0", !2489, i64 0} !2489 = !{!"0x15eb5360.w2.b0", !2490, i64 0} !2490 = !{!"0x15eb5360.w4.b0", !2491, i64 0} !2491 = !{!"0x15eb5360.w8.b0", !2492, i64 0} !2492 = !{!"0x15eb5360.w16.b0", !2493, i64 0} !2493 = !{!"0x15eb5360.w32.b0", !2494, i64 0} !2494 = !{!"0x15eb5360.w64.b0", !2495, i64 0} !2495 = !{!"0x15eb5360.w128.b0", !2496, i64 0} !2496 = !{!"0x15eb5360.w256.b0", !2497, i64 0} !2497 = !{!"0x15eb5360.w512.b0", !2498, i64 0} !2498 = !{!"0x15eb5360.w1024.b0", !2499, i64 0} !2499 = !{!"i64", !2500, i64 0} !2500 = !{!"0x15eb5360", !8, i64 0} !2501 = !{!2502, !2502, i64 0} !2502 = !{!"0x15eb5360.w1.b1", !2489, i64 0} !2503 = !{!2504, !2504, i64 0} !2504 = !{!"0x15eb5980.w1.b0", !2505, i64 0} !2505 = !{!"0x15eb5980.w2.b0", !2506, i64 0} !2506 = !{!"0x15eb5980.w4.b0", !2507, i64 0} !2507 = !{!"0x15eb5980.w8.b0", !2508, i64 0} !2508 = !{!"0x15eb5980.w16.b0", !2509, i64 0} !2509 = !{!"0x15eb5980.w32.b0", !2510, i64 0} !2510 = !{!"0x15eb5980.w64.b0", !2511, i64 0} !2511 = !{!"0x15eb5980.w128.b0", !2512, i64 0} !2512 = !{!"0x15eb5980.w256.b0", !2513, i64 0} !2513 = !{!"0x15eb5980.w512.b0", !2514, i64 0} !2514 = !{!"0x15eb5980.w1024.b0", !2515, i64 0} !2515 = !{!"i64", !2516, i64 0} !2516 = !{!"0x15eb5980", !8, i64 0} !2517 = !{!2518, !2518, i64 0} !2518 = !{!"0x15eb5980.w1.b1", !2505, i64 0} !2519 = !{!2520, !2520, i64 0} !2520 = !{!"0x15eb75f0.w1.b0", !2521, i64 0} !2521 = !{!"0x15eb75f0.w2.b0", !2522, i64 0} !2522 = !{!"0x15eb75f0.w4.b0", !2523, i64 0} !2523 = !{!"0x15eb75f0.w8.b0", !2524, i64 0} !2524 = !{!"0x15eb75f0.w16.b0", !2525, i64 0} !2525 = !{!"0x15eb75f0.w32.b0", !2526, i64 0} !2526 = !{!"0x15eb75f0.w64.b0", !2527, i64 0} !2527 = !{!"0x15eb75f0.w128.b0", !2528, i64 0} !2528 = !{!"0x15eb75f0.w256.b0", !2529, i64 0} !2529 = !{!"0x15eb75f0.w512.b0", !2530, i64 0} !2530 = !{!"0x15eb75f0.w1024.b0", !2531, i64 0} !2531 = !{!"i64", !2532, i64 0} !2532 = !{!"0x15eb75f0", !8, i64 0} !2533 = !{!2534, !2534, i64 0} !2534 = !{!"0x15eb75f0.w1.b1", !2521, i64 0} !2535 = !{!2536, !2536, i64 0} !2536 = !{!"0x15eb7d40.w1.b0", !2537, i64 0} !2537 = !{!"0x15eb7d40.w2.b0", !2538, i64 0} !2538 = !{!"0x15eb7d40.w4.b0", !2539, i64 0} !2539 = !{!"0x15eb7d40.w8.b0", !2540, i64 0} !2540 = !{!"0x15eb7d40.w16.b0", !2541, i64 0} !2541 = !{!"0x15eb7d40.w32.b0", !2542, i64 0} !2542 = !{!"0x15eb7d40.w64.b0", !2543, i64 0} !2543 = !{!"0x15eb7d40.w128.b0", !2544, i64 0} !2544 = !{!"0x15eb7d40.w256.b0", !2545, i64 0} !2545 = !{!"0x15eb7d40.w512.b0", !2546, i64 0} !2546 = !{!"0x15eb7d40.w1024.b0", !2547, i64 0} !2547 = !{!"i64", !2548, i64 0} !2548 = !{!"0x15eb7d40", !8, i64 0} !2549 = !{!2550, !2550, i64 0} !2550 = !{!"0x15eb7d40.w1.b1", !2537, i64 0} !2551 = !{!2552, !2552, i64 0} !2552 = !{!"0x15eb9b80.w1.b0", !2553, i64 0} !2553 = !{!"0x15eb9b80.w2.b0", !2554, i64 0} !2554 = !{!"0x15eb9b80.w4.b0", !2555, i64 0} !2555 = !{!"0x15eb9b80.w8.b0", !2556, i64 0} !2556 = !{!"0x15eb9b80.w16.b0", !2557, i64 0} !2557 = !{!"0x15eb9b80.w32.b0", !2558, i64 0} !2558 = !{!"0x15eb9b80.w64.b0", !2559, i64 0} !2559 = !{!"0x15eb9b80.w128.b0", !2560, i64 0} !2560 = !{!"0x15eb9b80.w256.b0", !2561, i64 0} !2561 = !{!"0x15eb9b80.w512.b0", !2562, i64 0} !2562 = !{!"0x15eb9b80.w1024.b0", !2563, i64 0} !2563 = !{!"i64", !2564, i64 0} !2564 = !{!"0x15eb9b80", !8, i64 0} !2565 = !{!2566, !2566, i64 0} !2566 = !{!"0x15eb9b80.w1.b1", !2553, i64 0} !2567 = !{!2568, !2568, i64 0} !2568 = !{!"0x15eba170.w1.b0", !2569, i64 0} !2569 = !{!"0x15eba170.w2.b0", !2570, i64 0} !2570 = !{!"0x15eba170.w4.b0", !2571, i64 0} !2571 = !{!"0x15eba170.w8.b0", !2572, i64 0} !2572 = !{!"0x15eba170.w16.b0", !2573, i64 0} !2573 = !{!"0x15eba170.w32.b0", !2574, i64 0} !2574 = !{!"0x15eba170.w64.b0", !2575, i64 0} !2575 = !{!"0x15eba170.w128.b0", !2576, i64 0} !2576 = !{!"0x15eba170.w256.b0", !2577, i64 0} !2577 = !{!"0x15eba170.w512.b0", !2578, i64 0} !2578 = !{!"0x15eba170.w1024.b0", !2579, i64 0} !2579 = !{!"i64", !2580, i64 0} !2580 = !{!"0x15eba170", !8, i64 0} !2581 = !{!2582, !2582, i64 0} !2582 = !{!"0x15eba170.w1.b1", !2569, i64 0} !2583 = !{!2584, !2584, i64 0} !2584 = !{!"0x15ebbe40.w1.b0", !2585, i64 0} !2585 = !{!"0x15ebbe40.w2.b0", !2586, i64 0} !2586 = !{!"0x15ebbe40.w4.b0", !2587, i64 0} !2587 = !{!"0x15ebbe40.w8.b0", !2588, i64 0} !2588 = !{!"0x15ebbe40.w16.b0", !2589, i64 0} !2589 = !{!"0x15ebbe40.w32.b0", !2590, i64 0} !2590 = !{!"0x15ebbe40.w64.b0", !2591, i64 0} !2591 = !{!"0x15ebbe40.w128.b0", !2592, i64 0} !2592 = !{!"0x15ebbe40.w256.b0", !2593, i64 0} !2593 = !{!"0x15ebbe40.w512.b0", !2594, i64 0} !2594 = !{!"0x15ebbe40.w1024.b0", !2595, i64 0} !2595 = !{!"i64", !2596, i64 0} !2596 = !{!"0x15ebbe40", !8, i64 0} !2597 = !{!2598, !2598, i64 0} !2598 = !{!"0x15ebbe40.w1.b1", !2585, i64 0} !2599 = !{!2600, !2600, i64 0} !2600 = !{!"0x15ebc430.w1.b0", !2601, i64 0} !2601 = !{!"0x15ebc430.w2.b0", !2602, i64 0} !2602 = !{!"0x15ebc430.w4.b0", !2603, i64 0} !2603 = !{!"0x15ebc430.w8.b0", !2604, i64 0} !2604 = !{!"0x15ebc430.w16.b0", !2605, i64 0} !2605 = !{!"0x15ebc430.w32.b0", !2606, i64 0} !2606 = !{!"0x15ebc430.w64.b0", !2607, i64 0} !2607 = !{!"0x15ebc430.w128.b0", !2608, i64 0} !2608 = !{!"0x15ebc430.w256.b0", !2609, i64 0} !2609 = !{!"0x15ebc430.w512.b0", !2610, i64 0} !2610 = !{!"0x15ebc430.w1024.b0", !2611, i64 0} !2611 = !{!"i64", !2612, i64 0} !2612 = !{!"0x15ebc430", !8, i64 0} !2613 = !{!2614, !2614, i64 0} !2614 = !{!"0x15ebc430.w1.b1", !2601, i64 0} !2615 = !{!2616, !2616, i64 0} !2616 = !{!"0x15ebe330.w1.b0", !2617, i64 0} !2617 = !{!"0x15ebe330.w2.b0", !2618, i64 0} !2618 = !{!"0x15ebe330.w4.b0", !2619, i64 0} !2619 = !{!"0x15ebe330.w8.b0", !2620, i64 0} !2620 = !{!"0x15ebe330.w16.b0", !2621, i64 0} !2621 = !{!"0x15ebe330.w32.b0", !2622, i64 0} !2622 = !{!"0x15ebe330.w64.b0", !2623, i64 0} !2623 = !{!"0x15ebe330.w128.b0", !2624, i64 0} !2624 = !{!"0x15ebe330.w256.b0", !2625, i64 0} !2625 = !{!"0x15ebe330.w512.b0", !2626, i64 0} !2626 = !{!"0x15ebe330.w1024.b0", !2627, i64 0} !2627 = !{!"i64", !2628, i64 0} !2628 = !{!"0x15ebe330", !8, i64 0} !2629 = !{!2630, !2630, i64 0} !2630 = !{!"0x15ebe330.w1.b1", !2617, i64 0} !2631 = !{!2632, !2632, i64 0} !2632 = !{!"0x15ebe330.w1.b2", !2633, i64 0} !2633 = !{!"0x15ebe330.w2.b2", !2618, i64 0} !2634 = !{!2635, !2635, i64 0} !2635 = !{!"0x15ebeb30.w1.b0", !2636, i64 0} !2636 = !{!"0x15ebeb30.w2.b0", !2637, i64 0} !2637 = !{!"0x15ebeb30.w4.b0", !2638, i64 0} !2638 = !{!"0x15ebeb30.w8.b0", !2639, i64 0} !2639 = !{!"0x15ebeb30.w16.b0", !2640, i64 0} !2640 = !{!"0x15ebeb30.w32.b0", !2641, i64 0} !2641 = !{!"0x15ebeb30.w64.b0", !2642, i64 0} !2642 = !{!"0x15ebeb30.w128.b0", !2643, i64 0} !2643 = !{!"0x15ebeb30.w256.b0", !2644, i64 0} !2644 = !{!"0x15ebeb30.w512.b0", !2645, i64 0} !2645 = !{!"0x15ebeb30.w1024.b0", !2646, i64 0} !2646 = !{!"i64", !2647, i64 0} !2647 = !{!"0x15ebeb30", !8, i64 0} !2648 = !{!2649, !2649, i64 0} !2649 = !{!"0x15ebeb30.w1.b1", !2636, i64 0} !2650 = !{!2651, !2651, i64 0} !2651 = !{!"0x15ebeb30.w1.b2", !2652, i64 0} !2652 = !{!"0x15ebeb30.w2.b2", !2637, i64 0} !2653 = !{!2654, !2654, i64 0} !2654 = !{!"0x15ec0c80.w1.b0", !2655, i64 0} !2655 = !{!"0x15ec0c80.w2.b0", !2656, i64 0} !2656 = !{!"0x15ec0c80.w4.b0", !2657, i64 0} !2657 = !{!"0x15ec0c80.w8.b0", !2658, i64 0} !2658 = !{!"0x15ec0c80.w16.b0", !2659, i64 0} !2659 = !{!"0x15ec0c80.w32.b0", !2660, i64 0} !2660 = !{!"0x15ec0c80.w64.b0", !2661, i64 0} !2661 = !{!"0x15ec0c80.w128.b0", !2662, i64 0} !2662 = !{!"0x15ec0c80.w256.b0", !2663, i64 0} !2663 = !{!"0x15ec0c80.w512.b0", !2664, i64 0} !2664 = !{!"0x15ec0c80.w1024.b0", !2665, i64 0} !2665 = !{!"i64", !2666, i64 0} !2666 = !{!"0x15ec0c80", !8, i64 0} !2667 = !{!2668, !2668, i64 0} !2668 = !{!"0x15ec0c80.w1.b1", !2655, i64 0} !2669 = !{!2670, !2670, i64 0} !2670 = !{!"0x15ec0c80.w1.b2", !2671, i64 0} !2671 = !{!"0x15ec0c80.w2.b2", !2656, i64 0} !2672 = !{!2673, !2673, i64 0} !2673 = !{!"0x15ec1630.w1.b0", !2674, i64 0} !2674 = !{!"0x15ec1630.w2.b0", !2675, i64 0} !2675 = !{!"0x15ec1630.w4.b0", !2676, i64 0} !2676 = !{!"0x15ec1630.w8.b0", !2677, i64 0} !2677 = !{!"0x15ec1630.w16.b0", !2678, i64 0} !2678 = !{!"0x15ec1630.w32.b0", !2679, i64 0} !2679 = !{!"0x15ec1630.w64.b0", !2680, i64 0} !2680 = !{!"0x15ec1630.w128.b0", !2681, i64 0} !2681 = !{!"0x15ec1630.w256.b0", !2682, i64 0} !2682 = !{!"0x15ec1630.w512.b0", !2683, i64 0} !2683 = !{!"0x15ec1630.w1024.b0", !2684, i64 0} !2684 = !{!"i64", !2685, i64 0} !2685 = !{!"0x15ec1630", !8, i64 0} !2686 = !{!2687, !2687, i64 0} !2687 = !{!"0x15ec1630.w1.b1", !2674, i64 0} !2688 = !{!2689, !2689, i64 0} !2689 = !{!"0x15ec1630.w1.b2", !2690, i64 0} !2690 = !{!"0x15ec1630.w2.b2", !2675, i64 0} !2691 = !{!2692, !2692, i64 0} !2692 = !{!"i8", !2693, i64 0} !2693 = !{!"0x739e1e0", !8, i64 0} !2694 = !{!2695, !2695, i64 0} !2695 = !{!"i8", !2696, i64 0} !2696 = !{!"0x40aeb90", !8, i64 0} !2697 = !{!2698, !2698, i64 0} !2698 = !{!"i8", !2699, i64 0} !2699 = !{!"0x40a7f70", !8, i64 0} !2700 = !{!2701, !2701, i64 0} !2701 = !{!"i8", !2702, i64 0} !2702 = !{!"0x739e220", !8, i64 0} !2703 = !{!2704, !2704, i64 0} !2704 = !{!"i8", !2705, i64 0} !2705 = !{!"0x732c720", !8, i64 0} !2706 = !{!2707, !2707, i64 0} !2707 = !{!"i8", !2708, i64 0} !2708 = !{!"0x7370d40", !8, i64 0} !2709 = !{!2710, !2710, i64 0} !2710 = !{!"0x15ebe490.w1.b0", !2711, i64 0} !2711 = !{!"0x15ebe490.w2.b0", !2712, i64 0} !2712 = !{!"0x15ebe490.w4.b0", !2713, i64 0} !2713 = !{!"0x15ebe490.w8.b0", !2714, i64 0} !2714 = !{!"0x15ebe490.w16.b0", !2715, i64 0} !2715 = !{!"0x15ebe490.w32.b0", !2716, i64 0} !2716 = !{!"0x15ebe490.w64.b0", !2717, i64 0} !2717 = !{!"0x15ebe490.w128.b0", !2718, i64 0} !2718 = !{!"0x15ebe490.w256.b0", !2719, i64 0} !2719 = !{!"0x15ebe490.w512.b0", !2720, i64 0} !2720 = !{!"0x15ebe490.w1024.b0", !2721, i64 0} !2721 = !{!"i8", !2722, i64 0} !2722 = !{!"0x15ebe490", !8, i64 0} !2723 = !{!2724, !2724, i64 0} !2724 = !{!"0x15ebe490.w1.b1", !2711, i64 0} !2725 = !{!2726, !2726, i64 0} !2726 = !{!"0x15ec8f50.w1.b0", !2727, i64 0} !2727 = !{!"0x15ec8f50.w2.b0", !2728, i64 0} !2728 = !{!"0x15ec8f50.w4.b0", !2729, i64 0} !2729 = !{!"0x15ec8f50.w8.b0", !2730, i64 0} !2730 = !{!"0x15ec8f50.w16.b0", !2731, i64 0} !2731 = !{!"0x15ec8f50.w32.b0", !2732, i64 0} !2732 = !{!"0x15ec8f50.w64.b0", !2733, i64 0} !2733 = !{!"0x15ec8f50.w128.b0", !2734, i64 0} !2734 = !{!"0x15ec8f50.w256.b0", !2735, i64 0} !2735 = !{!"0x15ec8f50.w512.b0", !2736, i64 0} !2736 = !{!"0x15ec8f50.w1024.b0", !2737, i64 0} !2737 = !{!"i64", !2738, i64 0} !2738 = !{!"0x15ec8f50", !8, i64 0} !2739 = !{!2740, !2740, i64 0} !2740 = !{!"0x15ec8f50.w1.b1", !2727, i64 0} !2741 = !{!2742, !2742, i64 0} !2742 = !{!"0x15ec8f50.w1.b2", !2743, i64 0} !2743 = !{!"0x15ec8f50.w2.b2", !2728, i64 0} !2744 = !{!2745, !2745, i64 0} !2745 = !{!"0x15ec8f50.w1.b3", !2743, i64 0} !2746 = !{!2747, !2747, i64 0} !2747 = !{!"0x15ec8f50.w1.b4", !2748, i64 0} !2748 = !{!"0x15ec8f50.w2.b4", !2749, i64 0} !2749 = !{!"0x15ec8f50.w4.b4", !2729, i64 0} !2750 = !{!2751, !2751, i64 0} !2751 = !{!"0x15ec9c80.w1.b0", !2752, i64 0} !2752 = !{!"0x15ec9c80.w2.b0", !2753, i64 0} !2753 = !{!"0x15ec9c80.w4.b0", !2754, i64 0} !2754 = !{!"0x15ec9c80.w8.b0", !2755, i64 0} !2755 = !{!"0x15ec9c80.w16.b0", !2756, i64 0} !2756 = !{!"0x15ec9c80.w32.b0", !2757, i64 0} !2757 = !{!"0x15ec9c80.w64.b0", !2758, i64 0} !2758 = !{!"0x15ec9c80.w128.b0", !2759, i64 0} !2759 = !{!"0x15ec9c80.w256.b0", !2760, i64 0} !2760 = !{!"0x15ec9c80.w512.b0", !2761, i64 0} !2761 = !{!"0x15ec9c80.w1024.b0", !2762, i64 0} !2762 = !{!"i64", !2763, i64 0} !2763 = !{!"0x15ec9c80", !8, i64 0} !2764 = !{!2765, !2765, i64 0} !2765 = !{!"0x15ec9c80.w1.b1", !2752, i64 0} !2766 = !{!2767, !2767, i64 0} !2767 = !{!"0x15ec9c80.w1.b2", !2768, i64 0} !2768 = !{!"0x15ec9c80.w2.b2", !2753, i64 0} !2769 = !{!2770, !2770, i64 0} !2770 = !{!"0x15ec9c80.w1.b3", !2768, i64 0} !2771 = !{!2772, !2772, i64 0} !2772 = !{!"0x15ec9c80.w1.b4", !2773, i64 0} !2773 = !{!"0x15ec9c80.w2.b4", !2774, i64 0} !2774 = !{!"0x15ec9c80.w4.b4", !2754, i64 0} !2775 = !{!2776, !2776, i64 0} !2776 = !{!"0x15ecbf70.w1.b0", !2777, i64 0} !2777 = !{!"0x15ecbf70.w2.b0", !2778, i64 0} !2778 = !{!"0x15ecbf70.w4.b0", !2779, i64 0} !2779 = !{!"0x15ecbf70.w8.b0", !2780, i64 0} !2780 = !{!"0x15ecbf70.w16.b0", !2781, i64 0} !2781 = !{!"0x15ecbf70.w32.b0", !2782, i64 0} !2782 = !{!"0x15ecbf70.w64.b0", !2783, i64 0} !2783 = !{!"0x15ecbf70.w128.b0", !2784, i64 0} !2784 = !{!"0x15ecbf70.w256.b0", !2785, i64 0} !2785 = !{!"0x15ecbf70.w512.b0", !2786, i64 0} !2786 = !{!"0x15ecbf70.w1024.b0", !2787, i64 0} !2787 = !{!"i64", !2788, i64 0} !2788 = !{!"0x15ecbf70", !8, i64 0} !2789 = !{!2790, !2790, i64 0} !2790 = !{!"0x15ecbf70.w1.b1", !2777, i64 0} !2791 = !{!2792, !2792, i64 0} !2792 = !{!"0x15ecbf70.w1.b2", !2793, i64 0} !2793 = !{!"0x15ecbf70.w2.b2", !2778, i64 0} !2794 = !{!2795, !2795, i64 0} !2795 = !{!"0x15ecc970.w1.b0", !2796, i64 0} !2796 = !{!"0x15ecc970.w2.b0", !2797, i64 0} !2797 = !{!"0x15ecc970.w4.b0", !2798, i64 0} !2798 = !{!"0x15ecc970.w8.b0", !2799, i64 0} !2799 = !{!"0x15ecc970.w16.b0", !2800, i64 0} !2800 = !{!"0x15ecc970.w32.b0", !2801, i64 0} !2801 = !{!"0x15ecc970.w64.b0", !2802, i64 0} !2802 = !{!"0x15ecc970.w128.b0", !2803, i64 0} !2803 = !{!"0x15ecc970.w256.b0", !2804, i64 0} !2804 = !{!"0x15ecc970.w512.b0", !2805, i64 0} !2805 = !{!"0x15ecc970.w1024.b0", !2806, i64 0} !2806 = !{!"i64", !2807, i64 0} !2807 = !{!"0x15ecc970", !8, i64 0} !2808 = !{!2809, !2809, i64 0} !2809 = !{!"0x15ecc970.w1.b1", !2796, i64 0} !2810 = !{!2811, !2811, i64 0} !2811 = !{!"0x15ecc970.w1.b2", !2812, i64 0} !2812 = !{!"0x15ecc970.w2.b2", !2797, i64 0} !2813 = !{!2814, !2814, i64 0} !2814 = !{!"i8", !2815, i64 0} !2815 = !{!"0x14188580", !8, i64 0} !2816 = !{!2817, !2817, i64 0} !2817 = !{!"i8", !2818, i64 0} !2818 = !{!"0x140e3f20", !8, i64 0} !2819 = !{!2820, !2820, i64 0} !2820 = !{!"0x15ec6ef0.w1.b0", !2821, i64 0} !2821 = !{!"0x15ec6ef0.w2.b0", !2822, i64 0} !2822 = !{!"0x15ec6ef0.w4.b0", !2823, i64 0} !2823 = !{!"0x15ec6ef0.w8.b0", !2824, i64 0} !2824 = !{!"0x15ec6ef0.w16.b0", !2825, i64 0} !2825 = !{!"0x15ec6ef0.w32.b0", !2826, i64 0} !2826 = !{!"0x15ec6ef0.w64.b0", !2827, i64 0} !2827 = !{!"0x15ec6ef0.w128.b0", !2828, i64 0} !2828 = !{!"0x15ec6ef0.w256.b0", !2829, i64 0} !2829 = !{!"0x15ec6ef0.w512.b0", !2830, i64 0} !2830 = !{!"0x15ec6ef0.w1024.b0", !2831, i64 0} !2831 = !{!"i8", !2832, i64 0} !2832 = !{!"0x15ec6ef0", !8, i64 0} !2833 = !{!2834, !2834, i64 0} !2834 = !{!"0x15ec6ef0.w1.b1", !2821, i64 0} !2835 = !{!2836, !2836, i64 0} !2836 = !{!"0x15ecf8e0.w1.b0", !2837, i64 0} !2837 = !{!"0x15ecf8e0.w2.b0", !2838, i64 0} !2838 = !{!"0x15ecf8e0.w4.b0", !2839, i64 0} !2839 = !{!"0x15ecf8e0.w8.b0", !2840, i64 0} !2840 = !{!"0x15ecf8e0.w16.b0", !2841, i64 0} !2841 = !{!"0x15ecf8e0.w32.b0", !2842, i64 0} !2842 = !{!"0x15ecf8e0.w64.b0", !2843, i64 0} !2843 = !{!"0x15ecf8e0.w128.b0", !2844, i64 0} !2844 = !{!"0x15ecf8e0.w256.b0", !2845, i64 0} !2845 = !{!"0x15ecf8e0.w512.b0", !2846, i64 0} !2846 = !{!"0x15ecf8e0.w1024.b0", !2847, i64 0} !2847 = !{!"i64", !2848, i64 0} !2848 = !{!"0x15ecf8e0", !8, i64 0} !2849 = !{!2850, !2850, i64 0} !2850 = !{!"0x15ecf8e0.w1.b1", !2837, i64 0} !2851 = !{!2852, !2852, i64 0} !2852 = !{!"0x15ecf8e0.w1.b2", !2853, i64 0} !2853 = !{!"0x15ecf8e0.w2.b2", !2838, i64 0} !2854 = !{!2855, !2855, i64 0} !2855 = !{!"0x15ecf8e0.w1.b3", !2853, i64 0} !2856 = !{!2857, !2857, i64 0} !2857 = !{!"0x15ecf8e0.w1.b4", !2858, i64 0} !2858 = !{!"0x15ecf8e0.w2.b4", !2859, i64 0} !2859 = !{!"0x15ecf8e0.w4.b4", !2839, i64 0} !2860 = !{!2861, !2861, i64 0} !2861 = !{!"0x15ed06b0.w1.b0", !2862, i64 0} !2862 = !{!"0x15ed06b0.w2.b0", !2863, i64 0} !2863 = !{!"0x15ed06b0.w4.b0", !2864, i64 0} !2864 = !{!"0x15ed06b0.w8.b0", !2865, i64 0} !2865 = !{!"0x15ed06b0.w16.b0", !2866, i64 0} !2866 = !{!"0x15ed06b0.w32.b0", !2867, i64 0} !2867 = !{!"0x15ed06b0.w64.b0", !2868, i64 0} !2868 = !{!"0x15ed06b0.w128.b0", !2869, i64 0} !2869 = !{!"0x15ed06b0.w256.b0", !2870, i64 0} !2870 = !{!"0x15ed06b0.w512.b0", !2871, i64 0} !2871 = !{!"0x15ed06b0.w1024.b0", !2872, i64 0} !2872 = !{!"i64", !2873, i64 0} !2873 = !{!"0x15ed06b0", !8, i64 0} !2874 = !{!2875, !2875, i64 0} !2875 = !{!"0x15ed06b0.w1.b1", !2862, i64 0} !2876 = !{!2877, !2877, i64 0} !2877 = !{!"0x15ed06b0.w1.b2", !2878, i64 0} !2878 = !{!"0x15ed06b0.w2.b2", !2863, i64 0} !2879 = !{!2880, !2880, i64 0} !2880 = !{!"0x15ed06b0.w1.b3", !2878, i64 0} !2881 = !{!2882, !2882, i64 0} !2882 = !{!"0x15ed06b0.w1.b4", !2883, i64 0} !2883 = !{!"0x15ed06b0.w2.b4", !2884, i64 0} !2884 = !{!"0x15ed06b0.w4.b4", !2864, i64 0} !2885 = !{!2886, !2886, i64 0} !2886 = !{!"0x15ed29a0.w1.b0", !2887, i64 0} !2887 = !{!"0x15ed29a0.w2.b0", !2888, i64 0} !2888 = !{!"0x15ed29a0.w4.b0", !2889, i64 0} !2889 = !{!"0x15ed29a0.w8.b0", !2890, i64 0} !2890 = !{!"0x15ed29a0.w16.b0", !2891, i64 0} !2891 = !{!"0x15ed29a0.w32.b0", !2892, i64 0} !2892 = !{!"0x15ed29a0.w64.b0", !2893, i64 0} !2893 = !{!"0x15ed29a0.w128.b0", !2894, i64 0} !2894 = !{!"0x15ed29a0.w256.b0", !2895, i64 0} !2895 = !{!"0x15ed29a0.w512.b0", !2896, i64 0} !2896 = !{!"0x15ed29a0.w1024.b0", !2897, i64 0} !2897 = !{!"i64", !2898, i64 0} !2898 = !{!"0x15ed29a0", !8, i64 0} !2899 = !{!2900, !2900, i64 0} !2900 = !{!"0x15ed29a0.w1.b1", !2887, i64 0} !2901 = !{!2902, !2902, i64 0} !2902 = !{!"0x15ed29a0.w1.b2", !2903, i64 0} !2903 = !{!"0x15ed29a0.w2.b2", !2888, i64 0} !2904 = !{!2905, !2905, i64 0} !2905 = !{!"0x15ed33a0.w1.b0", !2906, i64 0} !2906 = !{!"0x15ed33a0.w2.b0", !2907, i64 0} !2907 = !{!"0x15ed33a0.w4.b0", !2908, i64 0} !2908 = !{!"0x15ed33a0.w8.b0", !2909, i64 0} !2909 = !{!"0x15ed33a0.w16.b0", !2910, i64 0} !2910 = !{!"0x15ed33a0.w32.b0", !2911, i64 0} !2911 = !{!"0x15ed33a0.w64.b0", !2912, i64 0} !2912 = !{!"0x15ed33a0.w128.b0", !2913, i64 0} !2913 = !{!"0x15ed33a0.w256.b0", !2914, i64 0} !2914 = !{!"0x15ed33a0.w512.b0", !2915, i64 0} !2915 = !{!"0x15ed33a0.w1024.b0", !2916, i64 0} !2916 = !{!"i64", !2917, i64 0} !2917 = !{!"0x15ed33a0", !8, i64 0} !2918 = !{!2919, !2919, i64 0} !2919 = !{!"0x15ed33a0.w1.b1", !2906, i64 0} !2920 = !{!2921, !2921, i64 0} !2921 = !{!"0x15ed33a0.w1.b2", !2922, i64 0} !2922 = !{!"0x15ed33a0.w2.b2", !2907, i64 0} !2923 = !{!2924, !2924, i64 0} !2924 = !{!"i8", !2925, i64 0} !2925 = !{!"0x7314010", !8, i64 0} !2926 = !{!2927, !2927, i64 0} !2927 = !{!"i8", !2928, i64 0} !2928 = !{!"0x739e0f0", !8, i64 0} !2929 = !{!2930, !2930, i64 0} !2930 = !{!"0x15ec92d0.w1.b0", !2931, i64 0} !2931 = !{!"0x15ec92d0.w2.b0", !2932, i64 0} !2932 = !{!"0x15ec92d0.w4.b0", !2933, i64 0} !2933 = !{!"0x15ec92d0.w8.b0", !2934, i64 0} !2934 = !{!"0x15ec92d0.w16.b0", !2935, i64 0} !2935 = !{!"0x15ec92d0.w32.b0", !2936, i64 0} !2936 = !{!"0x15ec92d0.w64.b0", !2937, i64 0} !2937 = !{!"0x15ec92d0.w128.b0", !2938, i64 0} !2938 = !{!"0x15ec92d0.w256.b0", !2939, i64 0} !2939 = !{!"0x15ec92d0.w512.b0", !2940, i64 0} !2940 = !{!"0x15ec92d0.w1024.b0", !2941, i64 0} !2941 = !{!"i8", !2942, i64 0} !2942 = !{!"0x15ec92d0", !8, i64 0} !2943 = !{!2944, !2944, i64 0} !2944 = !{!"0x15ec92d0.w1.b1", !2931, i64 0} !2945 = !{!2946, !2946, i64 0} !2946 = !{!"0x15ed6240.w1.b0", !2947, i64 0} !2947 = !{!"0x15ed6240.w2.b0", !2948, i64 0} !2948 = !{!"0x15ed6240.w4.b0", !2949, i64 0} !2949 = !{!"0x15ed6240.w8.b0", !2950, i64 0} !2950 = !{!"0x15ed6240.w16.b0", !2951, i64 0} !2951 = !{!"0x15ed6240.w32.b0", !2952, i64 0} !2952 = !{!"0x15ed6240.w64.b0", !2953, i64 0} !2953 = !{!"0x15ed6240.w128.b0", !2954, i64 0} !2954 = !{!"0x15ed6240.w256.b0", !2955, i64 0} !2955 = !{!"0x15ed6240.w512.b0", !2956, i64 0} !2956 = !{!"0x15ed6240.w1024.b0", !2957, i64 0} !2957 = !{!"i64", !2958, i64 0} !2958 = !{!"0x15ed6240", !8, i64 0} !2959 = !{!2960, !2960, i64 0} !2960 = !{!"0x15ed6240.w1.b1", !2947, i64 0} !2961 = !{!2962, !2962, i64 0} !2962 = !{!"0x15ed6900.w1.b0", !2963, i64 0} !2963 = !{!"0x15ed6900.w2.b0", !2964, i64 0} !2964 = !{!"0x15ed6900.w4.b0", !2965, i64 0} !2965 = !{!"0x15ed6900.w8.b0", !2966, i64 0} !2966 = !{!"0x15ed6900.w16.b0", !2967, i64 0} !2967 = !{!"0x15ed6900.w32.b0", !2968, i64 0} !2968 = !{!"0x15ed6900.w64.b0", !2969, i64 0} !2969 = !{!"0x15ed6900.w128.b0", !2970, i64 0} !2970 = !{!"0x15ed6900.w256.b0", !2971, i64 0} !2971 = !{!"0x15ed6900.w512.b0", !2972, i64 0} !2972 = !{!"0x15ed6900.w1024.b0", !2973, i64 0} !2973 = !{!"i64", !2974, i64 0} !2974 = !{!"0x15ed6900", !8, i64 0} !2975 = !{!2976, !2976, i64 0} !2976 = !{!"0x15ed6900.w1.b1", !2963, i64 0} !2977 = !{!2978, !2978, i64 0} !2978 = !{!"0x15ed8540.w1.b0", !2979, i64 0} !2979 = !{!"0x15ed8540.w2.b0", !2980, i64 0} !2980 = !{!"0x15ed8540.w4.b0", !2981, i64 0} !2981 = !{!"0x15ed8540.w8.b0", !2982, i64 0} !2982 = !{!"0x15ed8540.w16.b0", !2983, i64 0} !2983 = !{!"0x15ed8540.w32.b0", !2984, i64 0} !2984 = !{!"0x15ed8540.w64.b0", !2985, i64 0} !2985 = !{!"0x15ed8540.w128.b0", !2986, i64 0} !2986 = !{!"0x15ed8540.w256.b0", !2987, i64 0} !2987 = !{!"0x15ed8540.w512.b0", !2988, i64 0} !2988 = !{!"0x15ed8540.w1024.b0", !2989, i64 0} !2989 = !{!"i64", !2990, i64 0} !2990 = !{!"0x15ed8540", !8, i64 0} !2991 = !{!2992, !2992, i64 0} !2992 = !{!"0x15ed8540.w1.b1", !2979, i64 0} !2993 = !{!2994, !2994, i64 0} !2994 = !{!"0x15ed5840.w1.b0", !2995, i64 0} !2995 = !{!"0x15ed5840.w2.b0", !2996, i64 0} !2996 = !{!"0x15ed5840.w4.b0", !2997, i64 0} !2997 = !{!"0x15ed5840.w8.b0", !2998, i64 0} !2998 = !{!"0x15ed5840.w16.b0", !2999, i64 0} !2999 = !{!"0x15ed5840.w32.b0", !3000, i64 0} !3000 = !{!"0x15ed5840.w64.b0", !3001, i64 0} !3001 = !{!"0x15ed5840.w128.b0", !3002, i64 0} !3002 = !{!"0x15ed5840.w256.b0", !3003, i64 0} !3003 = !{!"0x15ed5840.w512.b0", !3004, i64 0} !3004 = !{!"0x15ed5840.w1024.b0", !3005, i64 0} !3005 = !{!"i64", !3006, i64 0} !3006 = !{!"0x15ed5840", !8, i64 0} !3007 = !{!3008, !3008, i64 0} !3008 = !{!"0x15ed5840.w1.b1", !2995, i64 0} !3009 = !{!3010, !3010, i64 0} !3010 = !{!"0x15ed0070.w1.b0", !3011, i64 0} !3011 = !{!"0x15ed0070.w2.b0", !3012, i64 0} !3012 = !{!"0x15ed0070.w4.b0", !3013, i64 0} !3013 = !{!"0x15ed0070.w8.b0", !3014, i64 0} !3014 = !{!"0x15ed0070.w16.b0", !3015, i64 0} !3015 = !{!"0x15ed0070.w32.b0", !3016, i64 0} !3016 = !{!"0x15ed0070.w64.b0", !3017, i64 0} !3017 = !{!"0x15ed0070.w128.b0", !3018, i64 0} !3018 = !{!"0x15ed0070.w256.b0", !3019, i64 0} !3019 = !{!"0x15ed0070.w512.b0", !3020, i64 0} !3020 = !{!"0x15ed0070.w1024.b0", !3021, i64 0} !3021 = !{!"i8", !3022, i64 0} !3022 = !{!"0x15ed0070", !8, i64 0} !3023 = !{!3024, !3024, i64 0} !3024 = !{!"0x15ed0070.w1.b1", !3011, i64 0} !3025 = !{!3026, !3026, i64 0} !3026 = !{!"0x15edbaf0.w1.b0", !3027, i64 0} !3027 = !{!"0x15edbaf0.w2.b0", !3028, i64 0} !3028 = !{!"0x15edbaf0.w4.b0", !3029, i64 0} !3029 = !{!"0x15edbaf0.w8.b0", !3030, i64 0} !3030 = !{!"0x15edbaf0.w16.b0", !3031, i64 0} !3031 = !{!"0x15edbaf0.w32.b0", !3032, i64 0} !3032 = !{!"0x15edbaf0.w64.b0", !3033, i64 0} !3033 = !{!"0x15edbaf0.w128.b0", !3034, i64 0} !3034 = !{!"0x15edbaf0.w256.b0", !3035, i64 0} !3035 = !{!"0x15edbaf0.w512.b0", !3036, i64 0} !3036 = !{!"0x15edbaf0.w1024.b0", !3037, i64 0} !3037 = !{!"i64", !3038, i64 0} !3038 = !{!"0x15edbaf0", !8, i64 0} !3039 = !{!3040, !3040, i64 0} !3040 = !{!"0x15edbaf0.w1.b1", !3027, i64 0} !3041 = !{!3042, !3042, i64 0} !3042 = !{!"0x15edbaf0.w1.b2", !3043, i64 0} !3043 = !{!"0x15edbaf0.w2.b2", !3028, i64 0} !3044 = !{!3045, !3045, i64 0} !3045 = !{!"0x15edc400.w1.b0", !3046, i64 0} !3046 = !{!"0x15edc400.w2.b0", !3047, i64 0} !3047 = !{!"0x15edc400.w4.b0", !3048, i64 0} !3048 = !{!"0x15edc400.w8.b0", !3049, i64 0} !3049 = !{!"0x15edc400.w16.b0", !3050, i64 0} !3050 = !{!"0x15edc400.w32.b0", !3051, i64 0} !3051 = !{!"0x15edc400.w64.b0", !3052, i64 0} !3052 = !{!"0x15edc400.w128.b0", !3053, i64 0} !3053 = !{!"0x15edc400.w256.b0", !3054, i64 0} !3054 = !{!"0x15edc400.w512.b0", !3055, i64 0} !3055 = !{!"0x15edc400.w1024.b0", !3056, i64 0} !3056 = !{!"i64", !3057, i64 0} !3057 = !{!"0x15edc400", !8, i64 0} !3058 = !{!3059, !3059, i64 0} !3059 = !{!"0x15edc400.w1.b1", !3046, i64 0} !3060 = !{!3061, !3061, i64 0} !3061 = !{!"0x15edc400.w1.b2", !3062, i64 0} !3062 = !{!"0x15edc400.w2.b2", !3047, i64 0} !3063 = !{!3064, !3064, i64 0} !3064 = !{!"0x15ede3c0.w1.b0", !3065, i64 0} !3065 = !{!"0x15ede3c0.w2.b0", !3066, i64 0} !3066 = !{!"0x15ede3c0.w4.b0", !3067, i64 0} !3067 = !{!"0x15ede3c0.w8.b0", !3068, i64 0} !3068 = !{!"0x15ede3c0.w16.b0", !3069, i64 0} !3069 = !{!"0x15ede3c0.w32.b0", !3070, i64 0} !3070 = !{!"0x15ede3c0.w64.b0", !3071, i64 0} !3071 = !{!"0x15ede3c0.w128.b0", !3072, i64 0} !3072 = !{!"0x15ede3c0.w256.b0", !3073, i64 0} !3073 = !{!"0x15ede3c0.w512.b0", !3074, i64 0} !3074 = !{!"0x15ede3c0.w1024.b0", !3075, i64 0} !3075 = !{!"i64", !3076, i64 0} !3076 = !{!"0x15ede3c0", !8, i64 0} !3077 = !{!3078, !3078, i64 0} !3078 = !{!"0x15ede3c0.w1.b1", !3065, i64 0} !3079 = !{!3080, !3080, i64 0} !3080 = !{!"0x15ede3c0.w1.b2", !3081, i64 0} !3081 = !{!"0x15ede3c0.w2.b2", !3066, i64 0} !3082 = !{!3083, !3083, i64 0} !3083 = !{!"0x15edac60.w1.b0", !3084, i64 0} !3084 = !{!"0x15edac60.w2.b0", !3085, i64 0} !3085 = !{!"0x15edac60.w4.b0", !3086, i64 0} !3086 = !{!"0x15edac60.w8.b0", !3087, i64 0} !3087 = !{!"0x15edac60.w16.b0", !3088, i64 0} !3088 = !{!"0x15edac60.w32.b0", !3089, i64 0} !3089 = !{!"0x15edac60.w64.b0", !3090, i64 0} !3090 = !{!"0x15edac60.w128.b0", !3091, i64 0} !3091 = !{!"0x15edac60.w256.b0", !3092, i64 0} !3092 = !{!"0x15edac60.w512.b0", !3093, i64 0} !3093 = !{!"0x15edac60.w1024.b0", !3094, i64 0} !3094 = !{!"i64", !3095, i64 0} !3095 = !{!"0x15edac60", !8, i64 0} !3096 = !{!3097, !3097, i64 0} !3097 = !{!"0x15edac60.w1.b1", !3084, i64 0} !3098 = !{!3099, !3099, i64 0} !3099 = !{!"0x15edac60.w1.b2", !3100, i64 0} !3100 = !{!"0x15edac60.w2.b2", !3085, i64 0} !3101 = !{!3102, !3102, i64 0} !3102 = !{!"float", !3103, i64 0} !3103 = !{!"0x3fa78e0", !8, i64 0} !3104 = !{!3105, !3105, i64 0} !3105 = !{!"i8", !3106, i64 0} !3106 = !{!"0x40cbcd0", !8, i64 0} !3107 = !{!3108, !3108, i64 0} !3108 = !{!"i8", !3109, i64 0} !3109 = !{!"0x15dc8150", !8, i64 0} !3110 = distinct !{!3110, !1210} !3111 = !{!"branch_weights", i32 1, i32 1} !3112 = distinct !{!3112, !1210} !3113 = !{!3114, !3114, i64 0} !3114 = !{!"0x15ed73f0.w1.b0", !3115, i64 0} !3115 = !{!"0x15ed73f0.w2.b0", !3116, i64 0} !3116 = !{!"0x15ed73f0.w4.b0", !3117, i64 0} !3117 = !{!"0x15ed73f0.w8.b0", !3118, i64 0} !3118 = !{!"0x15ed73f0.w16.b0", !3119, i64 0} !3119 = !{!"0x15ed73f0.w32.b0", !3120, i64 0} !3120 = !{!"0x15ed73f0.w64.b0", !3121, i64 0} !3121 = !{!"0x15ed73f0.w128.b0", !3122, i64 0} !3122 = !{!"0x15ed73f0.w256.b0", !3123, i64 0} !3123 = !{!"0x15ed73f0.w512.b0", !3124, i64 0} !3124 = !{!"0x15ed73f0.w1024.b0", !3125, i64 0} !3125 = !{!"i8", !3126, i64 0} !3126 = !{!"0x15ed73f0", !8, i64 0} !3127 = !{!3128, !3128, i64 0} !3128 = !{!"0x15ed73f0.w1.b1", !3115, i64 0} !3129 = !{!3130, !3130, i64 0} !3130 = !{!"0x15ee1e10.w1.b0", !3131, i64 0} !3131 = !{!"0x15ee1e10.w2.b0", !3132, i64 0} !3132 = !{!"0x15ee1e10.w4.b0", !3133, i64 0} !3133 = !{!"0x15ee1e10.w8.b0", !3134, i64 0} !3134 = !{!"0x15ee1e10.w16.b0", !3135, i64 0} !3135 = !{!"0x15ee1e10.w32.b0", !3136, i64 0} !3136 = !{!"0x15ee1e10.w64.b0", !3137, i64 0} !3137 = !{!"0x15ee1e10.w128.b0", !3138, i64 0} !3138 = !{!"0x15ee1e10.w256.b0", !3139, i64 0} !3139 = !{!"0x15ee1e10.w512.b0", !3140, i64 0} !3140 = !{!"0x15ee1e10.w1024.b0", !3141, i64 0} !3141 = !{!"i64", !3142, i64 0} !3142 = !{!"0x15ee1e10", !8, i64 0} !3143 = !{!3144, !3144, i64 0} !3144 = !{!"0x15ee1e10.w1.b1", !3131, i64 0} !3145 = !{!3146, !3146, i64 0} !3146 = !{!"0x15ee1e10.w1.b2", !3147, i64 0} !3147 = !{!"0x15ee1e10.w2.b2", !3132, i64 0} !3148 = !{!3149, !3149, i64 0} !3149 = !{!"0x15ee0f00.w1.b0", !3150, i64 0} !3150 = !{!"0x15ee0f00.w2.b0", !3151, i64 0} !3151 = !{!"0x15ee0f00.w4.b0", !3152, i64 0} !3152 = !{!"0x15ee0f00.w8.b0", !3153, i64 0} !3153 = !{!"0x15ee0f00.w16.b0", !3154, i64 0} !3154 = !{!"0x15ee0f00.w32.b0", !3155, i64 0} !3155 = !{!"0x15ee0f00.w64.b0", !3156, i64 0} !3156 = !{!"0x15ee0f00.w128.b0", !3157, i64 0} !3157 = !{!"0x15ee0f00.w256.b0", !3158, i64 0} !3158 = !{!"0x15ee0f00.w512.b0", !3159, i64 0} !3159 = !{!"0x15ee0f00.w1024.b0", !3160, i64 0} !3160 = !{!"i64", !3161, i64 0} !3161 = !{!"0x15ee0f00", !8, i64 0} !3162 = !{!3163, !3163, i64 0} !3163 = !{!"0x15ee0f00.w1.b1", !3150, i64 0} !3164 = !{!3165, !3165, i64 0} !3165 = !{!"0x15ee0f00.w1.b2", !3166, i64 0} !3166 = !{!"0x15ee0f00.w2.b2", !3151, i64 0} !3167 = !{!3168, !3168, i64 0} !3168 = !{!"0x15ee44e0.w1.b0", !3169, i64 0} !3169 = !{!"0x15ee44e0.w2.b0", !3170, i64 0} !3170 = !{!"0x15ee44e0.w4.b0", !3171, i64 0} !3171 = !{!"0x15ee44e0.w8.b0", !3172, i64 0} !3172 = !{!"0x15ee44e0.w16.b0", !3173, i64 0} !3173 = !{!"0x15ee44e0.w32.b0", !3174, i64 0} !3174 = !{!"0x15ee44e0.w64.b0", !3175, i64 0} !3175 = !{!"0x15ee44e0.w128.b0", !3176, i64 0} !3176 = !{!"0x15ee44e0.w256.b0", !3177, i64 0} !3177 = !{!"0x15ee44e0.w512.b0", !3178, i64 0} !3178 = !{!"0x15ee44e0.w1024.b0", !3179, i64 0} !3179 = !{!"i64", !3180, i64 0} !3180 = !{!"0x15ee44e0", !8, i64 0} !3181 = !{!3182, !3182, i64 0} !3182 = !{!"0x15ee44e0.w1.b1", !3169, i64 0} !3183 = !{!3184, !3184, i64 0} !3184 = !{!"0x15ee4cd0.w1.b0", !3185, i64 0} !3185 = !{!"0x15ee4cd0.w2.b0", !3186, i64 0} !3186 = !{!"0x15ee4cd0.w4.b0", !3187, i64 0} !3187 = !{!"0x15ee4cd0.w8.b0", !3188, i64 0} !3188 = !{!"0x15ee4cd0.w16.b0", !3189, i64 0} !3189 = !{!"0x15ee4cd0.w32.b0", !3190, i64 0} !3190 = !{!"0x15ee4cd0.w64.b0", !3191, i64 0} !3191 = !{!"0x15ee4cd0.w128.b0", !3192, i64 0} !3192 = !{!"0x15ee4cd0.w256.b0", !3193, i64 0} !3193 = !{!"0x15ee4cd0.w512.b0", !3194, i64 0} !3194 = !{!"0x15ee4cd0.w1024.b0", !3195, i64 0} !3195 = !{!"i64", !3196, i64 0} !3196 = !{!"0x15ee4cd0", !8, i64 0} !3197 = !{!3198, !3198, i64 0} !3198 = !{!"0x15ee4cd0.w1.b1", !3185, i64 0} !3199 = !{!3200, !3200, i64 0} !3200 = !{!"i8", !3201, i64 0} !3201 = !{!"0x15e41ae0", !8, i64 0} !3202 = !{!3203, !3203, i64 0} !3203 = !{!"i8", !3204, i64 0} !3204 = !{!"0x7383000", !8, i64 0} !3205 = !{!3206, !3206, i64 0} !3206 = !{!"0x15da56f0.w1.b0", !3207, i64 0} !3207 = !{!"0x15da56f0.w2.b0", !3208, i64 0} !3208 = !{!"0x15da56f0.w4.b0", !3209, i64 0} !3209 = !{!"0x15da56f0.w8.b0", !3210, i64 0} !3210 = !{!"0x15da56f0.w16.b0", !3211, i64 0} !3211 = !{!"0x15da56f0.w32.b0", !3212, i64 0} !3212 = !{!"0x15da56f0.w64.b0", !3213, i64 0} !3213 = !{!"0x15da56f0.w128.b0", !3214, i64 0} !3214 = !{!"0x15da56f0.w256.b0", !3215, i64 0} !3215 = !{!"0x15da56f0.w512.b0", !3216, i64 0} !3216 = !{!"0x15da56f0.w1024.b0", !3217, i64 0} !3217 = !{!"i8", !3218, i64 0} !3218 = !{!"0x15da56f0", !8, i64 0} !3219 = !{!3220, !3220, i64 0} !3220 = !{!"0x15da56f0.w1.b1", !3207, i64 0} !3221 = !{!3222, !3222, i64 0} !3222 = !{!"0x15da56f0.w1.b2", !3223, i64 0} !3223 = !{!"0x15da56f0.w2.b2", !3208, i64 0} !3224 = !{!3225, !3225, i64 0} !3225 = !{!"0x15da56f0.w1.b3", !3223, i64 0} !3226 = !{!3227, !3227, i64 0} !3227 = !{!"0x15dc5280.w1.b0", !3228, i64 0} !3228 = !{!"0x15dc5280.w2.b0", !3229, i64 0} !3229 = !{!"0x15dc5280.w4.b0", !3230, i64 0} !3230 = !{!"0x15dc5280.w8.b0", !3231, i64 0} !3231 = !{!"0x15dc5280.w16.b0", !3232, i64 0} !3232 = !{!"0x15dc5280.w32.b0", !3233, i64 0} !3233 = !{!"0x15dc5280.w64.b0", !3234, i64 0} !3234 = !{!"0x15dc5280.w128.b0", !3235, i64 0} !3235 = !{!"0x15dc5280.w256.b0", !3236, i64 0} !3236 = !{!"0x15dc5280.w512.b0", !3237, i64 0} !3237 = !{!"0x15dc5280.w1024.b0", !3238, i64 0} !3238 = !{!"i64", !3239, i64 0} !3239 = !{!"0x15dc5280", !8, i64 0} !3240 = !{!3241, !3241, i64 0} !3241 = !{!"0x15dc5280.w1.b1", !3228, i64 0} !3242 = !{!3243, !3243, i64 0} !3243 = !{!"0x15dc58a0.w1.b0", !3244, i64 0} !3244 = !{!"0x15dc58a0.w2.b0", !3245, i64 0} !3245 = !{!"0x15dc58a0.w4.b0", !3246, i64 0} !3246 = !{!"0x15dc58a0.w8.b0", !3247, i64 0} !3247 = !{!"0x15dc58a0.w16.b0", !3248, i64 0} !3248 = !{!"0x15dc58a0.w32.b0", !3249, i64 0} !3249 = !{!"0x15dc58a0.w64.b0", !3250, i64 0} !3250 = !{!"0x15dc58a0.w128.b0", !3251, i64 0} !3251 = !{!"0x15dc58a0.w256.b0", !3252, i64 0} !3252 = !{!"0x15dc58a0.w512.b0", !3253, i64 0} !3253 = !{!"0x15dc58a0.w1024.b0", !3254, i64 0} !3254 = !{!"i64", !3255, i64 0} !3255 = !{!"0x15dc58a0", !8, i64 0} !3256 = !{!3257, !3257, i64 0} !3257 = !{!"0x15dc58a0.w1.b1", !3244, i64 0} !3258 = !{!3259, !3259, i64 0} !3259 = !{!"0x15dc74f0.w1.b0", !3260, i64 0} !3260 = !{!"0x15dc74f0.w2.b0", !3261, i64 0} !3261 = !{!"0x15dc74f0.w4.b0", !3262, i64 0} !3262 = !{!"0x15dc74f0.w8.b0", !3263, i64 0} !3263 = !{!"0x15dc74f0.w16.b0", !3264, i64 0} !3264 = !{!"0x15dc74f0.w32.b0", !3265, i64 0} !3265 = !{!"0x15dc74f0.w64.b0", !3266, i64 0} !3266 = !{!"0x15dc74f0.w128.b0", !3267, i64 0} !3267 = !{!"0x15dc74f0.w256.b0", !3268, i64 0} !3268 = !{!"0x15dc74f0.w512.b0", !3269, i64 0} !3269 = !{!"0x15dc74f0.w1024.b0", !3270, i64 0} !3270 = !{!"i64", !3271, i64 0} !3271 = !{!"0x15dc74f0", !8, i64 0} !3272 = !{!3273, !3273, i64 0} !3273 = !{!"0x15dc74f0.w1.b1", !3260, i64 0} !3274 = !{!3275, !3275, i64 0} !3275 = !{!"0x15d7d520.w1.b0", !3276, i64 0} !3276 = !{!"0x15d7d520.w2.b0", !3277, i64 0} !3277 = !{!"0x15d7d520.w4.b0", !3278, i64 0} !3278 = !{!"0x15d7d520.w8.b0", !3279, i64 0} !3279 = !{!"0x15d7d520.w16.b0", !3280, i64 0} !3280 = !{!"0x15d7d520.w32.b0", !3281, i64 0} !3281 = !{!"0x15d7d520.w64.b0", !3282, i64 0} !3282 = !{!"0x15d7d520.w128.b0", !3283, i64 0} !3283 = !{!"0x15d7d520.w256.b0", !3284, i64 0} !3284 = !{!"0x15d7d520.w512.b0", !3285, i64 0} !3285 = !{!"0x15d7d520.w1024.b0", !3286, i64 0} !3286 = !{!"i64", !3287, i64 0} !3287 = !{!"0x15d7d520", !8, i64 0} !3288 = !{!3289, !3289, i64 0} !3289 = !{!"0x15d7d520.w1.b1", !3276, i64 0} !3290 = !{!3291, !3291, i64 0} !3291 = !{!"0x15d7f2d0.w1.b0", !3292, i64 0} !3292 = !{!"0x15d7f2d0.w2.b0", !3293, i64 0} !3293 = !{!"0x15d7f2d0.w4.b0", !3294, i64 0} !3294 = !{!"0x15d7f2d0.w8.b0", !3295, i64 0} !3295 = !{!"0x15d7f2d0.w16.b0", !3296, i64 0} !3296 = !{!"0x15d7f2d0.w32.b0", !3297, i64 0} !3297 = !{!"0x15d7f2d0.w64.b0", !3298, i64 0} !3298 = !{!"0x15d7f2d0.w128.b0", !3299, i64 0} !3299 = !{!"0x15d7f2d0.w256.b0", !3300, i64 0} !3300 = !{!"0x15d7f2d0.w512.b0", !3301, i64 0} !3301 = !{!"0x15d7f2d0.w1024.b0", !3302, i64 0} !3302 = !{!"i64", !3303, i64 0} !3303 = !{!"0x15d7f2d0", !8, i64 0} !3304 = !{!3305, !3305, i64 0} !3305 = !{!"0x15d7f7d0.w1.b0", !3306, i64 0} !3306 = !{!"0x15d7f7d0.w2.b0", !3307, i64 0} !3307 = !{!"0x15d7f7d0.w4.b0", !3308, i64 0} !3308 = !{!"0x15d7f7d0.w8.b0", !3309, i64 0} !3309 = !{!"0x15d7f7d0.w16.b0", !3310, i64 0} !3310 = !{!"0x15d7f7d0.w32.b0", !3311, i64 0} !3311 = !{!"0x15d7f7d0.w64.b0", !3312, i64 0} !3312 = !{!"0x15d7f7d0.w128.b0", !3313, i64 0} !3313 = !{!"0x15d7f7d0.w256.b0", !3314, i64 0} !3314 = !{!"0x15d7f7d0.w512.b0", !3315, i64 0} !3315 = !{!"0x15d7f7d0.w1024.b0", !3316, i64 0} !3316 = !{!"i64", !3317, i64 0} !3317 = !{!"0x15d7f7d0", !8, i64 0} !3318 = !{!3319, !3319, i64 0} !3319 = !{!"0x15d811a0.w1.b0", !3320, i64 0} !3320 = !{!"0x15d811a0.w2.b0", !3321, i64 0} !3321 = !{!"0x15d811a0.w4.b0", !3322, i64 0} !3322 = !{!"0x15d811a0.w8.b0", !3323, i64 0} !3323 = !{!"0x15d811a0.w16.b0", !3324, i64 0} !3324 = !{!"0x15d811a0.w32.b0", !3325, i64 0} !3325 = !{!"0x15d811a0.w64.b0", !3326, i64 0} !3326 = !{!"0x15d811a0.w128.b0", !3327, i64 0} !3327 = !{!"0x15d811a0.w256.b0", !3328, i64 0} !3328 = !{!"0x15d811a0.w512.b0", !3329, i64 0} !3329 = !{!"0x15d811a0.w1024.b0", !3330, i64 0} !3330 = !{!"i64", !3331, i64 0} !3331 = !{!"0x15d811a0", !8, i64 0} !3332 = !{!3333, !3333, i64 0} !3333 = !{!"0x15d811a0.w1.b1", !3320, i64 0} !3334 = !{!3335, !3335, i64 0} !3335 = !{!"0x15d8a160.w1.b0", !3336, i64 0} !3336 = !{!"0x15d8a160.w2.b0", !3337, i64 0} !3337 = !{!"0x15d8a160.w4.b0", !3338, i64 0} !3338 = !{!"0x15d8a160.w8.b0", !3339, i64 0} !3339 = !{!"0x15d8a160.w16.b0", !3340, i64 0} !3340 = !{!"0x15d8a160.w32.b0", !3341, i64 0} !3341 = !{!"0x15d8a160.w64.b0", !3342, i64 0} !3342 = !{!"0x15d8a160.w128.b0", !3343, i64 0} !3343 = !{!"0x15d8a160.w256.b0", !3344, i64 0} !3344 = !{!"0x15d8a160.w512.b0", !3345, i64 0} !3345 = !{!"0x15d8a160.w1024.b0", !3346, i64 0} !3346 = !{!"i64", !3347, i64 0} !3347 = !{!"0x15d8a160", !8, i64 0} !3348 = !{!3349, !3349, i64 0} !3349 = !{!"0x15d8a160.w1.b1", !3336, i64 0} !3350 = !{!3351, !3351, i64 0} !3351 = !{!"0x15f182b0.w1.b0", !3352, i64 0} !3352 = !{!"0x15f182b0.w2.b0", !3353, i64 0} !3353 = !{!"0x15f182b0.w4.b0", !3354, i64 0} !3354 = !{!"0x15f182b0.w8.b0", !3355, i64 0} !3355 = !{!"0x15f182b0.w16.b0", !3356, i64 0} !3356 = !{!"0x15f182b0.w32.b0", !3357, i64 0} !3357 = !{!"0x15f182b0.w64.b0", !3358, i64 0} !3358 = !{!"0x15f182b0.w128.b0", !3359, i64 0} !3359 = !{!"0x15f182b0.w256.b0", !3360, i64 0} !3360 = !{!"0x15f182b0.w512.b0", !3361, i64 0} !3361 = !{!"0x15f182b0.w1024.b0", !3362, i64 0} !3362 = !{!"i64", !3363, i64 0} !3363 = !{!"0x15f182b0", !8, i64 0} !3364 = !{!3365, !3365, i64 0} !3365 = !{!"0x15f182b0.w1.b1", !3352, i64 0} !3366 = !{!3367, !3367, i64 0} !3367 = !{!"0x15f182b0.w1.b2", !3368, i64 0} !3368 = !{!"0x15f182b0.w2.b2", !3353, i64 0} !3369 = !{!3370, !3370, i64 0} !3370 = !{!"0x15f182b0.w1.b3", !3368, i64 0} !3371 = !{!3372, !3372, i64 0} !3372 = !{!"0x15f182b0.w1.b4", !3373, i64 0} !3373 = !{!"0x15f182b0.w2.b4", !3374, i64 0} !3374 = !{!"0x15f182b0.w4.b4", !3354, i64 0} !3375 = !{!3376, !3376, i64 0} !3376 = !{!"0x15f182b0.w1.b5", !3373, i64 0} !3377 = !{!3378, !3378, i64 0} !3378 = !{!"0x15f09db0.w1.b0", !3379, i64 0} !3379 = !{!"0x15f09db0.w2.b0", !3380, i64 0} !3380 = !{!"0x15f09db0.w4.b0", !3381, i64 0} !3381 = !{!"0x15f09db0.w8.b0", !3382, i64 0} !3382 = !{!"0x15f09db0.w16.b0", !3383, i64 0} !3383 = !{!"0x15f09db0.w32.b0", !3384, i64 0} !3384 = !{!"0x15f09db0.w64.b0", !3385, i64 0} !3385 = !{!"0x15f09db0.w128.b0", !3386, i64 0} !3386 = !{!"0x15f09db0.w256.b0", !3387, i64 0} !3387 = !{!"0x15f09db0.w512.b0", !3388, i64 0} !3388 = !{!"0x15f09db0.w1024.b0", !3389, i64 0} !3389 = !{!"i32", !3390, i64 0} !3390 = !{!"0x15f09db0", !8, i64 0} !3391 = !{!3392, !3392, i64 0} !3392 = !{!"0x15f09db0.w1.b1", !3379, i64 0} !3393 = !{!3394, !3394, i64 0} !3394 = !{!"0x15f09db0.w1.b2", !3395, i64 0} !3395 = !{!"0x15f09db0.w2.b2", !3380, i64 0} !3396 = !{!3397, !3397, i64 0} !3397 = !{!"0x15f09db0.w1.b3", !3395, i64 0} !3398 = !{!3399, !3399, i64 0} !3399 = !{!"0x15f09db0.w1.b4", !3400, i64 0} !3400 = !{!"0x15f09db0.w2.b4", !3401, i64 0} !3401 = !{!"0x15f09db0.w4.b4", !3381, i64 0} !3402 = !{!3403, !3403, i64 0} !3403 = !{!"i8", !3404, i64 0} !3404 = !{!"0x15d6dab0", !8, i64 0} !3405 = !{!3406, !3406, i64 0} !3406 = !{!"i8", !3407, i64 0} !3407 = !{!"0x15e166b0", !8, i64 0} !3408 = !{!3409, !3409, i64 0} !3409 = !{!"i8", !3410, i64 0} !3410 = !{!"0x741b5a0", !8, i64 0} !3411 = distinct !{!3411, !1210} !3412 = !{!3413, !3413, i64 0} !3413 = !{!"0x15ee6b40.w1.b0", !3414, i64 0} !3414 = !{!"0x15ee6b40.w2.b0", !3415, i64 0} !3415 = !{!"0x15ee6b40.w4.b0", !3416, i64 0} !3416 = !{!"0x15ee6b40.w8.b0", !3417, i64 0} !3417 = !{!"0x15ee6b40.w16.b0", !3418, i64 0} !3418 = !{!"0x15ee6b40.w32.b0", !3419, i64 0} !3419 = !{!"0x15ee6b40.w64.b0", !3420, i64 0} !3420 = !{!"0x15ee6b40.w128.b0", !3421, i64 0} !3421 = !{!"0x15ee6b40.w256.b0", !3422, i64 0} !3422 = !{!"0x15ee6b40.w512.b0", !3423, i64 0} !3423 = !{!"0x15ee6b40.w1024.b0", !3424, i64 0} !3424 = !{!"i8", !3425, i64 0} !3425 = !{!"0x15ee6b40", !8, i64 0} !3426 = !{!3427, !3427, i64 0} !3427 = !{!"0x15ee6b40.w1.b1", !3414, i64 0} !3428 = !{!3429, !3429, i64 0} !3429 = !{!"0x15ee6b40.w1.b2", !3430, i64 0} !3430 = !{!"0x15ee6b40.w2.b2", !3415, i64 0} !3431 = !{!3432, !3432, i64 0} !3432 = !{!"0x15ef10f0.w1.b0", !3433, i64 0} !3433 = !{!"0x15ef10f0.w2.b0", !3434, i64 0} !3434 = !{!"0x15ef10f0.w4.b0", !3435, i64 0} !3435 = !{!"0x15ef10f0.w8.b0", !3436, i64 0} !3436 = !{!"0x15ef10f0.w16.b0", !3437, i64 0} !3437 = !{!"0x15ef10f0.w32.b0", !3438, i64 0} !3438 = !{!"0x15ef10f0.w64.b0", !3439, i64 0} !3439 = !{!"0x15ef10f0.w128.b0", !3440, i64 0} !3440 = !{!"0x15ef10f0.w256.b0", !3441, i64 0} !3441 = !{!"0x15ef10f0.w512.b0", !3442, i64 0} !3442 = !{!"0x15ef10f0.w1024.b0", !3443, i64 0} !3443 = !{!"i64", !3444, i64 0} !3444 = !{!"0x15ef10f0", !8, i64 0} !3445 = !{!3446, !3446, i64 0} !3446 = !{!"0x15ef10f0.w1.b1", !3433, i64 0} !3447 = !{!3448, !3448, i64 0} !3448 = !{!"0x15ef10f0.w1.b2", !3449, i64 0} !3449 = !{!"0x15ef10f0.w2.b2", !3434, i64 0} !3450 = !{!3451, !3451, i64 0} !3451 = !{!"0x15eed370.w1.b0", !3452, i64 0} !3452 = !{!"0x15eed370.w2.b0", !3453, i64 0} !3453 = !{!"0x15eed370.w4.b0", !3454, i64 0} !3454 = !{!"0x15eed370.w8.b0", !3455, i64 0} !3455 = !{!"0x15eed370.w16.b0", !3456, i64 0} !3456 = !{!"0x15eed370.w32.b0", !3457, i64 0} !3457 = !{!"0x15eed370.w64.b0", !3458, i64 0} !3458 = !{!"0x15eed370.w128.b0", !3459, i64 0} !3459 = !{!"0x15eed370.w256.b0", !3460, i64 0} !3460 = !{!"0x15eed370.w512.b0", !3461, i64 0} !3461 = !{!"0x15eed370.w1024.b0", !3462, i64 0} !3462 = !{!"i64", !3463, i64 0} !3463 = !{!"0x15eed370", !8, i64 0} !3464 = !{!3465, !3465, i64 0} !3465 = !{!"0x15eed370.w1.b1", !3452, i64 0} !3466 = !{!3467, !3467, i64 0} !3467 = !{!"0x15eed370.w1.b2", !3468, i64 0} !3468 = !{!"0x15eed370.w2.b2", !3453, i64 0} !3469 = !{!3470, !3470, i64 0} !3470 = !{!"0x15ef3490.w1.b0", !3471, i64 0} !3471 = !{!"0x15ef3490.w2.b0", !3472, i64 0} !3472 = !{!"0x15ef3490.w4.b0", !3473, i64 0} !3473 = !{!"0x15ef3490.w8.b0", !3474, i64 0} !3474 = !{!"0x15ef3490.w16.b0", !3475, i64 0} !3475 = !{!"0x15ef3490.w32.b0", !3476, i64 0} !3476 = !{!"0x15ef3490.w64.b0", !3477, i64 0} !3477 = !{!"0x15ef3490.w128.b0", !3478, i64 0} !3478 = !{!"0x15ef3490.w256.b0", !3479, i64 0} !3479 = !{!"0x15ef3490.w512.b0", !3480, i64 0} !3480 = !{!"0x15ef3490.w1024.b0", !3481, i64 0} !3481 = !{!"i64", !3482, i64 0} !3482 = !{!"0x15ef3490", !8, i64 0} !3483 = !{!3484, !3484, i64 0} !3484 = !{!"0x15ef3490.w1.b1", !3471, i64 0} !3485 = !{!3486, !3486, i64 0} !3486 = !{!"0x15ef3490.w1.b2", !3487, i64 0} !3487 = !{!"0x15ef3490.w2.b2", !3472, i64 0} !3488 = !{!3489, !3489, i64 0} !3489 = !{!"0x15ef02c0.w1.b0", !3490, i64 0} !3490 = !{!"0x15ef02c0.w2.b0", !3491, i64 0} !3491 = !{!"0x15ef02c0.w4.b0", !3492, i64 0} !3492 = !{!"0x15ef02c0.w8.b0", !3493, i64 0} !3493 = !{!"0x15ef02c0.w16.b0", !3494, i64 0} !3494 = !{!"0x15ef02c0.w32.b0", !3495, i64 0} !3495 = !{!"0x15ef02c0.w64.b0", !3496, i64 0} !3496 = !{!"0x15ef02c0.w128.b0", !3497, i64 0} !3497 = !{!"0x15ef02c0.w256.b0", !3498, i64 0} !3498 = !{!"0x15ef02c0.w512.b0", !3499, i64 0} !3499 = !{!"0x15ef02c0.w1024.b0", !3500, i64 0} !3500 = !{!"i64", !3501, i64 0} !3501 = !{!"0x15ef02c0", !8, i64 0} !3502 = !{!3503, !3503, i64 0} !3503 = !{!"0x15ef02c0.w1.b1", !3490, i64 0} !3504 = !{!3505, !3505, i64 0} !3505 = !{!"0x15ef02c0.w1.b2", !3506, i64 0} !3506 = !{!"0x15ef02c0.w2.b2", !3491, i64 0} !3507 = !{!3508, !3508, i64 0} !3508 = !{!"0x15ef5cf0.w1.b0", !3509, i64 0} !3509 = !{!"0x15ef5cf0.w2.b0", !3510, i64 0} !3510 = !{!"0x15ef5cf0.w4.b0", !3511, i64 0} !3511 = !{!"0x15ef5cf0.w8.b0", !3512, i64 0} !3512 = !{!"0x15ef5cf0.w16.b0", !3513, i64 0} !3513 = !{!"0x15ef5cf0.w32.b0", !3514, i64 0} !3514 = !{!"0x15ef5cf0.w64.b0", !3515, i64 0} !3515 = !{!"0x15ef5cf0.w128.b0", !3516, i64 0} !3516 = !{!"0x15ef5cf0.w256.b0", !3517, i64 0} !3517 = !{!"0x15ef5cf0.w512.b0", !3518, i64 0} !3518 = !{!"0x15ef5cf0.w1024.b0", !3519, i64 0} !3519 = !{!"i64", !3520, i64 0} !3520 = !{!"0x15ef5cf0", !8, i64 0} !3521 = !{!3522, !3522, i64 0} !3522 = !{!"0x15ef5cf0.w1.b1", !3509, i64 0} !3523 = !{!3524, !3524, i64 0} !3524 = !{!"0x15ef5cf0.w1.b2", !3525, i64 0} !3525 = !{!"0x15ef5cf0.w2.b2", !3510, i64 0} !3526 = !{!3527, !3527, i64 0} !3527 = !{!"0x15ef6570.w1.b0", !3528, i64 0} !3528 = !{!"0x15ef6570.w2.b0", !3529, i64 0} !3529 = !{!"0x15ef6570.w4.b0", !3530, i64 0} !3530 = !{!"0x15ef6570.w8.b0", !3531, i64 0} !3531 = !{!"0x15ef6570.w16.b0", !3532, i64 0} !3532 = !{!"0x15ef6570.w32.b0", !3533, i64 0} !3533 = !{!"0x15ef6570.w64.b0", !3534, i64 0} !3534 = !{!"0x15ef6570.w128.b0", !3535, i64 0} !3535 = !{!"0x15ef6570.w256.b0", !3536, i64 0} !3536 = !{!"0x15ef6570.w512.b0", !3537, i64 0} !3537 = !{!"0x15ef6570.w1024.b0", !3538, i64 0} !3538 = !{!"i64", !3539, i64 0} !3539 = !{!"0x15ef6570", !8, i64 0} !3540 = !{!3541, !3541, i64 0} !3541 = !{!"0x15ef6570.w1.b1", !3528, i64 0} !3542 = !{!3543, !3543, i64 0} !3543 = !{!"0x15ef6570.w1.b2", !3544, i64 0} !3544 = !{!"0x15ef6570.w2.b2", !3529, i64 0} !3545 = !{!3546, !3546, i64 0} !3546 = !{!"float", !3547, i64 0} !3547 = !{!"0x15d41ad0", !8, i64 0} !3548 = !{!3549, !3549, i64 0} !3549 = !{!"i8", !3550, i64 0} !3550 = !{!"0x15d57e20", !8, i64 0} !3551 = !{!3552, !3552, i64 0} !3552 = !{!"i8", !3553, i64 0} !3553 = !{!"0x15e07b40", !8, i64 0} !3554 = !{!3555, !3555, i64 0} !3555 = !{!"i8", !3556, i64 0} !3556 = !{!"0x15e5b770", !8, i64 0} !3557 = distinct !{!3557, !1210} !3558 = distinct !{!3558, !1210} !3559 = !{!3560, !3560, i64 0} !3560 = !{!"0x15eeb320.w1.b0", !3561, i64 0} !3561 = !{!"0x15eeb320.w2.b0", !3562, i64 0} !3562 = !{!"0x15eeb320.w4.b0", !3563, i64 0} !3563 = !{!"0x15eeb320.w8.b0", !3564, i64 0} !3564 = !{!"0x15eeb320.w16.b0", !3565, i64 0} !3565 = !{!"0x15eeb320.w32.b0", !3566, i64 0} !3566 = !{!"0x15eeb320.w64.b0", !3567, i64 0} !3567 = !{!"0x15eeb320.w128.b0", !3568, i64 0} !3568 = !{!"0x15eeb320.w256.b0", !3569, i64 0} !3569 = !{!"0x15eeb320.w512.b0", !3570, i64 0} !3570 = !{!"0x15eeb320.w1024.b0", !3571, i64 0} !3571 = !{!"i8", !3572, i64 0} !3572 = !{!"0x15eeb320", !8, i64 0} !3573 = !{!3574, !3574, i64 0} !3574 = !{!"0x15eeb320.w1.b1", !3561, i64 0} !3575 = !{!3576, !3576, i64 0} !3576 = !{!"0x15eeb320.w1.b2", !3577, i64 0} !3577 = !{!"0x15eeb320.w2.b2", !3562, i64 0} !3578 = !{!3579, !3579, i64 0} !3579 = !{!"0x15eeb320.w1.b3", !3577, i64 0} !3580 = !{!3581, !3581, i64 0} !3581 = !{!"0x15ef9e60.w1.b0", !3582, i64 0} !3582 = !{!"0x15ef9e60.w2.b0", !3583, i64 0} !3583 = !{!"0x15ef9e60.w4.b0", !3584, i64 0} !3584 = !{!"0x15ef9e60.w8.b0", !3585, i64 0} !3585 = !{!"0x15ef9e60.w16.b0", !3586, i64 0} !3586 = !{!"0x15ef9e60.w32.b0", !3587, i64 0} !3587 = !{!"0x15ef9e60.w64.b0", !3588, i64 0} !3588 = !{!"0x15ef9e60.w128.b0", !3589, i64 0} !3589 = !{!"0x15ef9e60.w256.b0", !3590, i64 0} !3590 = !{!"0x15ef9e60.w512.b0", !3591, i64 0} !3591 = !{!"0x15ef9e60.w1024.b0", !3592, i64 0} !3592 = !{!"i64", !3593, i64 0} !3593 = !{!"0x15ef9e60", !8, i64 0} !3594 = !{!3595, !3595, i64 0} !3595 = !{!"0x15ef9e60.w1.b1", !3582, i64 0} !3596 = !{!3597, !3597, i64 0} !3597 = !{!"0x15efa520.w1.b0", !3598, i64 0} !3598 = !{!"0x15efa520.w2.b0", !3599, i64 0} !3599 = !{!"0x15efa520.w4.b0", !3600, i64 0} !3600 = !{!"0x15efa520.w8.b0", !3601, i64 0} !3601 = !{!"0x15efa520.w16.b0", !3602, i64 0} !3602 = !{!"0x15efa520.w32.b0", !3603, i64 0} !3603 = !{!"0x15efa520.w64.b0", !3604, i64 0} !3604 = !{!"0x15efa520.w128.b0", !3605, i64 0} !3605 = !{!"0x15efa520.w256.b0", !3606, i64 0} !3606 = !{!"0x15efa520.w512.b0", !3607, i64 0} !3607 = !{!"0x15efa520.w1024.b0", !3608, i64 0} !3608 = !{!"i64", !3609, i64 0} !3609 = !{!"0x15efa520", !8, i64 0} !3610 = !{!3611, !3611, i64 0} !3611 = !{!"0x15efa520.w1.b1", !3598, i64 0} !3612 = !{!3613, !3613, i64 0} !3613 = !{!"0x15efc1e0.w1.b0", !3614, i64 0} !3614 = !{!"0x15efc1e0.w2.b0", !3615, i64 0} !3615 = !{!"0x15efc1e0.w4.b0", !3616, i64 0} !3616 = !{!"0x15efc1e0.w8.b0", !3617, i64 0} !3617 = !{!"0x15efc1e0.w16.b0", !3618, i64 0} !3618 = !{!"0x15efc1e0.w32.b0", !3619, i64 0} !3619 = !{!"0x15efc1e0.w64.b0", !3620, i64 0} !3620 = !{!"0x15efc1e0.w128.b0", !3621, i64 0} !3621 = !{!"0x15efc1e0.w256.b0", !3622, i64 0} !3622 = !{!"0x15efc1e0.w512.b0", !3623, i64 0} !3623 = !{!"0x15efc1e0.w1024.b0", !3624, i64 0} !3624 = !{!"i64", !3625, i64 0} !3625 = !{!"0x15efc1e0", !8, i64 0} !3626 = !{!3627, !3627, i64 0} !3627 = !{!"0x15efc1e0.w1.b1", !3614, i64 0} !3628 = !{!3629, !3629, i64 0} !3629 = !{!"0x15ef9460.w1.b0", !3630, i64 0} !3630 = !{!"0x15ef9460.w2.b0", !3631, i64 0} !3631 = !{!"0x15ef9460.w4.b0", !3632, i64 0} !3632 = !{!"0x15ef9460.w8.b0", !3633, i64 0} !3633 = !{!"0x15ef9460.w16.b0", !3634, i64 0} !3634 = !{!"0x15ef9460.w32.b0", !3635, i64 0} !3635 = !{!"0x15ef9460.w64.b0", !3636, i64 0} !3636 = !{!"0x15ef9460.w128.b0", !3637, i64 0} !3637 = !{!"0x15ef9460.w256.b0", !3638, i64 0} !3638 = !{!"0x15ef9460.w512.b0", !3639, i64 0} !3639 = !{!"0x15ef9460.w1024.b0", !3640, i64 0} !3640 = !{!"i64", !3641, i64 0} !3641 = !{!"0x15ef9460", !8, i64 0} !3642 = !{!3643, !3643, i64 0} !3643 = !{!"0x15ef9460.w1.b1", !3630, i64 0} !3644 = !{!3645, !3645, i64 0} !3645 = !{!"0x15efe770.w1.b0", !3646, i64 0} !3646 = !{!"0x15efe770.w2.b0", !3647, i64 0} !3647 = !{!"0x15efe770.w4.b0", !3648, i64 0} !3648 = !{!"0x15efe770.w8.b0", !3649, i64 0} !3649 = !{!"0x15efe770.w16.b0", !3650, i64 0} !3650 = !{!"0x15efe770.w32.b0", !3651, i64 0} !3651 = !{!"0x15efe770.w64.b0", !3652, i64 0} !3652 = !{!"0x15efe770.w128.b0", !3653, i64 0} !3653 = !{!"0x15efe770.w256.b0", !3654, i64 0} !3654 = !{!"0x15efe770.w512.b0", !3655, i64 0} !3655 = !{!"0x15efe770.w1024.b0", !3656, i64 0} !3656 = !{!"i64", !3657, i64 0} !3657 = !{!"0x15efe770", !8, i64 0} !3658 = !{!3659, !3659, i64 0} !3659 = !{!"0x15efec70.w1.b0", !3660, i64 0} !3660 = !{!"0x15efec70.w2.b0", !3661, i64 0} !3661 = !{!"0x15efec70.w4.b0", !3662, i64 0} !3662 = !{!"0x15efec70.w8.b0", !3663, i64 0} !3663 = !{!"0x15efec70.w16.b0", !3664, i64 0} !3664 = !{!"0x15efec70.w32.b0", !3665, i64 0} !3665 = !{!"0x15efec70.w64.b0", !3666, i64 0} !3666 = !{!"0x15efec70.w128.b0", !3667, i64 0} !3667 = !{!"0x15efec70.w256.b0", !3668, i64 0} !3668 = !{!"0x15efec70.w512.b0", !3669, i64 0} !3669 = !{!"0x15efec70.w1024.b0", !3670, i64 0} !3670 = !{!"i64", !3671, i64 0} !3671 = !{!"0x15efec70", !8, i64 0} !3672 = !{!3673, !3673, i64 0} !3673 = !{!"0x15f00650.w1.b0", !3674, i64 0} !3674 = !{!"0x15f00650.w2.b0", !3675, i64 0} !3675 = !{!"0x15f00650.w4.b0", !3676, i64 0} !3676 = !{!"0x15f00650.w8.b0", !3677, i64 0} !3677 = !{!"0x15f00650.w16.b0", !3678, i64 0} !3678 = !{!"0x15f00650.w32.b0", !3679, i64 0} !3679 = !{!"0x15f00650.w64.b0", !3680, i64 0} !3680 = !{!"0x15f00650.w128.b0", !3681, i64 0} !3681 = !{!"0x15f00650.w256.b0", !3682, i64 0} !3682 = !{!"0x15f00650.w512.b0", !3683, i64 0} !3683 = !{!"0x15f00650.w1024.b0", !3684, i64 0} !3684 = !{!"i64", !3685, i64 0} !3685 = !{!"0x15f00650", !8, i64 0} !3686 = !{!3687, !3687, i64 0} !3687 = !{!"0x15f00650.w1.b1", !3674, i64 0} !3688 = !{!3689, !3689, i64 0} !3689 = !{!"0x15f00ce0.w1.b0", !3690, i64 0} !3690 = !{!"0x15f00ce0.w2.b0", !3691, i64 0} !3691 = !{!"0x15f00ce0.w4.b0", !3692, i64 0} !3692 = !{!"0x15f00ce0.w8.b0", !3693, i64 0} !3693 = !{!"0x15f00ce0.w16.b0", !3694, i64 0} !3694 = !{!"0x15f00ce0.w32.b0", !3695, i64 0} !3695 = !{!"0x15f00ce0.w64.b0", !3696, i64 0} !3696 = !{!"0x15f00ce0.w128.b0", !3697, i64 0} !3697 = !{!"0x15f00ce0.w256.b0", !3698, i64 0} !3698 = !{!"0x15f00ce0.w512.b0", !3699, i64 0} !3699 = !{!"0x15f00ce0.w1024.b0", !3700, i64 0} !3700 = !{!"i64", !3701, i64 0} !3701 = !{!"0x15f00ce0", !8, i64 0} !3702 = !{!3703, !3703, i64 0} !3703 = !{!"0x15f00ce0.w1.b1", !3690, i64 0} !3704 = !{!3705, !3705, i64 0} !3705 = !{!"0x15f3efd0.w1.b0", !3706, i64 0} !3706 = !{!"0x15f3efd0.w2.b0", !3707, i64 0} !3707 = !{!"0x15f3efd0.w4.b0", !3708, i64 0} !3708 = !{!"0x15f3efd0.w8.b0", !3709, i64 0} !3709 = !{!"0x15f3efd0.w16.b0", !3710, i64 0} !3710 = !{!"0x15f3efd0.w32.b0", !3711, i64 0} !3711 = !{!"0x15f3efd0.w64.b0", !3712, i64 0} !3712 = !{!"0x15f3efd0.w128.b0", !3713, i64 0} !3713 = !{!"0x15f3efd0.w256.b0", !3714, i64 0} !3714 = !{!"0x15f3efd0.w512.b0", !3715, i64 0} !3715 = !{!"0x15f3efd0.w1024.b0", !3716, i64 0} !3716 = !{!"i64", !3717, i64 0} !3717 = !{!"0x15f3efd0", !8, i64 0} !3718 = !{!3719, !3719, i64 0} !3719 = !{!"0x15f3efd0.w1.b1", !3706, i64 0} !3720 = !{!3721, !3721, i64 0} !3721 = !{!"0x15f3efd0.w1.b2", !3722, i64 0} !3722 = !{!"0x15f3efd0.w2.b2", !3707, i64 0} !3723 = !{!3724, !3724, i64 0} !3724 = !{!"0x15f3efd0.w1.b3", !3722, i64 0} !3725 = !{!3726, !3726, i64 0} !3726 = !{!"0x15f3efd0.w1.b4", !3727, i64 0} !3727 = !{!"0x15f3efd0.w2.b4", !3728, i64 0} !3728 = !{!"0x15f3efd0.w4.b4", !3708, i64 0} !3729 = !{!3730, !3730, i64 0} !3730 = !{!"0x15f3efd0.w1.b5", !3727, i64 0} !3731 = !{!3732, !3732, i64 0} !3732 = !{!"0x15f3be80.w1.b0", !3733, i64 0} !3733 = !{!"0x15f3be80.w2.b0", !3734, i64 0} !3734 = !{!"0x15f3be80.w4.b0", !3735, i64 0} !3735 = !{!"0x15f3be80.w8.b0", !3736, i64 0} !3736 = !{!"0x15f3be80.w16.b0", !3737, i64 0} !3737 = !{!"0x15f3be80.w32.b0", !3738, i64 0} !3738 = !{!"0x15f3be80.w64.b0", !3739, i64 0} !3739 = !{!"0x15f3be80.w128.b0", !3740, i64 0} !3740 = !{!"0x15f3be80.w256.b0", !3741, i64 0} !3741 = !{!"0x15f3be80.w512.b0", !3742, i64 0} !3742 = !{!"0x15f3be80.w1024.b0", !3743, i64 0} !3743 = !{!"i32", !3744, i64 0} !3744 = !{!"0x15f3be80", !8, i64 0} !3745 = !{!3746, !3746, i64 0} !3746 = !{!"0x15f3be80.w1.b1", !3733, i64 0} !3747 = !{!3748, !3748, i64 0} !3748 = !{!"0x15f3be80.w1.b2", !3749, i64 0} !3749 = !{!"0x15f3be80.w2.b2", !3734, i64 0} !3750 = !{!3751, !3751, i64 0} !3751 = !{!"0x15f3be80.w1.b3", !3749, i64 0} !3752 = !{!3753, !3753, i64 0} !3753 = !{!"0x15f3be80.w1.b4", !3754, i64 0} !3754 = !{!"0x15f3be80.w2.b4", !3755, i64 0} !3755 = !{!"0x15f3be80.w4.b4", !3735, i64 0} !3756 = !{!3757, !3757, i64 0} !3757 = !{!"i8", !3758, i64 0} !3758 = !{!"0x743a030", !8, i64 0} !3759 = !{!3760, !3760, i64 0} !3760 = !{!"float", !3761, i64 0} !3761 = !{!"0x12329850", !8, i64 0} !3762 = !{!3763, !3763, i64 0} !3763 = !{!"i8", !3764, i64 0} !3764 = !{!"0x3ca32c0", !8, i64 0} !3765 = !{!3766, !3766, i64 0} !3766 = !{!"0x15ef29a0.w1.b0", !3767, i64 0} !3767 = !{!"0x15ef29a0.w2.b0", !3768, i64 0} !3768 = !{!"0x15ef29a0.w4.b0", !3769, i64 0} !3769 = !{!"0x15ef29a0.w8.b0", !3770, i64 0} !3770 = !{!"0x15ef29a0.w16.b0", !3771, i64 0} !3771 = !{!"0x15ef29a0.w32.b0", !3772, i64 0} !3772 = !{!"0x15ef29a0.w64.b0", !3773, i64 0} !3773 = !{!"0x15ef29a0.w128.b0", !3774, i64 0} !3774 = !{!"0x15ef29a0.w256.b0", !3775, i64 0} !3775 = !{!"0x15ef29a0.w512.b0", !3776, i64 0} !3776 = !{!"0x15ef29a0.w1024.b0", !3777, i64 0} !3777 = !{!"i8", !3778, i64 0} !3778 = !{!"0x15ef29a0", !8, i64 0} !3779 = !{!3780, !3780, i64 0} !3780 = !{!"0x15ef29a0.w1.b1", !3767, i64 0} !3781 = !{!3782, !3782, i64 0} !3782 = !{!"0x15efd8a0.w1.b0", !3783, i64 0} !3783 = !{!"0x15efd8a0.w2.b0", !3784, i64 0} !3784 = !{!"0x15efd8a0.w4.b0", !3785, i64 0} !3785 = !{!"0x15efd8a0.w8.b0", !3786, i64 0} !3786 = !{!"0x15efd8a0.w16.b0", !3787, i64 0} !3787 = !{!"0x15efd8a0.w32.b0", !3788, i64 0} !3788 = !{!"0x15efd8a0.w64.b0", !3789, i64 0} !3789 = !{!"0x15efd8a0.w128.b0", !3790, i64 0} !3790 = !{!"0x15efd8a0.w256.b0", !3791, i64 0} !3791 = !{!"0x15efd8a0.w512.b0", !3792, i64 0} !3792 = !{!"0x15efd8a0.w1024.b0", !3793, i64 0} !3793 = !{!"i64", !3794, i64 0} !3794 = !{!"0x15efd8a0", !8, i64 0} !3795 = !{!3796, !3796, i64 0} !3796 = !{!"0x15efd8a0.w1.b1", !3783, i64 0} !3797 = !{!3798, !3798, i64 0} !3798 = !{!"0x15efa440.w1.b0", !3799, i64 0} !3799 = !{!"0x15efa440.w2.b0", !3800, i64 0} !3800 = !{!"0x15efa440.w4.b0", !3801, i64 0} !3801 = !{!"0x15efa440.w8.b0", !3802, i64 0} !3802 = !{!"0x15efa440.w16.b0", !3803, i64 0} !3803 = !{!"0x15efa440.w32.b0", !3804, i64 0} !3804 = !{!"0x15efa440.w64.b0", !3805, i64 0} !3805 = !{!"0x15efa440.w128.b0", !3806, i64 0} !3806 = !{!"0x15efa440.w256.b0", !3807, i64 0} !3807 = !{!"0x15efa440.w512.b0", !3808, i64 0} !3808 = !{!"0x15efa440.w1024.b0", !3809, i64 0} !3809 = !{!"i64", !3810, i64 0} !3810 = !{!"0x15efa440", !8, i64 0} !3811 = !{!3812, !3812, i64 0} !3812 = !{!"0x15efa440.w1.b1", !3799, i64 0} !3813 = !{!3814, !3814, i64 0} !3814 = !{!"0x15f05650.w1.b0", !3815, i64 0} !3815 = !{!"0x15f05650.w2.b0", !3816, i64 0} !3816 = !{!"0x15f05650.w4.b0", !3817, i64 0} !3817 = !{!"0x15f05650.w8.b0", !3818, i64 0} !3818 = !{!"0x15f05650.w16.b0", !3819, i64 0} !3819 = !{!"0x15f05650.w32.b0", !3820, i64 0} !3820 = !{!"0x15f05650.w64.b0", !3821, i64 0} !3821 = !{!"0x15f05650.w128.b0", !3822, i64 0} !3822 = !{!"0x15f05650.w256.b0", !3823, i64 0} !3823 = !{!"0x15f05650.w512.b0", !3824, i64 0} !3824 = !{!"0x15f05650.w1024.b0", !3825, i64 0} !3825 = !{!"i64", !3826, i64 0} !3826 = !{!"0x15f05650", !8, i64 0} !3827 = !{!3828, !3828, i64 0} !3828 = !{!"0x15f05650.w1.b1", !3815, i64 0} !3829 = !{!3830, !3830, i64 0} !3830 = !{!"0x15f03ac0.w1.b0", !3831, i64 0} !3831 = !{!"0x15f03ac0.w2.b0", !3832, i64 0} !3832 = !{!"0x15f03ac0.w4.b0", !3833, i64 0} !3833 = !{!"0x15f03ac0.w8.b0", !3834, i64 0} !3834 = !{!"0x15f03ac0.w16.b0", !3835, i64 0} !3835 = !{!"0x15f03ac0.w32.b0", !3836, i64 0} !3836 = !{!"0x15f03ac0.w64.b0", !3837, i64 0} !3837 = !{!"0x15f03ac0.w128.b0", !3838, i64 0} !3838 = !{!"0x15f03ac0.w256.b0", !3839, i64 0} !3839 = !{!"0x15f03ac0.w512.b0", !3840, i64 0} !3840 = !{!"0x15f03ac0.w1024.b0", !3841, i64 0} !3841 = !{!"i64", !3842, i64 0} !3842 = !{!"0x15f03ac0", !8, i64 0} !3843 = !{!3844, !3844, i64 0} !3844 = !{!"0x15f03ac0.w1.b1", !3831, i64 0} !3845 = !{!3846, !3846, i64 0} !3846 = !{!"i8", !3847, i64 0} !3847 = !{!"0x15e16950", !8, i64 0} !3848 = !{!3849, !3849, i64 0} !3849 = !{!"i8", !3850, i64 0} !3850 = !{!"0x74057c0", !8, i64 0} !3851 = !{!3852, !3852, i64 0} !3852 = !{!"0x15ef3350.w1.b0", !3853, i64 0} !3853 = !{!"0x15ef3350.w2.b0", !3854, i64 0} !3854 = !{!"0x15ef3350.w4.b0", !3855, i64 0} !3855 = !{!"0x15ef3350.w8.b0", !3856, i64 0} !3856 = !{!"0x15ef3350.w16.b0", !3857, i64 0} !3857 = !{!"0x15ef3350.w32.b0", !3858, i64 0} !3858 = !{!"0x15ef3350.w64.b0", !3859, i64 0} !3859 = !{!"0x15ef3350.w128.b0", !3860, i64 0} !3860 = !{!"0x15ef3350.w256.b0", !3861, i64 0} !3861 = !{!"0x15ef3350.w512.b0", !3862, i64 0} !3862 = !{!"0x15ef3350.w1024.b0", !3863, i64 0} !3863 = !{!"i8", !3864, i64 0} !3864 = !{!"0x15ef3350", !8, i64 0} !3865 = !{!3866, !3866, i64 0} !3866 = !{!"0x15ef3350.w1.b1", !3853, i64 0} !3867 = !{!3868, !3868, i64 0} !3868 = !{!"0x15ef3350.w1.b2", !3869, i64 0} !3869 = !{!"0x15ef3350.w2.b2", !3854, i64 0} !3870 = !{!3871, !3871, i64 0} !3871 = !{!"0x15ef3350.w1.b3", !3869, i64 0} !3872 = !{!3873, !3873, i64 0} !3873 = !{!"0x15f09af0.w1.b0", !3874, i64 0} !3874 = !{!"0x15f09af0.w2.b0", !3875, i64 0} !3875 = !{!"0x15f09af0.w4.b0", !3876, i64 0} !3876 = !{!"0x15f09af0.w8.b0", !3877, i64 0} !3877 = !{!"0x15f09af0.w16.b0", !3878, i64 0} !3878 = !{!"0x15f09af0.w32.b0", !3879, i64 0} !3879 = !{!"0x15f09af0.w64.b0", !3880, i64 0} !3880 = !{!"0x15f09af0.w128.b0", !3881, i64 0} !3881 = !{!"0x15f09af0.w256.b0", !3882, i64 0} !3882 = !{!"0x15f09af0.w512.b0", !3883, i64 0} !3883 = !{!"0x15f09af0.w1024.b0", !3884, i64 0} !3884 = !{!"i64", !3885, i64 0} !3885 = !{!"0x15f09af0", !8, i64 0} !3886 = !{!3887, !3887, i64 0} !3887 = !{!"0x15f09af0.w1.b1", !3874, i64 0} !3888 = !{!3889, !3889, i64 0} !3889 = !{!"0x15f0a1b0.w1.b0", !3890, i64 0} !3890 = !{!"0x15f0a1b0.w2.b0", !3891, i64 0} !3891 = !{!"0x15f0a1b0.w4.b0", !3892, i64 0} !3892 = !{!"0x15f0a1b0.w8.b0", !3893, i64 0} !3893 = !{!"0x15f0a1b0.w16.b0", !3894, i64 0} !3894 = !{!"0x15f0a1b0.w32.b0", !3895, i64 0} !3895 = !{!"0x15f0a1b0.w64.b0", !3896, i64 0} !3896 = !{!"0x15f0a1b0.w128.b0", !3897, i64 0} !3897 = !{!"0x15f0a1b0.w256.b0", !3898, i64 0} !3898 = !{!"0x15f0a1b0.w512.b0", !3899, i64 0} !3899 = !{!"0x15f0a1b0.w1024.b0", !3900, i64 0} !3900 = !{!"i64", !3901, i64 0} !3901 = !{!"0x15f0a1b0", !8, i64 0} !3902 = !{!3903, !3903, i64 0} !3903 = !{!"0x15f0a1b0.w1.b1", !3890, i64 0} !3904 = !{!3905, !3905, i64 0} !3905 = !{!"0x15f0beb0.w1.b0", !3906, i64 0} !3906 = !{!"0x15f0beb0.w2.b0", !3907, i64 0} !3907 = !{!"0x15f0beb0.w4.b0", !3908, i64 0} !3908 = !{!"0x15f0beb0.w8.b0", !3909, i64 0} !3909 = !{!"0x15f0beb0.w16.b0", !3910, i64 0} !3910 = !{!"0x15f0beb0.w32.b0", !3911, i64 0} !3911 = !{!"0x15f0beb0.w64.b0", !3912, i64 0} !3912 = !{!"0x15f0beb0.w128.b0", !3913, i64 0} !3913 = !{!"0x15f0beb0.w256.b0", !3914, i64 0} !3914 = !{!"0x15f0beb0.w512.b0", !3915, i64 0} !3915 = !{!"0x15f0beb0.w1024.b0", !3916, i64 0} !3916 = !{!"i64", !3917, i64 0} !3917 = !{!"0x15f0beb0", !8, i64 0} !3918 = !{!3919, !3919, i64 0} !3919 = !{!"0x15f0beb0.w1.b1", !3906, i64 0} !3920 = !{!3921, !3921, i64 0} !3921 = !{!"0x15f09190.w1.b0", !3922, i64 0} !3922 = !{!"0x15f09190.w2.b0", !3923, i64 0} !3923 = !{!"0x15f09190.w4.b0", !3924, i64 0} !3924 = !{!"0x15f09190.w8.b0", !3925, i64 0} !3925 = !{!"0x15f09190.w16.b0", !3926, i64 0} !3926 = !{!"0x15f09190.w32.b0", !3927, i64 0} !3927 = !{!"0x15f09190.w64.b0", !3928, i64 0} !3928 = !{!"0x15f09190.w128.b0", !3929, i64 0} !3929 = !{!"0x15f09190.w256.b0", !3930, i64 0} !3930 = !{!"0x15f09190.w512.b0", !3931, i64 0} !3931 = !{!"0x15f09190.w1024.b0", !3932, i64 0} !3932 = !{!"i64", !3933, i64 0} !3933 = !{!"0x15f09190", !8, i64 0} !3934 = !{!3935, !3935, i64 0} !3935 = !{!"0x15f09190.w1.b1", !3922, i64 0} !3936 = !{!3937, !3937, i64 0} !3937 = !{!"0x15f0e440.w1.b0", !3938, i64 0} !3938 = !{!"0x15f0e440.w2.b0", !3939, i64 0} !3939 = !{!"0x15f0e440.w4.b0", !3940, i64 0} !3940 = !{!"0x15f0e440.w8.b0", !3941, i64 0} !3941 = !{!"0x15f0e440.w16.b0", !3942, i64 0} !3942 = !{!"0x15f0e440.w32.b0", !3943, i64 0} !3943 = !{!"0x15f0e440.w64.b0", !3944, i64 0} !3944 = !{!"0x15f0e440.w128.b0", !3945, i64 0} !3945 = !{!"0x15f0e440.w256.b0", !3946, i64 0} !3946 = !{!"0x15f0e440.w512.b0", !3947, i64 0} !3947 = !{!"0x15f0e440.w1024.b0", !3948, i64 0} !3948 = !{!"i64", !3949, i64 0} !3949 = !{!"0x15f0e440", !8, i64 0} !3950 = !{!3951, !3951, i64 0} !3951 = !{!"0x15f0e940.w1.b0", !3952, i64 0} !3952 = !{!"0x15f0e940.w2.b0", !3953, i64 0} !3953 = !{!"0x15f0e940.w4.b0", !3954, i64 0} !3954 = !{!"0x15f0e940.w8.b0", !3955, i64 0} !3955 = !{!"0x15f0e940.w16.b0", !3956, i64 0} !3956 = !{!"0x15f0e940.w32.b0", !3957, i64 0} !3957 = !{!"0x15f0e940.w64.b0", !3958, i64 0} !3958 = !{!"0x15f0e940.w128.b0", !3959, i64 0} !3959 = !{!"0x15f0e940.w256.b0", !3960, i64 0} !3960 = !{!"0x15f0e940.w512.b0", !3961, i64 0} !3961 = !{!"0x15f0e940.w1024.b0", !3962, i64 0} !3962 = !{!"i64", !3963, i64 0} !3963 = !{!"0x15f0e940", !8, i64 0} !3964 = !{!3965, !3965, i64 0} !3965 = !{!"0x15f10320.w1.b0", !3966, i64 0} !3966 = !{!"0x15f10320.w2.b0", !3967, i64 0} !3967 = !{!"0x15f10320.w4.b0", !3968, i64 0} !3968 = !{!"0x15f10320.w8.b0", !3969, i64 0} !3969 = !{!"0x15f10320.w16.b0", !3970, i64 0} !3970 = !{!"0x15f10320.w32.b0", !3971, i64 0} !3971 = !{!"0x15f10320.w64.b0", !3972, i64 0} !3972 = !{!"0x15f10320.w128.b0", !3973, i64 0} !3973 = !{!"0x15f10320.w256.b0", !3974, i64 0} !3974 = !{!"0x15f10320.w512.b0", !3975, i64 0} !3975 = !{!"0x15f10320.w1024.b0", !3976, i64 0} !3976 = !{!"i64", !3977, i64 0} !3977 = !{!"0x15f10320", !8, i64 0} !3978 = !{!3979, !3979, i64 0} !3979 = !{!"0x15f10320.w1.b1", !3966, i64 0} !3980 = !{!3981, !3981, i64 0} !3981 = !{!"0x15f109b0.w1.b0", !3982, i64 0} !3982 = !{!"0x15f109b0.w2.b0", !3983, i64 0} !3983 = !{!"0x15f109b0.w4.b0", !3984, i64 0} !3984 = !{!"0x15f109b0.w8.b0", !3985, i64 0} !3985 = !{!"0x15f109b0.w16.b0", !3986, i64 0} !3986 = !{!"0x15f109b0.w32.b0", !3987, i64 0} !3987 = !{!"0x15f109b0.w64.b0", !3988, i64 0} !3988 = !{!"0x15f109b0.w128.b0", !3989, i64 0} !3989 = !{!"0x15f109b0.w256.b0", !3990, i64 0} !3990 = !{!"0x15f109b0.w512.b0", !3991, i64 0} !3991 = !{!"0x15f109b0.w1024.b0", !3992, i64 0} !3992 = !{!"i64", !3993, i64 0} !3993 = !{!"0x15f109b0", !8, i64 0} !3994 = !{!3995, !3995, i64 0} !3995 = !{!"0x15f109b0.w1.b1", !3982, i64 0} !3996 = !{!3997, !3997, i64 0} !3997 = !{!"0x906d3f0.w1.b0", !3998, i64 0} !3998 = !{!"0x906d3f0.w2.b0", !3999, i64 0} !3999 = !{!"0x906d3f0.w4.b0", !4000, i64 0} !4000 = !{!"0x906d3f0.w8.b0", !4001, i64 0} !4001 = !{!"0x906d3f0.w16.b0", !4002, i64 0} !4002 = !{!"0x906d3f0.w32.b0", !4003, i64 0} !4003 = !{!"0x906d3f0.w64.b0", !4004, i64 0} !4004 = !{!"0x906d3f0.w128.b0", !4005, i64 0} !4005 = !{!"0x906d3f0.w256.b0", !4006, i64 0} !4006 = !{!"0x906d3f0.w512.b0", !4007, i64 0} !4007 = !{!"0x906d3f0.w1024.b0", !4008, i64 0} !4008 = !{!"i64", !4009, i64 0} !4009 = !{!"0x906d3f0", !8, i64 0} !4010 = !{!4011, !4011, i64 0} !4011 = !{!"0x906d3f0.w1.b1", !3998, i64 0} !4012 = !{!4013, !4013, i64 0} !4013 = !{!"0x906d3f0.w1.b2", !4014, i64 0} !4014 = !{!"0x906d3f0.w2.b2", !3999, i64 0} !4015 = !{!4016, !4016, i64 0} !4016 = !{!"0x906d3f0.w1.b3", !4014, i64 0} !4017 = !{!4018, !4018, i64 0} !4018 = !{!"0x906d3f0.w1.b4", !4019, i64 0} !4019 = !{!"0x906d3f0.w2.b4", !4020, i64 0} !4020 = !{!"0x906d3f0.w4.b4", !4000, i64 0} !4021 = !{!4022, !4022, i64 0} !4022 = !{!"0x906d3f0.w1.b5", !4019, i64 0} !4023 = !{!4024, !4024, i64 0} !4024 = !{!"0x906a4d0.w1.b0", !4025, i64 0} !4025 = !{!"0x906a4d0.w2.b0", !4026, i64 0} !4026 = !{!"0x906a4d0.w4.b0", !4027, i64 0} !4027 = !{!"0x906a4d0.w8.b0", !4028, i64 0} !4028 = !{!"0x906a4d0.w16.b0", !4029, i64 0} !4029 = !{!"0x906a4d0.w32.b0", !4030, i64 0} !4030 = !{!"0x906a4d0.w64.b0", !4031, i64 0} !4031 = !{!"0x906a4d0.w128.b0", !4032, i64 0} !4032 = !{!"0x906a4d0.w256.b0", !4033, i64 0} !4033 = !{!"0x906a4d0.w512.b0", !4034, i64 0} !4034 = !{!"0x906a4d0.w1024.b0", !4035, i64 0} !4035 = !{!"i32", !4036, i64 0} !4036 = !{!"0x906a4d0", !8, i64 0} !4037 = !{!4038, !4038, i64 0} !4038 = !{!"0x906a4d0.w1.b1", !4025, i64 0} !4039 = !{!4040, !4040, i64 0} !4040 = !{!"0x906a4d0.w1.b2", !4041, i64 0} !4041 = !{!"0x906a4d0.w2.b2", !4026, i64 0} !4042 = !{!4043, !4043, i64 0} !4043 = !{!"0x906a4d0.w1.b3", !4041, i64 0} !4044 = !{!4045, !4045, i64 0} !4045 = !{!"0x906a4d0.w1.b4", !4046, i64 0} !4046 = !{!"0x906a4d0.w2.b4", !4047, i64 0} !4047 = !{!"0x906a4d0.w4.b4", !4027, i64 0} !4048 = !{!4049, !4049, i64 0} !4049 = !{!"i8", !4050, i64 0} !4050 = !{!"0x73b22d0", !8, i64 0} !4051 = !{!4052, !4052, i64 0} !4052 = !{!"i8", !4053, i64 0} !4053 = !{!"0x40c9f00", !8, i64 0} !4054 = !{!4055, !4055, i64 0} !4055 = !{!"i8", !4056, i64 0} !4056 = !{!"0x7347870", !8, i64 0} !4057 = distinct !{!4057, !1210}