[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Chris Lattner lattner at cs.uiuc.edu
Tue Nov 15 23:22:42 PST 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAGISel.cpp updated: 1.99 -> 1.100
---
Log message:

when debugging lower dbg intrinsics to calls


---
Diffs of the changes:  (+22 -0)

 SelectionDAGISel.cpp |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.99 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.100
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.99	Fri Nov 11 16:48:54 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Wed Nov 16 01:22:30 2005
@@ -19,6 +19,7 @@
 #include "llvm/Function.h"
 #include "llvm/Instructions.h"
 #include "llvm/Intrinsics.h"
+#include "llvm/CodeGen/IntrinsicLowering.h"
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
@@ -780,10 +781,31 @@
                             getRoot(), getValue(I.getOperand(1)),
                             getValue(I.getOperand(2))));
     return 0;
+    
   case Intrinsic::dbg_stoppoint:
+    if (TLI.getTargetMachine().getIntrinsicLowering().EmitDebugFunctions())
+      return "llvm_debugger_stop";
+    if (I.getType() != Type::VoidTy)
+      setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));
+    return 0;
   case Intrinsic::dbg_region_start:
+    if (TLI.getTargetMachine().getIntrinsicLowering().EmitDebugFunctions())
+      return "llvm_dbg_region_start";
+    if (I.getType() != Type::VoidTy)
+      setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));
+    return 0;
   case Intrinsic::dbg_region_end:
+    if (TLI.getTargetMachine().getIntrinsicLowering().EmitDebugFunctions())
+      return "llvm_dbg_region_end";
+    if (I.getType() != Type::VoidTy)
+      setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));
+    return 0;
   case Intrinsic::dbg_func_start:
+    if (TLI.getTargetMachine().getIntrinsicLowering().EmitDebugFunctions())
+      return "llvm_dbg_subprogram";
+    if (I.getType() != Type::VoidTy)
+      setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));
+    return 0;
   case Intrinsic::dbg_declare:
     if (I.getType() != Type::VoidTy)
       setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));






More information about the llvm-commits mailing list