|
| 1 | +// RUN: solc --strict-assembly --mlir-action=print-init --mmlir --mlir-print-debuginfo --mlir-target=eravm %s | FileCheck %s |
| 2 | + |
| 3 | +object "Test" { |
| 4 | + code { |
| 5 | + let a := mload(32) |
| 6 | + let b := mload(64) |
| 7 | + if lt(a, b) { |
| 8 | + mstore(0, 0) |
| 9 | + } |
| 10 | + mstore(0, lt(a, b)) |
| 11 | + if slt(a, b) { |
| 12 | + mstore(0, 0) |
| 13 | + } |
| 14 | + mstore(0, slt(a, b)) |
| 15 | + if iszero(a) { |
| 16 | + mstore(1, 0) |
| 17 | + } |
| 18 | + mstore(1, iszero(a)) |
| 19 | + return(0, 0) |
| 20 | + } |
| 21 | + object "Test_deployed" { |
| 22 | + code { |
| 23 | + let a := mload(32) |
| 24 | + let b := mload(64) |
| 25 | + if lt(a, b) { |
| 26 | + mstore(0, 0) |
| 27 | + } |
| 28 | + mstore(0, lt(a, b)) |
| 29 | + if slt(a, b) { |
| 30 | + mstore(0, 0) |
| 31 | + } |
| 32 | + mstore(0, slt(a, b)) |
| 33 | + if iszero(a) { |
| 34 | + mstore(1, 0) |
| 35 | + } |
| 36 | + |
| 37 | + if gt(a, b) { |
| 38 | + mstore(7, 0) |
| 39 | + } |
| 40 | + mstore(0, gt(a, b)) |
| 41 | + if sgt(a, b) { |
| 42 | + mstore(96, 0) |
| 43 | + } |
| 44 | + mstore(128, sgt(b, a)) |
| 45 | + mstore(96, eq(a, b)) |
| 46 | + if eq(a, 33) { |
| 47 | + mstore(3, 0) |
| 48 | + } |
| 49 | + mstore(16, not(a)) |
| 50 | + mstore(1, iszero(a)) |
| 51 | + return(0, 0) |
| 52 | + } |
| 53 | + } |
| 54 | +} |
| 55 | +// NOTE: Assertions have been autogenerated by test/updFileCheckTest.py |
| 56 | +// CHECK: #Prague = #sol<EvmVersion Prague> |
| 57 | +// CHECK-NEXT: module attributes {sol.evm_version = #Prague} { |
| 58 | +// CHECK-NEXT: yul.object @Test { |
| 59 | +// CHECK-NEXT: %c32_i256 = arith.constant 32 : i256 loc(#loc1) |
| 60 | +// CHECK-NEXT: %0 = yul.mload %c32_i256 loc(#loc2) |
| 61 | +// CHECK-NEXT: %c1_i256 = arith.constant 1 : i256 loc(#loc3) |
| 62 | +// CHECK-NEXT: %1 = llvm.alloca %c1_i256 x i256 {alignment = 32 : i64} : (i256) -> !llvm.ptr loc(#loc4) |
| 63 | +// CHECK-NEXT: llvm.store %0, %1 {alignment = 32 : i64} : i256, !llvm.ptr loc(#loc3) |
| 64 | +// CHECK-NEXT: %c64_i256 = arith.constant 64 : i256 loc(#loc5) |
| 65 | +// CHECK-NEXT: %2 = yul.mload %c64_i256 loc(#loc6) |
| 66 | +// CHECK-NEXT: %c1_i256_0 = arith.constant 1 : i256 loc(#loc7) |
| 67 | +// CHECK-NEXT: %3 = llvm.alloca %c1_i256_0 x i256 {alignment = 32 : i64} : (i256) -> !llvm.ptr loc(#loc8) |
| 68 | +// CHECK-NEXT: llvm.store %2, %3 {alignment = 32 : i64} : i256, !llvm.ptr loc(#loc7) |
| 69 | +// CHECK-NEXT: %4 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc9) |
| 70 | +// CHECK-NEXT: %5 = llvm.load %3 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc10) |
| 71 | +// CHECK-NEXT: %6 = arith.cmpi ult, %4, %5 : i256 loc(#loc11) |
| 72 | +// CHECK-NEXT: sol.if %6 { |
| 73 | +// CHECK-NEXT: %c0_i256_7 = arith.constant 0 : i256 loc(#loc13) |
| 74 | +// CHECK-NEXT: %c0_i256_8 = arith.constant 0 : i256 loc(#loc14) |
| 75 | +// CHECK-NEXT: yul.mstore %c0_i256_7, %c0_i256_8 loc(#loc15) |
| 76 | +// CHECK-NEXT: sol.yield loc(#loc12) |
| 77 | +// CHECK-NEXT: } else { |
| 78 | +// CHECK-NEXT: } loc(#loc12) |
| 79 | +// CHECK-NEXT: %c0_i256 = arith.constant 0 : i256 loc(#loc16) |
| 80 | +// CHECK-NEXT: %7 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc17) |
| 81 | +// CHECK-NEXT: %8 = llvm.load %3 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc18) |
| 82 | +// CHECK-NEXT: %9 = arith.cmpi ult, %7, %8 : i256 loc(#loc19) |
| 83 | +// CHECK-NEXT: %10 = arith.extui %9 : i1 to i256 loc(#loc19) |
| 84 | +// CHECK-NEXT: yul.mstore %c0_i256, %10 loc(#loc20) |
| 85 | +// CHECK-NEXT: %11 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc21) |
| 86 | +// CHECK-NEXT: %12 = llvm.load %3 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc22) |
| 87 | +// CHECK-NEXT: %13 = arith.cmpi slt, %11, %12 : i256 loc(#loc23) |
| 88 | +// CHECK-NEXT: sol.if %13 { |
| 89 | +// CHECK-NEXT: %c0_i256_7 = arith.constant 0 : i256 loc(#loc25) |
| 90 | +// CHECK-NEXT: %c0_i256_8 = arith.constant 0 : i256 loc(#loc26) |
| 91 | +// CHECK-NEXT: yul.mstore %c0_i256_7, %c0_i256_8 loc(#loc27) |
| 92 | +// CHECK-NEXT: sol.yield loc(#loc24) |
| 93 | +// CHECK-NEXT: } else { |
| 94 | +// CHECK-NEXT: } loc(#loc24) |
| 95 | +// CHECK-NEXT: %c0_i256_1 = arith.constant 0 : i256 loc(#loc28) |
| 96 | +// CHECK-NEXT: %14 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc29) |
| 97 | +// CHECK-NEXT: %15 = llvm.load %3 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc30) |
| 98 | +// CHECK-NEXT: %16 = arith.cmpi slt, %14, %15 : i256 loc(#loc31) |
| 99 | +// CHECK-NEXT: %17 = arith.extui %16 : i1 to i256 loc(#loc31) |
| 100 | +// CHECK-NEXT: yul.mstore %c0_i256_1, %17 loc(#loc32) |
| 101 | +// CHECK-NEXT: %18 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc33) |
| 102 | +// CHECK-NEXT: %c0_i256_2 = arith.constant 0 : i256 loc(#loc34) |
| 103 | +// CHECK-NEXT: %19 = arith.cmpi eq, %18, %c0_i256_2 : i256 loc(#loc34) |
| 104 | +// CHECK-NEXT: sol.if %19 { |
| 105 | +// CHECK-NEXT: %c1_i256_7 = arith.constant 1 : i256 loc(#loc36) |
| 106 | +// CHECK-NEXT: %c0_i256_8 = arith.constant 0 : i256 loc(#loc37) |
| 107 | +// CHECK-NEXT: yul.mstore %c1_i256_7, %c0_i256_8 loc(#loc38) |
| 108 | +// CHECK-NEXT: sol.yield loc(#loc35) |
| 109 | +// CHECK-NEXT: } else { |
| 110 | +// CHECK-NEXT: } loc(#loc35) |
| 111 | +// CHECK-NEXT: %c1_i256_3 = arith.constant 1 : i256 loc(#loc39) |
| 112 | +// CHECK-NEXT: %20 = llvm.load %1 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc40) |
| 113 | +// CHECK-NEXT: %c0_i256_4 = arith.constant 0 : i256 loc(#loc41) |
| 114 | +// CHECK-NEXT: %21 = arith.cmpi eq, %20, %c0_i256_4 : i256 loc(#loc41) |
| 115 | +// CHECK-NEXT: %22 = arith.extui %21 : i1 to i256 loc(#loc41) |
| 116 | +// CHECK-NEXT: yul.mstore %c1_i256_3, %22 loc(#loc42) |
| 117 | +// CHECK-NEXT: %c0_i256_5 = arith.constant 0 : i256 loc(#loc43) |
| 118 | +// CHECK-NEXT: %c0_i256_6 = arith.constant 0 : i256 loc(#loc44) |
| 119 | +// CHECK-NEXT: yul.return %c0_i256_5, %c0_i256_6 loc(#loc45) |
| 120 | +// CHECK-NEXT: yul.object @Test_deployed { |
| 121 | +// CHECK-NEXT: %c32_i256_7 = arith.constant 32 : i256 loc(#loc46) |
| 122 | +// CHECK-NEXT: %23 = yul.mload %c32_i256_7 loc(#loc47) |
| 123 | +// CHECK-NEXT: %c1_i256_8 = arith.constant 1 : i256 loc(#loc48) |
| 124 | +// CHECK-NEXT: %24 = llvm.alloca %c1_i256_8 x i256 {alignment = 32 : i64} : (i256) -> !llvm.ptr loc(#loc49) |
| 125 | +// CHECK-NEXT: llvm.store %23, %24 {alignment = 32 : i64} : i256, !llvm.ptr loc(#loc48) |
| 126 | +// CHECK-NEXT: %c64_i256_9 = arith.constant 64 : i256 loc(#loc50) |
| 127 | +// CHECK-NEXT: %25 = yul.mload %c64_i256_9 loc(#loc51) |
| 128 | +// CHECK-NEXT: %c1_i256_10 = arith.constant 1 : i256 loc(#loc52) |
| 129 | +// CHECK-NEXT: %26 = llvm.alloca %c1_i256_10 x i256 {alignment = 32 : i64} : (i256) -> !llvm.ptr loc(#loc53) |
| 130 | +// CHECK-NEXT: llvm.store %25, %26 {alignment = 32 : i64} : i256, !llvm.ptr loc(#loc52) |
| 131 | +// CHECK-NEXT: %27 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc54) |
| 132 | +// CHECK-NEXT: %28 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc55) |
| 133 | +// CHECK-NEXT: %29 = arith.cmpi ult, %27, %28 : i256 loc(#loc56) |
| 134 | +// CHECK-NEXT: sol.if %29 { |
| 135 | +// CHECK-NEXT: %c0_i256_19 = arith.constant 0 : i256 loc(#loc58) |
| 136 | +// CHECK-NEXT: %c0_i256_20 = arith.constant 0 : i256 loc(#loc59) |
| 137 | +// CHECK-NEXT: yul.mstore %c0_i256_19, %c0_i256_20 loc(#loc60) |
| 138 | +// CHECK-NEXT: sol.yield loc(#loc57) |
| 139 | +// CHECK-NEXT: } else { |
| 140 | +// CHECK-NEXT: } loc(#loc57) |
| 141 | +// CHECK-NEXT: %c0_i256_11 = arith.constant 0 : i256 loc(#loc61) |
| 142 | +// CHECK-NEXT: %30 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc62) |
| 143 | +// CHECK-NEXT: %31 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc63) |
| 144 | +// CHECK-NEXT: %32 = arith.cmpi ult, %30, %31 : i256 loc(#loc64) |
| 145 | +// CHECK-NEXT: %33 = arith.extui %32 : i1 to i256 loc(#loc64) |
| 146 | +// CHECK-NEXT: yul.mstore %c0_i256_11, %33 loc(#loc65) |
| 147 | +// CHECK-NEXT: %34 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc66) |
| 148 | +// CHECK-NEXT: %35 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc67) |
| 149 | +// CHECK-NEXT: %36 = arith.cmpi slt, %34, %35 : i256 loc(#loc68) |
| 150 | +// CHECK-NEXT: sol.if %36 { |
| 151 | +// CHECK-NEXT: %c0_i256_19 = arith.constant 0 : i256 loc(#loc70) |
| 152 | +// CHECK-NEXT: %c0_i256_20 = arith.constant 0 : i256 loc(#loc71) |
| 153 | +// CHECK-NEXT: yul.mstore %c0_i256_19, %c0_i256_20 loc(#loc72) |
| 154 | +// CHECK-NEXT: sol.yield loc(#loc69) |
| 155 | +// CHECK-NEXT: } else { |
| 156 | +// CHECK-NEXT: } loc(#loc69) |
| 157 | +// CHECK-NEXT: %c0_i256_12 = arith.constant 0 : i256 loc(#loc73) |
| 158 | +// CHECK-NEXT: %37 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc74) |
| 159 | +// CHECK-NEXT: %38 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc75) |
| 160 | +// CHECK-NEXT: %39 = arith.cmpi slt, %37, %38 : i256 loc(#loc76) |
| 161 | +// CHECK-NEXT: %40 = arith.extui %39 : i1 to i256 loc(#loc76) |
| 162 | +// CHECK-NEXT: yul.mstore %c0_i256_12, %40 loc(#loc77) |
| 163 | +// CHECK-NEXT: %41 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc78) |
| 164 | +// CHECK-NEXT: %c0_i256_13 = arith.constant 0 : i256 loc(#loc79) |
| 165 | +// CHECK-NEXT: %42 = arith.cmpi eq, %41, %c0_i256_13 : i256 loc(#loc79) |
| 166 | +// CHECK-NEXT: sol.if %42 { |
| 167 | +// CHECK-NEXT: %c1_i256_19 = arith.constant 1 : i256 loc(#loc81) |
| 168 | +// CHECK-NEXT: %c0_i256_20 = arith.constant 0 : i256 loc(#loc82) |
| 169 | +// CHECK-NEXT: yul.mstore %c1_i256_19, %c0_i256_20 loc(#loc83) |
| 170 | +// CHECK-NEXT: sol.yield loc(#loc80) |
| 171 | +// CHECK-NEXT: } else { |
| 172 | +// CHECK-NEXT: } loc(#loc80) |
| 173 | +// CHECK-NEXT: %43 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc84) |
| 174 | +// CHECK-NEXT: %44 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc85) |
| 175 | +// CHECK-NEXT: %45 = arith.cmpi ugt, %43, %44 : i256 loc(#loc86) |
| 176 | +// CHECK-NEXT: sol.if %45 { |
| 177 | +// CHECK-NEXT: %c7_i256 = arith.constant 7 : i256 loc(#loc88) |
| 178 | +// CHECK-NEXT: %c0_i256_19 = arith.constant 0 : i256 loc(#loc89) |
| 179 | +// CHECK-NEXT: yul.mstore %c7_i256, %c0_i256_19 loc(#loc90) |
| 180 | +// CHECK-NEXT: sol.yield loc(#loc87) |
| 181 | +// CHECK-NEXT: } else { |
| 182 | +// CHECK-NEXT: } loc(#loc87) |
| 183 | +// CHECK-NEXT: %c0_i256_14 = arith.constant 0 : i256 loc(#loc91) |
| 184 | +// CHECK-NEXT: %46 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc92) |
| 185 | +// CHECK-NEXT: %47 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc93) |
| 186 | +// CHECK-NEXT: %48 = arith.cmpi ugt, %46, %47 : i256 loc(#loc94) |
| 187 | +// CHECK-NEXT: %49 = arith.extui %48 : i1 to i256 loc(#loc94) |
| 188 | +// CHECK-NEXT: yul.mstore %c0_i256_14, %49 loc(#loc95) |
| 189 | +// CHECK-NEXT: %50 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc96) |
| 190 | +// CHECK-NEXT: %51 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc97) |
| 191 | +// CHECK-NEXT: %52 = arith.cmpi sgt, %50, %51 : i256 loc(#loc98) |
| 192 | +// CHECK-NEXT: sol.if %52 { |
| 193 | +// CHECK-NEXT: %c96_i256_19 = arith.constant 96 : i256 loc(#loc100) |
| 194 | +// CHECK-NEXT: %c0_i256_20 = arith.constant 0 : i256 loc(#loc101) |
| 195 | +// CHECK-NEXT: yul.mstore %c96_i256_19, %c0_i256_20 loc(#loc102) |
| 196 | +// CHECK-NEXT: sol.yield loc(#loc99) |
| 197 | +// CHECK-NEXT: } else { |
| 198 | +// CHECK-NEXT: } loc(#loc99) |
| 199 | +// CHECK-NEXT: %c128_i256 = arith.constant 128 : i256 loc(#loc103) |
| 200 | +// CHECK-NEXT: %53 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc104) |
| 201 | +// CHECK-NEXT: %54 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc105) |
| 202 | +// CHECK-NEXT: %55 = arith.cmpi sgt, %53, %54 : i256 loc(#loc106) |
| 203 | +// CHECK-NEXT: %56 = arith.extui %55 : i1 to i256 loc(#loc106) |
| 204 | +// CHECK-NEXT: yul.mstore %c128_i256, %56 loc(#loc107) |
| 205 | +// CHECK-NEXT: %c96_i256 = arith.constant 96 : i256 loc(#loc108) |
| 206 | +// CHECK-NEXT: %57 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc109) |
| 207 | +// CHECK-NEXT: %58 = llvm.load %26 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc110) |
| 208 | +// CHECK-NEXT: %59 = arith.cmpi eq, %57, %58 : i256 loc(#loc111) |
| 209 | +// CHECK-NEXT: %60 = arith.extui %59 : i1 to i256 loc(#loc111) |
| 210 | +// CHECK-NEXT: yul.mstore %c96_i256, %60 loc(#loc112) |
| 211 | +// CHECK-NEXT: %61 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc113) |
| 212 | +// CHECK-NEXT: %c33_i256 = arith.constant 33 : i256 loc(#loc114) |
| 213 | +// CHECK-NEXT: %62 = arith.cmpi eq, %61, %c33_i256 : i256 loc(#loc115) |
| 214 | +// CHECK-NEXT: sol.if %62 { |
| 215 | +// CHECK-NEXT: %c3_i256 = arith.constant 3 : i256 loc(#loc117) |
| 216 | +// CHECK-NEXT: %c0_i256_19 = arith.constant 0 : i256 loc(#loc118) |
| 217 | +// CHECK-NEXT: yul.mstore %c3_i256, %c0_i256_19 loc(#loc119) |
| 218 | +// CHECK-NEXT: sol.yield loc(#loc116) |
| 219 | +// CHECK-NEXT: } else { |
| 220 | +// CHECK-NEXT: } loc(#loc116) |
| 221 | +// CHECK-NEXT: %c16_i256 = arith.constant 16 : i256 loc(#loc120) |
| 222 | +// CHECK-NEXT: %63 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc121) |
| 223 | +// CHECK-NEXT: %c-1_i256 = arith.constant -1 : i256 loc(#loc122) |
| 224 | +// CHECK-NEXT: %64 = arith.xori %63, %c-1_i256 : i256 loc(#loc122) |
| 225 | +// CHECK-NEXT: yul.mstore %c16_i256, %64 loc(#loc123) |
| 226 | +// CHECK-NEXT: %c1_i256_15 = arith.constant 1 : i256 loc(#loc124) |
| 227 | +// CHECK-NEXT: %65 = llvm.load %24 {alignment = 32 : i64} : !llvm.ptr -> i256 loc(#loc125) |
| 228 | +// CHECK-NEXT: %c0_i256_16 = arith.constant 0 : i256 loc(#loc126) |
| 229 | +// CHECK-NEXT: %66 = arith.cmpi eq, %65, %c0_i256_16 : i256 loc(#loc126) |
| 230 | +// CHECK-NEXT: %67 = arith.extui %66 : i1 to i256 loc(#loc126) |
| 231 | +// CHECK-NEXT: yul.mstore %c1_i256_15, %67 loc(#loc127) |
| 232 | +// CHECK-NEXT: %c0_i256_17 = arith.constant 0 : i256 loc(#loc128) |
| 233 | +// CHECK-NEXT: %c0_i256_18 = arith.constant 0 : i256 loc(#loc129) |
| 234 | +// CHECK-NEXT: yul.return %c0_i256_17, %c0_i256_18 loc(#loc130) |
| 235 | +// CHECK-NEXT: } loc(#loc) |
| 236 | +// CHECK-NEXT: } loc(#loc) |
| 237 | +// CHECK-NEXT: } loc(#loc) |
| 238 | +// CHECK-NEXT: #loc = loc(unknown) |
| 239 | +// CHECK-NEXT: #loc1 = loc({{.*}}:4:19) |
| 240 | +// CHECK-NEXT: #loc2 = loc({{.*}}:4:13) |
| 241 | +// CHECK-NEXT: #loc3 = loc({{.*}}:4:4) |
| 242 | +// CHECK-NEXT: #loc4 = loc({{.*}}:4:8) |
| 243 | +// CHECK-NEXT: #loc5 = loc({{.*}}:5:19) |
| 244 | +// CHECK-NEXT: #loc6 = loc({{.*}}:5:13) |
| 245 | +// CHECK-NEXT: #loc7 = loc({{.*}}:5:4) |
| 246 | +// CHECK-NEXT: #loc8 = loc({{.*}}:5:8) |
| 247 | +// CHECK-NEXT: #loc9 = loc({{.*}}:6:10) |
| 248 | +// CHECK-NEXT: #loc10 = loc({{.*}}:6:13) |
| 249 | +// CHECK-NEXT: #loc11 = loc({{.*}}:6:7) |
| 250 | +// CHECK-NEXT: #loc12 = loc({{.*}}:6:4) |
| 251 | +// CHECK-NEXT: #loc13 = loc({{.*}}:7:13) |
| 252 | +// CHECK-NEXT: #loc14 = loc({{.*}}:7:16) |
| 253 | +// CHECK-NEXT: #loc15 = loc({{.*}}:7:6) |
| 254 | +// CHECK-NEXT: #loc16 = loc({{.*}}:9:11) |
| 255 | +// CHECK-NEXT: #loc17 = loc({{.*}}:9:17) |
| 256 | +// CHECK-NEXT: #loc18 = loc({{.*}}:9:20) |
| 257 | +// CHECK-NEXT: #loc19 = loc({{.*}}:9:14) |
| 258 | +// CHECK-NEXT: #loc20 = loc({{.*}}:9:4) |
| 259 | +// CHECK-NEXT: #loc21 = loc({{.*}}:10:11) |
| 260 | +// CHECK-NEXT: #loc22 = loc({{.*}}:10:14) |
| 261 | +// CHECK-NEXT: #loc23 = loc({{.*}}:10:7) |
| 262 | +// CHECK-NEXT: #loc24 = loc({{.*}}:10:4) |
| 263 | +// CHECK-NEXT: #loc25 = loc({{.*}}:11:13) |
| 264 | +// CHECK-NEXT: #loc26 = loc({{.*}}:11:16) |
| 265 | +// CHECK-NEXT: #loc27 = loc({{.*}}:11:6) |
| 266 | +// CHECK-NEXT: #loc28 = loc({{.*}}:13:11) |
| 267 | +// CHECK-NEXT: #loc29 = loc({{.*}}:13:18) |
| 268 | +// CHECK-NEXT: #loc30 = loc({{.*}}:13:21) |
| 269 | +// CHECK-NEXT: #loc31 = loc({{.*}}:13:14) |
| 270 | +// CHECK-NEXT: #loc32 = loc({{.*}}:13:4) |
| 271 | +// CHECK-NEXT: #loc33 = loc({{.*}}:14:14) |
| 272 | +// CHECK-NEXT: #loc34 = loc({{.*}}:14:7) |
| 273 | +// CHECK-NEXT: #loc35 = loc({{.*}}:14:4) |
| 274 | +// CHECK-NEXT: #loc36 = loc({{.*}}:15:13) |
| 275 | +// CHECK-NEXT: #loc37 = loc({{.*}}:15:16) |
| 276 | +// CHECK-NEXT: #loc38 = loc({{.*}}:15:6) |
| 277 | +// CHECK-NEXT: #loc39 = loc({{.*}}:17:11) |
| 278 | +// CHECK-NEXT: #loc40 = loc({{.*}}:17:21) |
| 279 | +// CHECK-NEXT: #loc41 = loc({{.*}}:17:14) |
| 280 | +// CHECK-NEXT: #loc42 = loc({{.*}}:17:4) |
| 281 | +// CHECK-NEXT: #loc43 = loc({{.*}}:18:11) |
| 282 | +// CHECK-NEXT: #loc44 = loc({{.*}}:18:14) |
| 283 | +// CHECK-NEXT: #loc45 = loc({{.*}}:18:4) |
| 284 | +// CHECK-NEXT: #loc46 = loc({{.*}}:22:21) |
| 285 | +// CHECK-NEXT: #loc47 = loc({{.*}}:22:15) |
| 286 | +// CHECK-NEXT: #loc48 = loc({{.*}}:22:6) |
| 287 | +// CHECK-NEXT: #loc49 = loc({{.*}}:22:10) |
| 288 | +// CHECK-NEXT: #loc50 = loc({{.*}}:23:21) |
| 289 | +// CHECK-NEXT: #loc51 = loc({{.*}}:23:15) |
| 290 | +// CHECK-NEXT: #loc52 = loc({{.*}}:23:6) |
| 291 | +// CHECK-NEXT: #loc53 = loc({{.*}}:23:10) |
| 292 | +// CHECK-NEXT: #loc54 = loc({{.*}}:24:12) |
| 293 | +// CHECK-NEXT: #loc55 = loc({{.*}}:24:15) |
| 294 | +// CHECK-NEXT: #loc56 = loc({{.*}}:24:9) |
| 295 | +// CHECK-NEXT: #loc57 = loc({{.*}}:24:6) |
| 296 | +// CHECK-NEXT: #loc58 = loc({{.*}}:25:15) |
| 297 | +// CHECK-NEXT: #loc59 = loc({{.*}}:25:18) |
| 298 | +// CHECK-NEXT: #loc60 = loc({{.*}}:25:8) |
| 299 | +// CHECK-NEXT: #loc61 = loc({{.*}}:27:13) |
| 300 | +// CHECK-NEXT: #loc62 = loc({{.*}}:27:19) |
| 301 | +// CHECK-NEXT: #loc63 = loc({{.*}}:27:22) |
| 302 | +// CHECK-NEXT: #loc64 = loc({{.*}}:27:16) |
| 303 | +// CHECK-NEXT: #loc65 = loc({{.*}}:27:6) |
| 304 | +// CHECK-NEXT: #loc66 = loc({{.*}}:28:13) |
| 305 | +// CHECK-NEXT: #loc67 = loc({{.*}}:28:16) |
| 306 | +// CHECK-NEXT: #loc68 = loc({{.*}}:28:9) |
| 307 | +// CHECK-NEXT: #loc69 = loc({{.*}}:28:6) |
| 308 | +// CHECK-NEXT: #loc70 = loc({{.*}}:29:15) |
| 309 | +// CHECK-NEXT: #loc71 = loc({{.*}}:29:18) |
| 310 | +// CHECK-NEXT: #loc72 = loc({{.*}}:29:8) |
| 311 | +// CHECK-NEXT: #loc73 = loc({{.*}}:31:13) |
| 312 | +// CHECK-NEXT: #loc74 = loc({{.*}}:31:20) |
| 313 | +// CHECK-NEXT: #loc75 = loc({{.*}}:31:23) |
| 314 | +// CHECK-NEXT: #loc76 = loc({{.*}}:31:16) |
| 315 | +// CHECK-NEXT: #loc77 = loc({{.*}}:31:6) |
| 316 | +// CHECK-NEXT: #loc78 = loc({{.*}}:32:16) |
| 317 | +// CHECK-NEXT: #loc79 = loc({{.*}}:32:9) |
| 318 | +// CHECK-NEXT: #loc80 = loc({{.*}}:32:6) |
| 319 | +// CHECK-NEXT: #loc81 = loc({{.*}}:33:15) |
| 320 | +// CHECK-NEXT: #loc82 = loc({{.*}}:33:18) |
| 321 | +// CHECK-NEXT: #loc83 = loc({{.*}}:33:8) |
| 322 | +// CHECK-NEXT: #loc84 = loc({{.*}}:36:12) |
| 323 | +// CHECK-NEXT: #loc85 = loc({{.*}}:36:15) |
| 324 | +// CHECK-NEXT: #loc86 = loc({{.*}}:36:9) |
| 325 | +// CHECK-NEXT: #loc87 = loc({{.*}}:36:6) |
| 326 | +// CHECK-NEXT: #loc88 = loc({{.*}}:37:15) |
| 327 | +// CHECK-NEXT: #loc89 = loc({{.*}}:37:18) |
| 328 | +// CHECK-NEXT: #loc90 = loc({{.*}}:37:8) |
| 329 | +// CHECK-NEXT: #loc91 = loc({{.*}}:39:13) |
| 330 | +// CHECK-NEXT: #loc92 = loc({{.*}}:39:19) |
| 331 | +// CHECK-NEXT: #loc93 = loc({{.*}}:39:22) |
| 332 | +// CHECK-NEXT: #loc94 = loc({{.*}}:39:16) |
| 333 | +// CHECK-NEXT: #loc95 = loc({{.*}}:39:6) |
| 334 | +// CHECK-NEXT: #loc96 = loc({{.*}}:40:13) |
| 335 | +// CHECK-NEXT: #loc97 = loc({{.*}}:40:16) |
| 336 | +// CHECK-NEXT: #loc98 = loc({{.*}}:40:9) |
| 337 | +// CHECK-NEXT: #loc99 = loc({{.*}}:40:6) |
| 338 | +// CHECK-NEXT: #loc100 = loc({{.*}}:41:15) |
| 339 | +// CHECK-NEXT: #loc101 = loc({{.*}}:41:19) |
| 340 | +// CHECK-NEXT: #loc102 = loc({{.*}}:41:8) |
| 341 | +// CHECK-NEXT: #loc103 = loc({{.*}}:43:13) |
| 342 | +// CHECK-NEXT: #loc104 = loc({{.*}}:43:22) |
| 343 | +// CHECK-NEXT: #loc105 = loc({{.*}}:43:25) |
| 344 | +// CHECK-NEXT: #loc106 = loc({{.*}}:43:18) |
| 345 | +// CHECK-NEXT: #loc107 = loc({{.*}}:43:6) |
| 346 | +// CHECK-NEXT: #loc108 = loc({{.*}}:44:13) |
| 347 | +// CHECK-NEXT: #loc109 = loc({{.*}}:44:20) |
| 348 | +// CHECK-NEXT: #loc110 = loc({{.*}}:44:23) |
| 349 | +// CHECK-NEXT: #loc111 = loc({{.*}}:44:17) |
| 350 | +// CHECK-NEXT: #loc112 = loc({{.*}}:44:6) |
| 351 | +// CHECK-NEXT: #loc113 = loc({{.*}}:45:12) |
| 352 | +// CHECK-NEXT: #loc114 = loc({{.*}}:45:15) |
| 353 | +// CHECK-NEXT: #loc115 = loc({{.*}}:45:9) |
| 354 | +// CHECK-NEXT: #loc116 = loc({{.*}}:45:6) |
| 355 | +// CHECK-NEXT: #loc117 = loc({{.*}}:46:15) |
| 356 | +// CHECK-NEXT: #loc118 = loc({{.*}}:46:18) |
| 357 | +// CHECK-NEXT: #loc119 = loc({{.*}}:46:8) |
| 358 | +// CHECK-NEXT: #loc120 = loc({{.*}}:48:13) |
| 359 | +// CHECK-NEXT: #loc121 = loc({{.*}}:48:21) |
| 360 | +// CHECK-NEXT: #loc122 = loc({{.*}}:48:17) |
| 361 | +// CHECK-NEXT: #loc123 = loc({{.*}}:48:6) |
| 362 | +// CHECK-NEXT: #loc124 = loc({{.*}}:49:13) |
| 363 | +// CHECK-NEXT: #loc125 = loc({{.*}}:49:23) |
| 364 | +// CHECK-NEXT: #loc126 = loc({{.*}}:49:16) |
| 365 | +// CHECK-NEXT: #loc127 = loc({{.*}}:49:6) |
| 366 | +// CHECK-NEXT: #loc128 = loc({{.*}}:50:13) |
| 367 | +// CHECK-NEXT: #loc129 = loc({{.*}}:50:16) |
| 368 | +// CHECK-NEXT: #loc130 = loc({{.*}}:50:6) |
| 369 | +// CHECK-EMPTY: |
0 commit comments