[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h SelectionDAGNodes.h

Andrew Lenharth alenhar2 at cs.uiuc.edu
Sat Oct 22 20:40:28 PDT 2005



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAG.h updated: 1.63 -> 1.64
SelectionDAGNodes.h updated: 1.69 -> 1.70
---
Log message:

add TargetExternalSymbol

---
Diffs of the changes:  (+8 -3)

 SelectionDAG.h      |    2 ++
 SelectionDAGNodes.h |    9 ++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)


Index: llvm/include/llvm/CodeGen/SelectionDAG.h
diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.63 llvm/include/llvm/CodeGen/SelectionDAG.h:1.64
--- llvm/include/llvm/CodeGen/SelectionDAG.h:1.63	Wed Oct 12 22:10:46 2005
+++ llvm/include/llvm/CodeGen/SelectionDAG.h	Sat Oct 22 22:40:17 2005
@@ -111,6 +111,7 @@
   SDOperand getTargetConstantPool(Constant *C, MVT::ValueType VT);
   SDOperand getBasicBlock(MachineBasicBlock *MBB);
   SDOperand getExternalSymbol(const char *Sym, MVT::ValueType VT);
+  SDOperand getTargetExternalSymbol(const char *Sym, MVT::ValueType VT);
   SDOperand getValueType(MVT::ValueType);
   SDOperand getRegister(unsigned Reg, MVT::ValueType VT);
 
@@ -382,6 +383,7 @@
   std::map<MachineBasicBlock *, SDNode*> BBNodes;
   std::vector<SDNode*> ValueTypeNodes;
   std::map<std::string, SDNode*> ExternalSymbols;
+  std::map<std::string, SDNode*> TargetExternalSymbols;
   std::map<std::pair<unsigned,
                      std::pair<MVT::ValueType, std::vector<SDOperand> > >,
            SDNode*> OneResultNodes;


Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.69 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.70
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.69	Wed Oct  5 01:34:34 2005
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h	Sat Oct 22 22:40:17 2005
@@ -74,6 +74,7 @@
     TargetGlobalAddress,
     TargetFrameIndex,
     TargetConstantPool,
+    TargetExternalSymbol,
 
     // CopyToReg - This node has three operands: a chain, a register number to
     // set to this value, and a value.  
@@ -932,8 +933,9 @@
   const char *Symbol;
 protected:
   friend class SelectionDAG;
-  ExternalSymbolSDNode(const char *Sym, MVT::ValueType VT)
-    : SDNode(ISD::ExternalSymbol, VT), Symbol(Sym) {
+  ExternalSymbolSDNode(bool isTarget, const char *Sym, MVT::ValueType VT)
+    : SDNode(isTarget ? ISD::TargetExternalSymbol : ISD::ExternalSymbol, VT),
+      Symbol(Sym) {
     }
 public:
 
@@ -941,7 +943,8 @@
 
   static bool classof(const ExternalSymbolSDNode *) { return true; }
   static bool classof(const SDNode *N) {
-    return N->getOpcode() == ISD::ExternalSymbol;
+    return N->getOpcode() == ISD::ExternalSymbol ||
+           N->getOpcode() == ISD::TargetExternalSymbol;
   }
 };
 






More information about the llvm-commits mailing list