Lines Matching refs:SDValue
187 SDValue Root;
322 const SDValue &getRoot() const { return Root; }
325 SDValue getEntryNode() const {
326 return SDValue(const_cast<SDNode *>(&EntryNode), 0);
331 const SDValue &setRoot(SDValue N) {
416 SDValue getConstant(uint64_t Val, EVT VT, bool isTarget = false,
418 SDValue getConstant(const APInt &Val, EVT VT, bool isTarget = false,
420 SDValue getConstant(const ConstantInt &Val, EVT VT, bool isTarget = false,
422 SDValue getIntPtrConstant(uint64_t Val, bool isTarget = false);
423 SDValue getTargetConstant(uint64_t Val, EVT VT, bool isOpaque = false) {
426 SDValue getTargetConstant(const APInt &Val, EVT VT, bool isOpaque = false) {
429 SDValue getTargetConstant(const ConstantInt &Val, EVT VT,
435 SDValue getConstantFP(double Val, EVT VT, bool isTarget = false);
436 SDValue getConstantFP(const APFloat& Val, EVT VT, bool isTarget = false);
437 SDValue getConstantFP(const ConstantFP &CF, EVT VT, bool isTarget = false);
438 SDValue getTargetConstantFP(double Val, EVT VT) {
441 SDValue getTargetConstantFP(const APFloat& Val, EVT VT) {
444 SDValue getTargetConstantFP(const ConstantFP &Val, EVT VT) {
447 SDValue getGlobalAddress(const GlobalValue *GV, SDLoc DL, EVT VT,
450 SDValue getTargetGlobalAddress(const GlobalValue *GV, SDLoc DL, EVT VT,
455 SDValue getFrameIndex(int FI, EVT VT, bool isTarget = false);
456 SDValue getTargetFrameIndex(int FI, EVT VT) {
459 SDValue getJumpTable(int JTI, EVT VT, bool isTarget = false,
461 SDValue getTargetJumpTable(int JTI, EVT VT, unsigned char TargetFlags = 0) {
464 SDValue getConstantPool(const Constant *C, EVT VT,
467 SDValue getTargetConstantPool(const Constant *C, EVT VT,
472 SDValue getConstantPool(MachineConstantPoolValue *C, EVT VT,
475 SDValue getTargetConstantPool(MachineConstantPoolValue *C,
480 SDValue getTargetIndex(int Index, EVT VT, int64_t Offset = 0,
484 SDValue getBasicBlock(MachineBasicBlock *MBB);
485 SDValue getBasicBlock(MachineBasicBlock *MBB, SDLoc dl);
486 SDValue getExternalSymbol(const char *Sym, EVT VT);
487 SDValue getExternalSymbol(const char *Sym, SDLoc dl, EVT VT);
488 SDValue getTargetExternalSymbol(const char *Sym, EVT VT,
490 SDValue getValueType(EVT);
491 SDValue getRegister(unsigned Reg, EVT VT);
492 SDValue getRegisterMask(const uint32_t *RegMask);
493 SDValue getEHLabel(SDLoc dl, SDValue Root, MCSymbol *Label);
494 SDValue getBlockAddress(const BlockAddress *BA, EVT VT,
497 SDValue getTargetBlockAddress(const BlockAddress *BA, EVT VT,
503 SDValue getCopyToReg(SDValue Chain, SDLoc dl, unsigned Reg, SDValue N) {
511 SDValue getCopyToReg(SDValue Chain, SDLoc dl, unsigned Reg, SDValue N,
512 SDValue Glue) {
514 SDValue Ops[] = { Chain, getRegister(Reg, N.getValueType()), N, Glue };
516 ArrayRef<SDValue>(Ops, Glue.getNode() ? 4 : 3));
520 SDValue getCopyToReg(SDValue Chain, SDLoc dl, SDValue Reg, SDValue N,
521 SDValue Glue) {
523 SDValue Ops[] = { Chain, Reg, N, Glue };
525 ArrayRef<SDValue>(Ops, Glue.getNode() ? 4 : 3));
528 SDValue getCopyFromReg(SDValue Chain, SDLoc dl, unsigned Reg, EVT VT) {
530 SDValue Ops[] = { Chain, getRegister(Reg, VT) };
537 SDValue getCopyFromReg(SDValue Chain, SDLoc dl, unsigned Reg, EVT VT,
538 SDValue Glue) {
540 SDValue Ops[] = { Chain, getRegister(Reg, VT), Glue };
542 ArrayRef<SDValue>(Ops, Glue.getNode() ? 3 : 2));
545 SDValue getCondCode(ISD::CondCode Cond);
549 SDValue getConvertRndSat(EVT VT, SDLoc dl, SDValue Val, SDValue DTy,
550 SDValue STy,
551 SDValue Rnd, SDValue Sat, ISD::CvtCode Code);
556 SDValue getVectorShuffle(EVT VT, SDLoc dl, SDValue N1, SDValue N2,
558 SDValue getVectorShuffle(EVT VT, SDLoc dl, SDValue N1, SDValue N2,
569 SDValue getCommutedVectorShuffle(const ShuffleVectorSDNode &SV);
573 SDValue getAnyExtOrTrunc(SDValue Op, SDLoc DL, EVT VT);
577 SDValue getSExtOrTrunc(SDValue Op, SDLoc DL, EVT VT);
581 SDValue getZExtOrTrunc(SDValue Op, SDLoc DL, EVT VT);
585 SDValue getZeroExtendInReg(SDValue Op, SDLoc DL, EVT SrcTy);
591 SDValue getAnyExtendVectorInReg(SDValue Op, SDLoc DL, EVT VT);
597 SDValue getSignExtendVectorInReg(SDValue Op, SDLoc DL, EVT VT);
603 SDValue getZeroExtendVectorInReg(SDValue Op, SDLoc DL, EVT VT);
608 SDValue getBoolExtOrTrunc(SDValue Op, SDLoc SL, EVT VT, EVT OpVT);
611 SDValue getNOT(SDLoc DL, SDValue Val, EVT VT);
614 SDValue getLogicalNOT(SDLoc DL, SDValue Val, EVT VT);
618 SDValue getCALLSEQ_START(SDValue Chain, SDValue Op, SDLoc DL) {
620 SDValue Ops[] = { Chain, Op };
627 SDValue getCALLSEQ_END(SDValue Chain, SDValue Op1, SDValue Op2,
628 SDValue InGlue, SDLoc DL) {
630 SmallVector<SDValue, 4> Ops;
640 SDValue getUNDEF(EVT VT) {
645 SDValue getGLOBAL_OFFSET_TABLE(EVT VT) {
651 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT);
652 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N);
653 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1, SDValue N2,
655 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1, SDValue N2,
656 SDValue N3);
657 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1, SDValue N2,
658 SDValue N3, SDValue N4);
659 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1, SDValue N2,
660 SDValue N3, SDValue N4, SDValue N5);
661 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT, ArrayRef<SDUse> Ops);
662 SDValue getNode(unsigned Opcode, SDLoc DL, EVT VT,
663 ArrayRef<SDValue> Ops);
664 SDValue getNode(unsigned Opcode, SDLoc DL,
666 ArrayRef<SDValue> Ops);
667 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
668 ArrayRef<SDValue> Ops);
669 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs);
670 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs, SDValue N);
671 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
672 SDValue N1, SDValue N2);
673 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
674 SDValue N1, SDValue N2, SDValue N3);
675 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
676 SDValue N1, SDValue N2, SDValue N3, SDValue N4);
677 SDValue getNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
678 SDValue N1, SDValue N2, SDValue N3, SDValue N4,
679 SDValue N5);
684 SDValue getStackArgumentTokenFactor(SDValue Chain);
686 SDValue getMemcpy(SDValue Chain, SDLoc dl, SDValue Dst, SDValue Src,
687 SDValue Size, unsigned Align, bool isVol, bool AlwaysInline,
691 SDValue getMemmove(SDValue Chain, SDLoc dl, SDValue Dst, SDValue Src,
692 SDValue Size, unsigned Align, bool isVol, bool isTailCall,
696 SDValue getMemset(SDValue Chain, SDLoc dl, SDValue Dst, SDValue Src,
697 SDValue Size, unsigned Align, bool isVol, bool isTailCall,
703 SDValue getSetCC(SDLoc DL, EVT VT, SDValue LHS, SDValue RHS,
716 SDValue getSelect(SDLoc DL, EVT VT, SDValue Cond,
717 SDValue LHS, SDValue RHS) {
729 SDValue getSelectCC(SDLoc DL, SDValue LHS, SDValue RHS,
730 SDValue True, SDValue False, ISD::CondCode Cond) {
737 SDValue getVAArg(EVT VT, SDLoc dl, SDValue Chain, SDValue Ptr,
738 SDValue SV, unsigned Align);
744 SDValue getAtomicCmpSwap(unsigned Opcode, SDLoc dl, EVT MemVT, SDVTList VTs,
745 SDValue Chain, SDValue Ptr, SDValue Cmp, SDValue Swp,
750 SDValue getAtomicCmpSwap(unsigned Opcode, SDLoc dl, EVT MemVT, SDVTList VTs,
751 SDValue Chain, SDValue Ptr, SDValue Cmp, SDValue Swp,
759 SDValue getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, SDValue Chain,
760 SDValue Ptr, SDValue Val, const Value *PtrVal,
763 SDValue getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, SDValue Chain,
764 SDValue Ptr, SDValue Val, MachineMemOperand *MMO,
770 SDValue getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, EVT VT,
771 SDValue Chain, SDValue Ptr, MachineMemOperand *MMO,
777 SDValue getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, SDVTList VTList,
778 ArrayRef<SDValue> Ops, MachineMemOperand *MMO,
782 SDValue getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, SDVTList VTList,
783 ArrayRef<SDValue> Ops, MachineMemOperand *MMO,
790 SDValue getMemIntrinsicNode(unsigned Opcode, SDLoc dl, SDVTList VTList,
791 ArrayRef<SDValue> Ops,
797 SDValue getMemIntrinsicNode(unsigned Opcode, SDLoc dl, SDVTList VTList,
798 ArrayRef<SDValue> Ops,
802 SDValue getMergeValues(ArrayRef<SDValue> Ops, SDLoc dl);
807 SDValue getLoad(EVT VT, SDLoc dl, SDValue Chain, SDValue Ptr,
812 SDValue getLoad(EVT VT, SDLoc dl, SDValue Chain, SDValue Ptr,
814 SDValue getExtLoad(ISD::LoadExtType ExtType, SDLoc dl, EVT VT,
815 SDValue Chain, SDValue Ptr, MachinePointerInfo PtrInfo,
819 SDValue getExtLoad(ISD::LoadExtType ExtType, SDLoc dl, EVT VT,
820 SDValue Chain, SDValue Ptr, EVT MemVT,
822 SDValue getIndexedLoad(SDValue OrigLoad, SDLoc dl, SDValue Base,
823 SDValue Offset, ISD::MemIndexedMode AM);
824 SDValue getLoad(ISD::MemIndexedMode AM, ISD::LoadExtType ExtType,
826 SDValue Chain, SDValue Ptr, SDValue Offset,
831 SDValue getLoad(ISD::MemIndexedMode AM, ISD::LoadExtType ExtType,
833 SDValue Chain, SDValue Ptr, SDValue Offset,
837 SDValue getStore(SDValue Chain, SDLoc dl, SDValue Val, SDValue Ptr,
841 SDValue getStore(SDValue Chain, SDLoc dl, SDValue Val, SDValue Ptr,
843 SDValue getTruncStore(SDValue Chain, SDLoc dl, SDValue Val, SDValue Ptr,
848 SDValue getTruncStore(SDValue Chain, SDLoc dl, SDValue Val, SDValue Ptr,
850 SDValue getIndexedStore(SDValue OrigStoe, SDLoc dl, SDValue Base,
851 SDValue Offset, ISD::MemIndexedMode AM);
853 SDValue getMaskedLoad(EVT VT, SDLoc dl, SDValue Chain, SDValue Ptr,
854 SDValue Mask, SDValue Src0, EVT MemVT,
856 SDValue getMaskedStore(SDValue Chain, SDLoc dl, SDValue Val,
857 SDValue Ptr, SDValue Mask, EVT MemVT,
860 SDValue getSrcValue(const Value *v);
863 SDValue getMDNode(const MDNode *MD);
866 SDValue getAddrSpaceCast(SDLoc dl, EVT VT, SDValue Ptr,
871 SDValue getShiftAmountOperand(EVT LHSTy, SDValue Op);
879 SDNode *UpdateNodeOperands(SDNode *N, SDValue Op);
880 SDNode *UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2);
881 SDNode *UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2,
882 SDValue Op3);
883 SDNode *UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2,
884 SDValue Op3, SDValue Op4);
885 SDNode *UpdateNodeOperands(SDNode *N, SDValue Op1, SDValue Op2,
886 SDValue Op3, SDValue Op4, SDValue Op5);
887 SDNode *UpdateNodeOperands(SDNode *N, ArrayRef<SDValue> Ops);
894 SDNode *SelectNodeTo(SDNode *N, unsigned TargetOpc, EVT VT, SDValue Op1);
896 SDValue Op1, SDValue Op2);
898 SDValue Op1, SDValue Op2, SDValue Op3);
900 ArrayRef<SDValue> Ops);
903 EVT VT2, ArrayRef<SDValue> Ops);
905 EVT VT2, EVT VT3, ArrayRef<SDValue> Ops);
907 EVT VT2, EVT VT3, EVT VT4, ArrayRef<SDValue> Ops);
909 EVT VT2, SDValue Op1);
911 EVT VT2, SDValue Op1, SDValue Op2);
913 EVT VT2, SDValue Op1, SDValue Op2, SDValue Op3);
915 EVT VT2, EVT VT3, SDValue Op1, SDValue Op2, SDValue Op3);
917 ArrayRef<SDValue> Ops);
922 ArrayRef<SDValue> Ops);
932 SDValue Op1);
934 SDValue Op1, SDValue Op2);
936 SDValue Op1, SDValue Op2, SDValue Op3);
938 ArrayRef<SDValue> Ops);
941 SDValue Op1);
943 SDValue Op1, SDValue Op2);
945 SDValue Op1, SDValue Op2, SDValue Op3);
947 ArrayRef<SDValue> Ops);
949 EVT VT3, SDValue Op1, SDValue Op2);
951 EVT VT3, SDValue Op1, SDValue Op2,
952 SDValue Op3);
954 EVT VT3, ArrayRef<SDValue> Ops);
956 EVT VT3, EVT VT4, ArrayRef<SDValue> Ops);
959 ArrayRef<SDValue> Ops);
961 ArrayRef<SDValue> Ops);
964 SDValue getTargetExtractSubreg(int SRIdx, SDLoc DL, EVT VT,
965 SDValue Operand);
968 SDValue getTargetInsertSubreg(int SRIdx, SDLoc DL, EVT VT,
969 SDValue Operand, SDValue Subreg);
972 SDNode *getNodeIfExists(unsigned Opcode, SDVTList VTs, ArrayRef<SDValue> Ops,
1013 void ReplaceAllUsesWith(SDValue From, SDValue Op);
1015 void ReplaceAllUsesWith(SDNode *From, const SDValue *To);
1019 void ReplaceAllUsesOfValueWith(SDValue From, SDValue To);
1024 void ReplaceAllUsesOfValuesWith(const SDValue *From, const SDValue *To,
1090 void TransferDbgValues(SDValue From, SDValue To);
1110 SDValue CreateStackTemporary(EVT VT, unsigned minAlign = 1);
1114 SDValue CreateStackTemporary(EVT VT1, EVT VT2);
1116 SDValue FoldConstantArithmetic(unsigned Opcode, EVT VT,
1120 SDValue FoldSetCC(EVT VT, SDValue N1,
1121 SDValue N2, ISD::CondCode Cond, SDLoc dl);
1125 bool SignBitIsZero(SDValue Op, unsigned Depth = 0) const;
1130 bool MaskedValueIsZero(SDValue Op, const APInt &Mask, unsigned Depth = 0)
1137 void computeKnownBits(SDValue Op, APInt &KnownZero, APInt &KnownOne,
1147 unsigned ComputeNumSignBits(SDValue Op, unsigned Depth = 0) const;
1154 bool isBaseWithConstantOffset(SDValue Op) const;
1157 bool isKnownNeverNaN(SDValue Op) const;
1161 bool isKnownNeverZero(SDValue Op) const;
1166 bool isEqualTo(SDValue A, SDValue B) const;
1174 SDValue UnrollVectorOp(SDNode *N, unsigned ResNE = 0);
1183 unsigned InferPtrAlignment(SDValue Ptr) const;
1191 std::pair<SDValue, SDValue> SplitVector(const SDValue &N, const SDLoc &DL,
1195 std::pair<SDValue, SDValue> SplitVector(const SDValue &N, const SDLoc &DL) {
1203 std::pair<SDValue, SDValue> SplitVectorOperand(const SDNode *N, unsigned OpNo)
1210 void ExtractVectorElements(SDValue Op, SmallVectorImpl<SDValue> &Args,
1219 SDNode *FindModifiedNodeSlot(SDNode *N, SDValue Op, void *&InsertPos);
1220 SDNode *FindModifiedNodeSlot(SDNode *N, SDValue Op1, SDValue Op2,
1222 SDNode *FindModifiedNodeSlot(SDNode *N, ArrayRef<SDValue> Ops,
1232 SDValue N1, SDValue N2, bool nuw, bool nsw,