[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