Skip to content

Commit f316009

Browse files
authored
[RemoveDIs][NFC] Remove more dbg.assign intrinsics code paths (#153371)
1 parent aa6f591 commit f316009

File tree

2 files changed

+14
-24
lines changed

2 files changed

+14
-24
lines changed

llvm/lib/IR/DebugInfo.cpp

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1915,23 +1915,16 @@ void at::RAUW(DIAssignID *Old, DIAssignID *New) {
19151915
}
19161916

19171917
void at::deleteAll(Function *F) {
1918-
SmallVector<DbgAssignIntrinsic *, 12> ToDelete;
1919-
SmallVector<DbgVariableRecord *, 12> DPToDelete;
19201918
for (BasicBlock &BB : *F) {
19211919
for (Instruction &I : BB) {
1922-
for (DbgVariableRecord &DVR : filterDbgVars(I.getDbgRecordRange()))
1920+
for (DbgVariableRecord &DVR :
1921+
make_early_inc_range(filterDbgVars(I.getDbgRecordRange())))
19231922
if (DVR.isDbgAssign())
1924-
DPToDelete.push_back(&DVR);
1925-
if (auto *DAI = dyn_cast<DbgAssignIntrinsic>(&I))
1926-
ToDelete.push_back(DAI);
1927-
else
1928-
I.setMetadata(LLVMContext::MD_DIAssignID, nullptr);
1923+
DVR.eraseFromParent();
1924+
1925+
I.setMetadata(LLVMContext::MD_DIAssignID, nullptr);
19291926
}
19301927
}
1931-
for (auto *DAI : ToDelete)
1932-
DAI->eraseFromParent();
1933-
for (auto *DVR : DPToDelete)
1934-
DVR->eraseFromParent();
19351928
}
19361929

19371930
/// FIXME: Remove this wrapper function and call
@@ -2008,8 +2001,6 @@ void at::remapAssignID(DenseMap<DIAssignID *, DIAssignID *> &Map,
20082001
}
20092002
if (auto *ID = I.getMetadata(LLVMContext::MD_DIAssignID))
20102003
I.setMetadata(LLVMContext::MD_DIAssignID, GetNewID(ID));
2011-
else if (auto *DAI = dyn_cast<DbgAssignIntrinsic>(&I))
2012-
DAI->setAssignId(GetNewID(DAI->getAssignID()));
20132004
}
20142005

20152006
/// Collect constant properies (base, size, offset) of \p StoreDest.

llvm/unittests/IR/DebugInfoTest.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -553,17 +553,15 @@ TEST(DIBuilder, FixedPointType) {
553553
EXPECT_TRUE(Ty->getTag() == dwarf::DW_TAG_base_type);
554554
}
555555

556-
TEST(DbgAssignIntrinsicTest, replaceVariableLocationOp) {
556+
TEST(DbgAssignRecordTest, replaceVariableLocationOp) {
557557
LLVMContext C;
558558
std::unique_ptr<Module> M = parseIR(C, R"(
559559
define dso_local void @fun(i32 %v1, ptr %p1, ptr %p2) !dbg !7 {
560560
entry:
561-
call void @llvm.dbg.assign(metadata i32 %v1, metadata !14, metadata !DIExpression(), metadata !17, metadata ptr %p1, metadata !DIExpression()), !dbg !16
561+
#dbg_assign(i32 %v1, !14, !DIExpression(), !17, ptr %p1, !DIExpression(), !16)
562562
ret void
563563
}
564564
565-
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
566-
567565
!llvm.dbg.cu = !{!0}
568566
!llvm.module.flags = !{!3}
569567
@@ -629,28 +627,28 @@ TEST(AssignmentTrackingTest, Utils) {
629627
std::unique_ptr<Module> M = parseIR(C, R"(
630628
define dso_local void @fun1() !dbg !7 {
631629
entry:
632-
call void @llvm.dbg.assign(metadata i32 undef, metadata !10, metadata !DIExpression(), metadata !12, metadata i32 undef, metadata !DIExpression()), !dbg !13
630+
#dbg_assign(i32 undef, !10, !DIExpression(), !12, i32 undef, !DIExpression(), !13)
633631
%local = alloca i32, align 4, !DIAssignID !12
634-
call void @llvm.dbg.assign(metadata i32 undef, metadata !16, metadata !DIExpression(), metadata !12, metadata i32 undef, metadata !DIExpression()), !dbg !15
632+
#dbg_assign(i32 undef, !16, !DIExpression(), !12, i32 undef, !DIExpression(), !15)
633+
#dbg_assign(i32 undef, !16, !DIExpression(), !25, i32 undef, !DIExpression(), !15)
634+
#dbg_assign(i32 undef, !16, !DIExpression(), !25, i32 undef, !DIExpression(), !15)
635635
ret void, !dbg !15
636636
}
637637
638638
define dso_local void @fun2() !dbg !17 {
639639
entry:
640640
%local = alloca i32, align 4, !DIAssignID !20
641-
call void @llvm.dbg.assign(metadata i32 undef, metadata !18, metadata !DIExpression(), metadata !20, metadata i32 undef, metadata !DIExpression()), !dbg !19
641+
#dbg_assign(i32 undef, !18, !DIExpression(), !20, i32 undef, !DIExpression(), !19)
642642
ret void, !dbg !19
643643
}
644644
645645
define dso_local void @fun3() !dbg !21 {
646646
entry:
647647
%local = alloca i32, align 4, !DIAssignID !24
648-
call void @llvm.dbg.assign(metadata i32 undef, metadata !22, metadata !DIExpression(), metadata !24, metadata i32* undef, metadata !DIExpression()), !dbg !23
648+
#dbg_assign(i32 undef, !22, !DIExpression(), !24, i32* undef, !DIExpression(), !23)
649649
ret void
650650
}
651651
652-
declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata)
653-
654652
!llvm.dbg.cu = !{!0}
655653
!llvm.module.flags = !{!3, !4, !5}
656654
!llvm.ident = !{!6}
@@ -680,6 +678,7 @@ TEST(AssignmentTrackingTest, Utils) {
680678
!22 = !DILocalVariable(name: "local4", scope: !21, file: !1, line: 2, type: !11)
681679
!23 = !DILocation(line: 4, column: 1, scope: !21)
682680
!24 = distinct !DIAssignID()
681+
!25 = distinct !DIAssignID()
683682
)");
684683

685684
// Check the test IR isn't malformed.

0 commit comments

Comments
 (0)