summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp26
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.h3
-rw-r--r--clang/lib/CodeGen/CGStmt.cpp10
-rw-r--r--clang/test/CodeGen/debug-label-inline.c28
-rw-r--r--clang/test/CodeGen/debug-label.c16
5 files changed, 0 insertions, 83 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 2c64f6e06da..12209723999 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -3647,32 +3647,6 @@ CGDebugInfo::EmitDeclareOfAutoVariable(const VarDecl *VD, llvm::Value *Storage,
return EmitDeclare(VD, Storage, llvm::None, Builder);
}
-void CGDebugInfo::EmitLabel(const LabelDecl *D, CGBuilderTy &Builder) {
- assert(DebugKind >= codegenoptions::LimitedDebugInfo);
- assert(!LexicalBlockStack.empty() && "Region stack mismatch, stack empty!");
-
- if (D->hasAttr<NoDebugAttr>())
- return;
-
- auto *Scope = cast<llvm::DIScope>(LexicalBlockStack.back());
- llvm::DIFile *Unit = getOrCreateFile(D->getLocation());
-
- // Get location information.
- unsigned Line = getLineNumber(D->getLocation());
- unsigned Column = getColumnNumber(D->getLocation());
-
- StringRef Name = D->getName();
-
- // Create the descriptor for the label.
- auto *L =
- DBuilder.createLabel(Scope, Name, Unit, Line, CGM.getLangOpts().Optimize);
-
- // Insert an llvm.dbg.label into the current block.
- DBuilder.insertLabel(L,
- llvm::DebugLoc::get(Line, Column, Scope, CurInlinedAt),
- Builder.GetInsertBlock());
-}
-
llvm::DIType *CGDebugInfo::CreateSelfType(const QualType &QualTy,
llvm::DIType *Ty) {
llvm::DIType *CachedTy = getTypeOrNull(QualTy);
diff --git a/clang/lib/CodeGen/CGDebugInfo.h b/clang/lib/CodeGen/CGDebugInfo.h
index fa06e87f11a..a692babef53 100644
--- a/clang/lib/CodeGen/CGDebugInfo.h
+++ b/clang/lib/CodeGen/CGDebugInfo.h
@@ -396,9 +396,6 @@ public:
llvm::Value *AI,
CGBuilderTy &Builder);
- /// Emit call to \c llvm.dbg.label for an label.
- void EmitLabel(const LabelDecl *D, CGBuilderTy &Builder);
-
/// Emit call to \c llvm.dbg.declare for an imported variable
/// declaration in a block.
void EmitDeclareOfBlockDeclRefVariable(const VarDecl *variable,
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp
index b121fae0be5..779bda681e4 100644
--- a/clang/lib/CodeGen/CGStmt.cpp
+++ b/clang/lib/CodeGen/CGStmt.cpp
@@ -531,16 +531,6 @@ void CodeGenFunction::EmitLabel(const LabelDecl *D) {
}
EmitBlock(Dest.getBlock());
-
- // Emit debug info for labels.
- if (CGDebugInfo *DI = getDebugInfo()) {
- if (CGM.getCodeGenOpts().getDebugInfo() >=
- codegenoptions::LimitedDebugInfo) {
- DI->setLocation(D->getLocation());
- DI->EmitLabel(D, Builder);
- }
- }
-
incrementProfileCounter(D->getStmt());
}
diff --git a/clang/test/CodeGen/debug-label-inline.c b/clang/test/CodeGen/debug-label-inline.c
deleted file mode 100644
index c0b089aad8e..00000000000
--- a/clang/test/CodeGen/debug-label-inline.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// This test will test the correctness of generating DILabel and
-// llvm.dbg.label when the label is in inlined functions.
-//
-// RUN: %clang_cc1 -O2 %s -o - -emit-llvm -debug-info-kind=limited | FileCheck %s
-inline int f1(int a, int b) {
- int sum;
-
-top:
- sum = a + b;
- return sum;
-}
-
-extern int ga, gb;
-
-int f2(void) {
- int result;
-
- result = f1(ga, gb);
- // CHECK: call void @llvm.dbg.label(metadata [[LABEL_METADATA:!.*]]), !dbg [[LABEL_LOCATION:!.*]]
-
- return result;
-}
-
-// CHECK: distinct !DISubprogram(name: "f1", {{.*}}, retainedNodes: [[ELEMENTS:!.*]])
-// CHECK: [[ELEMENTS]] = !{{{.*}}, [[LABEL_METADATA]]}
-// CHECK: [[LABEL_METADATA]] = !DILabel({{.*}}, name: "top", {{.*}}, line: 8)
-// CHECK: [[INLINEDAT:!.*]] = distinct !DILocation(line: 18,
-// CHECK: [[LABEL_LOCATION]] = !DILocation(line: 8, {{.*}}, inlinedAt: [[INLINEDAT]])
diff --git a/clang/test/CodeGen/debug-label.c b/clang/test/CodeGen/debug-label.c
deleted file mode 100644
index 20efa49b0a4..00000000000
--- a/clang/test/CodeGen/debug-label.c
+++ /dev/null
@@ -1,16 +0,0 @@
-// This test will test the correstness of generating DILabel and
-// llvm.dbg.label for labels.
-//
-// RUN: %clang_cc1 -emit-llvm %s -o - -emit-llvm -debug-info-kind=limited | FileCheck %s
-
-int f1(int a, int b) {
- int sum;
-
-top:
- // CHECK: call void @llvm.dbg.label(metadata [[LABEL_METADATA:!.*]]), !dbg [[LABEL_LOCATION:!.*]]
- sum = a + b;
- return sum;
-}
-
-// CHECK: [[LABEL_METADATA]] = !DILabel({{.*}}, name: "top", {{.*}}, line: 9)
-// CHECK: [[LABEL_LOCATION]] = !DILocation(line: 9,
OpenPOWER on IntegriCloud