Rename ISD::LOCATION to ISD::DBG_STOPPOINT to better reflect its
purpose, and give it a custom SDNode subclass so that it doesn't
need to have line number, column number, filename string, and
directory string, all existing as individual SDNodes to be the
operands.

This was the only user of ISD::STRING, StringSDNode, etc., so
remove those and some associated code.

This makes stop-points considerably easier to read in
-view-legalize-dags output, and reduces overhead (creating new
nodes and copying std::strings into them) on code containing
debugging information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52924 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index dee6bc7..345864d 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -173,7 +173,6 @@
   //===--------------------------------------------------------------------===//
   // Node creation methods.
   //
-  SDOperand getString(const std::string &Val);
   SDOperand getConstant(uint64_t Val, MVT VT, bool isTarget = false);
   SDOperand getConstant(const APInt &Val, MVT VT, bool isTarget = false);
   SDOperand getIntPtrConstant(uint64_t Val, bool isTarget = false);
@@ -224,6 +223,8 @@
   SDOperand getArgFlags(ISD::ArgFlagsTy Flags);
   SDOperand getValueType(MVT);
   SDOperand getRegister(unsigned Reg, MVT VT);
+  SDOperand getDbgStopPoint(SDOperand Root, unsigned Line, unsigned Col,
+                            const CompileUnitDesc *CU);
 
   SDOperand getCopyToReg(SDOperand Chain, unsigned Reg, SDOperand N) {
     return getNode(ISD::CopyToReg, MVT::Other, Chain,
@@ -635,7 +636,6 @@
   std::map<MVT, SDNode*, MVT::compareRawBits> ExtendedValueTypeNodes;
   StringMap<SDNode*> ExternalSymbols;
   StringMap<SDNode*> TargetExternalSymbols;
-  StringMap<StringSDNode*> StringNodes;
 };
 
 template <> struct GraphTraits<SelectionDAG*> : public GraphTraits<SDNode*> {