Reverting r56249. On further investigation, this functionality isn't needed.
Apologies for the thrashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56251 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 741e3f7..ba78b81 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -799,7 +799,7 @@
case ISD::TargetConstantPool:
case ISD::TargetGlobalAddress:
case ISD::TargetGlobalTLSAddress:
- case ISD::TargetSymbol:
+ case ISD::TargetExternalSymbol:
case ISD::VALUETYPE:
case ISD::SRCVALUE:
case ISD::MEMOPERAND:
@@ -832,7 +832,7 @@
case ISD::GLOBAL_OFFSET_TABLE:
case ISD::GlobalAddress:
case ISD::GlobalTLSAddress:
- case ISD::Symbol:
+ case ISD::ExternalSymbol:
case ISD::ConstantPool:
case ISD::JumpTable: // Nothing to do.
switch (TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0))) {
@@ -3979,7 +3979,7 @@
std::pair<SDValue,SDValue> CallResult =
TLI.LowerCallTo(Tmp1, Type::VoidTy,
false, false, false, CallingConv::C, false,
- DAG.getSymbol("abort", TLI.getPointerTy()),
+ DAG.getExternalSymbol("abort", TLI.getPointerTy()),
Args, DAG);
Result = CallResult.second;
break;
@@ -5293,9 +5293,8 @@
Entry.isZExt = !isSigned;
Args.push_back(Entry);
}
-
- SDValue Callee = DAG.getSymbol(TLI.getLibcallName(LC),
- TLI.getPointerTy());
+ SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
+ TLI.getPointerTy());
// Splice the libcall in wherever FindInputOutputChains tells us to.
const Type *RetTy = Node->getValueType(0).getTypeForMVT();
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
index 9a05501..640392f 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
@@ -623,8 +623,8 @@
Entry.isZExt = !isSigned;
Args.push_back(Entry);
}
-
- SDValue Callee = DAG.getSymbol(TLI.getLibcallName(LC), TLI.getPointerTy());
+ SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
+ TLI.getPointerTy());
const Type *RetTy = RetVT.getTypeForMVT();
std::pair<SDValue,SDValue> CallInfo =
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp
index 52428cb..156905a 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp
@@ -288,7 +288,7 @@
else
Idx = ConstPool->getConstantPoolIndex(CP->getConstVal(), Align);
MI->addOperand(MachineOperand::CreateCPI(Idx, Offset));
- } else if (SymbolSDNode *ES = dyn_cast<SymbolSDNode>(Op)) {
+ } else if (ExternalSymbolSDNode *ES = dyn_cast<ExternalSymbolSDNode>(Op)) {
MI->addOperand(MachineOperand::CreateES(ES->getSymbol()));
} else {
assert(Op.getValueType() != MVT::Other &&
@@ -571,7 +571,8 @@
MachineInstr *MI = BuildMI(*MF, TII->get(TargetInstrInfo::INLINEASM));
// Add the asm string as an external symbol operand.
- const char *AsmStr = cast<SymbolSDNode>(Node->getOperand(1))->getSymbol();
+ const char *AsmStr =
+ cast<ExternalSymbolSDNode>(Node->getOperand(1))->getSymbol();
MI->addOperand(MachineOperand::CreateES(AsmStr));
// Add all of the operand registers to the instruction.
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 9e42307..793f5c9 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -614,11 +614,12 @@
Erased = CondCodeNodes[cast<CondCodeSDNode>(N)->get()] != 0;
CondCodeNodes[cast<CondCodeSDNode>(N)->get()] = 0;
break;
- case ISD::Symbol:
- Erased = Symbols.erase(cast<SymbolSDNode>(N)->getSymbol());
+ case ISD::ExternalSymbol:
+ Erased = ExternalSymbols.erase(cast<ExternalSymbolSDNode>(N)->getSymbol());
break;
- case ISD::TargetSymbol:
- Erased = TargetSymbols.erase(cast<SymbolSDNode>(N)->getSymbol());
+ case ISD::TargetExternalSymbol:
+ Erased =
+ TargetExternalSymbols.erase(cast<ExternalSymbolSDNode>(N)->getSymbol());
break;
case ISD::VALUETYPE: {
MVT VT = cast<VTSDNode>(N)->getVT();
@@ -841,8 +842,8 @@
CSEMap.clear();
ExtendedValueTypeNodes.clear();
- Symbols.clear();
- TargetSymbols.clear();
+ ExternalSymbols.clear();
+ TargetExternalSymbols.clear();
std::fill(CondCodeNodes.begin(), CondCodeNodes.end(),
static_cast<CondCodeSDNode*>(0));
std::fill(ValueTypeNodes.begin(), ValueTypeNodes.end(),
@@ -1097,22 +1098,20 @@
return SDValue(N, 0);
}
-SDValue SelectionDAG::getSymbol(const char *Sym, MVT VT,
- GlobalValue::LinkageTypes LT) {
- SDNode *&N = Symbols[Sym];
+SDValue SelectionDAG::getExternalSymbol(const char *Sym, MVT VT) {
+ SDNode *&N = ExternalSymbols[Sym];
if (N) return SDValue(N, 0);
- N = NodeAllocator.Allocate<SymbolSDNode>();
- new (N) SymbolSDNode(false, Sym, VT, LT);
+ N = NodeAllocator.Allocate<ExternalSymbolSDNode>();
+ new (N) ExternalSymbolSDNode(false, Sym, VT);
AllNodes.push_back(N);
return SDValue(N, 0);
}
-SDValue SelectionDAG::getTargetSymbol(const char *Sym, MVT VT,
- GlobalValue::LinkageTypes LT) {
- SDNode *&N = TargetSymbols[Sym];
+SDValue SelectionDAG::getTargetExternalSymbol(const char *Sym, MVT VT) {
+ SDNode *&N = TargetExternalSymbols[Sym];
if (N) return SDValue(N, 0);
- N = NodeAllocator.Allocate<SymbolSDNode>();
- new (N) SymbolSDNode(true, Sym, VT, LT);
+ N = NodeAllocator.Allocate<ExternalSymbolSDNode>();
+ new (N) ExternalSymbolSDNode(true, Sym, VT);
AllNodes.push_back(N);
return SDValue(N, 0);
}
@@ -3099,7 +3098,7 @@
std::pair<SDValue,SDValue> CallResult =
TLI.LowerCallTo(Chain, Type::VoidTy,
false, false, false, CallingConv::C, false,
- getSymbol("memcpy", TLI.getPointerTy()),
+ getExternalSymbol("memcpy", TLI.getPointerTy()),
Args, *this);
return CallResult.second;
}
@@ -3144,7 +3143,7 @@
std::pair<SDValue,SDValue> CallResult =
TLI.LowerCallTo(Chain, Type::VoidTy,
false, false, false, CallingConv::C, false,
- getSymbol("memmove", TLI.getPointerTy()),
+ getExternalSymbol("memmove", TLI.getPointerTy()),
Args, *this);
return CallResult.second;
}
@@ -3195,7 +3194,7 @@
std::pair<SDValue,SDValue> CallResult =
TLI.LowerCallTo(Chain, Type::VoidTy,
false, false, false, CallingConv::C, false,
- getSymbol("memset", TLI.getPointerTy()),
+ getExternalSymbol("memset", TLI.getPointerTy()),
Args, *this);
return CallResult.second;
}
@@ -4611,7 +4610,7 @@
void RegisterSDNode::ANCHOR() {}
void DbgStopPointSDNode::ANCHOR() {}
void LabelSDNode::ANCHOR() {}
-void SymbolSDNode::ANCHOR() {}
+void ExternalSymbolSDNode::ANCHOR() {}
void CondCodeSDNode::ANCHOR() {}
void ARG_FLAGSSDNode::ANCHOR() {}
void VTSDNode::ANCHOR() {}
@@ -4915,14 +4914,14 @@
case ISD::FrameIndex: return "FrameIndex";
case ISD::JumpTable: return "JumpTable";
case ISD::GLOBAL_OFFSET_TABLE: return "GLOBAL_OFFSET_TABLE";
- case ISD::RETURNADDR: return "RETURNADDR";
- case ISD::FRAMEADDR: return "FRAMEADDR";
+ case ISD::RETURNADDR: return "RETURNADDR";
+ case ISD::FRAMEADDR: return "FRAMEADDR";
case ISD::FRAME_TO_ARGS_OFFSET: return "FRAME_TO_ARGS_OFFSET";
case ISD::EXCEPTIONADDR: return "EXCEPTIONADDR";
- case ISD::EHSELECTION: return "EHSELECTION";
- case ISD::EH_RETURN: return "EH_RETURN";
+ case ISD::EHSELECTION: return "EHSELECTION";
+ case ISD::EH_RETURN: return "EH_RETURN";
case ISD::ConstantPool: return "ConstantPool";
- case ISD::Symbol: return "Symbol";
+ case ISD::ExternalSymbol: return "ExternalSymbol";
case ISD::INTRINSIC_WO_CHAIN: {
unsigned IID = cast<ConstantSDNode>(getOperand(0))->getZExtValue();
return Intrinsic::getName((Intrinsic::ID)IID);
@@ -4941,7 +4940,7 @@
case ISD::TargetFrameIndex: return "TargetFrameIndex";
case ISD::TargetJumpTable: return "TargetJumpTable";
case ISD::TargetConstantPool: return "TargetConstantPool";
- case ISD::TargetSymbol: return "TargetSymbol";
+ case ISD::TargetExternalSymbol: return "TargetExternalSymbol";
case ISD::CopyToReg: return "CopyToReg";
case ISD::CopyFromReg: return "CopyFromReg";
@@ -5231,23 +5230,9 @@
} else {
OS << " #" << R->getReg();
}
- } else if (const SymbolSDNode *S =
- dyn_cast<SymbolSDNode>(this)) {
- OS << "'" << S->getSymbol() << "' ";
-
- switch (S->getLinkage()) {
- default: assert(0 && "Invalid linkage type!"); break;
- case GlobalValue::ExternalLinkage: OS << "[external]"; break;
- case GlobalValue::LinkOnceLinkage: OS << "[once]"; break;
- case GlobalValue::WeakLinkage: OS << "[weak]"; break;
- case GlobalValue::AppendingLinkage: OS << "[appending]"; break;
- case GlobalValue::InternalLinkage: OS << "[internal]"; break;
- case GlobalValue::DLLImportLinkage: OS << "[dllimport]"; break;
- case GlobalValue::DLLExportLinkage: OS << "[dllexport]"; break;
- case GlobalValue::ExternalWeakLinkage: OS << "[externweak]"; break;
- case GlobalValue::GhostLinkage: OS << "[ghost]"; break;
- case GlobalValue::CommonLinkage: OS << "[common]"; break;
- }
+ } else if (const ExternalSymbolSDNode *ES =
+ dyn_cast<ExternalSymbolSDNode>(this)) {
+ OS << "'" << ES->getSymbol() << "'";
} else if (const SrcValueSDNode *M = dyn_cast<SrcValueSDNode>(this)) {
if (M->getValue())
OS << "<" << M->getValue() << ">";
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index f82fd34..62a6b4f 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
@@ -4293,7 +4293,7 @@
if (!RenameFn)
Callee = getValue(I.getOperand(0));
else
- Callee = DAG.getSymbol(RenameFn, TLI.getPointerTy());
+ Callee = DAG.getExternalSymbol(RenameFn, TLI.getPointerTy());
LowerCallTo(&I, Callee, I.isTailCall());
}
@@ -4888,7 +4888,7 @@
std::vector<SDValue> AsmNodeOperands;
AsmNodeOperands.push_back(SDValue()); // reserve space for input chain
AsmNodeOperands.push_back(
- DAG.getTargetSymbol(IA->getAsmString().c_str(), MVT::Other));
+ DAG.getTargetExternalSymbol(IA->getAsmString().c_str(), MVT::Other));
// Loop over all of the inputs, copying the operand values into the
@@ -5139,7 +5139,7 @@
std::pair<SDValue,SDValue> Result =
TLI.LowerCallTo(getRoot(), I.getType(), false, false, false, CallingConv::C,
- PerformTailCallOpt, DAG.getSymbol("malloc", IntPtr),
+ PerformTailCallOpt, DAG.getExternalSymbol("malloc", IntPtr),
Args, DAG);
setValue(&I, Result.first); // Pointers always fit in registers
DAG.setRoot(Result.second);
@@ -5155,7 +5155,7 @@
std::pair<SDValue,SDValue> Result =
TLI.LowerCallTo(getRoot(), Type::VoidTy, false, false, false,
CallingConv::C, PerformTailCallOpt,
- DAG.getSymbol("free", IntPtr), Args, DAG);
+ DAG.getExternalSymbol("free", IntPtr), Args, DAG);
DAG.setRoot(Result.second);
}
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
index 8e3247f..caeaa83 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
@@ -186,8 +186,9 @@
Op += ", isVarArg";
if (C->isTailCall())
Op += ", isTailCall";
- } else if (const SymbolSDNode *S = dyn_cast<SymbolSDNode>(Node)) {
- Op += "'" + std::string(S->getSymbol()) + "'";
+ } else if (const ExternalSymbolSDNode *ES =
+ dyn_cast<ExternalSymbolSDNode>(Node)) {
+ Op += "'" + std::string(ES->getSymbol()) + "'";
} else if (const SrcValueSDNode *M = dyn_cast<SrcValueSDNode>(Node)) {
if (M->getValue())
Op += "<" + M->getValue()->getName() + ">";