From f89d1dc9b77ee006324653f70496d29ac3d3bc6c Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 16 Apr 2010 05:06:56 +0000 Subject: [PATCH] Refine further the scope where the global DebugLoc value is active. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101443 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 7a4a4f9a1ad..c38c8e9cddb 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -256,15 +256,13 @@ void SelectionDAGISel::SelectBasicBlock(const BasicBlock *LLVMBB, SDB->setCurrentBasicBlock(BB); // Lower all of the non-terminator instructions. If a call is emitted - // as a tail call, cease emitting nodes for this block. + // as a tail call, cease emitting nodes for this block. Terminators + // are handled below. for (BasicBlock::const_iterator I = Begin; - I != End && !SDB->HasTailCall; ++I) { + I != End && !SDB->HasTailCall && !isa(I); + ++I) { SetDebugLoc(I, SDB, 0, MF); - - // Visit the instruction. Terminators are handled below. - if (!isa(I)) - SDB->visit(*I); - + SDB->visit(*I); ResetDebugLoc(SDB, 0); }