Home
last modified time | relevance | path

Searched refs:SDNode (Results 1 – 25 of 250) sorted by relevance

12345678910

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeTypes.h81 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 DSelectionDAGPrinter.cpp37 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 DSDNodeDbgValue.h25 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 DScheduleDAGSDNodes.cpp69 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 DScheduleDAGFast.cpp210 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 DLegalizeFloatTypes.cpp51 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 DInstrEmitter.h47 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 DScheduleDAGSDNodes.h65 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 DHexagonISelDAGToDAG.h57 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 DHexagonISelDAGToDAG.cpp195 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 DNVPTXISelDAGToDAG.h57 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 DX86InstrFragmentsSIMD.td18 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 DX86InstrFragments.td139 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 DAMDGPUISelDAGToDAG.h49 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 DAMDGPUInstrInfo.td65 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 DSIISelLowering.h171 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 DAMDGPUISelLowering.h104 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 DSelectionDAGISel.h101 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 DSelectionDAGNodes.h67 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 DSelectionDAG.h144 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 DVVPInstrInfo.td1 //===-------------- 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 DTargetSelectionDAG.td46 // 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 DSystemZOperators.td246 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 DRISCVISelDAGToDAG.h42 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 DXtensaOperators.td30 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,

12345678910