[PATCH] D50622: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI.
Hsiangkai Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 18 07:57:01 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL340122: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI. (authored by HsiangKai, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D50622?vs=160294&id=161376#toc
Repository:
rL LLVM
https://reviews.llvm.org/D50622
Files:
llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/trunk/test/DebugInfo/Generic/debug-label-mi.ll
llvm/trunk/test/DebugInfo/Generic/debug-label-opt.ll
llvm/trunk/test/DebugInfo/Generic/debug-label.ll
Index: llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
+++ llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
@@ -1426,6 +1426,18 @@
}
return true;
}
+ case Intrinsic::dbg_label: {
+ const DbgLabelInst *DI = cast<DbgLabelInst>(II);
+ assert(DI->getLabel() && "Missing label");
+ if (!FuncInfo.MF->getMMI().hasDebugInfo()) {
+ LLVM_DEBUG(dbgs() << "Dropping debug info for " << *DI << "\n");
+ return true;
+ }
+
+ BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
+ TII.get(TargetOpcode::DBG_LABEL)).addMetadata(DI->getLabel());
+ return true;
+ }
case Intrinsic::objectsize: {
ConstantInt *CI = cast<ConstantInt>(II->getArgOperand(1));
unsigned long long Res = CI->isZero() ? -1ULL : 0;
Index: llvm/trunk/test/DebugInfo/Generic/debug-label.ll
===================================================================
--- llvm/trunk/test/DebugInfo/Generic/debug-label.ll
+++ llvm/trunk/test/DebugInfo/Generic/debug-label.ll
@@ -1,4 +1,4 @@
-; RUN: llc -fast-isel=false -O0 -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
+; RUN: llc -O0 -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
;
; CHECK: .debug_info contents:
; CHECK: DW_TAG_label
@@ -12,7 +12,7 @@
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] {{.*}}7
; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] {{.*}}{{0x[0-9a-f]+}}
;
-; RUN: llc -fast-isel=false -O0 -o - %s | FileCheck %s -check-prefix=ASM
+; RUN: llc -O0 -o - %s | FileCheck %s -check-prefix=ASM
;
; ASM: [[TOP_LOW_PC:[.0-9a-zA-Z]+]]:{{[[:space:]].*}}DEBUG_LABEL: foo:top
; ASM: [[DONE_LOW_PC:[.0-9a-zA-Z]+]]:{{[[:space:]].*}}DEBUG_LABEL: foo:done
Index: llvm/trunk/test/DebugInfo/Generic/debug-label-mi.ll
===================================================================
--- llvm/trunk/test/DebugInfo/Generic/debug-label-mi.ll
+++ llvm/trunk/test/DebugInfo/Generic/debug-label-mi.ll
@@ -1,12 +1,12 @@
; Test DBG_LABEL MachineInstr for label debugging.
; REQUIRES: asserts
-; RUN: llc -fast-isel=false -debug-only=isel %s -o /dev/null 2> %t.debug
+; RUN: llc -debug-only=isel %s -o /dev/null 2> %t.debug
; RUN: cat %t.debug | FileCheck %s --check-prefix=CHECKMI
;
; CHECKMI: DBG_LABEL "top", debug-location !9
; CHECKMI: DBG_LABEL "done", debug-location !11
;
-; RUN: llc -fast-isel=false %s -o - | FileCheck %s --check-prefix=CHECKASM
+; RUN: llc %s -o - | FileCheck %s --check-prefix=CHECKASM
;
; CHECKASM: DEBUG_LABEL: foo:top
; CHECKASM: DEBUG_LABEL: foo:done
Index: llvm/trunk/test/DebugInfo/Generic/debug-label-opt.ll
===================================================================
--- llvm/trunk/test/DebugInfo/Generic/debug-label-opt.ll
+++ llvm/trunk/test/DebugInfo/Generic/debug-label-opt.ll
@@ -1,7 +1,7 @@
; Test DBG_LABEL MachineInstr under optimization.
; The test case is generated by clang with -O2 is on.
; REQUIRES: asserts
-; RUN: llc -fast-isel=false -debug-only=isel %s -o /dev/null 2> %t.debug
+; RUN: llc -debug-only=isel %s -o /dev/null 2> %t.debug
; RUN: cat %t.debug | FileCheck %s --check-prefix=CHECKMI
;
; CHECKMI: DBG_LABEL "end_sum", debug-location !17
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50622.161376.patch
Type: text/x-patch
Size: 3232 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180818/11ca1b85/attachment.bin>
More information about the llvm-commits
mailing list