@@ -1227,35 +1227,32 @@ define void @swap-15bytes(ptr %x, ptr %y) {
1227
1227
ret void
1228
1228
}
1229
1229
1230
+
1230
1231
define <4 x i32 > @ptrLoadStoreTys (ptr %init , i32 %val2 ) {
1231
1232
; CHECK-LABEL: @ptrLoadStoreTys(
1232
1233
; CHECK-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8
1233
- ; CHECK-NEXT: [[OBJ:%.*]] = alloca <4 x i32>, align 16
1234
- ; CHECK-NEXT: store <4 x i32> zeroinitializer, ptr [[OBJ]], align 16
1235
- ; CHECK-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16
1236
- ; CHECK-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8
1237
- ; CHECK-NEXT: store i32 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8
1238
- ; CHECK-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12
1239
- ; CHECK-NEXT: store i32 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4
1240
- ; CHECK-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x i32>, ptr [[OBJ]], align 16
1241
- ; CHECK-NEXT: ret <4 x i32> [[OBJ_0_SROAVAL]]
1234
+ ; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[VAL0]] to i64
1235
+ ; CHECK-NEXT: [[TMP2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>
1236
+ ; CHECK-NEXT: [[OBJ_0_VEC_EXPAND:%.*]] = shufflevector <2 x i32> [[TMP2]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>
1237
+ ; CHECK-NEXT: [[OBJ_0_VECBLEND:%.*]] = select <4 x i1> <i1 true, i1 true, i1 false, i1 false>, <4 x i32> [[OBJ_0_VEC_EXPAND]], <4 x i32> zeroinitializer
1238
+ ; CHECK-NEXT: [[OBJ_8_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_0_VECBLEND]], i32 [[VAL2:%.*]], i32 2
1239
+ ; CHECK-NEXT: [[OBJ_12_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_8_VEC_INSERT]], i32 131072, i32 3
1240
+ ; CHECK-NEXT: ret <4 x i32> [[OBJ_12_VEC_INSERT]]
1242
1241
;
1243
1242
; DEBUG-LABEL: @ptrLoadStoreTys(
1244
1243
; DEBUG-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8, !dbg [[DBG492:![0-9]+]]
1245
1244
; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[VAL0]], metadata [[META487:![0-9]+]], metadata !DIExpression()), !dbg [[DBG492]]
1246
- ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x i32>, align 16, !dbg [[DBG493:![0-9]+]]
1247
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META488:![0-9]+]], metadata !DIExpression()), !dbg [[DBG493]]
1248
- ; DEBUG-NEXT: store <4 x i32> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG494:![0-9]+]]
1249
- ; DEBUG-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG495:![0-9]+]]
1250
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META489:![0-9]+]], metadata !DIExpression()), !dbg [[DBG496:![0-9]+]]
1251
- ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG497:![0-9]+]]
1252
- ; DEBUG-NEXT: store i32 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG497]]
1253
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META490:![0-9]+]], metadata !DIExpression()), !dbg [[DBG498:![0-9]+]]
1254
- ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG499:![0-9]+]]
1255
- ; DEBUG-NEXT: store i32 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG499]]
1256
- ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x i32>, ptr [[OBJ]], align 16, !dbg [[DBG500:![0-9]+]]
1257
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x i32> [[OBJ_0_SROAVAL]], metadata [[META491:![0-9]+]], metadata !DIExpression()), !dbg [[DBG500]]
1258
- ; DEBUG-NEXT: ret <4 x i32> [[OBJ_0_SROAVAL]], !dbg [[DBG501:![0-9]+]]
1245
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META488:![0-9]+]], metadata !DIExpression()), !dbg [[DBG493:![0-9]+]]
1246
+ ; DEBUG-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[VAL0]] to i64, !dbg [[DBG494:![0-9]+]]
1247
+ ; DEBUG-NEXT: [[TMP2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>, !dbg [[DBG494]]
1248
+ ; DEBUG-NEXT: [[OBJ_0_VEC_EXPAND:%.*]] = shufflevector <2 x i32> [[TMP2]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>, !dbg [[DBG494]]
1249
+ ; DEBUG-NEXT: [[OBJ_0_VECBLEND:%.*]] = select <4 x i1> <i1 true, i1 true, i1 false, i1 false>, <4 x i32> [[OBJ_0_VEC_EXPAND]], <4 x i32> zeroinitializer, !dbg [[DBG494]]
1250
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META489:![0-9]+]], metadata !DIExpression()), !dbg [[DBG495:![0-9]+]]
1251
+ ; DEBUG-NEXT: [[OBJ_8_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_0_VECBLEND]], i32 [[VAL2:%.*]], i32 2, !dbg [[DBG496:![0-9]+]]
1252
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META490:![0-9]+]], metadata !DIExpression()), !dbg [[DBG497:![0-9]+]]
1253
+ ; DEBUG-NEXT: [[OBJ_12_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_8_VEC_INSERT]], i32 131072, i32 3, !dbg [[DBG498:![0-9]+]]
1254
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x i32> [[OBJ_12_VEC_INSERT]], metadata [[META491:![0-9]+]], metadata !DIExpression()), !dbg [[DBG499:![0-9]+]]
1255
+ ; DEBUG-NEXT: ret <4 x i32> [[OBJ_12_VEC_INSERT]], !dbg [[DBG500:![0-9]+]]
1259
1256
;
1260
1257
%val0 = load ptr , ptr %init , align 8
1261
1258
%obj = alloca <4 x i32 >, align 16
@@ -1283,21 +1280,21 @@ define <4 x float> @ptrLoadStoreTysFloat(ptr %init, float %val2) {
1283
1280
; CHECK-NEXT: ret <4 x float> [[OBJ_0_SROAVAL]]
1284
1281
;
1285
1282
; DEBUG-LABEL: @ptrLoadStoreTysFloat(
1286
- ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8, !dbg [[DBG509 :![0-9]+]]
1287
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[VAL0]], metadata [[META504 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG509 ]]
1288
- ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x float>, align 16, !dbg [[DBG510 :![0-9]+]]
1289
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META505 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG510 ]]
1290
- ; DEBUG-NEXT: store <4 x float> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG511 :![0-9]+]]
1291
- ; DEBUG-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG512 :![0-9]+]]
1292
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META506 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG513 :![0-9]+]]
1293
- ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG514 :![0-9]+]]
1294
- ; DEBUG-NEXT: store float [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG514 ]]
1295
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META507 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG515 :![0-9]+]]
1296
- ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG516 :![0-9]+]]
1297
- ; DEBUG-NEXT: store float 1.310720e+05, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG516 ]]
1298
- ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x float>, ptr [[OBJ]], align 16, !dbg [[DBG517 :![0-9]+]]
1299
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x float> [[OBJ_0_SROAVAL]], metadata [[META508 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG517 ]]
1300
- ; DEBUG-NEXT: ret <4 x float> [[OBJ_0_SROAVAL]], !dbg [[DBG518 :![0-9]+]]
1283
+ ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8, !dbg [[DBG508 :![0-9]+]]
1284
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[VAL0]], metadata [[META503 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG508 ]]
1285
+ ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x float>, align 16, !dbg [[DBG509 :![0-9]+]]
1286
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META504 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG509 ]]
1287
+ ; DEBUG-NEXT: store <4 x float> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG510 :![0-9]+]]
1288
+ ; DEBUG-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG511 :![0-9]+]]
1289
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META505 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG512 :![0-9]+]]
1290
+ ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG513 :![0-9]+]]
1291
+ ; DEBUG-NEXT: store float [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG513 ]]
1292
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META506 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG514 :![0-9]+]]
1293
+ ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG515 :![0-9]+]]
1294
+ ; DEBUG-NEXT: store float 1.310720e+05, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG515 ]]
1295
+ ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x float>, ptr [[OBJ]], align 16, !dbg [[DBG516 :![0-9]+]]
1296
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x float> [[OBJ_0_SROAVAL]], metadata [[META507 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG516 ]]
1297
+ ; DEBUG-NEXT: ret <4 x float> [[OBJ_0_SROAVAL]], !dbg [[DBG517 :![0-9]+]]
1301
1298
;
1302
1299
%val0 = load ptr , ptr %init , align 8
1303
1300
%obj = alloca <4 x float >, align 16
@@ -1314,32 +1311,28 @@ define <4 x float> @ptrLoadStoreTysFloat(ptr %init, float %val2) {
1314
1311
define <4 x i32 > @ptrLoadStoreTysAS3 (ptr %init , i32 %val2 ) {
1315
1312
; CHECK-LABEL: @ptrLoadStoreTysAS3(
1316
1313
; CHECK-NEXT: [[VAL0:%.*]] = load ptr addrspace(3), ptr [[INIT:%.*]], align 8
1317
- ; CHECK-NEXT: [[OBJ:%.*]] = alloca <4 x i32>, align 16
1318
- ; CHECK-NEXT: store <4 x i32> zeroinitializer, ptr [[OBJ]], align 16
1319
- ; CHECK-NEXT: store ptr addrspace(3) [[VAL0]], ptr [[OBJ]], align 16
1320
- ; CHECK-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8
1321
- ; CHECK-NEXT: store i32 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8
1322
- ; CHECK-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12
1323
- ; CHECK-NEXT: store i32 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4
1324
- ; CHECK-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x i32>, ptr [[OBJ]], align 16
1325
- ; CHECK-NEXT: ret <4 x i32> [[OBJ_0_SROAVAL]]
1314
+ ; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr addrspace(3) [[VAL0]] to i64
1315
+ ; CHECK-NEXT: [[TMP2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>
1316
+ ; CHECK-NEXT: [[OBJ_0_VEC_EXPAND:%.*]] = shufflevector <2 x i32> [[TMP2]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>
1317
+ ; CHECK-NEXT: [[OBJ_0_VECBLEND:%.*]] = select <4 x i1> <i1 true, i1 true, i1 false, i1 false>, <4 x i32> [[OBJ_0_VEC_EXPAND]], <4 x i32> zeroinitializer
1318
+ ; CHECK-NEXT: [[OBJ_8_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_0_VECBLEND]], i32 [[VAL2:%.*]], i32 2
1319
+ ; CHECK-NEXT: [[OBJ_12_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_8_VEC_INSERT]], i32 131072, i32 3
1320
+ ; CHECK-NEXT: ret <4 x i32> [[OBJ_12_VEC_INSERT]]
1326
1321
;
1327
1322
; DEBUG-LABEL: @ptrLoadStoreTysAS3(
1328
- ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr addrspace(3), ptr [[INIT:%.*]], align 8, !dbg [[DBG526:![0-9]+]]
1329
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr addrspace(3) [[VAL0]], metadata [[META521:![0-9]+]], metadata !DIExpression()), !dbg [[DBG526]]
1330
- ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x i32>, align 16, !dbg [[DBG527:![0-9]+]]
1331
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META522:![0-9]+]], metadata !DIExpression()), !dbg [[DBG527]]
1332
- ; DEBUG-NEXT: store <4 x i32> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG528:![0-9]+]]
1333
- ; DEBUG-NEXT: store ptr addrspace(3) [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG529:![0-9]+]]
1323
+ ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr addrspace(3), ptr [[INIT:%.*]], align 8, !dbg [[DBG525:![0-9]+]]
1324
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr addrspace(3) [[VAL0]], metadata [[META520:![0-9]+]], metadata !DIExpression()), !dbg [[DBG525]]
1325
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META521:![0-9]+]], metadata !DIExpression()), !dbg [[DBG526:![0-9]+]]
1326
+ ; DEBUG-NEXT: [[TMP1:%.*]] = ptrtoint ptr addrspace(3) [[VAL0]] to i64, !dbg [[DBG527:![0-9]+]]
1327
+ ; DEBUG-NEXT: [[TMP2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>, !dbg [[DBG527]]
1328
+ ; DEBUG-NEXT: [[OBJ_0_VEC_EXPAND:%.*]] = shufflevector <2 x i32> [[TMP2]], <2 x i32> poison, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>, !dbg [[DBG527]]
1329
+ ; DEBUG-NEXT: [[OBJ_0_VECBLEND:%.*]] = select <4 x i1> <i1 true, i1 true, i1 false, i1 false>, <4 x i32> [[OBJ_0_VEC_EXPAND]], <4 x i32> zeroinitializer, !dbg [[DBG527]]
1330
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META522:![0-9]+]], metadata !DIExpression()), !dbg [[DBG528:![0-9]+]]
1331
+ ; DEBUG-NEXT: [[OBJ_8_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_0_VECBLEND]], i32 [[VAL2:%.*]], i32 2, !dbg [[DBG529:![0-9]+]]
1334
1332
; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META523:![0-9]+]], metadata !DIExpression()), !dbg [[DBG530:![0-9]+]]
1335
- ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG531:![0-9]+]]
1336
- ; DEBUG-NEXT: store i32 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG531]]
1337
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META524:![0-9]+]], metadata !DIExpression()), !dbg [[DBG532:![0-9]+]]
1338
- ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG533:![0-9]+]]
1339
- ; DEBUG-NEXT: store i32 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG533]]
1340
- ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x i32>, ptr [[OBJ]], align 16, !dbg [[DBG534:![0-9]+]]
1341
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x i32> [[OBJ_0_SROAVAL]], metadata [[META525:![0-9]+]], metadata !DIExpression()), !dbg [[DBG534]]
1342
- ; DEBUG-NEXT: ret <4 x i32> [[OBJ_0_SROAVAL]], !dbg [[DBG535:![0-9]+]]
1333
+ ; DEBUG-NEXT: [[OBJ_12_VEC_INSERT:%.*]] = insertelement <4 x i32> [[OBJ_8_VEC_INSERT]], i32 131072, i32 3, !dbg [[DBG531:![0-9]+]]
1334
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x i32> [[OBJ_12_VEC_INSERT]], metadata [[META524:![0-9]+]], metadata !DIExpression()), !dbg [[DBG532:![0-9]+]]
1335
+ ; DEBUG-NEXT: ret <4 x i32> [[OBJ_12_VEC_INSERT]], !dbg [[DBG533:![0-9]+]]
1343
1336
;
1344
1337
%val0 = load ptr addrspace (3 ), ptr %init , align 8
1345
1338
%obj = alloca <4 x i32 >, align 16
@@ -1367,21 +1360,21 @@ define <4 x ptr> @ptrLoadStoreTysPtr(ptr %init, i64 %val2) {
1367
1360
; CHECK-NEXT: ret <4 x ptr> [[OBJ_0_SROAVAL]]
1368
1361
;
1369
1362
; DEBUG-LABEL: @ptrLoadStoreTysPtr(
1370
- ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8, !dbg [[DBG543 :![0-9]+]]
1371
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[VAL0]], metadata [[META538 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG543 ]]
1372
- ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x ptr>, align 16, !dbg [[DBG544 :![0-9]+]]
1373
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META539 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG544 ]]
1374
- ; DEBUG-NEXT: store <4 x ptr> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG545 :![0-9]+]]
1375
- ; DEBUG-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG546 :![0-9]+]]
1376
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META540 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG547 :![0-9]+]]
1377
- ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG548 :![0-9]+]]
1378
- ; DEBUG-NEXT: store i64 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG548 ]]
1379
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META541 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG549 :![0-9]+]]
1380
- ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG550 :![0-9]+]]
1381
- ; DEBUG-NEXT: store i64 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG550 ]]
1382
- ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x ptr>, ptr [[OBJ]], align 16, !dbg [[DBG551 :![0-9]+]]
1383
- ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x ptr> [[OBJ_0_SROAVAL]], metadata [[META542 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG551 ]]
1384
- ; DEBUG-NEXT: ret <4 x ptr> [[OBJ_0_SROAVAL]], !dbg [[DBG552 :![0-9]+]]
1363
+ ; DEBUG-NEXT: [[VAL0:%.*]] = load ptr, ptr [[INIT:%.*]], align 8, !dbg [[DBG541 :![0-9]+]]
1364
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[VAL0]], metadata [[META536 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG541 ]]
1365
+ ; DEBUG-NEXT: [[OBJ:%.*]] = alloca <4 x ptr>, align 16, !dbg [[DBG542 :![0-9]+]]
1366
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr [[OBJ]], metadata [[META537 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG542 ]]
1367
+ ; DEBUG-NEXT: store <4 x ptr> zeroinitializer, ptr [[OBJ]], align 16, !dbg [[DBG543 :![0-9]+]]
1368
+ ; DEBUG-NEXT: store ptr [[VAL0]], ptr [[OBJ]], align 16, !dbg [[DBG544 :![0-9]+]]
1369
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META538 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG545 :![0-9]+]]
1370
+ ; DEBUG-NEXT: [[OBJ_8_PTR2_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 8, !dbg [[DBG546 :![0-9]+]]
1371
+ ; DEBUG-NEXT: store i64 [[VAL2:%.*]], ptr [[OBJ_8_PTR2_SROA_IDX]], align 8, !dbg [[DBG546 ]]
1372
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata ptr undef, metadata [[META539 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG547 :![0-9]+]]
1373
+ ; DEBUG-NEXT: [[OBJ_12_PTR3_SROA_IDX:%.*]] = getelementptr inbounds i8, ptr [[OBJ]], i64 12, !dbg [[DBG548 :![0-9]+]]
1374
+ ; DEBUG-NEXT: store i64 131072, ptr [[OBJ_12_PTR3_SROA_IDX]], align 4, !dbg [[DBG548 ]]
1375
+ ; DEBUG-NEXT: [[OBJ_0_SROAVAL:%.*]] = load <4 x ptr>, ptr [[OBJ]], align 16, !dbg [[DBG549 :![0-9]+]]
1376
+ ; DEBUG-NEXT: call void @llvm.dbg.value(metadata <4 x ptr> [[OBJ_0_SROAVAL]], metadata [[META540 :![0-9]+]], metadata !DIExpression()), !dbg [[DBG549 ]]
1377
+ ; DEBUG-NEXT: ret <4 x ptr> [[OBJ_0_SROAVAL]], !dbg [[DBG550 :![0-9]+]]
1385
1378
;
1386
1379
%val0 = load ptr , ptr %init , align 8
1387
1380
%obj = alloca <4 x ptr >, align 16
0 commit comments