; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --scrub-attributes --check-attributes
; RUN: opt -passes=attributor -S < %s | FileCheck %s --check-prefixes=CHECK
define amdgpu_kernel void @__omp_offloading_fd00_2c00523__ZN11qmcplusplus7ompBLAS9gemv_implIfEEiRiciiT_PKS3_iS5_iS3_PS3_i_l383() {
; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
; CHECK-LABEL: define {{[^@]+}}@__omp_offloading_fd00_2c00523__ZN11qmcplusplus7ompBLAS9gemv_implIfEEiRiciiT_PKS3_iS5_iS3_PS3_i_l383
; CHECK-SAME: () #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[TMP1:%.*]] = alloca [0 x [0 x float]], i32 0, align 8, addrspace(5)
; CHECK-NEXT: [[TMP2:%.*]] = addrspacecast ptr addrspace(5) [[TMP1]] to ptr
; CHECK-NEXT: store ptr [[TMP2]], ptr addrspace(5) [[TMP1]], align 8
; CHECK-NEXT: [[TMP3:%.*]] = call fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr nocapture nofree noundef readonly align 8 dereferenceable_or_null(8) [[TMP2]], i1 noundef false)
; CHECK-NEXT: ret void
;
%1 = alloca [0 x [0 x float]], i32 0, align 8, addrspace(5)
%2 = addrspacecast ptr addrspace(5) %1 to ptr
store ptr %2, ptr addrspace(5) %1, align 8
%3 = call fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr %2, i1 false)
ret void
}
define fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr %0, i1 %1) {
; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
; CHECK-LABEL: define {{[^@]+}}@__kmpc_nvptx_parallel_reduce_nowait_v2
; CHECK-SAME: (ptr nocapture nofree nonnull readonly align 8 dereferenceable(8) [[TMP0:%.*]], i1 noundef [[TMP1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP3:%.*]], label [[TMP79:%.*]]
; CHECK: 3:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP4:%.*]], label [[TMP6:%.*]]
; CHECK: 4:
; CHECK-NEXT: [[TMP5:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP5]], align 8
; CHECK-NEXT: br label [[TMP77:%.*]]
; CHECK: 6:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP7:%.*]], label [[TMP9:%.*]]
; CHECK: 7:
; CHECK-NEXT: [[TMP8:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP8]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 9:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP10:%.*]], label [[TMP12:%.*]]
; CHECK: 10:
; CHECK-NEXT: [[TMP11:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP11]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 12:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP13:%.*]], label [[TMP15:%.*]]
; CHECK: 13:
; CHECK-NEXT: [[TMP14:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP14]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 15:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP16:%.*]], label [[TMP18:%.*]]
; CHECK: 16:
; CHECK-NEXT: [[TMP17:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP17]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 18:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP19:%.*]], label [[TMP21:%.*]]
; CHECK: 19:
; CHECK-NEXT: [[TMP20:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP20]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 21:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP22:%.*]], label [[TMP24:%.*]]
; CHECK: 22:
; CHECK-NEXT: [[TMP23:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP23]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 24:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP25:%.*]], label [[TMP27:%.*]]
; CHECK: 25:
; CHECK-NEXT: [[TMP26:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP26]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 27:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP28:%.*]], label [[TMP30:%.*]]
; CHECK: 28:
; CHECK-NEXT: [[TMP29:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP29]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 30:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP31:%.*]], label [[TMP33:%.*]]
; CHECK: 31:
; CHECK-NEXT: [[TMP32:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP32]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 33:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP34:%.*]], label [[TMP36:%.*]]
; CHECK: 34:
; CHECK-NEXT: [[TMP35:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP35]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 36:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP37:%.*]], label [[TMP39:%.*]]
; CHECK: 37:
; CHECK-NEXT: [[TMP38:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP38]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 39:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP40:%.*]], label [[TMP42:%.*]]
; CHECK: 40:
; CHECK-NEXT: [[TMP41:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP41]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 42:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP43:%.*]], label [[TMP45:%.*]]
; CHECK: 43:
; CHECK-NEXT: [[TMP44:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP44]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 45:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP46:%.*]], label [[TMP48:%.*]]
; CHECK: 46:
; CHECK-NEXT: [[TMP47:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP47]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 48:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP49:%.*]], label [[TMP51:%.*]]
; CHECK: 49:
; CHECK-NEXT: [[TMP50:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP50]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 51:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP52:%.*]], label [[TMP54:%.*]]
; CHECK: 52:
; CHECK-NEXT: [[TMP53:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP53]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 54:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP55:%.*]], label [[TMP57:%.*]]
; CHECK: 55:
; CHECK-NEXT: [[TMP56:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP56]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 57:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP58:%.*]], label [[TMP60:%.*]]
; CHECK: 58:
; CHECK-NEXT: [[TMP59:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP59]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 60:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP61:%.*]], label [[TMP63:%.*]]
; CHECK: 61:
; CHECK-NEXT: [[TMP62:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP62]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 63:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP64:%.*]], label [[TMP66:%.*]]
; CHECK: 64:
; CHECK-NEXT: [[TMP65:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP65]], align 8
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 66:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP67:%.*]], label [[TMP69:%.*]]
; CHECK: 67:
; CHECK-NEXT: [[TMP68:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP68]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 69:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP70:%.*]], label [[TMP72:%.*]]
; CHECK: 70:
; CHECK-NEXT: [[TMP71:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP71]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 72:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP73:%.*]], label [[TMP75:%.*]]
; CHECK: 73:
; CHECK-NEXT: [[TMP74:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP74]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 75:
; CHECK-NEXT: [[TMP76:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP76]], align 4
; CHECK-NEXT: br label [[TMP77]]
; CHECK: 77:
; CHECK-NEXT: [[TMP78:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP78]], align 4
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP80:%.*]], label [[TMP82:%.*]]
; CHECK: 79:
; CHECK-NEXT: ret i32 0
; CHECK: 80:
; CHECK-NEXT: [[TMP81:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP81]], align 8
; CHECK-NEXT: ret i32 0
; CHECK: 82:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP83:%.*]], label [[TMP85:%.*]]
; CHECK: 83:
; CHECK-NEXT: [[TMP84:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP84]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 85:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP86:%.*]], label [[TMP88:%.*]]
; CHECK: 86:
; CHECK-NEXT: [[TMP87:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP87]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 88:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP89:%.*]], label [[TMP91:%.*]]
; CHECK: 89:
; CHECK-NEXT: [[TMP90:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP90]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 91:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP92:%.*]], label [[TMP94:%.*]]
; CHECK: 92:
; CHECK-NEXT: [[TMP93:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP93]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 94:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP95:%.*]], label [[TMP97:%.*]]
; CHECK: 95:
; CHECK-NEXT: [[TMP96:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP96]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 97:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP98:%.*]], label [[TMP100:%.*]]
; CHECK: 98:
; CHECK-NEXT: [[TMP99:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP99]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 100:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP101:%.*]], label [[TMP103:%.*]]
; CHECK: 101:
; CHECK-NEXT: [[TMP102:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP102]], align 8
; CHECK-NEXT: ret i32 0
; CHECK: 103:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP104:%.*]], label [[TMP106:%.*]]
; CHECK: 104:
; CHECK-NEXT: [[TMP105:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP105]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 106:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP107:%.*]], label [[TMP109:%.*]]
; CHECK: 107:
; CHECK-NEXT: [[TMP108:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP108]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 109:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP110:%.*]], label [[TMP112:%.*]]
; CHECK: 110:
; CHECK-NEXT: [[TMP111:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP111]], align 4
; CHECK-NEXT: ret i32 0
; CHECK: 112:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP113:%.*]], label [[TMP115:%.*]]
; CHECK: 113:
; CHECK-NEXT: [[TMP114:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP114]], align 8
; CHECK-NEXT: ret i32 0
; CHECK: 115:
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP116:%.*]], label [[TMP118:%.*]]
; CHECK: 116:
; CHECK-NEXT: [[TMP117:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i64 0, ptr [[TMP117]], align 8
; CHECK-NEXT: ret i32 0
; CHECK: 118:
; CHECK-NEXT: [[TMP119:%.*]] = load ptr, ptr [[TMP0]], align 8
; CHECK-NEXT: store i32 0, ptr [[TMP119]], align 4
; CHECK-NEXT: ret i32 0
;
br i1 %1, label %3, label %88
3: ; preds = %2
%4 = load ptr, ptr %0, align 8
br i1 %1, label %5, label %7
5: ; preds = %3
%6 = load ptr, ptr %0, align 8
store i64 0, ptr %6, align 8
br label %79
7: ; preds = %3
br i1 %1, label %8, label %11
8: ; preds = %7
%9 = load i32, ptr %4, align 4
%10 = load ptr, ptr %0, align 8
store i32 0, ptr %10, align 4
br label %79
11: ; preds = %7
br i1 %1, label %12, label %14
12: ; preds = %11
%13 = load ptr, ptr %0, align 8
store i32 0, ptr %13, align 4
br label %79
14: ; preds = %11
br i1 %1, label %15, label %17
15: ; preds = %14
%16 = load ptr, ptr %0, align 8
store i32 0, ptr %16, align 4
br label %79
17: ; preds = %14
br i1 %1, label %18, label %20
18: ; preds = %17
%19 = load ptr, ptr %0, align 8
store i32 0, ptr %19, align 4
br label %79
20: ; preds = %17
br i1 %1, label %21, label %23
21: ; preds = %20
%22 = load ptr, ptr %0, align 8
store i32 0, ptr %22, align 4
br label %79
23: ; preds = %20
br i1 %1, label %24, label %26
24: ; preds = %23
%25 = load ptr, ptr %0, align 8
store i32 0, ptr %25, align 4
br label %79
26: ; preds = %23
br i1 %1, label %27, label %29
27: ; preds = %26
%28 = load ptr, ptr %0, align 8
store i32 0, ptr %28, align 8
br label %79
29: ; preds = %26
br i1 %1, label %30, label %32
30: ; preds = %29
%31 = load ptr, ptr %0, align 8
store i32 0, ptr %31, align 4
br label %79
32: ; preds = %29
br i1 %1, label %33, label %35
33: ; preds = %32
%34 = load ptr, ptr %0, align 8
store i32 0, ptr %34, align 4
br label %79
35: ; preds = %32
br i1 %1, label %36, label %38
36: ; preds = %35
%37 = load ptr, ptr %0, align 8
store i32 0, ptr %37, align 4
br label %79
38: ; preds = %35
br i1 %1, label %39, label %41
39: ; preds = %38
%40 = load ptr, ptr %0, align 8
store i64 0, ptr %40, align 8
br label %79
41: ; preds = %38
br i1 %1, label %42, label %44
42: ; preds = %41
%43 = load ptr, ptr %0, align 8
store i64 0, ptr %43, align 8
br label %79
44: ; preds = %41
br i1 %1, label %45, label %47
45: ; preds = %44
%46 = load ptr, ptr %0, align 8
store i32 0, ptr %46, align 4
br label %79
47: ; preds = %44
br i1 %1, label %48, label %50
48: ; preds = %47
%49 = load ptr, ptr %0, align 8
store i32 0, ptr %49, align 4
br label %79
50: ; preds = %47
br i1 %1, label %51, label %53
51: ; preds = %50
%52 = load ptr, ptr %0, align 8
store i64 0, ptr %52, align 8
br label %79
53: ; preds = %50
br i1 %1, label %54, label %56
54: ; preds = %53
%55 = load ptr, ptr %0, align 8
store i64 0, ptr %55, align 8
br label %79
56: ; preds = %53
br i1 %1, label %57, label %59
57: ; preds = %56
%58 = load ptr, ptr %0, align 8
store i32 0, ptr %58, align 4
br label %79
59: ; preds = %56
br i1 %1, label %60, label %62
60: ; preds = %59
%61 = load ptr, ptr %0, align 8
store i32 0, ptr %61, align 4
br label %79
62: ; preds = %59
br i1 %1, label %63, label %65
63: ; preds = %62
%64 = load ptr, ptr %0, align 8
store i64 0, ptr %64, align 8
br label %79
65: ; preds = %62
br i1 %1, label %66, label %68
66: ; preds = %65
%67 = load ptr, ptr %0, align 8
store i64 0, ptr %67, align 8
br label %79
68: ; preds = %65
br i1 %1, label %69, label %71
69: ; preds = %68
%70 = load ptr, ptr %0, align 8
store i32 0, ptr %70, align 4
br label %79
71: ; preds = %68
br i1 %1, label %72, label %74
72: ; preds = %71
%73 = load ptr, ptr %0, align 8
store i32 0, ptr %73, align 4
br label %79
74: ; preds = %71
br i1 %1, label %75, label %77
75: ; preds = %74
%76 = load ptr, ptr %0, align 8
store i32 0, ptr %76, align 4
br label %79
77: ; preds = %74
%78 = load ptr, ptr %0, align 8
store i32 0, ptr %78, align 4
br label %79
79: ; preds = %77, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %8, %5
%80 = load ptr, ptr %0, align 8
%81 = load i32, ptr %80, align 4
%82 = load ptr, ptr %0, align 8
store i32 0, ptr %82, align 4
%83 = load ptr, ptr %0, align 8
%84 = getelementptr i8, ptr %83, i64 4
%85 = load ptr, ptr %0, align 8
%86 = getelementptr i8, ptr %85, i64 4
%87 = load ptr, ptr %0, align 8
br i1 %1, label %91, label %93
88: ; preds = %2
%89 = load ptr, ptr %0, align 8
%90 = load i64, ptr %89, align 8
ret i32 0
91: ; preds = %79
%92 = load ptr, ptr %0, align 8
store i64 0, ptr %92, align 8
ret i32 0
93: ; preds = %79
br i1 %1, label %94, label %96
94: ; preds = %93
%95 = load ptr, ptr %0, align 8
store i32 0, ptr %95, align 4
ret i32 0
96: ; preds = %93
br i1 %1, label %97, label %99
97: ; preds = %96
%98 = load ptr, ptr %0, align 8
store i32 0, ptr %98, align 4
ret i32 0
99: ; preds = %96
br i1 %1, label %100, label %102
100: ; preds = %99
%101 = load ptr, ptr %0, align 8
store i32 0, ptr %101, align 4
ret i32 0
102: ; preds = %99
br i1 %1, label %103, label %105
103: ; preds = %102
%104 = load ptr, ptr %0, align 8
store i32 0, ptr %104, align 4
ret i32 0
105: ; preds = %102
br i1 %1, label %106, label %108
106: ; preds = %105
%107 = load ptr, ptr %0, align 8
store i32 0, ptr %107, align 4
ret i32 0
108: ; preds = %105
br i1 %1, label %109, label %111
109: ; preds = %108
%110 = load ptr, ptr %0, align 8
store i32 0, ptr %110, align 4
ret i32 0
111: ; preds = %108
br i1 %1, label %112, label %114
112: ; preds = %111
%113 = load ptr, ptr %0, align 8
store i32 0, ptr %113, align 8
ret i32 0
114: ; preds = %111
br i1 %1, label %115, label %117
115: ; preds = %114
%116 = load ptr, ptr %0, align 8
store i32 0, ptr %116, align 4
ret i32 0
117: ; preds = %114
br i1 %1, label %118, label %121
118: ; preds = %117
%119 = load i32, ptr %87, align 4
%120 = load ptr, ptr %0, align 8
store i32 0, ptr %120, align 4
ret i32 0
121: ; preds = %117
br i1 %1, label %122, label %124
122: ; preds = %121
%123 = load ptr, ptr %0, align 8
store i32 0, ptr %123, align 4
ret i32 0
124: ; preds = %121
br i1 %1, label %125, label %127
125: ; preds = %124
%126 = load ptr, ptr %0, align 8
store i64 0, ptr %126, align 8
ret i32 0
127: ; preds = %124
br i1 %1, label %128, label %130
128: ; preds = %127
%129 = load ptr, ptr %0, align 8
store i64 0, ptr %129, align 8
ret i32 0
130: ; preds = %127
%131 = load ptr, ptr %0, align 8
store i32 0, ptr %131, align 4
ret i32 0
}
; uselistorder directives
uselistorder i32 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 0 }