diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-09-16 21:48:12 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-09-16 21:48:12 +0000 |
commit | 056292fd738924f3f7703725d8f630983794b5a5 (patch) | |
tree | f097aff34063d06c497f56489a186f411740cf34 /lib/CodeGen | |
parent | aed48bfee87046f40330fc35d17265dd3aaf5dd5 (diff) |
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
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 11 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp | 5 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 71 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 8 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 5 |
6 files changed, 45 insertions, 59 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 741e3f78c6..ba78b8166a 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -799,7 +799,7 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) { 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 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) { 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 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) { 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 @@ SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node, 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 9a05501234..640392f26c 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp @@ -623,8 +623,8 @@ SDValue DAGTypeLegalizer::MakeLibCall(RTLIB::Libcall LC, MVT RetVT, 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 52428cb425..156905a708 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp @@ -288,7 +288,7 @@ void ScheduleDAG::AddOperand(MachineInstr *MI, SDValue Op, 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 @@ void ScheduleDAG::EmitNode(SDNode *Node, bool IsClone, 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 9e42307fbe..793f5c9997 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -614,11 +614,12 @@ bool SelectionDAG::RemoveNodeFromCSEMaps(SDNode *N) { 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 @@ void SelectionDAG::clear() { 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 @@ SDValue SelectionDAG::getValueType(MVT VT) { 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 @@ SDValue SelectionDAG::getMemcpy(SDValue Chain, SDValue Dst, 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 @@ SDValue SelectionDAG::getMemmove(SDValue Chain, SDValue Dst, 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 @@ SDValue SelectionDAG::getMemset(SDValue Chain, SDValue Dst, 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 MemOperandSDNode::ANCHOR() {} 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 @@ std::string SDNode::getOperationName(const SelectionDAG *G) const { 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 @@ std::string SDNode::getOperationName(const SelectionDAG *G) const { 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 @@ void SDNode::print(raw_ostream &OS, const SelectionDAG *G) const { } 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 f82fd340ff..62a6b4f180 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp @@ -4293,7 +4293,7 @@ void SelectionDAGLowering::visitCall(CallInst &I) { 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 @@ void SelectionDAGLowering::visitInlineAsm(CallSite CS) { 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 @@ void SelectionDAGLowering::visitMalloc(MallocInst &I) { 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 @@ void SelectionDAGLowering::visitFree(FreeInst &I) { 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 8e3247fb67..caeaa838e9 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -186,8 +186,9 @@ std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node, 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() + ">"; |