/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | LegalizeTypes.h | 81 bool IgnoreNodeResults(SDNode *N) const { in IgnoreNodeResults() 138 SmallVector<SDNode*, 128> Worklist; 178 void NoteDeletion(SDNode *Old, SDNode *New) { in NoteDeletion() 209 SDNode *AnalyzeNewNode(SDNode *N); 219 bool CustomLowerNode(SDNode *N, EVT VT, bool LegalizeResult); 220 bool CustomWidenLowerNode(SDNode *N, EVT VT); 225 SDValue DisintegrateMERGE_VALUES(SDNode *N, unsigned ResNo); 229 std::pair<SDValue, SDValue> ExpandAtomic(SDNode *Nod [all...] |
H A D | SelectionDAGPrinter.cpp | 37 return ((const SDNode *) Node)->getNumValues(); in numEdgeDestLabels() 41 return ((const SDNode *) Node)->getValueType(i).getEVTString(); in getEdgeDestLabel() 46 return itostr(I - SDNodeIterator::begin((const SDNode *) Node)); in getEdgeSourceLabel() 62 SDNode *TargetNode = *I; in getEdgeTarget() 76 static std::string getNodeIdentifierLabel(const SDNode *Node, in getNodeIdentifierLabel() 103 static std::string getSimpleNodeLabel(const SDNode *Node, in getSimpleNodeLabel() 112 std::string getNodeLabel(const SDNode *Node, const SelectionDAG *Graph); 113 static std::string getNodeAttributes(const SDNode *N, in getNodeAttributes() 137 std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node, in getNodeLabel() 191 void SelectionDAG::setGraphAttrs(const SDNode *N, const char *Attrs) { in setGraphAttrs() [all …]
|
H A D | SDNodeDbgValue.h | 25 class SDNode; variable 42 SDNode *getSDNode() const { in getSDNode() 71 static SDDbgOperand fromNode(SDNode *Node, unsigned ResNo) { in fromNode() 105 SDNode *Node; ///< Valid for expressions. 114 SDDbgOperand(SDNode *N, unsigned R) : kind(SDNODE) { in SDDbgOperand() 145 SDNode **AdditionalDependencies; 157 ArrayRef<SDDbgOperand> L, ArrayRef<SDNode *> Dependencies, in SDDbgValue() 162 AdditionalDependencies(Alloc.Allocate<SDNode *>(Dependencies.size())), in SDDbgValue() 194 SmallVector<SDNode *> getSDNodes() const { in getSDNodes() 195 SmallVector<SDNode *> Dependencies; in getSDNodes() [all …]
|
H A D | ScheduleDAGSDNodes.cpp | 69 SUnit *ScheduleDAGSDNodes::newSUnit(SDNode *N) { in newSUnit() 111 static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op, in CheckForPhysRegDependency() 144 static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs, in CloneNodeWithValues() 165 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { in AddGlue() 166 SDNode *GlueDestNode = Glue.getNode(); in AddGlue() 190 static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) { in RemoveUnusedGlue() 204 void ScheduleDAGSDNodes::ClusterNeighboringLoads(SDNode *Node) { in ClusterNeighboringLoads() 215 auto hasTiedInput = [this](const SDNode *N) { in ClusterNeighboringLoads() 227 SmallPtrSet<SDNode*, 16> Visited; in ClusterNeighboringLoads() 229 DenseMap<long long, SDNode*> O2SMap; // Map from offset to SDNode. in ClusterNeighboringLoads() [all …]
|
H A D | ScheduleDAGFast.cpp | 210 SDNode *N = SU->getNode(); in CopyAndMoveSuccessors() 230 SmallVector<SDNode*, 2> NewNodes; in CopyAndMoveSuccessors() 238 SDNode *LoadNode = NewNodes[0]; in CopyAndMoveSuccessors() 376 SUnit *CopyFromSU = newSUnit(static_cast<SDNode *>(nullptr)); in InsertCopiesAndMoveSuccs() 380 SUnit *CopyToSU = newSUnit(static_cast<SDNode *>(nullptr)); in InsertCopiesAndMoveSuccs() 417 static MVT getPhysicalRegisterVT(SDNode *N, unsigned Reg, in getPhysicalRegisterVT() 444 const SDNode *Node = nullptr) { in CheckForLiveRegDef() 486 for (SDNode *Node = SU->getNode(); Node; Node = Node->getGluedNode()) { in DelayForLiveRegsBottomUp() 517 SDNode *SrcNode = Node->getOperand(2).getNode(); in DelayForLiveRegsBottomUp() 663 std::vector<SDNode*> Sequence; [all …]
|
H A D | LegalizeFloatTypes.cpp | 51 void DAGTypeLegalizer::SoftenFloatResult(SDNode *N, unsigned ResNo) { in SoftenFloatResult() 180 SDValue DAGTypeLegalizer::SoftenFloatRes_Unary(SDNode *N, RTLIB::Libcall LC) { in SoftenFloatRes_Unary() 199 SDValue DAGTypeLegalizer::SoftenFloatRes_Binary(SDNode *N, RTLIB::Libcall LC) { in SoftenFloatRes_Binary() 220 SDValue DAGTypeLegalizer::SoftenFloatRes_BITCAST(SDNode *N) { in SoftenFloatRes_BITCAST() 224 SDValue DAGTypeLegalizer::SoftenFloatRes_FREEZE(SDNode *N) { in SoftenFloatRes_FREEZE() 230 SDValue DAGTypeLegalizer::SoftenFloatRes_ARITH_FENCE(SDNode *N) { in SoftenFloatRes_ARITH_FENCE() 237 SDValue DAGTypeLegalizer::SoftenFloatRes_MERGE_VALUES(SDNode *N, in SoftenFloatRes_MERGE_VALUES() 243 SDValue DAGTypeLegalizer::SoftenFloatRes_BUILD_PAIR(SDNode *N) { in SoftenFloatRes_BUILD_PAIR() 252 SDValue DAGTypeLegalizer::SoftenFloatRes_ConstantFP(SDNode *N) { in SoftenFloatRes_ConstantFP() 276 SDValue DAGTypeLegalizer::SoftenFloatRes_EXTRACT_ELEMENT(SDNode *N) { in SoftenFloatRes_EXTRACT_ELEMENT() [all …]
|
H A D | InstrEmitter.h | 47 void EmitCopyFromReg(SDNode *Node, unsigned ResNo, bool IsClone, 50 void CreateVirtualRegisters(SDNode *Node, 90 void EmitSubregNode(SDNode *Node, DenseMap<SDValue, Register> &VRBaseMap, 97 void EmitCopyToRegClassNode(SDNode *Node, 102 void EmitRegSequence(SDNode *Node, DenseMap<SDValue, Register> &VRBaseMap, 108 static unsigned CountResults(SDNode *Node); 142 void EmitNode(SDNode *Node, bool IsClone, bool IsCloned, in EmitNode() 162 void EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned, 164 void EmitSpecialNode(SDNode *Node, bool IsClone, bool IsCloned,
|
H A D | ScheduleDAGSDNodes.h | 65 static bool isPassiveNode(SDNode *Node) { in isPassiveNode() 86 SUnit *newSUnit(SDNode *N); 107 virtual void computeOperandLatency(SDNode *Def, SDNode *Use, 140 const SDNode *Node; 155 const SDNode *GetNode() const { in GetNode() 178 void ClusterNeighboringLoads(SDNode *Node);
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonISelDAGToDAG.h | 57 void Select(SDNode *N) override; 76 MachineSDNode *LoadInstrForLoadIntrinsic(SDNode *IntN); 80 SDNode *StoreInstrForLoadIntrinsic(MachineSDNode *LoadN, SDNode *IntN); 82 void SelectFrameIndex(SDNode *N); 89 bool SelectBrevLdIntrinsic(SDNode *IntN); 90 bool SelectNewCircIntrinsic(SDNode *IntN); 91 void SelectLoad(SDNode *N); 94 void SelectStore(SDNode *N); 95 void SelectSHL(SDNode *N); 96 void SelectIntrinsicWChain(SDNode *N); [all …]
|
H A D | HexagonISelDAGToDAG.cpp | 195 MachineSDNode *HexagonDAGToDAGISel::LoadInstrForLoadIntrinsic(SDNode *IntN) { in LoadInstrForLoadIntrinsic() 226 SDNode *HexagonDAGToDAGISel::StoreInstrForLoadIntrinsic(MachineSDNode *LoadN, in StoreInstrForLoadIntrinsic() 227 SDNode *IntN) { in StoreInstrForLoadIntrinsic() 248 SDNode *StoreN; in StoreInstrForLoadIntrinsic() 282 SDNode *C = Ch.getNode(); in tryLoadOfLoadIntrinsic() 314 SDNode *S = StoreInstrForLoadIntrinsic(L, C); in tryLoadOfLoadIntrinsic() 328 bool HexagonDAGToDAGISel::SelectBrevLdIntrinsic(SDNode *IntN) { in SelectBrevLdIntrinsic() 369 bool HexagonDAGToDAGISel::SelectNewCircIntrinsic(SDNode *IntN) { in SelectNewCircIntrinsic() 455 void HexagonDAGToDAGISel::SelectLoad(SDNode *N) { in SelectLoad() 564 void HexagonDAGToDAGISel::SelectStore(SDNode *N) { in SelectStore() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXISelDAGToDAG.h | 57 void Select(SDNode *N) override; 58 bool tryIntrinsicNoChain(SDNode *N); 59 bool tryIntrinsicChain(SDNode *N); 60 void SelectTexSurfHandle(SDNode *N); 61 bool tryLoad(SDNode *N); 62 bool tryLoadVector(SDNode *N); 63 bool tryLDGLDU(SDNode *N); 64 bool tryStore(SDNode *N); 65 bool tryStoreVector(SDNode *N); 66 bool tryLoadParam(SDNode *N); [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86InstrFragmentsSIMD.td | 18 def MMX_X86movd2w : SDNode<"X86ISD::MMX_MOVD2W", SDTypeProfile<1, 1, 21 def MMX_X86movw2d : SDNode<"X86ISD::MMX_MOVW2D", SDTypeProfile<1, 1, 38 def X86fmin : SDNode<"X86ISD::FMIN", SDTFPBinOp>; 39 def X86fmax : SDNode<"X86ISD::FMAX", SDTFPBinOp>; 40 def X86fmins : SDNode<"X86ISD::FMINS", SDTFPBinOp>; 41 def X86fmaxs : SDNode<"X86ISD::FMAXS", SDTFPBinOp>; 44 def X86fminc : SDNode<"X86ISD::FMINC", SDTFPBinOp, 46 def X86fmaxc : SDNode<"X86ISD::FMAXC", SDTFPBinOp, 49 def X86fand : SDNode<"X86ISD::FAND", SDTFPBinOp, 51 def X86for : SDNode<"X86ISD::FOR", SDTFPBinOp, [all …]
|
H A D | X86InstrFragments.td | 139 def X86MFence : SDNode<"X86ISD::MFENCE", SDTNone, [SDNPHasChain]>; 142 def X86bsf : SDNode<"X86ISD::BSF", SDTUnaryArithWithFlags>; 143 def X86bsr : SDNode<"X86ISD::BSR", SDTUnaryArithWithFlags>; 144 def X86fshl : SDNode<"X86ISD::FSHL", SDTIntShiftDOp>; 145 def X86fshr : SDNode<"X86ISD::FSHR", SDTIntShiftDOp>; 147 def X86cmp : SDNode<"X86ISD::CMP" , SDTX86CmpTest>; 148 def X86fcmp : SDNode<"X86ISD::FCMP", SDTX86FCmp>; 149 def X86strict_fcmp : SDNode<"X86ISD::STRICT_FCMP", SDTX86FCmp, [SDNPHasChain]>; 150 def X86strict_fcmps : SDNode<"X86ISD::STRICT_FCMPS", SDTX86FCmp, [SDNPHasChain]>; 151 def X86bt : SDNode<"X86ISD::BT", SDTX86CmpTest>; [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUISelDAGToDAG.h | 49 static inline SDNode *packConstantV2I16(const SDNode *N, SelectionDAG &DAG) { in packConstantV2I16() 87 bool matchLoadD16FromBuildVector(SDNode *N) const; 89 void Select(SDNode *N) override; 93 void SelectBuildVector(SDNode *N, unsigned RegClassID); 98 bool isInlineImmediate(const SDNode *N) const; 108 bool isVGPRImm(const SDNode *N) const; 109 bool isUniformLoad(const SDNode *N) const; 110 bool isUniformBr(const SDNode *N) const; 114 bool isUnneededShiftMask(const SDNode *N, unsigned ShAmtBits) const; 121 SDNode *glueCopyToOp(SDNode *N, SDValue NewChain, SDValue Glue) const; [all …]
|
H A D | AMDGPUInstrInfo.td | 65 def AMDGPUif : SDNode<"AMDGPUISD::IF", AMDGPUIfOp, [SDNPHasChain]>; 66 def AMDGPUelse : SDNode<"AMDGPUISD::ELSE", AMDGPUElseOp, [SDNPHasChain]>; 67 def AMDGPUloop : SDNode<"AMDGPUISD::LOOP", AMDGPULoopOp, [SDNPHasChain]>; 69 def callseq_start : SDNode<"ISD::CALLSEQ_START", 74 def callseq_end : SDNode<"ISD::CALLSEQ_END", 79 def AMDGPUcall : SDNode<"AMDGPUISD::CALL", 89 def AMDGPUtc_return: SDNode<"AMDGPUISD::TC_RETURN", AMDGPUTCReturnTP, 93 def AMDGPUtc_return_gfx: SDNode<"AMDGPUISD::TC_RETURN_GFX", AMDGPUTCReturnTP, 97 def AMDGPUtc_return_chain: SDNode<"AMDGPUISD::TC_RETURN_CHAIN", 102 def AMDGPUtrap : SDNode<"AMDGPUISD::TRAP", [all …]
|
H A D | SIISelLowering.h | 171 SDNode *adjustWritemask(MachineSDNode *&N, SelectionDAG &DAG) const; 173 SDValue performUCharToFloatCombine(SDNode *N, 175 SDValue performFCopySignCombine(SDNode *N, DAGCombinerInfo &DCI) const; 177 SDValue performSHLPtrCombine(SDNode *N, 188 SDValue performAndCombine(SDNode *N, DAGCombinerInfo &DCI) const; 189 SDValue performOrCombine(SDNode *N, DAGCombinerInfo &DCI) const; 190 SDValue performXorCombine(SDNode *N, DAGCombinerInfo &DCI) const; 191 SDValue performZeroExtendCombine(SDNode *N, DAGCombinerInfo &DCI) const; 192 SDValue performSignExtendInRegCombine(SDNode *N, DAGCombinerInfo &DCI) const; 193 SDValue performClassCombine(SDNode *N, DAGCombinerInfo &DCI) const; [all …]
|
H A D | AMDGPUISelLowering.h | 104 SDValue performLoadCombine(SDNode *N, DAGCombinerInfo &DCI) const; 105 SDValue performStoreCombine(SDNode *N, DAGCombinerInfo &DCI) const; 106 SDValue performAssertSZExtCombine(SDNode *N, DAGCombinerInfo &DCI) const; 107 SDValue performIntrinsicWOChainCombine(SDNode *N, DAGCombinerInfo &DCI) const; 112 SDValue performShlCombine(SDNode *N, DAGCombinerInfo &DCI) const; 113 SDValue performSraCombine(SDNode *N, DAGCombinerInfo &DCI) const; 114 SDValue performSrlCombine(SDNode *N, DAGCombinerInfo &DCI) const; 115 SDValue performTruncateCombine(SDNode *N, DAGCombinerInfo &DCI) const; 116 SDValue performMulCombine(SDNode *N, DAGCombinerInfo &DCI) const; 117 SDValue performMulLoHiCombine(SDNode *N, DAGCombinerInfo &DCI) const; [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | SelectionDAGISel.h | 101 virtual void Select(SDNode *N) = 0; 117 virtual bool IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const; 123 static bool IsLegalToFold(SDValue N, SDNode *U, SDNode *Root, 127 static void InvalidateNodeId(SDNode *N); 128 static int getUninvalidatedNodeId(SDNode *N); 130 static void EnforceNodeIdInvariant(SDNode *N); 368 void ReplaceUses(SDNode *F, SDNode *T) { in ReplaceUses() 374 void ReplaceNode(SDNode *F, SDNode *T) { in ReplaceNode() 419 virtual bool CheckNodePredicate(SDNode *N, unsigned PredNo) const { in CheckNodePredicate() 429 SDNode *N, unsigned PredNo, in CheckNodePredicateWithOperands() [all …]
|
H A D | SelectionDAGNodes.h | 67 class SDNode; variable 72 void checkForCycles(const SDNode *N, const SelectionDAG *DAG = nullptr, 91 bool isConstantSplatVector(const SDNode *N, APInt &SplatValue); 96 bool isConstantSplatVectorAllOnes(const SDNode *N, 102 bool isConstantSplatVectorAllZeros(const SDNode *N, 107 bool isBuildVectorAllOnes(const SDNode *N); 111 bool isBuildVectorAllZeros(const SDNode *N); 115 bool isBuildVectorOfConstantSDNodes(const SDNode *N); 119 bool isBuildVectorOfConstantFPSDNodes(const SDNode *N); 123 bool isVectorShrinkable(const SDNode *N, unsigned NewEltSize, bool Signed); [all …]
|
H A D | SelectionDAG.h | 144 template <> struct ilist_alloc_traits<SDNode> { 145 static void deleteNode(SDNode *) { 166 using DbgValMapType = DenseMap<const SDNode *, SmallVector<SDDbgValue *, 2>>; 180 void erase(const SDNode *Node); 196 ArrayRef<SDDbgValue*> getSDDbgValues(const SDNode *Node) const { 256 SDNode EntryNode; 262 ilist<SDNode> AllNodes; 266 using NodeAllocatorType = RecyclingAllocator<BumpPtrAllocator, SDNode, 275 FoldingSet<SDNode> CSEMap; 294 DenseMap<const SDNode *, NodeExtraInfo> SDEI; [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/VE/ |
H A D | VVPInstrInfo.td | 1 //===-------------- VVPInstrInfo.td - VVP_* SDNode patterns ---------------===// 15 // The standard The VVP layer SDNode. The VE vector instruction. 16 // SDNode. 127 class vvp_commutative<SDNode RootOp> : 133 class vvp_fma_commutative<SDNode RootOp> : 140 def vvp_add : SDNode<"VEISD::VVP_ADD", SDTIntBinOpVVP>; 143 def vvp_sub : SDNode<"VEISD::VVP_SUB", SDTIntBinOpVVP>; 145 def vvp_mul : SDNode<"VEISD::VVP_MUL", SDTIntBinOpVVP>; 148 def vvp_sdiv : SDNode<"VEISD::VVP_SDIV", SDTIntBinOpVVP>; 149 def vvp_udiv : SDNode<"VEISD::VVP_UDIV", SDTIntBinOpVVP>; [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/ |
H A D | TargetSelectionDAG.td | 46 // SDTCisVTSmallerThanOp - The specified operand is a VT SDNode, and its type is 342 class SDNode<string opcode, SDTypeProfile typeprof, 343 list<SDNodeProperty> props = [], string sdclass = "SDNode"> 357 def imm : SDNode<"ISD::Constant" , SDTIntLeaf , [], "ConstantSDNode">; 358 def timm : SDNode<"ISD::TargetConstant",SDTIntLeaf, [], "ConstantSDNode">; 359 def fpimm : SDNode<"ISD::ConstantFP", SDTFPLeaf , [], "ConstantFPSDNode">; 360 def vt : SDNode<"ISD::VALUETYPE" , SDTOther , [], "VTSDNode">; 361 def bb : SDNode<"ISD::BasicBlock", SDTOther , [], "BasicBlockSDNode">; 362 def cond : SDNode<"ISD::CONDCODE" , SDTOther , [], "CondCodeSDNode">; 363 def undef : SDNode<"ISD::UNDEF" , SDTUNDEF , []>; [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZOperators.td | 246 def callseq_start : SDNode<"ISD::CALLSEQ_START", SDT_CallSeqStart, 248 def callseq_end : SDNode<"ISD::CALLSEQ_END", SDT_CallSeqEnd, 251 def global_offset_table : SDNode<"ISD::GLOBAL_OFFSET_TABLE", SDTPtrLeaf>; 254 def z_retglue : SDNode<"SystemZISD::RET_GLUE", SDTNone, 256 def z_call : SDNode<"SystemZISD::CALL", SDT_ZCall, 259 def z_sibcall : SDNode<"SystemZISD::SIBCALL", SDT_ZCall, 262 def z_tls_gdcall : SDNode<"SystemZISD::TLS_GDCALL", SDT_ZCall, 265 def z_tls_ldcall : SDNode<"SystemZISD::TLS_LDCALL", SDT_ZCall, 268 def z_pcrel_wrapper : SDNode<"SystemZISD::PCREL_WRAPPER", SDT_ZWrapPtr, []>; 269 def z_pcrel_offset : SDNode<"SystemZISD::PCREL_OFFSET", [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVISelDAGToDAG.h | 42 void Select(SDNode *Node) override; 83 bool tryShrinkShlLogicImm(SDNode *Node); 84 bool trySignedBitfieldExtract(SDNode *Node); 85 bool tryIndexedLoad(SDNode *Node); 122 bool hasAllNBitUsers(SDNode *Node, unsigned Bits, 124 bool hasAllBUsers(SDNode *Node) const { return hasAllNBitUsers(Node, 8); } in hasAllBUsers() 125 bool hasAllHUsers(SDNode *Node) const { return hasAllNBitUsers(Node, 16); } in hasAllHUsers() 126 bool hasAllWUsers(SDNode *Node) const { return hasAllNBitUsers(Node, 32); } in hasAllWUsers() 150 void addVectorLoadStoreOperands(SDNode *Node, unsigned SEWImm, 156 void selectVLSEG(SDNode *Node, bool IsMasked, bool IsStrided); [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/ |
H A D | XtensaOperators.td | 30 def Xtensa_call: SDNode<"XtensaISD::CALL", SDT_XtensaCall, 33 def Xtensa_ret: SDNode<"XtensaISD::RET", SDTNone, 36 def Xtensa_pcrel_wrapper: SDNode<"XtensaISD::PCREL_WRAPPER", SDT_XtensaWrapPtr, []>; 38 def Xtensa_callseq_start: SDNode<"ISD::CALLSEQ_START", SDT_XtensaCallSeqStart, 41 def Xtensa_callseq_end : SDNode<"ISD::CALLSEQ_END", SDT_XtensaCallSeqEnd, 45 def Xtensa_brjt: SDNode<"XtensaISD::BR_JT", SDT_XtensaBrJT, [SDNPHasChain]>; 47 def Xtensa_select_cc: SDNode<"XtensaISD::SELECT_CC", SDT_XtensaSelectCC,
|