diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index a1fdb9e1755b..3a9dea06f1a7 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -934,10 +934,6 @@ void CGDebugInfo::EmitFunctionStart(const char *Name, QualType FnType, getOrCreateType(FnType, Unit), Fn->hasInternalLinkage(), true/*definition*/); -#ifndef ATTACH_DEBUG_INFO_TO_AN_INSN - DebugFactory.InsertSubprogramStart(SP, Builder.GetInsertBlock()); -#endif - // Push function on region stack. RegionStack.push_back(SP); } @@ -961,7 +957,6 @@ void CGDebugInfo::EmitStopPoint(llvm::Function *Fn, CGBuilderTy &Builder) { llvm::DICompileUnit Unit = getOrCreateCompileUnit(CurLoc); PresumedLoc PLoc = SM.getPresumedLoc(CurLoc); -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN llvm::DIDescriptor DR = RegionStack.back(); llvm::DIScope DS = llvm::DIScope(DR.getNode()); llvm::DILocation DO(NULL); @@ -969,10 +964,6 @@ void CGDebugInfo::EmitStopPoint(llvm::Function *Fn, CGBuilderTy &Builder) { DebugFactory.CreateLocation(PLoc.getLine(), PLoc.getColumn(), DS, DO); Builder.SetCurrentDebugLocation(DL.getNode()); -#else - DebugFactory.InsertStopPoint(Unit, PLoc.getLine(), PLoc.getColumn(), - Builder.GetInsertBlock()); -#endif } /// EmitRegionStart- Constructs the debug code for entering a declarative @@ -983,9 +974,6 @@ void CGDebugInfo::EmitRegionStart(llvm::Function *Fn, CGBuilderTy &Builder) { D = RegionStack.back(); D = DebugFactory.CreateLexicalBlock(D); RegionStack.push_back(D); -#ifndef ATTACH_DEBUG_INFO_TO_AN_INSN - DebugFactory.InsertRegionStart(D, Builder.GetInsertBlock()); -#endif } /// EmitRegionEnd - Constructs the debug code for exiting a declarative @@ -996,9 +984,6 @@ void CGDebugInfo::EmitRegionEnd(llvm::Function *Fn, CGBuilderTy &Builder) { // Provide an region stop point. EmitStopPoint(Fn, Builder); -#ifndef ATTACH_DEBUG_INFO_TO_AN_INSN - DebugFactory.InsertRegionEnd(RegionStack.back(), Builder.GetInsertBlock()); -#endif RegionStack.pop_back(); } @@ -1165,14 +1150,13 @@ void CGDebugInfo::EmitDeclare(const VarDecl *Decl, unsigned Tag, // Insert an llvm.dbg.declare into the current block. llvm::Instruction *Call = DebugFactory.InsertDeclare(Storage, D, Builder.GetInsertBlock()); -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN - llvm::DIDescriptor DR = RegionStack.back(); - llvm::DIScope DS = llvm::DIScope(DR.getNode()); - llvm::DILocation DO(NULL); - llvm::DILocation DL = - DebugFactory.CreateLocation(Line, PLoc.getColumn(), DS, DO); - Builder.SetDebugLocation(Call, DL.getNode()); -#endif + + llvm::DIDescriptor DR = RegionStack.back(); + llvm::DIScope DS = llvm::DIScope(DR.getNode()); + llvm::DILocation DO(NULL); + llvm::DILocation DL = + DebugFactory.CreateLocation(Line, PLoc.getColumn(), DS, DO); + Builder.SetDebugLocation(Call, DL.getNode()); } /// EmitDeclare - Emit local variable declaration debug info. @@ -1368,14 +1352,13 @@ void CGDebugInfo::EmitDeclare(const BlockDeclRefExpr *BDRE, unsigned Tag, // Insert an llvm.dbg.declare into the current block. llvm::Instruction *Call = DebugFactory.InsertDeclare(Storage, D, Builder.GetInsertPoint()); -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN - llvm::DIDescriptor DR = RegionStack.back(); - llvm::DIScope DS = llvm::DIScope(DR.getNode()); - llvm::DILocation DO(NULL); - llvm::DILocation DL = - DebugFactory.CreateLocation(Line, PLoc.getColumn(), DS, DO); - Builder.SetDebugLocation(Call, DL.getNode()); -#endif + + llvm::DIDescriptor DR = RegionStack.back(); + llvm::DIScope DS = llvm::DIScope(DR.getNode()); + llvm::DILocation DO(NULL); + llvm::DILocation DL = + DebugFactory.CreateLocation(Line, PLoc.getColumn(), DS, DO); + Builder.SetDebugLocation(Call, DL.getNode()); } void CGDebugInfo::EmitDeclareOfAutoVariable(const VarDecl *Decl, diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index 4f3fc74fcdde..b47930e31371 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -148,13 +148,8 @@ RValue CodeGenFunction::EmitCompoundStmt(const CompoundStmt &S, bool GetLast, CGDebugInfo *DI = getDebugInfo(); if (DI) { -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN DI->setLocation(S.getLBracLoc()); DI->EmitRegionStart(CurFn, Builder); -#else - EnsureInsertPoint(); - DI->setLocation(S.getLBracLoc()); -#endif } // Keep track of the current cleanup stack depth. @@ -167,13 +162,8 @@ RValue CodeGenFunction::EmitCompoundStmt(const CompoundStmt &S, bool GetLast, EmitStmt(*I); if (DI) { -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN DI->setLocation(S.getLBracLoc()); DI->EmitRegionEnd(CurFn, Builder); -#else - EnsureInsertPoint(); - DI->setLocation(S.getLBracLoc()); -#endif } RValue RV; @@ -484,13 +474,11 @@ void CodeGenFunction::EmitForStmt(const ForStmt &S) { BreakContinueStack.push_back(BreakContinue(AfterFor, ContinueBlock)); // If the condition is true, execute the body of the for stmt. -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN CGDebugInfo *DI = getDebugInfo(); if (DI) { DI->setLocation(S.getSourceRange().getBegin()); DI->EmitRegionStart(CurFn, Builder); } -#endif EmitStmt(S.getBody()); BreakContinueStack.pop_back(); @@ -503,12 +491,10 @@ void CodeGenFunction::EmitForStmt(const ForStmt &S) { // Finally, branch back up to the condition for the next iteration. EmitBranch(CondBlock); -#ifdef ATTACH_DEBUG_INFO_TO_AN_INSN if (DI) { DI->setLocation(S.getSourceRange().getEnd()); DI->EmitRegionEnd(CurFn, Builder); } -#endif // Emit the fall-through block. EmitBlock(AfterFor, true); diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index cf7a9d68f31e..749c8f5403fd 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -31,8 +31,6 @@ #include "llvm/Support/ValueHandle.h" #include -#define ATTACH_DEBUG_INFO_TO_AN_INSN 1 - namespace llvm { class Module; class Constant;