Home
last modified time | relevance | path

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

1234

/external/llvm/lib/CodeGen/SelectionDAG/
DLegalizeTypes.h77 bool IgnoreNodeResults(SDNode *N) const { in IgnoreNodeResults()
116 SmallVector<SDNode*, 128> Worklist;
131 void NoteDeletion(SDNode *Old, SDNode *New) { in NoteDeletion()
139 SDNode *AnalyzeNewNode(SDNode *N);
141 void ExpungeNode(SDNode *N);
149 bool CustomLowerNode(SDNode *N, EVT VT, bool LegalizeResult);
150 bool CustomWidenLowerNode(SDNode *N, EVT VT);
153 SDValue LibCallify(RTLIB::Libcall LC, SDNode *N, bool isSigned);
158 SDNode *Node, bool isSigned);
159 std::pair<SDValue, SDValue> ExpandAtomic(SDNode *Node);
[all …]
DSelectionDAGPrinter.cpp46 return ((const SDNode *) Node)->getNumValues(); in numEdgeDestLabels()
50 return ((const SDNode *) Node)->getValueType(i).getEVTString(); in getEdgeDestLabel()
55 return itostr(I - SDNodeIterator::begin((SDNode *) Node)); in getEdgeSourceLabel()
71 SDNode *TargetNode = *I; in getEdgeTarget()
85 static bool hasNodeAddressLabel(const SDNode *Node, in hasNodeAddressLabel()
105 static std::string getSimpleNodeLabel(const SDNode *Node, in getSimpleNodeLabel()
114 std::string getNodeLabel(const SDNode *Node, const SelectionDAG *Graph);
115 static std::string getNodeAttributes(const SDNode *N, in getNodeAttributes()
139 std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node, in getNodeLabel()
179 void SelectionDAG::setGraphAttrs(const SDNode *N, const char *Attrs) { in setGraphAttrs()
[all …]
DInstrEmitter.h41 void EmitCopyFromReg(SDNode *Node, unsigned ResNo,
48 unsigned getDstOfOnlyCopyToRegUse(SDNode *Node,
51 void CreateVirtualRegisters(SDNode *Node, MachineInstr *MI,
82 void EmitSubregNode(SDNode *Node, DenseMap<SDValue, unsigned> &VRBaseMap,
89 void EmitCopyToRegClassNode(SDNode *Node,
94 void EmitRegSequence(SDNode *Node, DenseMap<SDValue, unsigned> &VRBaseMap,
100 static unsigned CountResults(SDNode *Node);
106 static unsigned CountOperands(SDNode *Node);
115 void EmitNode(SDNode *Node, bool IsClone, bool IsCloned, in EmitNode()
134 void EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned,
[all …]
DScheduleDAGSDNodes.cpp60 SUnit *ScheduleDAGSDNodes::NewSUnit(SDNode *N) { in NewSUnit()
102 static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op, in CheckForPhysRegDependency()
126 static void AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { in AddGlue()
128 SDNode *GlueDestNode = Glue.getNode(); in AddGlue()
171 void ScheduleDAGSDNodes::ClusterNeighboringLoads(SDNode *Node) { in ClusterNeighboringLoads()
172 SDNode *Chain = 0; in ClusterNeighboringLoads()
181 SmallPtrSet<SDNode*, 16> Visited; in ClusterNeighboringLoads()
183 DenseMap<long long, SDNode*> O2SMap; // Map from offset to SDNode. in ClusterNeighboringLoads()
185 SDNode *Base = Node; in ClusterNeighboringLoads()
186 for (SDNode::use_iterator I = Chain->use_begin(), E = Chain->use_end(); in ClusterNeighboringLoads()
[all …]
DSDNodeOrdering.h21 class SDNode; variable
29 DenseMap<const SDNode*, unsigned> OrderMap;
36 void add(const SDNode *Node, unsigned O) { in add()
39 void remove(const SDNode *Node) { in remove()
40 DenseMap<const SDNode*, unsigned>::iterator Itr = OrderMap.find(Node); in remove()
47 unsigned getOrder(const SDNode *Node) { in getOrder()
DLegalizeFloatTypes.cpp45 void DAGTypeLegalizer::SoftenFloatResult(SDNode *N, unsigned ResNo) { in SoftenFloatResult()
106 SDValue DAGTypeLegalizer::SoftenFloatRes_BITCAST(SDNode *N) { in SoftenFloatRes_BITCAST()
110 SDValue DAGTypeLegalizer::SoftenFloatRes_BUILD_PAIR(SDNode *N) { in SoftenFloatRes_BUILD_PAIR()
125 SDValue DAGTypeLegalizer::SoftenFloatRes_EXTRACT_VECTOR_ELT(SDNode *N) { in SoftenFloatRes_EXTRACT_VECTOR_ELT()
132 SDValue DAGTypeLegalizer::SoftenFloatRes_FABS(SDNode *N) { in SoftenFloatRes_FABS()
144 SDValue DAGTypeLegalizer::SoftenFloatRes_FADD(SDNode *N) { in SoftenFloatRes_FADD()
156 SDValue DAGTypeLegalizer::SoftenFloatRes_FCEIL(SDNode *N) { in SoftenFloatRes_FCEIL()
167 SDValue DAGTypeLegalizer::SoftenFloatRes_FCOPYSIGN(SDNode *N) { in SoftenFloatRes_FCOPYSIGN()
209 SDValue DAGTypeLegalizer::SoftenFloatRes_FCOS(SDNode *N) { in SoftenFloatRes_FCOS()
220 SDValue DAGTypeLegalizer::SoftenFloatRes_FDIV(SDNode *N) { in SoftenFloatRes_FDIV()
[all …]
DScheduleDAGSDNodes.h52 static bool isPassiveNode(SDNode *Node) { in isPassiveNode()
70 SUnit *NewSUnit(SDNode *N);
103 virtual void ComputeOperandLatency(SDNode *Def, SDNode *Use,
124 const SDNode *Node;
138 const SDNode *GetNode() const { in GetNode()
154 void ClusterNeighboringLoads(SDNode *Node);
DSelectionDAG.cpp111 bool ISD::isBuildVectorAllOnes(const SDNode *N) { in isBuildVectorAllOnes()
152 bool ISD::isBuildVectorAllZeros(const SDNode *N) { in isBuildVectorAllZeros()
192 bool ISD::isScalarToVector(const SDNode *N) { in isScalarToVector()
356 static void AddNodeIDCustom(FoldingSetNodeID &ID, const SDNode *N) { in AddNodeIDCustom()
459 static void AddNodeIDNode(FoldingSetNodeID &ID, const SDNode *N) { in AddNodeIDNode()
492 static bool doNotCSE(SDNode *N) { in doNotCSE()
518 SmallVector<SDNode*, 128> DeadNodes; in RemoveDeadNodes()
533 void SelectionDAG::RemoveDeadNodes(SmallVectorImpl<SDNode *> &DeadNodes, in RemoveDeadNodes()
539 SDNode *N = DeadNodes.pop_back_val(); in RemoveDeadNodes()
549 for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); I != E; ) { in RemoveDeadNodes()
[all …]
DDAGCombiner.cpp67 std::vector<SDNode*> WorkList;
76 void AddUsersToWorkList(SDNode *N) { in AddUsersToWorkList()
77 for (SDNode::use_iterator UI = N->use_begin(), UE = N->use_end(); in AddUsersToWorkList()
84 SDValue visit(SDNode *N);
89 void AddToWorkList(SDNode *N) { in AddToWorkList()
96 void removeFromWorkList(SDNode *N) { in removeFromWorkList()
101 SDValue CombineTo(SDNode *N, const SDValue *To, unsigned NumTo,
104 SDValue CombineTo(SDNode *N, SDValue Res, bool AddTo = true) { in CombineTo()
108 SDValue CombineTo(SDNode *N, SDValue Res0, SDValue Res1, in CombineTo()
129 bool CombineToPreIndexedLoadStore(SDNode *N);
[all …]
DSelectionDAGISel.cpp418 SmallPtrSet<SDNode*, 128> VisitedNodes; in ComputeLiveOutVRegInfo()
419 SmallVector<SDNode*, 128> Worklist; in ComputeLiveOutVRegInfo()
428 SDNode *N = Worklist.pop_back_val(); in ComputeLiveOutVRegInfo()
642 SDNode *Node = --ISelPosition; in DoInstructionSelection()
649 SDNode *ResNode = Select(Node); in DoInstructionSelection()
1337 static SDNode *findGlueUse(SDNode *N) { in findGlueUse()
1339 for (SDNode::use_iterator I = N->use_begin(), E = N->use_end(); I != E; ++I) { in findGlueUse()
1350 static bool findNonImmUse(SDNode *Use, SDNode* Def, SDNode *ImmedUse, in findNonImmUse()
1351 SDNode *Root, SmallPtrSet<SDNode*, 16> &Visited, in findNonImmUse() argument
1374 SDNode *N = Use->getOperand(i).getNode(); in findNonImmUse()
[all …]
/external/llvm/include/llvm/CodeGen/
DSelectionDAGISel.h76 virtual SDNode *Select(SDNode *N) = 0;
91 virtual bool IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const;
97 static bool IsLegalToFold(SDValue N, SDNode *U, SDNode *Root,
191 virtual void NodeDeleted(SDNode *N, SDNode *E) { in NodeDeleted()
197 virtual void NodeUpdated(SDNode *N) {} in NodeUpdated()
216 void ReplaceUses(SDNode *F, SDNode *T) { in ReplaceUses()
248 virtual bool CheckNodePredicate(SDNode *N, unsigned PredNo) const { in CheckNodePredicate()
253 virtual bool CheckComplexPattern(SDNode *Root, SDNode *Parent, SDValue N, in CheckComplexPattern()
255 SmallVectorImpl<std::pair<SDValue, SDNode*> > &Result) { in CheckComplexPattern()
265 SDNode *SelectCodeCommon(SDNode *NodeToMatch,
[all …]
DSelectionDAGNodes.h43 class SDNode; variable
50 void checkForCycles(const SDNode *N);
66 bool isBuildVectorAllOnes(const SDNode *N);
70 bool isBuildVectorAllZeros(const SDNode *N);
75 bool isScalarToVector(const SDNode *N);
90 SDNode *Node; // The node defining the value we are using.
94 SDValue(SDNode *node, unsigned resno) : Node(node), ResNo(resno) {} in SDValue()
100 SDNode *getNode() const { return Node; } in getNode()
103 void setNode(SDNode *N) { Node = N; } in setNode()
105 inline SDNode *operator->() const { return Node; }
[all …]
DSelectionDAG.h40 template<> struct ilist_traits<SDNode> : public ilist_default_traits<SDNode> {
42 mutable ilist_half_node<SDNode> Sentinel;
44 SDNode *createSentinel() const {
45 return static_cast<SDNode*>(&Sentinel);
47 static void destroySentinel(SDNode *) {}
49 SDNode *provideInitialHead() const { return createSentinel(); }
50 SDNode *ensureHead(SDNode*) const { return createSentinel(); }
51 static void noteHead(SDNode*, SDNode*) {}
53 static void deleteNode(SDNode *) {
57 static void createNode(const SDNode &);
[all …]
/external/llvm/lib/Target/CellSPU/
DSPUNodes.td19 def SPUshufmask : SDNode<"SPUISD::SHUFFLE_MASK", SPU_GenControl, []>;
21 def callseq_start : SDNode<"ISD::CALLSEQ_START", SDT_SPUCallSeq,
23 def callseq_end : SDNode<"ISD::CALLSEQ_END", SDT_SPUCallSeq,
30 def SPUcall : SDNode<"SPUISD::CALL", SDT_SPUCall,
80 def SPUcntb : SDNode<"SPUISD::CNTB", SDTIntUnaryOp>;
84 def SPUshuffle: SDNode<"SPUISD::SHUFB", SDT_SPUshuffle, []>;
87 def SPUvec_shl: SDNode<"ISD::SHL", SPUvecshift_type, []>;
88 def SPUvec_srl: SDNode<"ISD::SRL", SPUvecshift_type, []>;
89 def SPUvec_sra: SDNode<"ISD::SRA", SPUvecshift_type, []>;
91 def SPUvec_rotl: SDNode<"SPUISD::VEC_ROTL", SPUvecshift_type, []>;
[all …]
DSPUISelDAGToDAG.cpp179 SDNode *emitBuildVector(SDNode *bvNode) { in emitBuildVector()
197 if (SDNode *N = Select(bvNode)) in emitBuildVector()
221 if (SDNode *N = SelectCode(Dummy.getValue().getNode())) in emitBuildVector()
228 SDNode *Select(SDNode *N);
231 SDNode *SelectSHLi64(SDNode *N, EVT OpVT);
234 SDNode *SelectSRLi64(SDNode *N, EVT OpVT);
237 SDNode *SelectSRAi64(SDNode *N, EVT OpVT);
240 SDNode *SelectI64Constant(SDNode *N, EVT OpVT, DebugLoc dl);
243 SDNode *SelectI64Constant(uint64_t i64const, EVT OpVT, DebugLoc dl);
246 bool SelectAFormAddr(SDNode *Op, SDValue N, SDValue &Base,
[all …]
DSPUISelLowering.h64 SDValue get_vec_u18imm(SDNode *N, SelectionDAG &DAG,
66 SDValue get_vec_i16imm(SDNode *N, SelectionDAG &DAG,
68 SDValue get_vec_i10imm(SDNode *N, SelectionDAG &DAG,
70 SDValue get_vec_i8imm(SDNode *N, SelectionDAG &DAG,
72 SDValue get_ILHUvec_imm(SDNode *N, SelectionDAG &DAG,
74 SDValue get_v4i32_imm(SDNode *N, SelectionDAG &DAG);
75 SDValue get_v2i64_imm(SDNode *N, SelectionDAG &DAG);
118 virtual void ReplaceNodeResults(SDNode *N, SmallVectorImpl<SDValue>&Results,
121 virtual SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const;
/external/llvm/lib/Target/X86/
DX86InstrFragmentsSIMD.td30 def X86fmin : SDNode<"X86ISD::FMIN", SDTFPBinOp>;
31 def X86fmax : SDNode<"X86ISD::FMAX", SDTFPBinOp>;
32 def X86fand : SDNode<"X86ISD::FAND", SDTFPBinOp,
34 def X86for : SDNode<"X86ISD::FOR", SDTFPBinOp,
36 def X86fxor : SDNode<"X86ISD::FXOR", SDTFPBinOp,
38 def X86frsqrt : SDNode<"X86ISD::FRSQRT", SDTFPUnaryOp>;
39 def X86frcp : SDNode<"X86ISD::FRCP", SDTFPUnaryOp>;
40 def X86fsrl : SDNode<"X86ISD::FSRL", SDTX86FPShiftOp>;
41 def X86fgetsign: SDNode<"X86ISD::FGETSIGNx86",SDTFPToIntOp>;
42 def X86comi : SDNode<"X86ISD::COMI", SDTX86CmpTest>;
[all …]
/external/llvm/include/llvm/Target/
DTargetSelectionDAG.td47 // SDTCisVTSmallerThanOp - The specified operand is a VT SDNode, and its type is
251 class SDNode<string opcode, SDTypeProfile typeprof,
252 list<SDNodeProperty> props = [], string sdclass = "SDNode">
266 def imm : SDNode<"ISD::Constant" , SDTIntLeaf , [], "ConstantSDNode">;
267 def timm : SDNode<"ISD::TargetConstant",SDTIntLeaf, [], "ConstantSDNode">;
268 def fpimm : SDNode<"ISD::ConstantFP", SDTFPLeaf , [], "ConstantFPSDNode">;
269 def vt : SDNode<"ISD::VALUETYPE" , SDTOther , [], "VTSDNode">;
270 def bb : SDNode<"ISD::BasicBlock", SDTOther , [], "BasicBlockSDNode">;
271 def cond : SDNode<"ISD::CONDCODE" , SDTOther , [], "CondCodeSDNode">;
272 def undef : SDNode<"ISD::UNDEF" , SDTUNDEF , []>;
[all …]
/external/llvm/lib/Target/Mips/
DMipsISelDAGToDAG.cpp83 SDNode *getGlobalBaseReg();
84 SDNode *Select(SDNode *N);
89 SDNode *SelectLoadFp64(SDNode *N);
90 SDNode *SelectStoreFp64(SDNode *N);
108 SDNode *MipsDAGToDAGISel::getGlobalBaseReg() { in getGlobalBaseReg()
187 SDNode *MipsDAGToDAGISel::SelectLoadFp64(SDNode *N) { in SelectLoadFp64()
232 SDNode *LD0 = CurDAG->getMachineNode(Mips::LWC1, dl, MVT::f32, in SelectLoadFp64()
239 SDNode *LD1 = CurDAG->getMachineNode(Mips::LWC1, dl, MVT::f32, in SelectLoadFp64()
251 SDNode *MipsDAGToDAGISel::SelectStoreFp64(SDNode *N) { in SelectStoreFp64()
313 SDNode* MipsDAGToDAGISel::Select(SDNode *Node) { in Select()
[all …]
/external/llvm/lib/Target/MSP430/
DMSP430ISelDAGToDAG.cpp118 SDNode *Select(SDNode *N);
119 SDNode *SelectIndexedLoad(SDNode *Op);
120 SDNode *SelectIndexedBinOp(SDNode *Op, SDValue N1, SDValue N2,
329 SDNode *MSP430DAGToDAGISel::SelectIndexedLoad(SDNode *N) { in SelectIndexedLoad()
353 SDNode *MSP430DAGToDAGISel::SelectIndexedBinOp(SDNode *Op, in SelectIndexedBinOp()
368 SDNode *ResNode = in SelectIndexedBinOp()
384 SDNode *MSP430DAGToDAGISel::Select(SDNode *Node) { in Select()
414 if (SDNode *ResNode = SelectIndexedLoad(Node)) in Select()
419 if (SDNode *ResNode = in Select()
424 else if (SDNode *ResNode = in Select()
[all …]
/external/llvm/lib/Target/PTX/
DPTXISelDAGToDAG.cpp34 SDNode *Select(SDNode *Node);
47 SDNode *SelectBRCOND(SDNode *Node);
67 SDNode *PTXDAGToDAGISel::Select(SDNode *Node) { in Select()
76 SDNode *PTXDAGToDAGISel::SelectBRCOND(SDNode *Node) { in SelectBRCOND()
168 SDNode *node = operand.getNode(); in SelectImm()
/external/llvm/lib/Target/Blackfin/
DBlackfinISelDAGToDAG.cpp53 SDNode *Select(SDNode *N);
77 SDNode *BlackfinDAGToDAGISel::Select(SDNode *N) { in Select()
128 SDNode *N, in UpdateNodeOperand()
133 SDNode *New = DAG.UpdateNodeOperands(N, ops.data(), ops.size()); in UpdateNodeOperand()
150 for (SDNode::use_iterator UI = NI->use_begin(); !UI.atEnd(); ++UI) { in FixRegisterClasses()
168 SDNode *Copy = in FixRegisterClasses()
/external/llvm/lib/Target/ARM/
DARMISelDAGToDAG.cpp87 SDNode *Select(SDNode *N);
90 bool hasNoVMLxHazardUse(SDNode *N) const;
125 bool SelectAddrMode2Offset(SDNode *Op, SDValue N,
129 bool SelectAddrMode3Offset(SDNode *Op, SDValue N,
133 bool SelectAddrMode6(SDNode *Parent, SDValue N, SDValue &Addr,SDValue &Align);
134 bool SelectAddrMode6Offset(SDNode *Op, SDValue N, SDValue &Offset);
161 bool SelectT2AddrModeImm8Offset(SDNode *Op, SDValue N,
188 SDNode *SelectARMIndexedLoad(SDNode *N);
189 SDNode *SelectT2IndexedLoad(SDNode *N);
195 SDNode *SelectVLD(SDNode *N, bool isUpdating, unsigned NumVecs,
[all …]
/external/llvm/lib/Target/Alpha/
DAlphaISelDAGToDAG.cpp146 SDNode *Select(SDNode *N);
185 SDNode *getGlobalBaseReg();
186 SDNode *getGlobalRetAddr();
187 void SelectCALL(SDNode *Op);
195 SDNode *AlphaDAGToDAGISel::getGlobalBaseReg() { in getGlobalBaseReg()
202 SDNode *AlphaDAGToDAGISel::getGlobalRetAddr() { in getGlobalRetAddr()
209 SDNode *AlphaDAGToDAGISel::Select(SDNode *N) { in Select()
242 SDNode *CNode = in Select()
279 SDNode *Tmp = CurDAG->getMachineNode(Alpha::LDAHr, dl, MVT::i64, CPI, in Select()
331 SDNode *cmp = CurDAG->getMachineNode(Opc, dl, MVT::f64, tmp1, tmp2); in Select()
[all …]
/external/llvm/lib/Target/MBlaze/
DMBlazeISelDAGToDAG.cpp81 SDNode *getGlobalBaseReg();
82 SDNode *Select(SDNode *N);
100 static bool isIntS32Immediate(SDNode *N, int32_t &Imm) { in isIntS32Immediate()
182 SDNode *MBlazeDAGToDAGISel::getGlobalBaseReg() { in getGlobalBaseReg()
189 SDNode* MBlazeDAGToDAGISel::Select(SDNode *Node) { in Select()
250 SDNode *ResNode = CurDAG->getMachineNode(MBlaze::BRLID, dl, MVT::Other, in Select()
262 SDNode *ResNode = SelectCode(Node); in Select()

1234