Lines Matching refs:SDNode
65 void SelectionDAG::DAGUpdateListener::NodeDeleted(SDNode*, SDNode*) {} in NodeDeleted() argument
66 void SelectionDAG::DAGUpdateListener::NodeUpdated(SDNode*) {} in NodeUpdated() argument
99 bool ISD::isBuildVectorAllOnes(const SDNode *N) { in isBuildVectorAllOnes()
147 bool ISD::isBuildVectorAllZeros(const SDNode *N) { in isBuildVectorAllZeros()
186 bool ISD::isBuildVectorOfConstantSDNodes(const SDNode *N) { in isBuildVectorOfConstantSDNodes()
201 bool ISD::isBuildVectorOfConstantFPSDNodes(const SDNode *N) { in isBuildVectorOfConstantFPSDNodes()
216 bool ISD::allOperandsUndef(const SDNode *N) { in allOperandsUndef()
392 static void AddNodeIDFlags(FoldingSetNodeID &ID, const SDNode *N) { in AddNodeIDFlags()
404 static void AddNodeIDCustom(FoldingSetNodeID &ID, const SDNode *N) { in AddNodeIDCustom()
540 static void AddNodeIDNode(FoldingSetNodeID &ID, const SDNode *N) { in AddNodeIDNode()
574 static bool doNotCSE(SDNode *N) { in doNotCSE()
600 SmallVector<SDNode*, 128> DeadNodes; in RemoveDeadNodes()
603 for (SDNode &Node : allnodes()) in RemoveDeadNodes()
615 void SelectionDAG::RemoveDeadNodes(SmallVectorImpl<SDNode *> &DeadNodes) { in RemoveDeadNodes()
620 SDNode *N = DeadNodes.pop_back_val(); in RemoveDeadNodes()
630 for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); I != E; ) { in RemoveDeadNodes()
632 SDNode *Operand = Use.getNode(); in RemoveDeadNodes()
644 void SelectionDAG::RemoveDeadNode(SDNode *N){ in RemoveDeadNode()
645 SmallVector<SDNode*, 16> DeadNodes(1, N); in RemoveDeadNode()
655 void SelectionDAG::DeleteNode(SDNode *N) { in DeleteNode()
664 void SelectionDAG::DeleteNodeNotInCSEMaps(SDNode *N) { in DeleteNodeNotInCSEMaps()
674 void SDDbgInfo::erase(const SDNode *Node) { in erase()
683 void SelectionDAG::DeallocateNode(SDNode *N) { in DeallocateNode()
700 static void VerifySDNode(SDNode *N) { in VerifySDNode()
724 for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); I != E; ++I) { in VerifySDNode()
742 void SelectionDAG::InsertNode(SDNode *N) { in InsertNode()
754 bool SelectionDAG::RemoveNodeFromCSEMaps(SDNode *N) { in RemoveNodeFromCSEMaps()
816 SelectionDAG::AddModifiedNodeToCSEMaps(SDNode *N) { in AddModifiedNodeToCSEMaps()
820 SDNode *Existing = CSEMap.GetOrInsertNode(N); in AddModifiedNodeToCSEMaps()
844 SDNode *SelectionDAG::FindModifiedNodeSlot(SDNode *N, SDValue Op, in FindModifiedNodeSlot()
853 SDNode *Node = FindNodeOrInsertPos(ID, N->getDebugLoc(), InsertPos); in FindModifiedNodeSlot()
861 SDNode *SelectionDAG::FindModifiedNodeSlot(SDNode *N, in FindModifiedNodeSlot()
871 SDNode *Node = FindNodeOrInsertPos(ID, N->getDebugLoc(), InsertPos); in FindModifiedNodeSlot()
880 SDNode *SelectionDAG::FindModifiedNodeSlot(SDNode *N, ArrayRef<SDValue> Ops, in FindModifiedNodeSlot()
888 SDNode *Node = FindNodeOrInsertPos(ID, N->getDebugLoc(), InsertPos); in FindModifiedNodeSlot()
957 SDNode *SelectionDAG::FindNodeOrInsertPos(const FoldingSetNodeID &ID, in FindNodeOrInsertPos()
959 SDNode *N = CSEMap.FindNodeOrInsertPos(ID, InsertPos); in FindNodeOrInsertPos()
972 SDNode *SelectionDAG::FindNodeOrInsertPos(const FoldingSetNodeID &ID, in FindNodeOrInsertPos()
974 SDNode *N = CSEMap.FindNodeOrInsertPos(ID, InsertPos); in FindNodeOrInsertPos()
1003 static_cast<SDNode*>(nullptr)); in clear()
1194 SDNode *N = nullptr; in getConstant()
1238 SDNode *N = nullptr; in getConstantFP()
1302 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getGlobalAddress()
1305 SDNode *N = new (NodeAllocator) GlobalAddressSDNode(Opc, DL.getIROrder(), in getGlobalAddress()
1319 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getFrameIndex()
1322 SDNode *N = new (NodeAllocator) FrameIndexSDNode(FI, VT, isTarget); in getFrameIndex()
1338 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getJumpTable()
1341 SDNode *N = new (NodeAllocator) JumpTableSDNode(JTI, VT, isTarget, in getJumpTable()
1364 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getConstantPool()
1367 SDNode *N = new (NodeAllocator) ConstantPoolSDNode(isTarget, C, VT, Offset, in getConstantPool()
1391 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getConstantPool()
1394 SDNode *N = new (NodeAllocator) ConstantPoolSDNode(isTarget, C, VT, Offset, in getConstantPool()
1409 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getTargetIndex()
1412 SDNode *N = in getTargetIndex()
1424 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getBasicBlock()
1427 SDNode *N = new (NodeAllocator) BasicBlockSDNode(MBB); in getBasicBlock()
1438 SDNode *&N = VT.isExtended() ? in getValueType()
1448 SDNode *&N = ExternalSymbols[Sym]; in getExternalSymbol()
1456 SDNode *&N = MCSymbols[Sym]; in getMCSymbol()
1466 SDNode *&N = in getTargetExternalSymbol()
1646 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) in getVectorShuffle()
1688 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) in getConvertRndSat()
1704 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getRegister()
1707 SDNode *N = new (NodeAllocator) RegisterSDNode(RegNo, VT); in getRegister()
1718 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getRegisterMask()
1721 SDNode *N = new (NodeAllocator) RegisterMaskSDNode(RegMask); in getRegisterMask()
1733 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getEHLabel()
1736 SDNode *N = new (NodeAllocator) EHLabelSDNode(dl.getIROrder(), in getEHLabel()
1756 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getBlockAddress()
1759 SDNode *N = new (NodeAllocator) BlockAddressSDNode(Opc, VT, BA, Offset, in getBlockAddress()
1775 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getSrcValue()
1778 SDNode *N = new (NodeAllocator) SrcValueSDNode(V); in getSrcValue()
1791 if (SDNode *E = FindNodeOrInsertPos(ID, IP)) in getMDNode()
1794 SDNode *N = new (NodeAllocator) MDNodeSDNode(MD); in getMDNode()
1817 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) in getAddrSpaceCast()
1820 SDNode *N = new (NodeAllocator) AddrSpaceCastSDNode(dl.getIROrder(), in getAddrSpaceCast()
1838 SDValue SelectionDAG::expandVAArg(SDNode *Node) { in expandVAArg()
1875 SDValue SelectionDAG::expandVACopy(SDNode *Node) { in expandVACopy()
2852 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
2855 SDNode *N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), in getNode()
3165 SDNode *N; in getNode()
3172 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
3239 SDNode *Cst1, SDNode *Cst2) { in FoldConstantArithmetic()
3881 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
3980 SDNode *N; in getNode()
3987 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
4027 for (SDNode::use_iterator U = getEntryNode().getNode()->use_begin(), in getStackArgumentTokenFactor()
4777 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getAtomic()
4791 SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(), in getAtomic()
4982 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getMemIntrinsicNode()
5108 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getLoad()
5112 SDNode *N = new (NodeAllocator) LoadSDNode(Ops, dl.getIROrder(), in getLoad()
5216 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getStore()
5220 SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), in getStore()
5285 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getTruncStore()
5289 SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), in getTruncStore()
5311 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) in getIndexedStore()
5314 SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), in getIndexedStore()
5340 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getMaskedLoad()
5344 SDNode *N = new (NodeAllocator) MaskedLoadSDNode(dl.getIROrder(), in getMaskedLoad()
5367 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getMaskedStore()
5371 SDNode *N = new (NodeAllocator) MaskedStoreSDNode(dl.getIROrder(), in getMaskedStore()
5393 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getMaskedGather()
5416 if (SDNode *E = FindNodeOrInsertPos(ID, dl.getDebugLoc(), IP)) { in getMaskedScatter()
5420 SDNode *N = in getMaskedScatter()
5484 SDNode *N; in getNode()
5492 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
5495 N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), in getNode()
5499 N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), in getNode()
5541 SDNode *N; in getNode()
5547 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) in getNode()
5562 N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), in getNode()
5579 N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), in getNode()
5624 return makeVTList(SDNode::getValueTypeList(VT), 1); in getVTList()
5713 SDNode *SelectionDAG::UpdateNodeOperands(SDNode *N, SDValue Op) { in UpdateNodeOperands()
5721 if (SDNode *Existing = FindModifiedNodeSlot(N, Op, InsertPos)) in UpdateNodeOperands()
5737 SDNode *SelectionDAG::UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2) { in UpdateNodeOperands()
5746 if (SDNode *Existing = FindModifiedNodeSlot(N, Op1, Op2, InsertPos)) in UpdateNodeOperands()
5765 SDNode *SelectionDAG::
5766 UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2, SDValue Op3) { in UpdateNodeOperands()
5771 SDNode *SelectionDAG::
5772 UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2, in UpdateNodeOperands()
5778 SDNode *SelectionDAG::
5779 UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2, in UpdateNodeOperands()
5785 SDNode *SelectionDAG::
5786 UpdateNodeOperands(SDNode *N, ArrayRef<SDValue> Ops) { in UpdateNodeOperands()
5797 if (SDNode *Existing = FindModifiedNodeSlot(N, Ops, InsertPos)) in UpdateNodeOperands()
5817 void SDNode::DropOperands() { in DropOperands()
5829 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5835 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5842 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5850 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5858 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5864 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5870 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5876 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5883 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5890 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5898 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5906 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5915 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5924 SDNode *SelectionDAG::SelectNodeTo(SDNode *N, unsigned MachineOpc, in SelectNodeTo()
5939 SDNode *SelectionDAG::UpdadeSDLocOnMergedSDNode(SDNode *N, SDLoc OLoc) { in UpdadeSDLocOnMergedSDNode()
5965 SDNode *SelectionDAG::MorphNodeTo(SDNode *N, unsigned Opc, in MorphNodeTo()
5973 if (SDNode *ON = FindNodeOrInsertPos(ID, N->getDebugLoc(), IP)) in MorphNodeTo()
5987 SmallPtrSet<SDNode*, 16> DeadNodeSet; in MorphNodeTo()
5988 for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); I != E; ) { in MorphNodeTo()
5990 SDNode *Used = Use.getNode(); in MorphNodeTo()
6030 SmallVector<SDNode *, 16> DeadNodes; in MorphNodeTo()
6031 for (SDNode *N : DeadNodeSet) in MorphNodeTo()
6179 if (SDNode *E = FindNodeOrInsertPos(ID, DL.getDebugLoc(), IP)) { in getMachineNode()
6212 SDNode *Subreg = getMachineNode(TargetOpcode::EXTRACT_SUBREG, DL, in getTargetExtractSubreg()
6223 SDNode *Result = getMachineNode(TargetOpcode::INSERT_SUBREG, DL, in getTargetInsertSubreg()
6230 SDNode *SelectionDAG::getNodeIfExists(unsigned Opcode, SDVTList VTList, in getNodeIfExists()
6238 if (SDNode *E = FindNodeOrInsertPos(ID, DebugLoc(), IP)) in getNodeIfExists()
6247 SDDbgValue *SelectionDAG::getDbgValue(MDNode *Var, MDNode *Expr, SDNode *N, in getDbgValue()
6281 SDNode::use_iterator &UI;
6282 SDNode::use_iterator &UE;
6284 void NodeDeleted(SDNode *N, SDNode *E) override { in NodeDeleted()
6292 SDNode::use_iterator &ui, in RAUWUpdateListener()
6293 SDNode::use_iterator &ue) in RAUWUpdateListener()
6305 SDNode *From = FromN.getNode(); in ReplaceAllUsesWith()
6317 SDNode::use_iterator UI = From->use_begin(), UE = From->use_end(); in ReplaceAllUsesWith()
6320 SDNode *User = *UI; in ReplaceAllUsesWith()
6351 void SelectionDAG::ReplaceAllUsesWith(SDNode *From, SDNode *To) { in ReplaceAllUsesWith()
6365 SDNode::use_iterator UI = From->use_begin(), UE = From->use_end(); in ReplaceAllUsesWith()
6368 SDNode *User = *UI; in ReplaceAllUsesWith()
6398 void SelectionDAG::ReplaceAllUsesWith(SDNode *From, const SDValue *To) { in ReplaceAllUsesWith()
6404 SDNode::use_iterator UI = From->use_begin(), UE = From->use_end(); in ReplaceAllUsesWith()
6407 SDNode *User = *UI; in ReplaceAllUsesWith()
6448 SDNode::use_iterator UI = From.getNode()->use_begin(), in ReplaceAllUsesOfValueWith()
6452 SDNode *User = *UI; in ReplaceAllUsesOfValueWith()
6498 SDNode *User;
6526 SDNode *FromNode = From[i].getNode(); in ReplaceAllUsesOfValuesWith()
6527 for (SDNode::use_iterator UI = FromNode->use_begin(), in ReplaceAllUsesOfValuesWith()
6544 SDNode *User = Uses[UseIndex].User; in ReplaceAllUsesOfValuesWith()
6587 SDNode *N = &*I++; in AssignTopologicalOrder()
6606 for (SDNode &Node : allnodes()) { in AssignTopologicalOrder()
6607 SDNode *N = &Node; in AssignTopologicalOrder()
6611 for (SDNode::use_iterator UI = N->use_begin(), UE = N->use_end(); in AssignTopologicalOrder()
6613 SDNode *P = *UI; in AssignTopologicalOrder()
6632 SDNode *S = &*++I; in AssignTopologicalOrder()
6660 void SelectionDAG::AddDbgValue(SDDbgValue *DB, SDNode *SD, bool isParameter) { in AddDbgValue()
6672 SDNode *FromNode = From.getNode(); in TransferDbgValues()
6673 SDNode *ToNode = To.getNode(); in TransferDbgValues()
6723 : SDNode(Opc, Order, DL, getSDVTList(VT)), Offset(o), TargetFlags(TF) { in GlobalAddressSDNode()
6735 : SDNode(Opc, Order, dl, VTs), MemoryVT(memvt), MMO(mmo) { in MemSDNode()
6749 : SDNode(Opc, Order, dl, VTs, Ops), in MemSDNode()
6759 void SDNode::Profile(FoldingSetNodeID &ID) const { in Profile()
6781 const EVT *SDNode::getValueTypeList(EVT VT) { in getValueTypeList()
6795 bool SDNode::hasNUsesOfValue(unsigned NUses, unsigned Value) const { in hasNUsesOfValue()
6799 for (SDNode::use_iterator UI = use_begin(), E = use_end(); UI != E; ++UI) { in hasNUsesOfValue()
6814 bool SDNode::hasAnyUseOfValue(unsigned Value) const { in hasAnyUseOfValue()
6817 for (SDNode::use_iterator UI = use_begin(), E = use_end(); UI != E; ++UI) in hasAnyUseOfValue()
6827 bool SDNode::isOnlyUserOf(const SDNode *N) const { in isOnlyUserOf()
6829 for (SDNode::use_iterator I = N->use_begin(), E = N->use_end(); I != E; ++I) { in isOnlyUserOf()
6830 SDNode *User = *I; in isOnlyUserOf()
6842 bool SDValue::isOperandOf(const SDNode *N) const { in isOperandOf()
6849 bool SDNode::isOperandOf(const SDNode *N) const { in isOperandOf()
6890 bool SDNode::hasPredecessor(const SDNode *N) const { in hasPredecessor()
6891 SmallPtrSet<const SDNode *, 32> Visited; in hasPredecessor()
6892 SmallVector<const SDNode *, 16> Worklist; in hasPredecessor()
6897 SDNode::hasPredecessorHelper(const SDNode *N, in hasPredecessorHelper()
6898 SmallPtrSetImpl<const SDNode *> &Visited, in hasPredecessorHelper()
6899 SmallVectorImpl<const SDNode *> &Worklist) const { in hasPredecessorHelper()
6911 const SDNode *M = Worklist.pop_back_val(); in hasPredecessorHelper()
6913 SDNode *Op = OpV.getNode(); in hasPredecessorHelper()
6924 uint64_t SDNode::getConstantOperandVal(unsigned Num) const { in getConstantOperandVal()
6929 const SDNodeFlags *SDNode::getFlags() const { in getFlags()
6935 SDValue SelectionDAG::UnrollVectorOp(SDNode *N, unsigned ResNE) { in UnrollVectorOp()
7310 static void checkForCyclesHelper(const SDNode *N, in checkForCyclesHelper()
7311 SmallPtrSetImpl<const SDNode*> &Visited, in checkForCyclesHelper()
7312 SmallPtrSetImpl<const SDNode*> &Checked, in checkForCyclesHelper()
7335 void llvm::checkForCycles(const llvm::SDNode *N, in checkForCycles()
7345 SmallPtrSet<const SDNode*, 32> visited; in checkForCycles()
7346 SmallPtrSet<const SDNode*, 32> checked; in checkForCycles()