summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-08-25 05:24:07 +0000
committerDevang Patel <dpatel@apple.com>2009-08-25 05:24:07 +0000
commit02aac922b43d99b7162acb08fd75ea7c98cfb48f (patch)
treed06f2b64367cd18c3e24b3f03a575d83cb785b4d /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
parentc1eb79b7c9fa063f7b6f6261d2dd6af9a70c915c (diff)
downloadbcm5719-llvm-02aac922b43d99b7162acb08fd75ea7c98cfb48f.tar.gz
bcm5719-llvm-02aac922b43d99b7162acb08fd75ea7c98cfb48f.zip
Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.
This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 10f7b3206b7..8016d7bb6b6 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -1593,9 +1593,9 @@ SDValue SelectionDAGLegalize::ExpandDBG_STOPPOINT(SDNode* Node) {
bool useLABEL = TLI.isOperationLegalOrCustom(ISD::DBG_LABEL, MVT::Other);
const DbgStopPointSDNode *DSP = cast<DbgStopPointSDNode>(Node);
- GlobalVariable *CU_GV = cast<GlobalVariable>(DSP->getCompileUnit());
- if (DW && (useDEBUG_LOC || useLABEL) && !CU_GV->isDeclaration()) {
- DICompileUnit CU(cast<GlobalVariable>(DSP->getCompileUnit()));
+ MDNode *CU_Node = DSP->getCompileUnit();
+ if (DW && (useDEBUG_LOC || useLABEL)) {
+ DICompileUnit CU(CU_Node);
unsigned Line = DSP->getLine();
unsigned Col = DSP->getColumn();
@@ -1607,7 +1607,7 @@ SDValue SelectionDAGLegalize::ExpandDBG_STOPPOINT(SDNode* Node) {
return DAG.getNode(ISD::DEBUG_LOC, dl, MVT::Other, Node->getOperand(0),
DAG.getConstant(Line, MVT::i32),
DAG.getConstant(Col, MVT::i32),
- DAG.getSrcValue(CU.getGV()));
+ DAG.getSrcValue(CU.getNode()));
} else {
unsigned ID = DW->RecordSourceLine(Line, Col, CU);
return DAG.getLabel(ISD::DBG_LABEL, dl, Node->getOperand(0), ID);
OpenPOWER on IntegriCloud