Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 ; Test whether we don't mangle external, undefined, global names. This | |
| 2 ; feature is needed for cross tests on global initializer relocations. | |
| 3 ; | |
| 4 ; Note: This code was generated by compiling subzero/crosstest/test_global.cpp | |
| 5 | |
| 6 ; RUN: %lc2i -i %s --insts --args --allow-uninitialized-globals | FileCheck %s | |
|
jvoung (off chromium)
2014/10/20 18:10:05
Add a comment on why lc2i and not p2i?
Karl
2014/10/20 21:09:33
Done.
| |
| 7 ; RUN: %lc2i -i %s --insts --args --allow-uninitialized-globals \ | |
| 8 ; RUN: -prefix Subzero_ | FileCheck --check-prefix=CROSS %s | |
| 9 | |
| 10 ; ModuleID = '/tmp/tmpmLtol6/test_global.ll' | |
|
jvoung (off chromium)
2014/10/20 18:10:04
Could probably remove the ModuleID? I guess it dep
Karl
2014/10/20 21:09:33
Done.
| |
| 11 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64 :64:64-p:32:32:32-v128:32:32" | |
| 12 target triple = "i686-pc-linux-gnu" | |
| 13 | |
| 14 @ArrayInitPartial = internal global [40 x i8] c"<\00\00\00F\00\00\00P\00\00\00Z\ 00\00\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 4 | |
| 15 | |
| 16 ; CHECK: @ArrayInitPartial = internal global [40 x i8] c"<\00\00\00F\00\00\00P\0 0\00\00Z\00\00\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0 0\00\00", align 4 | |
| 17 ; CROSS: @Subzero_ArrayInitPartial = internal global [40 x i8] c"<\00\00\00F\00\ 00\00P\00\00\00Z\00\00\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00", align 4 | |
| 18 | |
| 19 @ArrayInitFull = internal global [20 x i8] c"\0A\00\00\00\14\00\00\00\1E\00\00\0 0(\00\00\002\00\00\00", align 4 | |
| 20 | |
| 21 ; CHECK: @ArrayInitFull = internal global [20 x i8] c"\0A\00\00\00\14\00\00\00\1 E\00\00\00(\00\00\002\00\00\00", align 4 | |
| 22 ; CROSS: @Subzero_ArrayInitFull = internal global [20 x i8] c"\0A\00\00\00\14\00 \00\00\1E\00\00\00(\00\00\002\00\00\00", align 4 | |
| 23 | |
| 24 @NumArraysElements = internal global [4 x i8] c"\06\00\00\00", align 4 | |
| 25 | |
| 26 ; CHECK: @NumArraysElements = internal global [4 x i8] c"\06\00\00\00", align 4 | |
| 27 ; CROSS: @Subzero_NumArraysElements = internal global [4 x i8] c"\06\00\00\00", align 4 | |
| 28 | |
| 29 @Arrays = internal constant <{ i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8] }> <{ i32 ptrtoint ([40 x i8]* @ArrayIni tPartial to i32), [4 x i8] c"(\00\00\00", i32 ptrtoint ([20 x i8]* @ArrayInitFul l to i32), [4 x i8] c"\14\00\00\00", i32 ptrtoint ([12 x i8]* @_ZL10ArrayConst t o i32), [4 x i8] c"\0C\00\00\00", i32 ptrtoint ([80 x i8]* @_ZL11ArrayDouble to i32), [4 x i8] c"P\00\00\00", i32 add (i32 ptrtoint ([40 x i8]* @ArrayInitPartia l to i32), i32 8), [4 x i8] c" \00\00\00", i32 ptrtoint ([80 x i8]* @_ZL8StructE x to i32), [4 x i8] c"P\00\00\00" }>, align 4 | |
| 30 | |
| 31 ; CHECK: @Arrays = internal constant <{ i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8] }> <{ i32 ptrtoint ([40 x i8]* @ArrayInitPartial to i32), [4 x i8] c"(\00\00\00", i32 ptrtoint ([20 x i8]* @Arr ayInitFull to i32), [4 x i8] c"\14\00\00\00", i32 ptrtoint ([12 x i8]* @_ZL10Arr ayConst to i32), [4 x i8] c"\0C\00\00\00", i32 ptrtoint ([80 x i8]* @_ZL11ArrayD ouble to i32), [4 x i8] c"P\00\00\00", i32 add (i32 ptrtoint ([40 x i8]* @ArrayI nitPartial to i32), i32 8), [4 x i8] c" \00\00\00", i32 ptrtoint ([80 x i8]* @_Z L8StructEx to i32), [4 x i8] c"P\00\00\00" }>, align 4 | |
| 32 ; CROSS: @Subzero_Arrays = internal constant <{ i32, [4 x i8], i32, [4 x i8], i3 2, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8] }> <{ i32 ptrtoint ([40 x i8]* @Subzero_ArrayInitPartial to i32), [4 x i8] c"(\00\00\00", i32 ptrtoint ([20 x i8]* @Subzero_ArrayInitFull to i32), [4 x i8] c"\14\00\00\00", i32 ptrtoi nt ([12 x i8]* @Subzero__ZL10ArrayConst to i32), [4 x i8] c"\0C\00\00\00", i32 p trtoint ([80 x i8]* @Subzero__ZL11ArrayDouble to i32), [4 x i8] c"P\00\00\00", i 32 add (i32 ptrtoint ([40 x i8]* @Subzero_ArrayInitPartial to i32), i32 8), [4 x i8] c" \00\00\00", i32 ptrtoint ([80 x i8]* @Subzero__ZL8StructEx to i32), [4 x i8] c"P\00\00\00" }>, align 4 | |
| 33 | |
| 34 | |
| 35 @_ZL10ArrayConst = internal constant [12 x i8] c"\F6\FF\FF\FF\EC\FF\FF\FF\E2\FF\ FF\FF", align 4 | |
| 36 | |
| 37 ; CHECK: @_ZL10ArrayConst = internal constant [12 x i8] c"\F6\FF\FF\FF\EC\FF\FF\ FF\E2\FF\FF\FF", align 4 | |
| 38 ; CROSS: @Subzero__ZL10ArrayConst = internal constant [12 x i8] c"\F6\FF\FF\FF\E C\FF\FF\FF\E2\FF\FF\FF", align 4 | |
| 39 | |
| 40 @_ZL11ArrayDouble = internal global [80 x i8] c"\00\00\00\00\00\00\E0?\00\00\00\ 00\00\00\F8?\00\00\00\00\00\00\04@\00\00\00\00\00\00\0C@\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0 0\00\00\00\00\00\00\00\00\00\00\00\00\00", align 8 | |
| 41 | |
| 42 ; CHECK: @_ZL11ArrayDouble = internal global [80 x i8] c"\00\00\00\00\00\00\E0?\ 00\00\00\00\00\00\F8?\00\00\00\00\00\00\04@\00\00\00\00\00\00\0C@\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0 0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 8 | |
| 43 ; CROSS: @Subzero__ZL11ArrayDouble = internal global [80 x i8] c"\00\00\00\00\00 \00\E0?\00\00\00\00\00\00\F8?\00\00\00\00\00\00\04@\00\00\00\00\00\00\0C@\00\00\ 00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 8 | |
| 44 | |
| 45 @_ZL8StructEx = internal global [80 x i8] zeroinitializer, align 8 | |
| 46 | |
| 47 ; CHECK: @_ZL8StructEx = internal global [80 x i8] zeroinitializer, align 8 | |
| 48 ; CROSS: @Subzero__ZL8StructEx = internal global [80 x i8] zeroinitializer, alig n 8 | |
| 49 | |
| 50 @ExternName1 = external global [4 x i8], align 4 | |
| 51 | |
| 52 ; CHECK: @ExternName1 = external global <{ }> <{ }>, align 4 | |
| 53 ; CROSS: @ExternName1 = external global <{ }> <{ }>, align 4 | |
| 54 | |
| 55 @ExternName4 = external global [4 x i8], align 4 | |
| 56 | |
| 57 ; CHECK: @ExternName4 = external global <{ }> <{ }>, align 4 | |
| 58 ; CROSS: @ExternName4 = external global <{ }> <{ }>, align 4 | |
| 59 | |
| 60 @ExternName3 = external global [4 x i8], align 4 | |
| 61 | |
| 62 ; CHECK: @ExternName3 = external global <{ }> <{ }>, align 4 | |
| 63 ; CROSS: @ExternName3 = external global <{ }> <{ }>, align 4 | |
| 64 | |
| 65 @ExternName2 = external global [4 x i8], align 4 | |
| 66 | |
| 67 ; CHECK: @ExternName2 = external global <{ }> <{ }>, align 4 | |
| 68 ; CROSS: @ExternName2 = external global <{ }> <{ }>, align 4 | |
| 69 | |
| 70 @ExternName5 = external global [4 x i8], align 4 | |
| 71 | |
| 72 ; CHECK: @ExternName5 = external global <{ }> <{ }>, align 4 | |
| 73 ; CROSS: @ExternName5 = external global <{ }> <{ }>, align 4 | |
| 74 | |
| 75 define i32 @_Z12getNumArraysv() { | |
| 76 ; CHECK: define i32 @_Z12getNumArraysv() { | |
| 77 ; CROSS: define i32 @_ZN8Subzero_12getNumArraysEv() { | |
| 78 entry: | |
| 79 %NumArraysElements.bc = bitcast [4 x i8]* @NumArraysElements to i32* | |
| 80 ; CHECK: %NumArraysElements.bc = bitcast i32 @NumArraysElements to i32 | |
| 81 ; CROSS: %NumArraysElements.bc = bitcast i32 @Subzero_NumArraysElements to i32 | |
| 82 %0 = load i32* %NumArraysElements.bc, align 1 | |
| 83 ret i32 %0 | |
| 84 } | |
| 85 | |
| 86 define i32 @_Z8getArrayjRj(i32 %WhichArray, i32 %Len) { | |
| 87 ; CHECK: define i32 @_Z8getArrayjRj(i32 %WhichArray, i32 %Len) { | |
| 88 ; CROSS: define i32 @_ZN8Subzero_8getArrayEjRj(i32 %WhichArray, i32 %Len) { | |
| 89 entry: | |
| 90 %NumArraysElements.bc = bitcast [4 x i8]* @NumArraysElements to i32* | |
| 91 ; CHECK: %NumArraysElements.bc = bitcast i32 @NumArraysElements to i32 | |
| 92 ; CROSS: %NumArraysElements.bc = bitcast i32 @Subzero_NumArraysElements to i32 | |
| 93 %0 = load i32* %NumArraysElements.bc, align 1 | |
| 94 %cmp = icmp ugt i32 %0, %WhichArray | |
| 95 ; CHECK: %cmp = icmp ugt i32 %__3, %WhichArray | |
| 96 ; CROSS: %cmp = icmp ugt i32 %__3, %WhichArray | |
| 97 br i1 %cmp, label %if.end, label %if.then | |
| 98 | |
| 99 if.then: ; preds = %entry | |
| 100 %Len.asptr = inttoptr i32 %Len to i32* | |
| 101 ; CHECK: %Len.asptr = i32 %Len | |
| 102 ; CROSS: %Len.asptr = i32 %Len | |
| 103 store i32 -1, i32* %Len.asptr, align 1 | |
| 104 br label %return | |
| 105 | |
| 106 if.end: ; preds = %entry | |
| 107 %gep_array = mul i32 %WhichArray, 8 | |
| 108 ; CHECK: %gep_array = mul i32 %WhichArray, 8 | |
| 109 ; CROSS: %gep_array = mul i32 %WhichArray, 8 | |
| 110 %expanded1 = ptrtoint <{ i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8] }>* @Arrays to i32 | |
| 111 ; CHECK: %expanded1 = i32 @Arrays | |
| 112 ; CROSS: %expanded1 = i32 @Subzero_Arrays | |
| 113 %gep = add i32 %expanded1, %gep_array | |
| 114 %gep1 = add i32 %gep, 4 | |
| 115 %gep1.asptr = inttoptr i32 %gep1 to i32* | |
| 116 %1 = load i32* %gep1.asptr, align 1 | |
| 117 %Len.asptr3 = inttoptr i32 %Len to i32* | |
| 118 ; CHECK: %Len.asptr3 = i32 %Len | |
| 119 ; CROSS: %Len.asptr3 = i32 %Len | |
| 120 store i32 %1, i32* %Len.asptr3, align 1 | |
| 121 %gep_array3 = mul i32 %WhichArray, 8 | |
| 122 ; CHECK: %gep_array3 = mul i32 %WhichArray, 8 | |
| 123 ; CROSS: %gep_array3 = mul i32 %WhichArray, 8 | |
| 124 %expanded2 = ptrtoint <{ i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8], i32, [4 x i8] }>* @Arrays to i32 | |
| 125 ; CHECK: %expanded2 = i32 @Arrays | |
| 126 ; CROSS: %expanded2 = i32 @Subzero_Arrays | |
| 127 %gep4 = add i32 %expanded2, %gep_array3 | |
| 128 %gep4.asptr = inttoptr i32 %gep4 to i32* | |
| 129 %2 = load i32* %gep4.asptr, align 1 | |
| 130 br label %return | |
| 131 | |
| 132 return: ; preds = %if.end, %if.then | |
| 133 %retval.0 = phi i32 [ 0, %if.then ], [ %2, %if.end ] | |
| 134 ret i32 %retval.0 | |
| 135 } | |
| 136 | |
| 137 define void @_GLOBAL__I_a() { | |
| 138 ; CHECK: define void @_GLOBAL__I_a() { | |
| 139 ; CROSS: define void @Subzero__GLOBAL__I_a() { | |
| 140 entry: | |
| 141 %_ZL8StructEx.bc = bitcast [80 x i8]* @_ZL8StructEx to i32* | |
| 142 ; CHECK: %_ZL8StructEx.bc = bitcast i32 @_ZL8StructEx to i32 | |
| 143 ; CROSS: %_ZL8StructEx.bc = bitcast i32 @Subzero__ZL8StructEx to i32 | |
| 144 store i32 10, i32* %_ZL8StructEx.bc, align 1 | |
| 145 %expanded1 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 146 ; CHECK: %expanded1 = i32 @_ZL8StructEx | |
| 147 ; CROSS: %expanded1 = i32 @Subzero__ZL8StructEx | |
| 148 %gep = add i32 %expanded1, 4 | |
| 149 %gep.asptr = inttoptr i32 %gep to i32* | |
| 150 store i32 20, i32* %gep.asptr, align 1 | |
| 151 %expanded2 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 152 ; CHECK: %expanded2 = i32 @_ZL8StructEx | |
| 153 ; CROSS: %expanded2 = i32 @Subzero__ZL8StructEx | |
| 154 %gep18 = add i32 %expanded2, 8 | |
| 155 %gep18.asptr = inttoptr i32 %gep18 to i32* | |
| 156 store i32 30, i32* %gep18.asptr, align 1 | |
| 157 %expanded3 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 158 ; CHECK: %expanded3 = i32 @_ZL8StructEx | |
| 159 ; CROSS: %expanded3 = i32 @Subzero__ZL8StructEx | |
| 160 %gep20 = add i32 %expanded3, 12 | |
| 161 %gep20.asptr = inttoptr i32 %gep20 to i32* | |
| 162 store i32 40, i32* %gep20.asptr, align 1 | |
| 163 %expanded4 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 164 ; CHECK: %expanded4 = i32 @_ZL8StructEx | |
| 165 ; CROSS: %expanded4 = i32 @Subzero__ZL8StructEx | |
| 166 %gep22 = add i32 %expanded4, 16 | |
| 167 %gep22.asptr = inttoptr i32 %gep22 to i32* | |
| 168 store i32 50, i32* %gep22.asptr, align 1 | |
| 169 %ExternName1.bc = bitcast [4 x i8]* @ExternName1 to i32* | |
| 170 ; CHECK: %ExternName1.bc = bitcast i32 @ExternName1 to i32 | |
| 171 ; CROSS: %ExternName1.bc = bitcast i32 @ExternName1 to i32 | |
| 172 %0 = load i32* %ExternName1.bc, align 1 | |
| 173 %expanded6 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 174 ; CHECK: %expanded6 = i32 @_ZL8StructEx | |
| 175 ; CROSS: %expanded6 = i32 @Subzero__ZL8StructEx | |
| 176 %gep24 = add i32 %expanded6, 20 | |
| 177 %gep24.asptr = inttoptr i32 %gep24 to i32* | |
| 178 store i32 %0, i32* %gep24.asptr, align 1 | |
| 179 %expanded7 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 180 ; CHECK: %expanded7 = i32 @_ZL8StructEx | |
| 181 ; CROSS: %expanded7 = i32 @Subzero__ZL8StructEx | |
| 182 %gep26 = add i32 %expanded7, 24 | |
| 183 %gep26.asptr = inttoptr i32 %gep26 to double* | |
| 184 store double 5.000000e-01, double* %gep26.asptr, align 8 | |
| 185 %expanded8 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 186 ; CHECK: %expanded8 = i32 @_ZL8StructEx | |
| 187 ; CROSS: %expanded8 = i32 @Subzero__ZL8StructEx | |
| 188 %gep28 = add i32 %expanded8, 32 | |
| 189 %gep28.asptr = inttoptr i32 %gep28 to double* | |
| 190 store double 1.500000e+00, double* %gep28.asptr, align 8 | |
| 191 %expanded9 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 192 ; CHECK: %expanded9 = i32 @_ZL8StructEx | |
| 193 ; CROSS: %expanded9 = i32 @Subzero__ZL8StructEx | |
| 194 %gep30 = add i32 %expanded9, 40 | |
| 195 %gep30.asptr = inttoptr i32 %gep30 to double* | |
| 196 store double 2.500000e+00, double* %gep30.asptr, align 8 | |
| 197 %ExternName4.bc = bitcast [4 x i8]* @ExternName4 to i32* | |
| 198 ; CHECK: %ExternName4.bc = bitcast i32 @ExternName4 to i32 | |
| 199 ; CROSS: %ExternName4.bc = bitcast i32 @ExternName4 to i32 | |
| 200 %1 = load i32* %ExternName4.bc, align 1 | |
| 201 %expanded11 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 202 ; CHECK: %expanded11 = i32 @_ZL8StructEx | |
| 203 ; CROSS: %expanded11 = i32 @Subzero__ZL8StructEx | |
| 204 %gep32 = add i32 %expanded11, 48 | |
| 205 %gep32.asptr = inttoptr i32 %gep32 to i32* | |
| 206 store i32 %1, i32* %gep32.asptr, align 1 | |
| 207 %ExternName3.bc = bitcast [4 x i8]* @ExternName3 to i32* | |
| 208 ; CHECK: %ExternName3.bc = bitcast i32 @ExternName3 to i32 | |
| 209 ; CROSS: %ExternName3.bc = bitcast i32 @ExternName3 to i32 | |
| 210 %2 = load i32* %ExternName3.bc, align 1 | |
| 211 %expanded13 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 212 ; CHECK: %expanded13 = i32 @_ZL8StructEx | |
| 213 ; CROSS: %expanded13 = i32 @Subzero__ZL8StructEx | |
| 214 %gep34 = add i32 %expanded13, 52 | |
| 215 %gep34.asptr = inttoptr i32 %gep34 to i32* | |
| 216 store i32 %2, i32* %gep34.asptr, align 1 | |
| 217 %expanded14 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 218 ; CHECK: %expanded14 = i32 @_ZL8StructEx | |
| 219 ; CROSS: %expanded14 = i32 @Subzero__ZL8StructEx | |
| 220 %gep36 = add i32 %expanded14, 56 | |
| 221 %gep36.asptr = inttoptr i32 %gep36 to i32* | |
| 222 store i32 1000, i32* %gep36.asptr, align 1 | |
| 223 %expanded15 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 224 ; CHECK: %expanded15 = i32 @_ZL8StructEx | |
| 225 ; CROSS: %expanded15 = i32 @Subzero__ZL8StructEx | |
| 226 %gep38 = add i32 %expanded15, 60 | |
| 227 %gep38.asptr = inttoptr i32 %gep38 to i32* | |
| 228 store i32 1010, i32* %gep38.asptr, align 1 | |
| 229 %expanded16 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 230 ; CHECK: %expanded16 = i32 @_ZL8StructEx | |
| 231 ; CROSS: %expanded16 = i32 @Subzero__ZL8StructEx | |
| 232 %gep40 = add i32 %expanded16, 64 | |
| 233 %gep40.asptr = inttoptr i32 %gep40 to i32* | |
| 234 store i32 1020, i32* %gep40.asptr, align 1 | |
| 235 %ExternName2.bc = bitcast [4 x i8]* @ExternName2 to i32* | |
| 236 ; CHECK: %ExternName2.bc = bitcast i32 @ExternName2 to i32 | |
| 237 ; CROSS: %ExternName2.bc = bitcast i32 @ExternName2 to i32 | |
| 238 %3 = load i32* %ExternName2.bc, align 1 | |
| 239 %expanded18 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 240 ; CHECK: %expanded18 = i32 @_ZL8StructEx | |
| 241 ; CROSS: %expanded18 = i32 @Subzero__ZL8StructEx | |
| 242 %gep42 = add i32 %expanded18, 68 | |
| 243 %gep42.asptr = inttoptr i32 %gep42 to i32* | |
| 244 store i32 %3, i32* %gep42.asptr, align 1 | |
| 245 %ExternName5.bc = bitcast [4 x i8]* @ExternName5 to i32* | |
| 246 ; CHECK: %ExternName5.bc = bitcast i32 @ExternName5 to i32 | |
| 247 ; CROSS: %ExternName5.bc = bitcast i32 @ExternName5 to i32 | |
| 248 %4 = load i32* %ExternName5.bc, align 1 | |
| 249 %expanded20 = ptrtoint [80 x i8]* @_ZL8StructEx to i32 | |
| 250 ; CHECK: %expanded20 = i32 @_ZL8StructEx | |
| 251 ; CROSS: %expanded20 = i32 @Subzero__ZL8StructEx | |
| 252 %gep44 = add i32 %expanded20, 72 | |
| 253 %gep44.asptr = inttoptr i32 %gep44 to i32* | |
| 254 store i32 %4, i32* %gep44.asptr, align 1 | |
| 255 ret void | |
| 256 } | |
| 257 | |
| 258 define i32 @nacl_tp_tdb_offset(i32) { | |
| 259 entry: | |
| 260 ret i32 0 | |
| 261 } | |
| 262 | |
| 263 define i32 @nacl_tp_tls_offset(i32 %size) { | |
| 264 entry: | |
| 265 %result = sub i32 0, %size | |
| 266 ret i32 %result | |
| 267 } | |
| OLD | NEW |