|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/CodeGen/Analysis.h 36 class SelectionDAG;
include/llvm/CodeGen/FunctionLoweringInfo.h 46 class SelectionDAG;
include/llvm/CodeGen/SelectionDAG.h 76 class SelectionDAG;
include/llvm/CodeGen/SelectionDAGAddressAnalysis.h 17 class SelectionDAG;
include/llvm/CodeGen/SelectionDAGNodes.h 66 class SelectionDAG;
include/llvm/CodeGen/SelectionDAGTargetInfo.h 25 class SelectionDAG;
include/llvm/CodeGen/TargetInstrInfo.h 56 class SelectionDAG;
lib/Target/ARM/ARMISelLowering.h 46 class SelectionDAG;
lib/Target/Mips/MipsSEISelLowering.h 26 class SelectionDAG;
References
include/llvm/CodeGen/FunctionLoweringInfo.h 189 void set(const Function &Fn, MachineFunction &MF, SelectionDAG *DAG);
include/llvm/CodeGen/SelectionDAG.h 208 void checkForCycles(const SelectionDAG *DAG, bool force = false);
291 SelectionDAG &DAG;
293 explicit DAGUpdateListener(SelectionDAG &D)
318 DAGNodeDeletedListener(SelectionDAG &DAG,
397 SelectionDAG(const SelectionDAG &) = delete;
398 SelectionDAG &operator=(const SelectionDAG &) = delete;
398 SelectionDAG &operator=(const SelectionDAG &) = delete;
1757 using nodes_iterator = pointer_iterator<SelectionDAG::allnodes_iterator>;
include/llvm/CodeGen/SelectionDAGAddressAnalysis.h 57 bool equalBaseIndex(const BaseIndexOffset &Other, const SelectionDAG &DAG,
61 const SelectionDAG &DAG) const {
68 bool contains(const SelectionDAG &DAG, int64_t BitSize,
72 bool contains(const SelectionDAG &DAG, int64_t BitSize,
84 const SelectionDAG &DAG, bool &IsAlias);
87 static BaseIndexOffset match(const SDNode *N, const SelectionDAG &DAG);
include/llvm/CodeGen/SelectionDAGISel.h 53 SelectionDAG *CurDAG;
include/llvm/CodeGen/SelectionDAGNodes.h 70 void checkForCycles(const SDNode *N, const SelectionDAG *DAG = nullptr,
194 inline void dump(const SelectionDAG *G) const;
196 inline void dumpr(const SelectionDAG *G) const;
1035 std::string getOperationName(const SelectionDAG *G = nullptr) const;
1037 void print_types(raw_ostream &OS, const SelectionDAG *G) const;
1038 void print_details(raw_ostream &OS, const SelectionDAG *G) const;
1039 void print(raw_ostream &OS, const SelectionDAG *G = nullptr) const;
1040 void printr(raw_ostream &OS, const SelectionDAG *G = nullptr) const;
1048 void printrFull(raw_ostream &O, const SelectionDAG *G = nullptr) const;
1056 void printrWithDepth(raw_ostream &O, const SelectionDAG *G = nullptr,
1068 void dump(const SelectionDAG *G) const;
1073 void dumpr(const SelectionDAG *G) const;
1079 void dumprFull(const SelectionDAG *G = nullptr) const;
1086 void dumprWithDepth(const SelectionDAG *G = nullptr,
1218 inline void SDValue::dump(const SelectionDAG *G) const {
1226 inline void SDValue::dumpr(const SelectionDAG *G) const {
include/llvm/CodeGen/SelectionDAGTargetInfo.h 51 virtual SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
68 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1,
80 virtual SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl,
93 EmitTargetCodeForMemcmp(SelectionDAG &DAG, const SDLoc &dl, SDValue Chain,
105 EmitTargetCodeForMemchr(SelectionDAG &DAG, const SDLoc &dl, SDValue Chain,
118 EmitTargetCodeForStrcpy(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
130 EmitTargetCodeForStrcmp(SelectionDAG &DAG, const SDLoc &dl, SDValue Chain,
138 EmitTargetCodeForStrlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
144 EmitTargetCodeForStrnlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
150 virtual SDValue EmitTargetCodeForSetTag(SelectionDAG &DAG, const SDLoc &dl,
include/llvm/CodeGen/TargetInstrInfo.h 1173 virtual bool unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
include/llvm/CodeGen/TargetLowering.h 341 virtual bool isFsqrtCheap(SDValue X, SelectionDAG &DAG) const {
407 const SelectionDAG &DAG,
430 const SelectionDAG &DAG,
454 const SelectionDAG &DAG) const {
592 SelectionDAG &DAG) const {
733 virtual bool shouldExpandShift(SelectionDAG &DAG, SDNode *N) const {
2972 SelectionDAG &/*DAG*/) const {
2983 SelectionDAG &/*DAG*/) const {
3008 SelectionDAG &DAG) const;
3020 bool isInTailCallPosition(SelectionDAG &DAG, SDNode *Node,
3023 void softenSetCCOperands(SelectionDAG &DAG, EVT VT, SDValue &NewLHS,
3030 std::pair<SDValue, SDValue> makeLibCall(SelectionDAG &DAG, RTLIB::Libcall LC,
3051 SelectionDAG &DAG;
3057 explicit TargetLoweringOpt(SelectionDAG &InDAG,
3141 SelectionDAG &DAG,
3176 const SelectionDAG &DAG,
3194 const SelectionDAG &DAG,
3203 const SelectionDAG &DAG,
3232 SelectionDAG &DAG, unsigned Depth) const;
3240 SelectionDAG &DAG) const;
3250 const SelectionDAG &DAG,
3259 SelectionDAG &DAG;
3261 DAGCombinerInfo(SelectionDAG &dag, CombineLevel level, bool cl, void *dc)
3405 virtual char isNegatibleForFree(SDValue Op, SelectionDAG &DAG,
3410 virtual SDValue getNegatedExpression(SDValue Op, SelectionDAG &DAG,
3426 SelectionDAG & /*DAG*/, SmallVectorImpl<SDValue> & /*InVals*/) const {
3457 SelectionDAG &DAG;
3465 CallLoweringInfo(SelectionDAG &DAG)
3670 SelectionDAG & /*DAG*/) const {
3748 SelectionDAG &DAG) const {
3793 SelectionDAG &DAG) const;
3800 virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const;
3813 SelectionDAG &/*DAG*/) const {
3828 SelectionDAG &DAG) const;
3925 SelectionDAG *DAG = nullptr) const;
3960 SelectionDAG &DAG) const;
3966 SelectionDAG &DAG) const;
3971 SDValue BuildSDIV(SDNode *N, SelectionDAG &DAG, bool IsAfterLegalization,
3973 SDValue BuildUDIV(SDNode *N, SelectionDAG &DAG, bool IsAfterLegalization,
3981 SelectionDAG &DAG,
4010 virtual SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG,
4026 virtual SDValue getRecipEstimate(SDValue Operand, SelectionDAG &DAG,
4047 SelectionDAG &DAG, MulExpansionKind Kind,
4061 SelectionDAG &DAG, MulExpansionKind Kind,
4069 bool expandFunnelShift(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4075 bool expandROT(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4081 bool expandFP_TO_SINT(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4087 bool expandFP_TO_UINT(SDNode *N, SDValue &Result, SDValue &Chain, SelectionDAG &DAG) const;
4093 bool expandUINT_TO_FP(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4096 SDValue expandFMINNUM_FMAXNUM(SDNode *N, SelectionDAG &DAG) const;
4103 bool expandCTPOP(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4110 bool expandCTLZ(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4117 bool expandCTTZ(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4125 bool expandABS(SDNode *N, SDValue &Result, SelectionDAG &DAG) const;
4130 SDValue scalarizeVectorLoad(LoadSDNode *LD, SelectionDAG &DAG) const;
4135 SDValue scalarizeVectorStore(StoreSDNode *ST, SelectionDAG &DAG) const;
4140 SelectionDAG &DAG) const;
4144 SDValue expandUnalignedStore(StoreSDNode *ST, SelectionDAG &DAG) const;
4154 EVT DataVT, SelectionDAG &DAG,
4161 SDValue getVectorElementPointer(SelectionDAG &DAG, SDValue VecPtr, EVT VecVT,
4166 SDValue expandAddSubSat(SDNode *Node, SelectionDAG &DAG) const;
4170 SDValue expandFixedPointMul(SDNode *Node, SelectionDAG &DAG) const;
4175 SelectionDAG &DAG) const;
4180 SelectionDAG &DAG) const;
4185 SelectionDAG &DAG) const;
4189 SDValue expandVecReduce(SDNode *Node, SelectionDAG &DAG) const;
4219 virtual SDValue emitStackGuardXorFP(SelectionDAG &DAG, SDValue Val,
4226 SelectionDAG &DAG) const;
4231 SelectionDAG &DAG) const {
4239 SDValue lowerCmpEqZeroToCtlzSrl(SDValue Op, SelectionDAG &DAG) const;
lib/CodeGen/SelectionDAG/DAGCombiner.cpp 130 SelectionDAG &DAG;
217 DAGCombiner(SelectionDAG &D, AliasAnalysis *AA, CodeGenOpt::Level OL)
625 bool BackwardsPropagateMask(SDNode *N, SelectionDAG &DAG);
687 SelectionDAG &getDAG() const { return DAG; }
715 class WorklistRemover : public SelectionDAG::DAGUpdateListener {
727 class WorklistInserter : public SelectionDAG::DAGUpdateListener {
1994 static SDValue foldAddSubBoolOfMaskedVal(SDNode *N, SelectionDAG &DAG) {
2035 static SDValue foldAddSubOfSignBit(SDNode *N, SelectionDAG &DAG) {
2352 if (DAG.computeOverflowKind(N0, N1) == SelectionDAG::OFK_Never)
2404 SelectionDAG &DAG, const SDLoc &DL) {
2520 if (DAG.computeOverflowKind(N0, N1) == SelectionDAG::OFK_Never)
2528 SelectionDAG &DAG, const TargetLowering &TLI) {
2552 static SDValue extractBooleanFlip(SDValue V, SelectionDAG &DAG,
2612 if (DAG.computeOverflowKind(N0, N1) == SelectionDAG::OFK_Never)
2644 if (DAG.computeOverflowKind(Y, One) == SelectionDAG::OFK_Never)
2738 static SDValue combineADDCARRYDiamond(DAGCombiner &Combiner, SelectionDAG &DAG,
2845 SelectionDAG &DAG, bool LegalOperations) {
3577 static SDValue simplifyDivRem(SDNode *N, SelectionDAG &DAG) {
4859 bool DAGCombiner::BackwardsPropagateMask(SDNode *N, SelectionDAG &DAG) {
4984 static SDValue combineShiftAnd1ToBitTest(SDNode *And, SelectionDAG &DAG) {
5657 SelectionDAG &DAG, SDValue N0, SDValue N1, SDNode *N) {
5845 static SDValue stripConstantMask(SelectionDAG &DAG, SDValue Op, SDValue &Mask) {
5855 static bool matchRotateHalf(SelectionDAG &DAG, SDValue Op, SDValue &Shift,
5889 static SDValue extractShiftForRotate(SelectionDAG &DAG, SDValue OppShift,
6005 SelectionDAG &DAG) {
7061 static SDValue combineShiftOfShiftedLogic(SDNode *Shift, SelectionDAG &DAG) {
8119 static bool isLegalToCombineMinNumMaxNum(SelectionDAG &DAG, SDValue LHS,
8134 SelectionDAG &DAG) {
8180 static SDValue foldSelectOfConstantsUsingSra(SDNode *N, SelectionDAG &DAG) {
8512 static SDValue ConvertSelectToConcatVector(SDNode *N, SelectionDAG &DAG) {
8887 SelectionDAG &DAG, bool LegalTypes) {
9279 static SDValue tryToFoldExtOfExtload(SelectionDAG &DAG, DAGCombiner &Combiner,
9310 static SDValue tryToFoldExtOfLoad(SelectionDAG &DAG, DAGCombiner &Combiner,
9350 static SDValue tryToFoldExtOfMaskedLoad(SelectionDAG &DAG,
9379 static SDValue foldExtendedSignBitTest(SDNode *N, SelectionDAG &DAG,
9647 static bool isTruncateOf(SelectionDAG &DAG, SDValue N, SDValue &Op,
9679 static SDValue widenCtPop(SDNode *Extend, SelectionDAG &DAG) {
10891 static unsigned getPPCf128HiElementSelector(const SelectionDAG &DAG) {
10897 static SDValue foldBitcastedFPLogic(SDNode *N, SelectionDAG &DAG,
12788 static SDValue foldFPToIntToFP(SDNode *N, SelectionDAG &DAG,
12931 static SDValue FoldIntToFPToInt(SDNode *N, SelectionDAG &DAG) {
13215 static SDValue visitFMinMax(SelectionDAG &DAG, SDNode *N,
13452 SelectionDAG &DAG,
14260 SelectionDAG *DAG;
14263 unsigned Shift = 0, SelectionDAG *DAG = nullptr)
14779 SelectionDAG &DAG = DC->getDAG();
16761 static SDValue scalarizeExtractedBinop(SDNode *ExtElt, SelectionDAG &DAG,
17282 static SDValue reduceBuildVecToShuffleWithZero(SDNode *BV, SelectionDAG &DAG) {
17705 static SDValue combineConcatVectorOfScalars(SDNode *N, SelectionDAG &DAG) {
17770 static SDValue combineConcatVectorOfExtracts(SDNode *N, SelectionDAG &DAG) {
18035 SelectionDAG &DAG) {
18070 static SDValue narrowExtractedVectorBinOp(SDNode *Extract, SelectionDAG &DAG) {
18189 static SDValue narrowExtractedVectorLoad(SDNode *Extract, SelectionDAG &DAG) {
18366 SelectionDAG &DAG) {
18410 static SDValue partitionShuffleOfConcats(SDNode *N, SelectionDAG &DAG) {
18490 SelectionDAG &DAG,
18571 SelectionDAG &DAG,
18628 SelectionDAG &DAG) {
18689 SelectionDAG &DAG) {
18767 SelectionDAG &DAG) {
19534 static SDValue scalarizeBinOpOfSplats(SDNode *N, SelectionDAG &DAG) {
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp 82 SelectionDAG *DAG) {
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp 88 SelectionDAG &DAG;
104 SelectionDAGLegalize(SelectionDAG &DAG,
1803 ExpandBVWithShuffles(SDNode *Node, SelectionDAG &DAG,
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp 371 SelectionDAG &DAG) {
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp 576 class NodeUpdateListener : public SelectionDAG::DAGUpdateListener {
lib/CodeGen/SelectionDAG/LegalizeTypes.h 33 SelectionDAG &DAG;
162 explicit DAGTypeLegalizer(SelectionDAG &dag)
196 SelectionDAG &getDAG() const { return DAG; }
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp 57 SelectionDAG& DAG;
169 VectorLegalizer(SelectionDAG& dag) :
181 for (SelectionDAG::allnodes_iterator I = DAG.allnodes_begin(),
205 for (SelectionDAG::allnodes_iterator I = DAG.allnodes_begin(),
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp 2940 static SDValue CollectOpsToWiden(SelectionDAG &DAG, const TargetLowering &TLI,
4669 static EVT FindMemType(SelectionDAG& DAG, const TargetLowering &TLI,
4730 static SDValue BuildVectorFromScalar(SelectionDAG& DAG, EVT VecTy,
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp 54 void ScheduleDAGSDNodes::Run(SelectionDAG *dag, MachineBasicBlock *bb) {
140 static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs,
161 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) {
186 static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) {
732 ProcessSDDbgValues(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter,
760 ProcessSourceNode(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter,
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h 49 SelectionDAG *DAG; // DAG of the current basic block
61 void Run(SelectionDAG *dag, MachineBasicBlock *bb);
lib/CodeGen/SelectionDAG/SelectionDAG.cpp 102 static void NewSDValueDbgMsg(SDValue V, StringRef Msg, SelectionDAG *G) {
125 (void) Val2.convert(SelectionDAG::EVTToAPFloatSemantics(VT),
3330 SelectionDAG::OverflowKind SelectionDAG::computeOverflowKind(SDValue N0,
4153 SelectionDAG &DAG) {
4187 SelectionDAG &DAG) {
5627 static SDValue getMemsetValue(SDValue Value, EVT VT, SelectionDAG &DAG,
5669 static SDValue getMemsetStringVal(EVT VT, const SDLoc &dl, SelectionDAG &DAG,
5744 static void chainLoadsAndStoresForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
5769 static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
5954 static SDValue getMemmoveLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
6064 static SDValue getMemsetStores(SelectionDAG &DAG, const SDLoc &dl,
6659 SelectionDAG &DAG, SDValue Ptr,
6683 SelectionDAG &DAG, SDValue Ptr,
8136 class RAUWUpdateListener : public SelectionDAG::DAGUpdateListener {
8147 RAUWUpdateListener(SelectionDAG &d,
9601 const llvm::SelectionDAG *DAG) {
9624 const llvm::SelectionDAG *DAG,
9640 void llvm::checkForCycles(const llvm::SelectionDAG *DAG, bool force) {
lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp 23 const SelectionDAG &DAG,
89 const SelectionDAG &DAG, bool &IsAlias) {
146 bool BaseIndexOffset::contains(const SelectionDAG &DAG, int64_t BitSize,
168 const SelectionDAG &DAG) {
271 const SelectionDAG &DAG) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 190 static SDValue getCopyFromPartsVector(SelectionDAG &DAG, const SDLoc &DL,
200 static SDValue getCopyFromParts(SelectionDAG &DAG, const SDLoc &DL,
357 static SDValue getCopyFromPartsVector(SelectionDAG &DAG, const SDLoc &DL,
490 static void getCopyToPartsVector(SelectionDAG &DAG, const SDLoc &dl,
498 static void getCopyToParts(SelectionDAG &DAG, const SDLoc &DL, SDValue Val,
630 static SDValue widenVectorToPartType(SelectionDAG &DAG,
658 static void getCopyToPartsVector(SelectionDAG &DAG, const SDLoc &DL,
799 SDValue RegsForValue::getCopyFromRegs(SelectionDAG &DAG,
886 void RegsForValue::getCopyToRegs(SDValue Val, SelectionDAG &DAG,
944 SelectionDAG &DAG,
2474 static SDValue getLoadStackGuard(SelectionDAG &DAG, const SDLoc &DL,
4334 SelectionDAG& DAG = SDB->DAG;
4864 static SDValue GetSignificand(SelectionDAG &DAG, SDValue Op, const SDLoc &dl) {
4877 static SDValue GetExponent(SelectionDAG &DAG, SDValue Op,
4890 static SDValue getF32Constant(SelectionDAG &DAG, unsigned Flt,
4897 SelectionDAG &DAG) {
4988 static SDValue expandExp(const SDLoc &dl, SDValue Op, SelectionDAG &DAG,
5010 static SDValue expandLog(const SDLoc &dl, SDValue Op, SelectionDAG &DAG,
5109 static SDValue expandLog2(const SDLoc &dl, SDValue Op, SelectionDAG &DAG,
5206 static SDValue expandLog10(const SDLoc &dl, SDValue Op, SelectionDAG &DAG,
5296 static SDValue expandExp2(const SDLoc &dl, SDValue Op, SelectionDAG &DAG,
5309 SelectionDAG &DAG, const TargetLowering &TLI) {
5337 SelectionDAG &DAG) {
7808 SelectionDAG &DAG) {
7837 SelectionDAG &DAG) {
7881 static void GetRegistersForValue(SelectionDAG &DAG, const SDLoc &DL,
8576 SDValue SelectionDAGBuilder::lowerRangeToAssertZExt(SelectionDAG &DAG,
9359 SelectionDAG &DAG) const {
9364 SDValue TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
9581 SelectionDAG &DAG = SDB->DAG;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h 378 SelectionDAG &DAG;
426 SelectionDAGBuilder(SelectionDAG &dag, FunctionLoweringInfo &funcinfo,
545 SDValue lowerRangeToAssertZExt(SelectionDAG &DAG, const Instruction &I,
602 explicit StatepointLoweringInfo(SelectionDAG &DAG) : CLI(DAG) {}
861 SDValue getCopyFromRegs(SelectionDAG &DAG, FunctionLoweringInfo &FuncInfo,
870 void getCopyToRegs(SDValue Val, SelectionDAG &DAG, const SDLoc &dl,
879 SelectionDAG &DAG, std::vector<SDValue> &Ops) const;
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp 59 std::string SDNode::getOperationName(const SelectionDAG *G) const {
478 const SelectionDAG *G) {
494 LLVM_DUMP_METHOD void SDNode::dump(const SelectionDAG *G) const {
500 void SDNode::print_types(raw_ostream &OS, const SelectionDAG *G) const {
510 void SDNode::print_details(raw_ostream &OS, const SelectionDAG *G) const {
792 static bool shouldPrintInline(const SDNode &Node, const SelectionDAG *G) {
803 static void DumpNodes(const SDNode *N, unsigned indent, const SelectionDAG *G) {
843 void SDNode::printr(raw_ostream &OS, const SelectionDAG *G) const {
850 static bool printOperand(raw_ostream &OS, const SelectionDAG *G,
872 const SelectionDAG *G, VisitedSDNodeSet &once) {
903 LLVM_DUMP_METHOD void SDNode::dumpr(const SelectionDAG *G) const {
910 const SelectionDAG *G, unsigned depth,
931 void SDNode::printrWithDepth(raw_ostream &OS, const SelectionDAG *G,
936 void SDNode::printrFull(raw_ostream &OS, const SelectionDAG *G) const {
943 void SDNode::dumprWithDepth(const SelectionDAG *G, unsigned depth) const {
947 LLVM_DUMP_METHOD void SDNode::dumprFull(const SelectionDAG *G) const {
953 void SDNode::print(raw_ostream &OS, const SelectionDAG *G) const {
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 313 CurDAG(new SelectionDAG(tm, OL)),
1024 class ISelUpdater : public SelectionDAG::DAGUpdateListener {
1025 SelectionDAG::allnodes_iterator &ISelPosition;
1028 ISelUpdater(SelectionDAG &DAG, SelectionDAG::allnodes_iterator &isp)
1028 ISelUpdater(SelectionDAG &DAG, SelectionDAG::allnodes_iterator &isp)
1110 SelectionDAG::allnodes_iterator ISelPosition (CurDAG->getRoot().getNode());
2313 SelectionDAG::DAGNodeDeletedListener NDL(
2342 SelectionDAG *CurDAG) {
2708 class MatchStateUpdater : public SelectionDAG::DAGUpdateListener
2715 MatchStateUpdater(SelectionDAG &DAG, SDNode **NodeToMatch,
3455 SelectionDAG::DAGNodeDeletedListener NDL(*CurDAG, [&](SDNode *N,
lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp 72 static std::string getGraphName(const SelectionDAG *G) {
81 const SelectionDAG *Graph) {
96 const SelectionDAG *Graph) {
108 const SelectionDAG *G) {
116 std::string getNodeLabel(const SDNode *Node, const SelectionDAG *Graph);
118 const SelectionDAG *Graph) {
131 static void addCustomGraphFeatures(SelectionDAG *G,
132 GraphWriter<SelectionDAG*> &GW) {
142 const SelectionDAG *G) {
143 return DOTGraphTraits<SelectionDAG*>::getSimpleNodeLabel(Node, G);
283 O << DOTGraphTraits<SelectionDAG*>
lib/CodeGen/SelectionDAG/TargetLowering.cpp 51 bool TargetLowering::isInTailCallPosition(SelectionDAG &DAG, SDNode *Node,
122 TargetLowering::makeLibCall(SelectionDAG &DAG, RTLIB::Libcall LC, EVT RetVT,
275 void TargetLowering::softenSetCCOperands(SelectionDAG &DAG, EVT VT,
423 SelectionDAG &DAG) const {
518 SelectionDAG &DAG = TLO.DAG;
556 SelectionDAG &DAG = DCI.DAG;
586 SelectionDAG &DAG, unsigned Depth) const {
588 if (Depth >= SelectionDAG::MaxRecursionDepth)
801 } else if (Depth >= SelectionDAG::MaxRecursionDepth) {
2021 SelectionDAG &DAG = DCI.DAG;
2037 static APInt getKnownUndefForVectorBinop(SDValue BO, SelectionDAG &DAG,
2113 if (Depth >= SelectionDAG::MaxRecursionDepth)
2580 const SelectionDAG &DAG,
2601 const SelectionDAG &DAG,
2615 const SelectionDAG &,
2653 SelectionDAG &DAG, unsigned Depth) const {
2667 SelectionDAG &DAG) const {
2686 const SelectionDAG &DAG,
2804 SelectionDAG &DAG = DCI.DAG;
2916 SelectionDAG &DAG = DCI.DAG;
2947 SelectionDAG &DAG = DCI.DAG;
3019 SelectionDAG &DAG = DCI.DAG;
3054 SelectionDAG &DAG = DCI.DAG;
4030 SelectionDAG &DAG) const {
4039 SelectionDAG &DAG) const {
4475 SDValue Op, SelectionDAG *DAG) {
4526 SelectionDAG *DAG) const {
4563 const SDLoc &dl, SelectionDAG &DAG,
4622 SelectionDAG &DAG,
4635 SDValue TargetLowering::BuildSDIV(SDNode *N, SelectionDAG &DAG,
4744 SDValue TargetLowering::BuildUDIV(SDNode *N, SelectionDAG &DAG,
4935 SelectionDAG &DAG = DCI.DAG;
5108 SelectionDAG &DAG = DCI.DAG;
5332 verifyReturnAddressArgumentIsConstant(SDValue Op, SelectionDAG &DAG) const {
5342 char TargetLowering::isNegatibleForFree(SDValue Op, SelectionDAG &DAG,
5358 if (Depth > SelectionDAG::MaxRecursionDepth)
5458 SDValue TargetLowering::getNegatedExpression(SDValue Op, SelectionDAG &DAG,
5589 EVT HiLoVT, SelectionDAG &DAG,
5770 SelectionDAG &DAG, MulExpansionKind Kind,
5786 SelectionDAG &DAG) const {
5835 SelectionDAG &DAG) const {
5879 SelectionDAG &DAG) const {
5951 SelectionDAG &DAG) const {
6035 SelectionDAG &DAG) const {
6120 SelectionDAG &DAG) const {
6160 SelectionDAG &DAG) const {
6220 SelectionDAG &DAG) const {
6273 SelectionDAG &DAG) const {
6328 SelectionDAG &DAG) const {
6349 SelectionDAG &DAG) const {
6387 SelectionDAG &DAG) const {
6461 TargetLowering::expandUnalignedLoad(LoadSDNode *LD, SelectionDAG &DAG) const {
6616 SelectionDAG &DAG) const {
6744 SelectionDAG &DAG,
6773 static SDValue clampDynamicVectorIndex(SelectionDAG &DAG,
6793 SDValue TargetLowering::getVectorElementPointer(SelectionDAG &DAG,
6821 SelectionDAG &DAG) const {
6858 SelectionDAG &DAG) const {
6882 SDValue TargetLowering::expandAddSubSat(SDNode *Node, SelectionDAG &DAG) const {
6963 TargetLowering::expandFixedPointMul(SDNode *Node, SelectionDAG &DAG) const {
7103 SDNode *Node, SDValue &Result, SDValue &Overflow, SelectionDAG &DAG) const {
7132 SDNode *Node, SDValue &Result, SDValue &Overflow, SelectionDAG &DAG) const {
7172 SDValue &Overflow, SelectionDAG &DAG) const {
7315 SDValue TargetLowering::expandVecReduce(SDNode *Node, SelectionDAG &DAG) const {
lib/Target/AArch64/AArch64ISelDAGToDAG.cpp 635 static SDValue narrowIfNeeded(SelectionDAG *CurDAG, SDValue N) {
872 static SDValue Widen(SelectionDAG *CurDAG, SDValue N) {
1346 SelectionDAG &DAG;
1349 WidenVector(SelectionDAG &DAG) : DAG(DAG) {}
1367 static SDValue NarrowVector(SDValue V128Reg, SelectionDAG &DAG) {
1534 static bool isBitfieldExtractOpFromAnd(SelectionDAG *CurDAG, SDNode *N,
1796 static bool isBitfieldExtractOp(SelectionDAG *CurDAG, SDNode *N, unsigned &Opc,
2077 if (Depth >= SelectionDAG::MaxRecursionDepth)
2103 static SDValue getLeftShift(SelectionDAG *CurDAG, SDValue Op, int ShlAmount) {
2133 static bool isBitfieldPositioningOp(SelectionDAG *CurDAG, SDValue Op,
2193 static bool tryBitfieldInsertOpFromOrAndImm(SDNode *N, SelectionDAG *CurDAG) {
2282 SelectionDAG *CurDAG) {
lib/Target/AArch64/AArch64ISelLowering.cpp 1054 const APInt &DemandedElts, const SelectionDAG &DAG, unsigned Depth) const {
1603 const SDLoc &dl, SelectionDAG &DAG) {
1704 const SDLoc &DL, SelectionDAG &DAG) {
1810 static SDValue emitConjunctionRec(SelectionDAG &DAG, SDValue Val,
1922 static SDValue emitConjunction(SelectionDAG &DAG, SDValue Val,
1971 SDValue &AArch64cc, SelectionDAG &DAG,
2102 getAArch64XALUOOp(AArch64CC::CondCode &CC, SDValue Op, SelectionDAG &DAG) {
2216 SDValue AArch64TargetLowering::LowerF128Call(SDValue Op, SelectionDAG &DAG,
2232 static SDValue LowerXOR(SDValue Op, SelectionDAG &DAG) {
2312 static SDValue LowerADDC_ADDE_SUBC_SUBE(SDValue Op, SelectionDAG &DAG) {
2348 static SDValue LowerXALUO(SDValue Op, SelectionDAG &DAG) {
2379 static SDValue LowerPREFETCH(SDValue Op, SelectionDAG &DAG) {
2406 SelectionDAG &DAG) const {
2416 SelectionDAG &DAG) const {
2435 SelectionDAG &DAG) const {
2475 SelectionDAG &DAG) const {
2504 static SDValue LowerVectorINT_TO_FP(SDValue Op, SelectionDAG &DAG) {
2533 SelectionDAG &DAG) const {
2566 SelectionDAG &DAG) const {
2599 static SDValue LowerBITCAST(SDValue Op, SelectionDAG &DAG) {
2631 static SDValue addRequiredExtensionForVectorMULL(SDValue N, SelectionDAG &DAG,
2648 static bool isExtendedBUILD_VECTOR(SDNode *N, SelectionDAG &DAG,
2674 static SDValue skipExtensionForVectorMULL(SDNode *N, SelectionDAG &DAG) {
2698 static bool isSignExtended(SDNode *N, SelectionDAG &DAG) {
2703 static bool isZeroExtended(SDNode *N, SelectionDAG &DAG) {
2708 static bool isAddSubSExt(SDNode *N, SelectionDAG &DAG) {
2719 static bool isAddSubZExt(SDNode *N, SelectionDAG &DAG) {
2731 SelectionDAG &DAG) const {
2750 static SDValue LowerMUL(SDValue Op, SelectionDAG &DAG) {
2820 SelectionDAG &DAG) const {
2899 SelectionDAG &DAG) {
2932 SelectionDAG &DAG) const {
2960 SelectionDAG &DAG) const {
3137 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
3392 SelectionDAG &DAG,
3480 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals, bool isThisReturn,
3562 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG) const {
3676 SelectionDAG &DAG,
3718 SelectionDAG &DAG = CLI.DAG;
4164 const SDLoc &DL, SelectionDAG &DAG) const {
4279 SelectionDAG &DAG,
4286 SelectionDAG &DAG,
4292 SelectionDAG &DAG,
4299 SelectionDAG &DAG,
4306 SDValue AArch64TargetLowering::getGOT(NodeTy *N, SelectionDAG &DAG,
4319 SDValue AArch64TargetLowering::getAddrLarge(NodeTy *N, SelectionDAG &DAG,
4335 SDValue AArch64TargetLowering::getAddr(NodeTy *N, SelectionDAG &DAG,
4349 SDValue AArch64TargetLowering::getAddrTiny(NodeTy *N, SelectionDAG &DAG,
4359 SelectionDAG &DAG) const {
4420 SelectionDAG &DAG) const {
4488 SelectionDAG &DAG) const {
4503 SelectionDAG &DAG) const {
4603 SelectionDAG &DAG) const {
4661 SelectionDAG &DAG) const {
4676 SDValue AArch64TargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
4812 SelectionDAG &DAG) const {
4885 SDValue AArch64TargetLowering::LowerCTPOP(SDValue Op, SelectionDAG &DAG) const {
4943 SDValue AArch64TargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
5019 SelectionDAG &DAG) const {
5205 SelectionDAG &DAG) const {
5216 SelectionDAG &DAG) const {
5254 SelectionDAG &DAG) const {
5269 SelectionDAG &DAG) const {
5285 SelectionDAG &DAG) const {
5302 SelectionDAG &DAG) const {
5314 SelectionDAG &DAG) const {
5328 SelectionDAG &DAG) const {
5343 SelectionDAG &DAG) const {
5412 SelectionDAG &DAG) const {
5424 SelectionDAG &DAG) const {
5440 SDValue AArch64TargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG) const {
5507 SelectionDAG &DAG) const {
5528 SelectionDAG &DAG) const {
5558 SelectionDAG &DAG) const {
5572 SelectionDAG &DAG) const {
5596 SelectionDAG &DAG) const {
5653 SelectionDAG &DAG) const {
5750 SDValue Operand, SelectionDAG &DAG,
5772 SelectionDAG &DAG, int Enabled,
5814 SelectionDAG &DAG, int Enabled,
6065 SelectionDAG &DAG) const {
6221 static SDValue WidenVector(SDValue V64Reg, SelectionDAG &DAG) {
6241 static SDValue NarrowVector(SDValue V128Reg, SelectionDAG &DAG) {
6254 SelectionDAG &DAG) const {
6717 static SDValue tryFormConcatFromShuffle(SDValue Op, SelectionDAG &DAG) {
6748 SDValue RHS, SelectionDAG &DAG,
6850 SelectionDAG &DAG) {
6925 SelectionDAG &DAG) const {
7077 SelectionDAG &DAG) const {
7134 static SDValue tryAdvSIMDModImm64(unsigned NewOp, SDValue Op, SelectionDAG &DAG,
7155 static SDValue tryAdvSIMDModImm32(unsigned NewOp, SDValue Op, SelectionDAG &DAG,
7203 static SDValue tryAdvSIMDModImm16(unsigned NewOp, SDValue Op, SelectionDAG &DAG,
7244 SelectionDAG &DAG, const APInt &Bits) {
7274 static SDValue tryAdvSIMDModImm8(unsigned NewOp, SDValue Op, SelectionDAG &DAG,
7295 static SDValue tryAdvSIMDModImmFP(unsigned NewOp, SDValue Op, SelectionDAG &DAG,
7363 static SDValue tryLowerToSLI(SDNode *N, SelectionDAG &DAG) {
7425 SelectionDAG &DAG) const {
7470 SelectionDAG &DAG) {
7500 static SDValue ConstantBuildVector(SDValue Op, SelectionDAG &DAG) {
7542 SelectionDAG &DAG) const {
7825 SelectionDAG &DAG) const {
7859 SelectionDAG &DAG) const {
7895 SelectionDAG &DAG) const {
8002 SelectionDAG &DAG) const {
8052 const SDLoc &dl, SelectionDAG &DAG) {
8146 SelectionDAG &DAG) const {
8210 SelectionDAG &DAG) {
8218 SelectionDAG &DAG) const {
8251 SelectionDAG &DAG) const {
8268 SelectionDAG &DAG) const {
8285 SDValue Op, SDValue Chain, SDValue &Size, SelectionDAG &DAG) const {
8314 SelectionDAG &DAG) const {
9269 static SDValue foldVectorXorShiftIntoCmp(SDNode *N, SelectionDAG &DAG,
9293 static SDValue performIntegerAbsCombine(SDNode *N, SelectionDAG &DAG) {
9320 static SDValue performXorCombine(SDNode *N, SelectionDAG &DAG,
9334 SelectionDAG &DAG,
9375 static SDValue performMulCombine(SDNode *N, SelectionDAG &DAG,
9476 SelectionDAG &DAG) {
9521 static SDValue performIntToFpCombine(SDNode *N, SelectionDAG &DAG,
9562 static SDValue performFpToIntCombine(SDNode *N, SelectionDAG &DAG,
9637 static SDValue performFDivCombine(SDNode *N, SelectionDAG &DAG,
9730 SelectionDAG &DAG = DCI.DAG;
9771 SelectionDAG &DAG = DCI.DAG;
9818 SelectionDAG &DAG = DCI.DAG;
9835 SelectionDAG &DAG = DCI.DAG;
9875 SelectionDAG &DAG = DCI.DAG;
9903 SelectionDAG &DAG) {
9971 SelectionDAG &DAG) {
10053 SelectionDAG &DAG) {
10113 static SDValue tryExtendDUPToExtractHigh(SDValue N, SelectionDAG &DAG) {
10246 static SDValue performSetccAddFolding(SDNode *Op, SelectionDAG &DAG) {
10298 SelectionDAG &DAG) {
10347 SelectionDAG &DAG) {
10374 static SDValue tryCombineShiftImm(unsigned IID, SDNode *N, SelectionDAG &DAG) {
10445 static SDValue tryCombineCRC32(unsigned Mask, SDNode *N, SelectionDAG &DAG) {
10459 SelectionDAG &DAG) {
10471 SelectionDAG &DAG = DCI.DAG;
10528 SelectionDAG &DAG) {
10624 static SDValue splitStoreSplat(SelectionDAG &DAG, StoreSDNode &St,
10679 static SDValue replaceZeroVectorStore(SelectionDAG &DAG, StoreSDNode &St) {
10742 static SDValue replaceSplatVectorStore(SelectionDAG &DAG, StoreSDNode &St) {
10796 SelectionDAG &DAG,
10873 SelectionDAG &DAG = DCI.DAG;
10973 SelectionDAG &DAG) {
10988 SelectionDAG &DAG,
11005 SelectionDAG &DAG) {
11323 SelectionDAG &DAG, unsigned CCIndex,
11397 SelectionDAG &DAG) {
11462 SelectionDAG &DAG) {
11536 SelectionDAG &DAG) {
11565 static SDValue performVSelectCombine(SDNode *N, SelectionDAG &DAG) {
11596 SelectionDAG &DAG = DCI.DAG;
11665 static SDValue performGlobalAddressCombine(SDNode *N, SelectionDAG &DAG,
11717 SelectionDAG &DAG = DCI.DAG;
11860 SelectionDAG &DAG) const {
11883 SelectionDAG &DAG) const {
11904 ISD::MemIndexedMode &AM, SelectionDAG &DAG) const {
11928 SelectionDAG &DAG) {
11946 SelectionDAG &DAG, unsigned InterOp,
11958 static std::pair<SDValue, SDValue> splitInt128(SDValue N, SelectionDAG &DAG) {
11968 static SDValue createGPRPairNode(SelectionDAG &DAG, SDValue V) {
11987 SelectionDAG &DAG,
12055 SDNode *N, SmallVectorImpl<SDValue> &Results, SelectionDAG &DAG) const {
12351 SelectionDAG &DAG) const {
12360 bool AArch64TargetLowering::shouldExpandShift(SelectionDAG &DAG,
lib/Target/AArch64/AArch64ISelLowering.h 266 const SelectionDAG &DAG,
294 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
324 SDValue ReconstructShuffle(SDValue Op, SelectionDAG &DAG) const;
468 const SelectionDAG &DAG) const override {
507 SelectionDAG &DAG) const override;
509 bool shouldExpandShift(SelectionDAG &DAG, SDNode *N) const override;
586 const SDLoc &DL, SelectionDAG &DAG,
595 const SDLoc &DL, SelectionDAG &DAG,
599 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
601 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
607 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG) const;
612 SDValue addTokenForArgument(SDValue Chain, SelectionDAG &DAG,
617 void saveVarArgRegisters(CCState &CCInfo, SelectionDAG &DAG, const SDLoc &DL,
628 SelectionDAG &DAG) const override;
630 SDValue getTargetNode(GlobalAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
632 SDValue getTargetNode(JumpTableSDNode *N, EVT Ty, SelectionDAG &DAG,
634 SDValue getTargetNode(ConstantPoolSDNode *N, EVT Ty, SelectionDAG &DAG,
636 SDValue getTargetNode(BlockAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
639 SDValue getGOT(NodeTy *N, SelectionDAG &DAG, unsigned Flags = 0) const;
641 SDValue getAddrLarge(NodeTy *N, SelectionDAG &DAG, unsigned Flags = 0) const;
643 SDValue getAddr(NodeTy *N, SelectionDAG &DAG, unsigned Flags = 0) const;
645 SDValue getAddrTiny(NodeTy *N, SelectionDAG &DAG, unsigned Flags = 0) const;
646 SDValue LowerADDROFRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
647 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
648 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
649 SDValue LowerDarwinGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
650 SDValue LowerELFGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
652 SelectionDAG &DAG) const;
653 SDValue LowerWindowsGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
654 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
655 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
656 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
657 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
660 SelectionDAG &DAG) const;
661 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
662 SDValue LowerBR_JT(SDValue Op, SelectionDAG &DAG) const;
663 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
664 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
665 SDValue LowerAAPCS_VASTART(SDValue Op, SelectionDAG &DAG) const;
666 SDValue LowerDarwin_VASTART(SDValue Op, SelectionDAG &DAG) const;
667 SDValue LowerWin64_VASTART(SDValue Op, SelectionDAG &DAG) const;
668 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
669 SDValue LowerVACOPY(SDValue Op, SelectionDAG &DAG) const;
670 SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) const;
671 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
672 SDValue LowerSPONENTRY(SDValue Op, SelectionDAG &DAG) const;
673 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
674 SDValue LowerFLT_ROUNDS_(SDValue Op, SelectionDAG &DAG) const;
675 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
676 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
677 SDValue LowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) const;
678 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
679 SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
680 SDValue LowerSPLAT_VECTOR(SDValue Op, SelectionDAG &DAG) const;
681 SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
682 SDValue LowerVectorSRA_SRL_SHL(SDValue Op, SelectionDAG &DAG) const;
683 SDValue LowerShiftLeftParts(SDValue Op, SelectionDAG &DAG) const;
684 SDValue LowerShiftRightParts(SDValue Op, SelectionDAG &DAG) const;
685 SDValue LowerVSETCC(SDValue Op, SelectionDAG &DAG) const;
686 SDValue LowerCTPOP(SDValue Op, SelectionDAG &DAG) const;
687 SDValue LowerF128Call(SDValue Op, SelectionDAG &DAG,
689 SDValue LowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) const;
690 SDValue LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
691 SDValue LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
692 SDValue LowerVectorFP_TO_INT(SDValue Op, SelectionDAG &DAG) const;
693 SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const;
694 SDValue LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
695 SDValue LowerVectorOR(SDValue Op, SelectionDAG &DAG) const;
696 SDValue LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) const;
697 SDValue LowerFSINCOS(SDValue Op, SelectionDAG &DAG) const;
698 SDValue LowerVECREDUCE(SDValue Op, SelectionDAG &DAG) const;
699 SDValue LowerATOMIC_LOAD_SUB(SDValue Op, SelectionDAG &DAG) const;
700 SDValue LowerATOMIC_LOAD_AND(SDValue Op, SelectionDAG &DAG) const;
701 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
704 SelectionDAG &DAG) const;
706 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
708 SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
711 SDValue getRecipEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
733 SelectionDAG &DAG) const override;
749 SelectionDAG &DAG) const;
752 SelectionDAG &DAG) const override;
755 SelectionDAG &DAG) const override;
758 SelectionDAG &DAG) const override;
lib/Target/AArch64/AArch64SelectionDAGInfo.cpp 19 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
62 static SDValue EmitUnrolledSetTag(SelectionDAG &DAG, const SDLoc &dl,
113 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Addr,
lib/Target/AArch64/AArch64SelectionDAGInfo.h 22 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl,
26 SDValue EmitTargetCodeForSetTag(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp 103 static SDNode *packConstantV2I16(const SDNode *N, SelectionDAG &DAG,
120 static SDNode *packNegConstantV2I16(const SDNode *N, SelectionDAG &DAG) {
482 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
2714 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_begin();
lib/Target/AMDGPU/AMDGPUISelLowering.cpp 51 unsigned AMDGPUTargetLowering::numBitsUnsigned(SDValue Op, SelectionDAG &DAG) {
57 unsigned AMDGPUTargetLowering::numBitsSigned(SDValue Op, SelectionDAG &DAG) {
677 const SelectionDAG &DAG,
1024 const SDLoc &DL, SelectionDAG &DAG) const {
1047 SelectionDAG &DAG,
1086 SelectionDAG &DAG = CLI.DAG;
1115 SelectionDAG &DAG) const {
1126 SelectionDAG &DAG) const {
1168 SelectionDAG &DAG) const {
1193 SelectionDAG &DAG) const {
1227 SelectionDAG &DAG) const {
1247 SelectionDAG &DAG) const {
1267 SelectionDAG &DAG = DCI.DAG;
1333 AMDGPUTargetLowering::split64BitValue(SDValue Op, SelectionDAG &DAG) const {
1347 SDValue AMDGPUTargetLowering::getLoHalf64(SDValue Op, SelectionDAG &DAG) const {
1355 SDValue AMDGPUTargetLowering::getHiHalf64(SDValue Op, SelectionDAG &DAG) const {
1367 AMDGPUTargetLowering::getSplitDestVTs(const EVT &VT, SelectionDAG &DAG) const {
1384 SelectionDAG &DAG) const {
1399 SelectionDAG &DAG) const {
1458 SelectionDAG &DAG) const {
1483 SelectionDAG &DAG) const {
1526 SDValue AMDGPUTargetLowering::LowerDIVREM24(SDValue Op, SelectionDAG &DAG,
1633 SelectionDAG &DAG,
1843 SelectionDAG &DAG) const {
1958 SelectionDAG &DAG) const {
2018 SDValue AMDGPUTargetLowering::LowerFREM(SDValue Op, SelectionDAG &DAG) const {
2033 SDValue AMDGPUTargetLowering::LowerFCEIL(SDValue Op, SelectionDAG &DAG) const {
2059 SelectionDAG &DAG) {
2073 SDValue AMDGPUTargetLowering::LowerFTRUNC(SDValue Op, SelectionDAG &DAG) const {
2122 SDValue AMDGPUTargetLowering::LowerFRINT(SDValue Op, SelectionDAG &DAG) const {
2149 SDValue AMDGPUTargetLowering::LowerFNEARBYINT(SDValue Op, SelectionDAG &DAG) const {
2161 SDValue AMDGPUTargetLowering::LowerFROUND32_16(SDValue Op, SelectionDAG &DAG) const {
2190 SDValue AMDGPUTargetLowering::LowerFROUND64(SDValue Op, SelectionDAG &DAG) const {
2247 SDValue AMDGPUTargetLowering::LowerFROUND(SDValue Op, SelectionDAG &DAG) const {
2259 SDValue AMDGPUTargetLowering::LowerFFLOOR(SDValue Op, SelectionDAG &DAG) const {
2284 SDValue AMDGPUTargetLowering::LowerFLOG(SDValue Op, SelectionDAG &DAG,
2297 SDValue AMDGPUTargetLowering::lowerFEXP(SDValue Op, SelectionDAG &DAG) const {
2315 SDValue AMDGPUTargetLowering::LowerCTLZ_CTTZ(SDValue Op, SelectionDAG &DAG) const {
2389 SDValue AMDGPUTargetLowering::LowerINT_TO_FP32(SDValue Op, SelectionDAG &DAG,
2474 SDValue AMDGPUTargetLowering::LowerINT_TO_FP64(SDValue Op, SelectionDAG &DAG,
2498 SelectionDAG &DAG) const {
2525 SelectionDAG &DAG) const {
2551 SDValue AMDGPUTargetLowering::LowerFP64_TO_INT(SDValue Op, SelectionDAG &DAG,
2580 SDValue AMDGPUTargetLowering::LowerFP_TO_FP16(SDValue Op, SelectionDAG &DAG) const {
2680 SelectionDAG &DAG) const {
2703 SelectionDAG &DAG) const {
2726 SelectionDAG &DAG) const {
2752 static bool isU24(SDValue Op, SelectionDAG &DAG) {
2756 static bool isI24(SDValue Op, SelectionDAG &DAG) {
2765 SelectionDAG &DAG = DCI.DAG;
2801 static SDValue constantFoldBFE(SelectionDAG &DAG, IntTy Src0, uint32_t Offset,
2854 SelectionDAG &DAG = DCI.DAG;
2909 SelectionDAG &DAG = DCI.DAG;
2955 SelectionDAG &DAG = DCI.DAG;
2994 SelectionDAG &DAG = DCI.DAG;
3027 SelectionDAG &DAG = DCI.DAG;
3090 SelectionDAG &DAG = DCI.DAG;
3125 SelectionDAG &DAG = DCI.DAG;
3168 SelectionDAG &DAG = DCI.DAG;
3254 static SDValue getMul24(SelectionDAG &DAG, const SDLoc &SL,
3286 SelectionDAG &DAG = DCI.DAG;
3328 SelectionDAG &DAG = DCI.DAG;
3352 SelectionDAG &DAG = DCI.DAG;
3371 SelectionDAG &DAG = DCI.DAG;
3398 SDValue AMDGPUTargetLowering::getFFBX_U32(SelectionDAG &DAG,
3432 SelectionDAG &DAG = DCI.DAG;
3466 SelectionDAG &DAG = DCI.DAG;
3484 SelectionDAG &DAG = DCI.DAG;
3560 SelectionDAG &DAG = DCI.DAG;
3633 SelectionDAG &DAG = DCI.DAG;
3835 SelectionDAG &DAG = DCI.DAG;
3872 SelectionDAG &DAG = DCI.DAG;
4086 SDValue AMDGPUTargetLowering::CreateLiveInRegister(SelectionDAG &DAG,
4122 SDValue AMDGPUTargetLowering::loadStackInputValue(SelectionDAG &DAG,
4138 SDValue AMDGPUTargetLowering::storeStackInputValue(SelectionDAG &DAG,
4152 SDValue AMDGPUTargetLowering::loadInputValue(SelectionDAG &DAG,
4355 SelectionDAG &DAG, int Enabled,
4373 SelectionDAG &DAG, int Enabled,
4395 const APInt &DemandedElts, const SelectionDAG &DAG, unsigned Depth) const {
4536 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
4578 const SelectionDAG &DAG,
lib/Target/AMDGPU/AMDGPUISelLowering.h 36 SDValue getFFBX_U32(SelectionDAG &DAG, SDValue Op, const SDLoc &DL, unsigned Opc) const;
39 static unsigned numBitsUnsigned(SDValue Op, SelectionDAG &DAG);
40 static unsigned numBitsSigned(SDValue Op, SelectionDAG &DAG);
44 SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
45 SDValue LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) const;
49 SDValue LowerFREM(SDValue Op, SelectionDAG &DAG) const;
50 SDValue LowerFCEIL(SDValue Op, SelectionDAG &DAG) const;
51 SDValue LowerFTRUNC(SDValue Op, SelectionDAG &DAG) const;
52 SDValue LowerFRINT(SDValue Op, SelectionDAG &DAG) const;
53 SDValue LowerFNEARBYINT(SDValue Op, SelectionDAG &DAG) const;
55 SDValue LowerFROUND32_16(SDValue Op, SelectionDAG &DAG) const;
56 SDValue LowerFROUND64(SDValue Op, SelectionDAG &DAG) const;
57 SDValue LowerFROUND(SDValue Op, SelectionDAG &DAG) const;
58 SDValue LowerFFLOOR(SDValue Op, SelectionDAG &DAG) const;
59 SDValue LowerFLOG(SDValue Op, SelectionDAG &DAG,
61 SDValue lowerFEXP(SDValue Op, SelectionDAG &DAG) const;
63 SDValue LowerCTLZ_CTTZ(SDValue Op, SelectionDAG &DAG) const;
65 SDValue LowerINT_TO_FP32(SDValue Op, SelectionDAG &DAG, bool Signed) const;
66 SDValue LowerINT_TO_FP64(SDValue Op, SelectionDAG &DAG, bool Signed) const;
67 SDValue LowerUINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
68 SDValue LowerSINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
70 SDValue LowerFP64_TO_INT(SDValue Op, SelectionDAG &DAG, bool Signed) const;
71 SDValue LowerFP_TO_FP16(SDValue Op, SelectionDAG &DAG) const;
72 SDValue LowerFP_TO_UINT(SDValue Op, SelectionDAG &DAG) const;
73 SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const;
75 SDValue LowerSIGN_EXTEND_INREG(SDValue Op, SelectionDAG &DAG) const;
107 SelectionDAG &DAG) const;
111 SelectionDAG &DAG) const;
112 SDValue getLoHalf64(SDValue Op, SelectionDAG &DAG) const;
113 SDValue getHiHalf64(SDValue Op, SelectionDAG &DAG) const;
118 std::pair<EVT, EVT> getSplitDestVTs(const EVT &VT, SelectionDAG &DAG) const;
124 SelectionDAG &DAG) const;
127 SDValue SplitVectorLoad(SDValue Op, SelectionDAG &DAG) const;
130 SDValue WidenVectorLoad(SDValue Op, SelectionDAG &DAG) const;
133 SDValue SplitVectorStore(SDValue Op, SelectionDAG &DAG) const;
135 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
136 SDValue LowerSDIVREM(SDValue Op, SelectionDAG &DAG) const;
137 SDValue LowerUDIVREM(SDValue Op, SelectionDAG &DAG) const;
138 SDValue LowerDIVREM24(SDValue Op, SelectionDAG &DAG, bool sign) const;
139 void LowerUDIVREM64(SDValue Op, SelectionDAG &DAG,
187 bool isLoadBitCastBeneficial(EVT, EVT, const SelectionDAG &DAG,
204 SelectionDAG &DAG) const override;
207 SelectionDAG &DAG,
218 SelectionDAG &DAG) const;
220 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
224 SelectionDAG &DAG) const override;
242 bool isFsqrtCheap(SDValue Operand, SelectionDAG &DAG) const override {
245 SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
248 SDValue getRecipEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
252 SelectionDAG &DAG) const = 0;
260 const SelectionDAG &DAG,
264 const SelectionDAG &DAG,
268 const SelectionDAG &DAG,
277 SDValue CreateLiveInRegister(SelectionDAG &DAG,
282 SDValue CreateLiveInRegister(SelectionDAG &DAG,
289 SDValue CreateLiveInRegisterRaw(SelectionDAG &DAG,
297 SDValue loadStackInputValue(SelectionDAG &DAG,
302 SDValue storeStackInputValue(SelectionDAG &DAG,
308 SDValue loadInputValue(SelectionDAG &DAG,
lib/Target/AMDGPU/R600ISelLowering.cpp 473 SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
652 SelectionDAG &DAG) const {
692 SDValue R600TargetLowering::vectorToVerticalVector(SelectionDAG &DAG,
709 SelectionDAG &DAG) const {
724 SelectionDAG &DAG) const {
742 SelectionDAG &DAG) const {
755 SDValue R600TargetLowering::LowerTrig(SDValue Op, SelectionDAG &DAG) const {
789 SDValue R600TargetLowering::LowerSHLParts(SDValue Op, SelectionDAG &DAG) const {
825 SDValue R600TargetLowering::LowerSRXParts(SDValue Op, SelectionDAG &DAG) const {
863 SDValue R600TargetLowering::LowerUADDSUBO(SDValue Op, SelectionDAG &DAG,
881 SDValue R600TargetLowering::lowerFP_TO_UINT(SDValue Op, SelectionDAG &DAG) const {
891 SDValue R600TargetLowering::lowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const {
901 SDValue R600TargetLowering::LowerImplicitParameter(SelectionDAG &DAG, EVT VT,
940 SDValue R600TargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
1089 SelectionDAG &DAG) const {
1139 SelectionDAG &DAG) const {
1229 SDValue R600TargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
1385 SelectionDAG &DAG) const {
1441 SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
1529 SDValue R600TargetLowering::LowerBRCOND(SDValue Op, SelectionDAG &DAG) const {
1539 SelectionDAG &DAG) const {
1581 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
1660 const SelectionDAG &DAG) const {
1688 SelectionDAG &DAG, SDValue VectorEntry,
1737 static SDValue ReorganizeVector(SelectionDAG &DAG, SDValue VectorEntry,
1778 SelectionDAG &DAG,
1802 SelectionDAG &DAG) const {
1853 SelectionDAG &DAG = DCI.DAG;
2084 SelectionDAG &DAG) const {
2214 SelectionDAG &DAG) const {
lib/Target/AMDGPU/R600ISelLowering.h 35 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
39 SelectionDAG &DAG) const override;
44 const SDLoc &DL, SelectionDAG &DAG,
50 const SelectionDAG &DAG) const override;
63 SDValue LowerImplicitParameter(SelectionDAG &DAG, EVT VT, const SDLoc &DL,
68 SDValue OptimizeSwizzle(SDValue BuildVector, SDValue Swz[], SelectionDAG &DAG,
70 SDValue vectorToVerticalVector(SelectionDAG &DAG, SDValue Vector) const;
72 SDValue lowerFrameIndex(SDValue Op, SelectionDAG &DAG) const;
73 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
74 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
76 SelectionDAG &DAG) const override;
77 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
79 SDValue lowerPrivateTruncStore(StoreSDNode *Store, SelectionDAG &DAG) const;
80 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
81 SDValue lowerFP_TO_UINT(SDValue Op, SelectionDAG &DAG) const;
82 SDValue lowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const;
84 SDValue lowerPrivateExtLoad(SDValue Op, SelectionDAG &DAG) const;
85 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
86 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
87 SDValue LowerTrig(SDValue Op, SelectionDAG &DAG) const;
88 SDValue LowerSHLParts(SDValue Op, SelectionDAG &DAG) const;
89 SDValue LowerSRXParts(SDValue Op, SelectionDAG &DAG) const;
90 SDValue LowerUADDSUBO(SDValue Op, SelectionDAG &DAG,
94 SelectionDAG &DAG) const;
103 SelectionDAG &DAG) const;
105 SelectionDAG &DAG) const;
107 SDNode *PostISelFolding(MachineSDNode *N, SelectionDAG &DAG) const override;
lib/Target/AMDGPU/SIISelLowering.cpp 1223 const SelectionDAG &DAG) const {
1397 SDValue SITargetLowering::lowerKernArgParameterPtr(SelectionDAG &DAG,
1419 SDValue SITargetLowering::getImplicitArgPtr(SelectionDAG &DAG,
1426 SDValue SITargetLowering::convertArgType(SelectionDAG &DAG, EVT VT, EVT MemVT,
1458 SelectionDAG &DAG, EVT VT, EVT MemVT,
1503 SDValue SITargetLowering::lowerStackParameter(SelectionDAG &DAG, CCValAssign &VA,
1552 SDValue SITargetLowering::getPreloadedValue(SelectionDAG &DAG,
2020 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
2263 const SDLoc &DL, SelectionDAG &DAG) const {
2371 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals, bool IsThisReturn,
2441 SelectionDAG &DAG = CLI.DAG;
2588 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG) const {
2670 SelectionDAG &DAG = CLI.DAG;
3949 SelectionDAG &DAG) const {
3969 SelectionDAG &DAG) const {
3990 SelectionDAG &DAG) const {
4013 SDValue SITargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
4088 SelectionDAG &DAG, bool Unpacked) {
4115 SelectionDAG &DAG,
4147 SelectionDAG &DAG,
4182 SDNode *N, SelectionDAG &DAG) {
4218 SDNode *N, SelectionDAG &DAG) {
4251 SelectionDAG &DAG) const {
4435 SelectionDAG &DAG) const {
4534 SelectionDAG &DAG) const {
4558 SDValue SITargetLowering::getFPExtOrFPTrunc(SelectionDAG &DAG,
4567 SDValue SITargetLowering::lowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const {
4584 SelectionDAG &DAG) const {
4602 SDValue SITargetLowering::lowerTRAP(SDValue Op, SelectionDAG &DAG) const {
4628 SDValue SITargetLowering::lowerDEBUGTRAP(SDValue Op, SelectionDAG &DAG) const {
4652 SelectionDAG &DAG) const {
4701 SelectionDAG &DAG) const {
4765 SelectionDAG &DAG) const {
4786 SelectionDAG &DAG) const {
4862 SelectionDAG &DAG) const {
4908 SelectionDAG &DAG) const {
4960 SelectionDAG &DAG) const {
5019 buildPCRelGlobalAddress(SelectionDAG &DAG, const GlobalValue *GV,
5066 SelectionDAG &DAG) const {
5107 SDValue SITargetLowering::copyToM0(SelectionDAG &DAG, SDValue Chain,
5123 SDValue SITargetLowering::lowerImplicitZextParam(SelectionDAG &DAG,
5135 static SDValue emitNonHSAIntrinsicError(SelectionDAG &DAG, const SDLoc &DL,
5144 static SDValue emitRemovedIntrinsicError(SelectionDAG &DAG, const SDLoc &DL,
5153 static SDValue getBuildDwordsVector(SelectionDAG &DAG, SDLoc DL,
5192 static bool parseCachePolicy(SDValue CachePolicy, SelectionDAG &DAG,
5217 static SDValue constructRetValue(SelectionDAG &DAG,
5297 static bool parseTexFail(SDValue TexFailCtrl, SelectionDAG &DAG, SDValue *TFE,
5317 SelectionDAG &DAG) const {
5640 SelectionDAG &DAG) const {
5705 SelectionDAG &DAG) const {
6114 SelectionDAG &DAG) const {
6713 SelectionDAG &DAG) const {
6741 SelectionDAG &DAG) const {
6767 SelectionDAG &DAG) const {
7112 SDValue Offset, SelectionDAG &DAG) const {
7162 SelectionDAG &DAG, SDValue *Offsets,
7195 SDValue SITargetLowering::handleByteShortBufferLoads(SelectionDAG &DAG,
7214 SDValue SITargetLowering::handleByteShortBufferStores(SelectionDAG &DAG,
7230 static SDValue getLoadExtOrTrunc(SelectionDAG &DAG,
7251 SelectionDAG &DAG = DCI.DAG;
7320 SDValue SITargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
7487 SDValue SITargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
7517 SelectionDAG &DAG) const {
7568 static SDValue getFPBinOp(SelectionDAG &DAG, unsigned Opcode, const SDLoc &SL,
7588 static SDValue getFPTernOp(SelectionDAG &DAG, unsigned Opcode, const SDLoc &SL,
7609 SDValue SITargetLowering::LowerFDIV16(SDValue Op, SelectionDAG &DAG) const {
7630 SDValue SITargetLowering::lowerFDIV_FAST(SDValue Op, SelectionDAG &DAG) const {
7665 static const SDValue getSPDenormModeValue(int SPDenormMode, SelectionDAG &DAG,
7676 SDValue SITargetLowering::LowerFDIV32(SDValue Op, SelectionDAG &DAG) const {
7779 SDValue SITargetLowering::LowerFDIV64(SDValue Op, SelectionDAG &DAG) const {
7846 SDValue SITargetLowering::LowerFDIV(SDValue Op, SelectionDAG &DAG) const {
7861 SDValue SITargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
7945 SDValue SITargetLowering::LowerTrig(SDValue Op, SelectionDAG &DAG) const {
7972 SDValue SITargetLowering::LowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const {
8010 SelectionDAG &DAG = DCI.DAG;
8077 SelectionDAG &DAG = DCI.DAG;
8095 SelectionDAG &DAG = DCI.DAG;
8185 static uint32_t getPermuteMask(SelectionDAG &DAG, SDValue V) {
8233 SelectionDAG &DAG = DCI.DAG;
8416 SelectionDAG &DAG = DCI.DAG;
8681 SelectionDAG &DAG = DCI.DAG;
8713 bool SITargetLowering::isCanonicalized(SelectionDAG &DAG, SDValue Op,
8873 SelectionDAG &DAG, const SDLoc &SL, EVT VT, const APFloat &C) const {
8905 SelectionDAG &DAG = DCI.DAG;
8911 APFloat QNaN = APFloat::getQNaN(SelectionDAG::EVTToAPFloatSemantics(VT));
9012 SelectionDAG &DAG, const SDLoc &SL,
9061 SDValue SITargetLowering::performFPMed3ImmCombine(SelectionDAG &DAG,
9117 SelectionDAG &DAG = DCI.DAG;
9203 SelectionDAG &DAG = DCI.DAG;
9253 SelectionDAG &DAG = DCI.DAG;
9390 SelectionDAG &DAG = DCI.DAG;
9406 unsigned SITargetLowering::getFusedOpcode(const SelectionDAG &DAG,
9433 SelectionDAG &DAG) const {
9470 static SDValue getMad64_32(SelectionDAG &DAG, const SDLoc &SL,
9482 SelectionDAG &DAG = DCI.DAG;
9559 SelectionDAG &DAG = DCI.DAG;
9590 SelectionDAG &DAG = DCI.DAG;
9610 SelectionDAG &DAG = DCI.DAG;
9652 SelectionDAG &DAG = DCI.DAG;
9696 SelectionDAG &DAG = DCI.DAG;
9771 SelectionDAG &DAG = DCI.DAG;
9867 SelectionDAG &DAG = DCI.DAG;
10038 SelectionDAG &DAG = DCI.DAG;
10077 SelectionDAG &DAG) const {
10248 SelectionDAG &DAG) const {
10294 SelectionDAG &DAG) const {
10464 static SDValue buildSMovImm32(SelectionDAG &DAG, const SDLoc &DL,
10470 MachineSDNode *SITargetLowering::wrapAddr64Rsrc(SelectionDAG &DAG,
10505 MachineSDNode *SITargetLowering::buildRSRC(SelectionDAG &DAG, const SDLoc &DL,
10730 const SelectionDAG &DAG,
10894 const SelectionDAG &DAG,
lib/Target/AMDGPU/SIISelLowering.h 40 SDValue lowerKernArgParameterPtr(SelectionDAG &DAG, const SDLoc &SL,
42 SDValue getImplicitArgPtr(SelectionDAG &DAG, const SDLoc &SL) const;
43 SDValue lowerKernargMemParameter(SelectionDAG &DAG, EVT VT, EVT MemVT,
48 SDValue lowerStackParameter(SelectionDAG &DAG, CCValAssign &VA,
51 SDValue getPreloadedValue(SelectionDAG &DAG,
57 SelectionDAG &DAG) const override;
58 SDValue lowerImplicitZextParam(SelectionDAG &DAG, SDValue Op,
61 SelectionDAG &DAG) const;
63 SDValue GLC, SDValue DLC, SelectionDAG &DAG) const;
65 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
66 SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, SelectionDAG &DAG) const;
67 SDValue LowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG) const;
76 SelectionDAG &DAG) const;
79 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
80 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
81 SDValue lowerFastUnsafeFDIV(SDValue Op, SelectionDAG &DAG) const;
82 SDValue lowerFDIV_FAST(SDValue Op, SelectionDAG &DAG) const;
83 SDValue LowerFDIV16(SDValue Op, SelectionDAG &DAG) const;
84 SDValue LowerFDIV32(SDValue Op, SelectionDAG &DAG) const;
85 SDValue LowerFDIV64(SDValue Op, SelectionDAG &DAG) const;
86 SDValue LowerFDIV(SDValue Op, SelectionDAG &DAG) const;
87 SDValue LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG, bool Signed) const;
88 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
89 SDValue LowerTrig(SDValue Op, SelectionDAG &DAG) const;
90 SDValue LowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const;
91 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
92 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
94 SelectionDAG &DAG, ArrayRef<SDValue> Ops,
97 SDValue lowerIntrinsicLoad(MemSDNode *M, bool IsFormat, SelectionDAG &DAG,
104 MachineMemOperand *MMO, SelectionDAG &DAG) const;
106 SDValue handleD16VData(SDValue VData, SelectionDAG &DAG) const;
110 SDValue getFPExtOrFPTrunc(SelectionDAG &DAG,
116 SelectionDAG &DAG, EVT VT, EVT MemVT, const SDLoc &SL, SDValue Val,
120 SDValue lowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
121 SDValue lowerFMINNUM_FMAXNUM(SDValue Op, SelectionDAG &DAG) const;
124 SelectionDAG &DAG) const;
126 SDValue lowerADDRSPACECAST(SDValue Op, SelectionDAG &DAG) const;
127 SDValue lowerINSERT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
128 SDValue lowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
129 SDValue lowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
130 SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
131 SDValue lowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
132 SDValue lowerTRAP(SDValue Op, SelectionDAG &DAG) const;
133 SDValue lowerDEBUGTRAP(SDValue Op, SelectionDAG &DAG) const;
135 SDNode *adjustWritemask(MachineSDNode *&N, SelectionDAG &DAG) const;
156 SDValue getCanonicalConstantFP(SelectionDAG &DAG, const SDLoc &SL, EVT VT,
160 SDValue performFPMed3ImmCombine(SelectionDAG &DAG, const SDLoc &SL,
162 SDValue performIntMed3ImmCombine(SelectionDAG &DAG, const SDLoc &SL,
170 SDValue reassociateScalarOps(SDNode *N, SelectionDAG &DAG) const;
171 unsigned getFusedOpcode(const SelectionDAG &DAG,
208 unsigned setBufferOffsets(SDValue CombinedOffset, SelectionDAG &DAG,
212 SDValue handleByteShortBufferLoads(SelectionDAG &DAG, EVT LoadVT, SDLoc DL,
216 SDValue handleByteShortBufferStores(SelectionDAG &DAG, EVT VDataType,
243 const SelectionDAG &DAG) const override;
293 const SDLoc &DL, SelectionDAG &DAG,
304 SelectionDAG &DAG) const override;
317 const SDLoc &DL, SelectionDAG &DAG,
327 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG) const;
352 SDValue splitUnaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
353 SDValue splitBinaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
354 SDValue splitTernaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
355 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
358 SelectionDAG &DAG) const override;
361 SDNode *PostISelFolding(MachineSDNode *N, SelectionDAG &DAG) const override;
365 SDNode *legalizeTargetIndependentNode(SDNode *Node, SelectionDAG &DAG) const;
367 MachineSDNode *wrapAddr64Rsrc(SelectionDAG &DAG, const SDLoc &DL,
369 MachineSDNode *buildRSRC(SelectionDAG &DAG, const SDLoc &DL, SDValue Ptr,
375 SDValue copyToM0(SelectionDAG &DAG, SDValue Chain, const SDLoc &DL,
383 const SelectionDAG &DAG,
389 bool isCanonicalized(SelectionDAG &DAG, SDValue Op,
394 const SelectionDAG &DAG,
lib/Target/ARC/ARCISelLowering.cpp 38 SDLoc dl, SelectionDAG &DAG,
163 SDValue ARCTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
178 SelectionDAG &DAG) const {
197 SDValue ARCTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
210 SDValue ARCTargetLowering::LowerJumpTable(SDValue Op, SelectionDAG &DAG) const {
225 SelectionDAG &DAG = CLI.DAG;
372 SDLoc dl, SelectionDAG &DAG,
434 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
448 const SmallVectorImpl<ISD::InputArg> &Ins, SDLoc dl, SelectionDAG &DAG,
609 const SDLoc &dl, SelectionDAG &DAG) const {
709 SDValue ARCTargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
724 SelectionDAG &DAG) const {
733 static SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) {
747 SDValue ARCTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
lib/Target/ARC/ARCISelLowering.h 66 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
84 SDLoc dl, SelectionDAG &DAG,
87 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
88 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
89 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
90 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
91 SDValue LowerSIGN_EXTEND_INREG(SDValue Op, SelectionDAG &DAG) const;
92 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
98 const SDLoc &dl, SelectionDAG &DAG,
107 SelectionDAG &DAG) const override;
lib/Target/ARM/ARMISelDAGToDAG.cpp 351 for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(),
1460 static inline SDValue getAL(SelectionDAG *CurDAG, const SDLoc &dl) {
4296 SelectionDAG *CurDAG,
lib/Target/ARM/ARMISelLowering.cpp 1790 static bool isS16(const SDValue &Op, SelectionDAG &DAG) {
1928 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals, bool isThisReturn,
2008 SelectionDAG &DAG,
2020 void ARMTargetLowering::PassF64ArgInRegs(const SDLoc &dl, SelectionDAG &DAG,
2052 SelectionDAG &DAG = CLI.DAG;
2556 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG,
2687 const SDLoc &DL, SelectionDAG &DAG) {
2724 const SDLoc &dl, SelectionDAG &DAG) const {
2957 static SDValue LowerWRITE_REGISTER(SDValue Op, SelectionDAG &DAG) {
2980 SelectionDAG &DAG) const {
3022 SelectionDAG &DAG) const {
3077 SelectionDAG &DAG) const {
3122 SelectionDAG &DAG) const {
3178 SelectionDAG &DAG) const {
3219 SelectionDAG &DAG,
3270 ARMTargetLowering::LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const {
3318 const GlobalValue *GV, SelectionDAG &DAG,
3424 SelectionDAG &DAG) const {
3437 SelectionDAG &DAG) const {
3503 SelectionDAG &DAG) const {
3528 SelectionDAG &DAG) const {
3560 ARMTargetLowering::LowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const {
3569 ARMTargetLowering::LowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const {
3576 SelectionDAG &DAG) const {
3583 SDValue Op, SelectionDAG &DAG, const ARMSubtarget *Subtarget) const {
3625 ARMTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG,
3754 static SDValue LowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG,
3791 static SDValue LowerPREFETCH(SDValue Op, SelectionDAG &DAG,
3818 static SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) {
3835 SelectionDAG &DAG,
3877 int ARMTargetLowering::StoreByValRegs(CCState &CCInfo, SelectionDAG &DAG,
3931 void ARMTargetLowering::VarArgStyleRegisters(CCState &CCInfo, SelectionDAG &DAG,
3954 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
4182 SDValue &ARMcc, SelectionDAG &DAG,
4323 SelectionDAG &DAG, const SDLoc &dl) const {
4336 ARMTargetLowering::duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const {
4359 ARMTargetLowering::getARMXALUOOp(SDValue Op, SelectionDAG &DAG,
4429 ARMTargetLowering::LowerSignedALUO(SDValue Op, SelectionDAG &DAG) const {
4452 SelectionDAG &DAG) {
4465 SelectionDAG &DAG) {
4476 SelectionDAG &DAG) const {
4512 static SDValue LowerSADDSUBSAT(SDValue Op, SelectionDAG &DAG,
4541 SDValue ARMTargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
4662 SDValue Cmp, SelectionDAG &DAG) const {
4879 SDValue ARMTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
5078 static SDValue bitcastf32Toi32(SDValue Op, SelectionDAG &DAG) {
5090 static void expandf64Toi32(SDValue Op, SelectionDAG &DAG,
5122 ARMTargetLowering::OptimizeVFPBrcond(SDValue Op, SelectionDAG &DAG) const {
5172 SDValue ARMTargetLowering::LowerBRCOND(SDValue Op, SelectionDAG &DAG) const {
5209 SDValue ARMTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
5292 SDValue ARMTargetLowering::LowerBR_JT(SDValue Op, SelectionDAG &DAG) const {
5328 static SDValue LowerVectorFP_TO_INT(SDValue Op, SelectionDAG &DAG) {
5359 SDValue ARMTargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const {
5379 static SDValue LowerVectorINT_TO_FP(SDValue Op, SelectionDAG &DAG) {
5424 SDValue ARMTargetLowering::LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG) const {
5444 SDValue ARMTargetLowering::LowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) const {
5526 SDValue ARMTargetLowering::LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const{
5550 SDValue ARMTargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
5584 SelectionDAG &DAG) {
5609 SelectionDAG &DAG) {
5656 static SDValue ExpandBITCAST(SDNode *N, SelectionDAG &DAG,
5778 static SDValue getZeroVector(EVT VT, SelectionDAG &DAG, const SDLoc &dl) {
5790 SelectionDAG &DAG) const {
5834 SelectionDAG &DAG) const {
5871 SelectionDAG &DAG) const {
5889 static SDValue LowerCTTZ(SDNode *N, SelectionDAG &DAG,
5945 static SDValue LowerCTPOP(SDNode *N, SelectionDAG &DAG,
6031 static SDValue LowerShift(SDNode *N, SelectionDAG &DAG,
6074 static SDValue Expand64BitShift(SDNode *N, SelectionDAG &DAG,
6156 static SDValue LowerVSETCC(SDValue Op, SelectionDAG &DAG,
6336 static SDValue LowerSETCCCARRY(SDValue Op, SelectionDAG &DAG) {
6370 unsigned SplatBitSize, SelectionDAG &DAG,
6509 SDValue ARMTargetLowering::LowerConstantFP(SDValue Op, SelectionDAG &DAG,
7014 static SDValue IsSingleInstrConstant(SDValue N, SelectionDAG &DAG,
7031 static SDValue LowerBUILD_VECTOR_i1(SDValue Op, SelectionDAG &DAG,
7093 SDValue ARMTargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG,
7332 SelectionDAG &DAG) const {
7615 SDValue RHS, SelectionDAG &DAG,
7674 SelectionDAG &DAG) {
7694 SelectionDAG &DAG) {
7724 SelectionDAG &DAG) {
7758 static SDValue LowerVECTOR_SHUFFLE_i1(SDValue Op, SelectionDAG &DAG,
7798 static SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
7995 static SDValue LowerINSERT_VECTOR_ELT_i1(SDValue Op, SelectionDAG &DAG,
8017 SelectionDAG &DAG) const {
8058 static SDValue LowerEXTRACT_VECTOR_ELT_i1(SDValue Op, SelectionDAG &DAG,
8076 static SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG,
8097 static SDValue LowerCONCAT_VECTORS_i1(SDValue Op, SelectionDAG &DAG,
8149 static SDValue LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG,
8174 static SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, SelectionDAG &DAG,
8214 static bool isExtendedBUILD_VECTOR(SDNode *N, SelectionDAG &DAG,
8267 static bool isSignExtended(SDNode *N, SelectionDAG &DAG) {
8277 static bool isZeroExtended(SDNode *N, SelectionDAG &DAG) {
8305 static SDValue AddRequiredExtensionForVMULL(SDValue N, SelectionDAG &DAG,
8327 static SDValue SkipLoadExtensionForVMULL(LoadSDNode *LD, SelectionDAG& DAG) {
8351 static SDValue SkipExtensionForVMULL(SDNode *N, SelectionDAG &DAG) {
8401 static bool isAddSubSExt(SDNode *N, SelectionDAG &DAG) {
8412 static bool isAddSubZExt(SDNode *N, SelectionDAG &DAG) {
8423 static SDValue LowerMUL(SDValue Op, SelectionDAG &DAG) {
8499 SelectionDAG &DAG) {
8530 SelectionDAG &DAG) {
8568 static SDValue LowerSDIV(SDValue Op, SelectionDAG &DAG,
8604 static SDValue LowerUDIV(SDValue Op, SelectionDAG &DAG,
8681 static SDValue LowerADDSUBCARRY(SDValue Op, SelectionDAG &DAG) {
8725 SDValue ARMTargetLowering::LowerFSINCOS(SDValue Op, SelectionDAG &DAG) const {
8800 SDValue ARMTargetLowering::LowerWindowsDIVLibCall(SDValue Op, SelectionDAG &DAG,
8843 SelectionDAG &DAG,
8880 SDValue ARMTargetLowering::LowerDIV_Windows(SDValue Op, SelectionDAG &DAG,
8892 static SDValue WinDBZCheckDenominator(SelectionDAG &DAG, SDNode *N, SDValue InChain) {
8906 SDValue Op, SelectionDAG &DAG, bool Signed,
8928 static SDValue LowerPredicateLoad(SDValue Op, SelectionDAG &DAG) {
8958 static SDValue LowerPredicateStore(SDValue Op, SelectionDAG &DAG) {
8987 static SDValue LowerMLOAD(SDValue Op, SelectionDAG &DAG) {
9018 static SDValue LowerAtomicLoadStore(SDValue Op, SelectionDAG &DAG) {
9030 SelectionDAG &DAG,
9051 static SDValue createGPRPairNode(SelectionDAG &DAG, SDValue V) {
9071 SelectionDAG &DAG) {
9097 SelectionDAG &DAG) {
9148 SDValue ARMTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
9243 SelectionDAG &DAG) {
9277 SelectionDAG &DAG) const {
10837 SelectionDAG &DAG) {
10911 SelectionDAG &DAG = DCI.DAG;
10972 SelectionDAG &DAG = DCI.DAG;
11012 SelectionDAG &DAG = DCI.DAG;
11106 SelectionDAG &DAG = DCI.DAG;
11180 SelectionDAG &DAG = DCI.DAG;
11338 SelectionDAG &DAG = DCI.DAG;
11426 SelectionDAG &DAG = DCI.DAG;
11442 static SDValue PerformUMLALCombine(SDNode *N, SelectionDAG &DAG,
11467 SelectionDAG &DAG(DCI.DAG);
11501 SelectionDAG &DAG = DCI.DAG;
11529 SelectionDAG &DAG = DCI.DAG;
11726 SelectionDAG &DAG = DCI.DAG;
11797 SelectionDAG &DAG = DCI.DAG;
11825 SelectionDAG &DAG = DCI.DAG;
11947 SelectionDAG &DAG = DCI.DAG;
12016 SelectionDAG &DAG = DCI.DAG;
12096 SelectionDAG &DAG = DCI.DAG;
12128 SelectionDAG &DAG = DCI.DAG;
12323 SelectionDAG &DAG = DCI.DAG;
12420 SelectionDAG &DAG = DCI.DAG;
12589 SelectionDAG &DAG = DCI.DAG;
12616 static SDValue PerformVMOVDRRCombine(SDNode *N, SelectionDAG &DAG) {
12655 SelectionDAG &DAG = DCI.DAG;
12734 SelectionDAG &DAG = DCI.DAG;
12801 SelectionDAG &DAG = DCI.DAG;
12817 static SDValue PerformVECTOR_SHUFFLECombine(SDNode *N, SelectionDAG &DAG) {
12874 SelectionDAG &DAG = DCI.DAG;
13101 SelectionDAG &DAG = DCI.DAG;
13213 SelectionDAG &DAG = DCI.DAG;
13254 SelectionDAG &DAG) {
13339 SelectionDAG &DAG) {
13415 SelectionDAG &DAG = DCI.DAG;
13438 SelectionDAG &DAG = DCI.DAG;
13474 static SDValue PerformVCVTCombine(SDNode *N, SelectionDAG &DAG,
13531 static SDValue PerformVDIVCombine(SDNode *N, SelectionDAG &DAG,
13582 static SDValue PerformIntrinsicCombine(SDNode *N, SelectionDAG &DAG) {
13744 SelectionDAG &DAG = DCI.DAG;
13829 static SDValue PerformSplittingToWideningLoad(SDNode *N, SelectionDAG &DAG) {
13893 static SDValue PerformExtendCombine(SDNode *N, SelectionDAG &DAG,
13943 SDValue ARMTargetLowering::PerformCMOVToBFICombine(SDNode *CMOV, SelectionDAG &DAG) const {
14142 SelectionDAG &DAG = DCI.DAG;
14200 ARMTargetLowering::PerformBRCONDCombine(SDNode *N, SelectionDAG &DAG) const {
14240 ARMTargetLowering::PerformCMOVCombine(SDNode *N, SelectionDAG &DAG) const {
15126 SelectionDAG &DAG) {
15185 SelectionDAG &DAG) {
15210 SelectionDAG &DAG) {
15260 SelectionDAG &DAG) const {
15309 SelectionDAG &DAG) const {
15381 const SelectionDAG &DAG,
15754 SelectionDAG &DAG) const {
15957 SDValue ARMTargetLowering::LowerDivRem(SDValue Op, SelectionDAG &DAG) const {
16017 SDValue ARMTargetLowering::LowerREM(SDNode *N, SelectionDAG &DAG) const {
16061 ARMTargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const {
16100 SDValue ARMTargetLowering::LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const {
16147 SDValue ARMTargetLowering::LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const {
16175 SelectionDAG &DAG) const {
16602 bool ARMTargetLowering::shouldExpandShift(SelectionDAG &DAG, SDNode *N) const {
lib/Target/ARM/ARMISelLowering.h 304 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
309 SelectionDAG &DAG) const override;
331 SDValue PerformCMOVCombine(SDNode *N, SelectionDAG &DAG) const;
332 SDValue PerformBRCONDCombine(SDNode *N, SelectionDAG &DAG) const;
333 SDValue PerformCMOVToBFICombine(SDNode *N, SelectionDAG &DAG) const;
401 SelectionDAG &DAG) const override;
408 SelectionDAG &DAG) const override;
412 const SelectionDAG &DAG,
440 SelectionDAG &DAG) const override;
579 const SelectionDAG &DAG) const override {
599 bool shouldExpandShift(SelectionDAG &DAG, SDNode *N) const override;
657 std::pair<SDValue, SDValue> getARMXALUOOp(SDValue Op, SelectionDAG &DAG, SDValue &ARMcc) const;
661 void PassF64ArgInRegs(const SDLoc &dl, SelectionDAG &DAG, SDValue Chain,
668 SDValue &Root, SelectionDAG &DAG,
676 const SDLoc &dl, SelectionDAG &DAG,
679 SDValue LowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
680 SDValue LowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const;
681 SDValue LowerEH_SJLJ_SETUP_DISPATCH(SDValue Op, SelectionDAG &DAG) const;
682 SDValue LowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG,
684 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG,
686 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
687 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
688 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
689 SDValue LowerGlobalAddressDarwin(SDValue Op, SelectionDAG &DAG) const;
690 SDValue LowerGlobalAddressELF(SDValue Op, SelectionDAG &DAG) const;
691 SDValue LowerGlobalAddressWindows(SDValue Op, SelectionDAG &DAG) const;
692 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
694 SelectionDAG &DAG) const;
696 SelectionDAG &DAG,
698 SDValue LowerGlobalTLSAddressDarwin(SDValue Op, SelectionDAG &DAG) const;
699 SDValue LowerGlobalTLSAddressWindows(SDValue Op, SelectionDAG &DAG) const;
700 SDValue LowerGLOBAL_OFFSET_TABLE(SDValue Op, SelectionDAG &DAG) const;
701 SDValue LowerBR_JT(SDValue Op, SelectionDAG &DAG) const;
702 SDValue LowerSignedALUO(SDValue Op, SelectionDAG &DAG) const;
703 SDValue LowerUnsignedALUO(SDValue Op, SelectionDAG &DAG) const;
704 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
705 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
706 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
707 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
708 SDValue LowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) const;
709 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
710 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
711 SDValue LowerShiftRightParts(SDValue Op, SelectionDAG &DAG) const;
712 SDValue LowerShiftLeftParts(SDValue Op, SelectionDAG &DAG) const;
713 SDValue LowerFLT_ROUNDS_(SDValue Op, SelectionDAG &DAG) const;
714 SDValue LowerConstantFP(SDValue Op, SelectionDAG &DAG,
716 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG,
718 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
719 SDValue LowerFSINCOS(SDValue Op, SelectionDAG &DAG) const;
720 SDValue LowerDivRem(SDValue Op, SelectionDAG &DAG) const;
721 SDValue LowerDIV_Windows(SDValue Op, SelectionDAG &DAG, bool Signed) const;
722 void ExpandDIV_Windows(SDValue Op, SelectionDAG &DAG, bool Signed,
724 SDValue LowerWindowsDIVLibCall(SDValue Op, SelectionDAG &DAG, bool Signed,
726 SDValue LowerREM(SDNode *N, SelectionDAG &DAG) const;
727 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
728 SDValue LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
729 SDValue LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
730 SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const;
731 SDValue LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
733 SelectionDAG &DAG) const;
738 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
752 SDValue ReconstructShuffle(SDValue Op, SelectionDAG &DAG) const;
757 const SDLoc &dl, SelectionDAG &DAG,
774 const SDLoc &dl, SelectionDAG &DAG,
777 int StoreByValRegs(CCState &CCInfo, SelectionDAG &DAG, const SDLoc &dl,
782 void VarArgStyleRegisters(CCState &CCInfo, SelectionDAG &DAG,
801 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG,
812 const SDLoc &dl, SelectionDAG &DAG) const override;
824 SelectionDAG &DAG) const;
826 SDValue &ARMcc, SelectionDAG &DAG, const SDLoc &dl) const;
827 SDValue getVFPCmp(SDValue LHS, SDValue RHS, SelectionDAG &DAG,
829 SDValue duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const;
831 SDValue OptimizeVFPBrcond(SDValue Op, SelectionDAG &DAG) const;
lib/Target/ARM/ARMSelectionDAGInfo.cpp 24 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
128 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
242 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
250 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
lib/Target/ARM/ARMSelectionDAGInfo.h 40 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
48 EmitTargetCodeForMemmove(SelectionDAG &DAG, const SDLoc &dl, SDValue Chain,
55 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl,
60 SDValue EmitSpecializedLibcall(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/AVR/AVRISelLowering.cpp 278 SDValue AVRTargetLowering::LowerShifts(SDValue Op, SelectionDAG &DAG) const {
339 SDValue AVRTargetLowering::LowerDivRem(SDValue Op, SelectionDAG &DAG) const {
399 SelectionDAG &DAG) const {
412 SelectionDAG &DAG) const {
444 SDValue &AVRcc, SelectionDAG &DAG,
619 SDValue AVRTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
634 SDValue AVRTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
651 SDValue AVRTargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
668 SDValue AVRTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
683 SDValue AVRTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
717 SelectionDAG &DAG) const {
775 SelectionDAG &DAG) const {
832 SelectionDAG &DAG) const {
1051 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, SelectionDAG &DAG,
1147 SelectionDAG &DAG = CLI.DAG;
1313 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, SelectionDAG &DAG,
1374 const SDLoc &dl, SelectionDAG &DAG) const {
1905 SelectionDAG &DAG) const {
lib/Target/AVR/AVRISelLowering.h 86 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
89 SelectionDAG &DAG) const override;
97 SelectionDAG &DAG) const override;
101 SelectionDAG &DAG) const override;
126 SelectionDAG &DAG) const override;
138 SelectionDAG &DAG, SDLoc dl) const;
139 SDValue LowerShifts(SDValue Op, SelectionDAG &DAG) const;
140 SDValue LowerDivRem(SDValue Op, SelectionDAG &DAG) const;
141 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
142 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
143 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
144 SDValue LowerINLINEASM(SDValue Op, SelectionDAG &DAG) const;
145 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
146 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
147 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
159 SelectionDAG &DAG) const override;
163 const SDLoc &dl, SelectionDAG &DAG,
170 const SDLoc &dl, SelectionDAG &DAG,
lib/Target/BPF/BPFISelDAGToDAG.cpp 77 void PreprocessLoad(SDNode *Node, SelectionDAG::allnodes_iterator &I);
79 void PreprocessTrunc(SDNode *Node, SelectionDAG::allnodes_iterator &I);
244 SelectionDAG::allnodes_iterator &I) {
327 for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(),
466 SelectionDAG::allnodes_iterator &I) {
lib/Target/BPF/BPFISelLowering.cpp 39 static void fail(const SDLoc &DL, SelectionDAG &DAG, const Twine &Msg) {
45 static void fail(const SDLoc &DL, SelectionDAG &DAG, const char *Msg,
190 SDValue BPFTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
209 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
277 SelectionDAG &DAG = CLI.DAG;
411 const SDLoc &DL, SelectionDAG &DAG) const {
457 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
498 SDValue BPFTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
513 SDValue BPFTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
552 SelectionDAG &DAG) const {
lib/Target/BPF/BPFISelLowering.h 40 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
72 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
73 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
74 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
80 const SDLoc &DL, SelectionDAG &DAG,
94 const SDLoc &DL, SelectionDAG &DAG,
100 SelectionDAG &DAG) const override;
lib/Target/BPF/BPFSelectionDAGInfo.cpp 21 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
lib/Target/BPF/BPFSelectionDAGInfo.h 22 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/Hexagon/HexagonISelDAGToDAG.cpp 978 SelectionDAG &DAG = *CurDAG;
1026 SelectionDAG &DAG = *CurDAG;
1090 SelectionDAG &DAG = *CurDAG;
1155 SelectionDAG &DAG = *CurDAG;
lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp 655 void print(raw_ostream &OS, const SelectionDAG &G) const;
667 LLVM_DUMP_METHOD void print(raw_ostream &OS, const SelectionDAG &G) const;
704 void print(raw_ostream &OS, const SelectionDAG &G) const;
709 void OpRef::print(raw_ostream &OS, const SelectionDAG &G) const {
732 void NodeTemplate::print(raw_ostream &OS, const SelectionDAG &G) const {
746 void ResultStack::print(raw_ostream &OS, const SelectionDAG &G) const {
796 static const HexagonTargetLowering &getHexagonLowering(SelectionDAG &G) {
799 static const HexagonSubtarget &getHexagonSubtarget(SelectionDAG &G) {
807 SelectionDAG &DAG;
811 HvxSelector(HexagonDAGToDAGISel &HS, SelectionDAG &G)
1335 struct Deleter : public SelectionDAG::DAGNodeDeletedListener {
1337 Deleter(SelectionDAG &D, T &C)
lib/Target/Hexagon/HexagonISelLowering.cpp 155 HexagonTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG)
167 SelectionDAG &DAG, const SDLoc &dl) {
196 const SDLoc &dl, SelectionDAG &DAG) const {
263 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
316 SelectionDAG &DAG = CLI.DAG;
547 SelectionDAG &DAG) const {
575 HexagonTargetLowering::LowerINLINEASM(SDValue Op, SelectionDAG &DAG) const {
624 SelectionDAG &DAG) const {
639 SelectionDAG &DAG) const {
647 SelectionDAG &DAG) const {
662 SelectionDAG &DAG) const {
694 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
799 HexagonTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
810 SDValue HexagonTargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
870 HexagonTargetLowering::LowerVSELECT(SDValue Op, SelectionDAG &DAG) const {
917 HexagonTargetLowering::LowerConstantPool(SDValue Op, SelectionDAG &DAG) const {
953 HexagonTargetLowering::LowerJumpTable(SDValue Op, SelectionDAG &DAG) const {
966 HexagonTargetLowering::LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const {
992 HexagonTargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
1009 HexagonTargetLowering::LowerATOMIC_FENCE(SDValue Op, SelectionDAG& DAG) const {
1015 HexagonTargetLowering::LowerGLOBALADDRESS(SDValue Op, SelectionDAG &DAG) const {
1049 HexagonTargetLowering::LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const {
1065 HexagonTargetLowering::LowerGLOBAL_OFFSET_TABLE(SDValue Op, SelectionDAG &DAG)
1074 HexagonTargetLowering::GetDynamicTLSAddr(SelectionDAG &DAG, SDValue Chain,
1112 SelectionDAG &DAG) const {
1154 SelectionDAG &DAG) const {
1176 SelectionDAG &DAG) const {
1213 SelectionDAG &DAG) const {
1910 HexagonTargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG)
2037 HexagonTargetLowering::getVectorShiftByInt(SDValue Op, SelectionDAG &DAG)
2063 HexagonTargetLowering::LowerVECTOR_SHIFT(SDValue Op, SelectionDAG &DAG) const {
2068 HexagonTargetLowering::LowerROTL(SDValue Op, SelectionDAG &DAG) const {
2075 HexagonTargetLowering::LowerBITCAST(SDValue Op, SelectionDAG &DAG) const {
2094 MVT VecTy, SelectionDAG &DAG,
2124 MVT VecTy, SelectionDAG &DAG) const {
2207 MVT VecTy, SelectionDAG &DAG) const {
2269 SelectionDAG &DAG) const {
2368 SelectionDAG &DAG) const {
2433 SelectionDAG &DAG) const {
2442 SelectionDAG &DAG) const {
2450 HexagonTargetLowering::getZero(const SDLoc &dl, MVT Ty, SelectionDAG &DAG)
2468 HexagonTargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
2523 SelectionDAG &DAG) const {
2588 SelectionDAG &DAG) const {
2596 SelectionDAG &DAG) const {
2603 SelectionDAG &DAG) const {
2610 SelectionDAG &DAG) const {
2630 HexagonTargetLowering::LowerLoad(SDValue Op, SelectionDAG &DAG) const {
2640 HexagonTargetLowering::LowerStore(SDValue Op, SelectionDAG &DAG) const {
2655 HexagonTargetLowering::LowerUnalignedLoad(SDValue Op, SelectionDAG &DAG)
2741 HexagonTargetLowering::LowerUAddSubO(SDValue Op, SelectionDAG &DAG) const {
2778 HexagonTargetLowering::LowerAddSubCarry(SDValue Op, SelectionDAG &DAG) const {
2796 HexagonTargetLowering::LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const {
2823 HexagonTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
2889 SelectionDAG &DAG) const {
2902 SelectionDAG &DAG) const {
2965 SelectionDAG &DAG) const {
3123 SelectionDAG& DAG) const {
lib/Target/Hexagon/HexagonISelLowering.h 119 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG& DAG) const;
150 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
152 SelectionDAG &DAG) const override;
154 SelectionDAG &DAG) const override;
158 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
159 SDValue LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) const;
160 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
161 SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
162 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
163 SDValue LowerINSERT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
164 SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
165 SDValue LowerVECTOR_SHIFT(SDValue Op, SelectionDAG &DAG) const;
166 SDValue LowerROTL(SDValue Op, SelectionDAG &DAG) const;
167 SDValue LowerBITCAST(SDValue Op, SelectionDAG &DAG) const;
168 SDValue LowerANY_EXTEND(SDValue Op, SelectionDAG &DAG) const;
169 SDValue LowerSIGN_EXTEND(SDValue Op, SelectionDAG &DAG) const;
170 SDValue LowerZERO_EXTEND(SDValue Op, SelectionDAG &DAG) const;
171 SDValue LowerLoad(SDValue Op, SelectionDAG &DAG) const;
172 SDValue LowerStore(SDValue Op, SelectionDAG &DAG) const;
173 SDValue LowerUnalignedLoad(SDValue Op, SelectionDAG &DAG) const;
174 SDValue LowerUAddSubO(SDValue Op, SelectionDAG &DAG) const;
175 SDValue LowerAddSubCarry(SDValue Op, SelectionDAG &DAG) const;
177 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
178 SDValue LowerINLINEASM(SDValue Op, SelectionDAG &DAG) const;
179 SDValue LowerPREFETCH(SDValue Op, SelectionDAG &DAG) const;
180 SDValue LowerREADCYCLECOUNTER(SDValue Op, SelectionDAG &DAG) const;
181 SDValue LowerEH_LABEL(SDValue Op, SelectionDAG &DAG) const;
182 SDValue LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const;
186 const SDLoc &dl, SelectionDAG &DAG,
188 SDValue LowerGLOBALADDRESS(SDValue Op, SelectionDAG &DAG) const;
189 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
190 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
192 SelectionDAG &DAG) const;
194 SelectionDAG &DAG) const;
196 SelectionDAG &DAG) const;
197 SDValue GetDynamicTLSAddr(SelectionDAG &DAG, SDValue Chain,
200 SDValue LowerGLOBAL_OFFSET_TABLE(SDValue Op, SelectionDAG &DAG) const;
207 const SDLoc &dl, SelectionDAG &DAG,
212 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
213 SDValue LowerVSELECT(SDValue Op, SelectionDAG &DAG) const;
214 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
215 SDValue LowerATOMIC_FENCE(SDValue Op, SelectionDAG& DAG) const;
216 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
226 const SDLoc &dl, SelectionDAG &DAG) const override;
249 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
250 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
251 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
264 SelectionDAG &DAG) const override;
280 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
281 SDValue LowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG) const;
312 SDValue getPICJumpTableRelocBase(SDValue Table, SelectionDAG &DAG)
341 SelectionDAG &DAG,
344 SelectionDAG &DAG) const;
346 SelectionDAG &DAG) const;
348 MVT ValTy, MVT ResTy, SelectionDAG &DAG) const;
350 const SDLoc &dl, MVT ValTy, SelectionDAG &DAG) const;
352 SelectionDAG &DAG) const;
354 SelectionDAG &DAG) const;
355 SDValue getVectorShiftByInt(SDValue Op, SelectionDAG &DAG) const;
363 ArrayRef<SDValue> Ops, SelectionDAG &DAG) const {
367 SDValue getZero(const SDLoc &dl, MVT Ty, SelectionDAG &DAG) const;
373 const SDLoc &dl, SelectionDAG &DAG) const;
402 SelectionDAG &DAG) const;
403 VectorPair opSplit(SDValue Vec, const SDLoc &dl, SelectionDAG &DAG) const;
404 SDValue opCastElem(SDValue Vec, MVT ElemTy, SelectionDAG &DAG) const;
409 SelectionDAG &DAG) const;
410 SDValue getIndexInWord32(SDValue Idx, MVT ElemTy, SelectionDAG &DAG) const;
412 ArrayRef<int> Mask, SelectionDAG &DAG) const;
415 MVT VecTy, SelectionDAG &DAG) const;
417 MVT VecTy, SelectionDAG &DAG) const;
420 SelectionDAG &DAG) const;
422 MVT ResTy, SelectionDAG &DAG) const;
424 MVT ResTy, SelectionDAG &DAG) const;
426 const SDLoc &dl, SelectionDAG &DAG) const;
428 const SDLoc &dl, SelectionDAG &DAG) const;
430 MVT ResTy, SelectionDAG &DAG) const;
432 MVT ResTy, SelectionDAG &DAG) const;
434 const SDLoc &dl, SelectionDAG &DAG) const;
436 const SDLoc &dl, SelectionDAG &DAG) const;
438 bool ZeroExt, SelectionDAG &DAG) const;
440 SDValue LowerHvxBuildVector(SDValue Op, SelectionDAG &DAG) const;
441 SDValue LowerHvxConcatVectors(SDValue Op, SelectionDAG &DAG) const;
442 SDValue LowerHvxExtractElement(SDValue Op, SelectionDAG &DAG) const;
443 SDValue LowerHvxInsertElement(SDValue Op, SelectionDAG &DAG) const;
444 SDValue LowerHvxExtractSubvector(SDValue Op, SelectionDAG &DAG) const;
445 SDValue LowerHvxInsertSubvector(SDValue Op, SelectionDAG &DAG) const;
447 SDValue LowerHvxAnyExt(SDValue Op, SelectionDAG &DAG) const;
448 SDValue LowerHvxSignExt(SDValue Op, SelectionDAG &DAG) const;
449 SDValue LowerHvxZeroExt(SDValue Op, SelectionDAG &DAG) const;
450 SDValue LowerHvxCttz(SDValue Op, SelectionDAG &DAG) const;
451 SDValue LowerHvxMul(SDValue Op, SelectionDAG &DAG) const;
452 SDValue LowerHvxMulh(SDValue Op, SelectionDAG &DAG) const;
453 SDValue LowerHvxSetCC(SDValue Op, SelectionDAG &DAG) const;
454 SDValue LowerHvxExtend(SDValue Op, SelectionDAG &DAG) const;
455 SDValue LowerHvxShift(SDValue Op, SelectionDAG &DAG) const;
457 SDValue SplitHvxPairOp(SDValue Op, SelectionDAG &DAG) const;
458 SDValue SplitHvxMemOp(SDValue Op, SelectionDAG &DAG) const;
465 SDValue LowerHvxOperation(SDValue Op, SelectionDAG &DAG) const;
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp 202 const SDLoc &dl, SelectionDAG &DAG) const {
244 SelectionDAG &DAG) const {
253 SelectionDAG &DAG) const {
260 SelectionDAG &DAG) const {
281 SelectionDAG &DAG) const {
297 SelectionDAG &DAG) const {
314 SelectionDAG &DAG) const {
345 SelectionDAG &DAG) const {
496 unsigned BitBytes, bool ZeroFill, SelectionDAG &DAG) const {
586 SelectionDAG &DAG) const {
658 const SDLoc &dl, MVT ResTy, SelectionDAG &DAG) const {
682 const SDLoc &dl, MVT ResTy, SelectionDAG &DAG) const {
701 SDValue ValV, const SDLoc &dl, SelectionDAG &DAG) const {
746 SDValue ValV, const SDLoc &dl, SelectionDAG &DAG) const {
762 const SDLoc &dl, MVT ResTy, SelectionDAG &DAG) const {
807 const SDLoc &dl, MVT ResTy, SelectionDAG &DAG) const {
871 SDValue IdxV, const SDLoc &dl, SelectionDAG &DAG) const {
958 SDValue IdxV, const SDLoc &dl, SelectionDAG &DAG) const {
1003 MVT ResTy, bool ZeroExt, SelectionDAG &DAG) const {
1019 HexagonTargetLowering::LowerHvxBuildVector(SDValue Op, SelectionDAG &DAG)
1044 HexagonTargetLowering::LowerHvxConcatVectors(SDValue Op, SelectionDAG &DAG)
1134 HexagonTargetLowering::LowerHvxExtractElement(SDValue Op, SelectionDAG &DAG)
1148 HexagonTargetLowering::LowerHvxInsertElement(SDValue Op, SelectionDAG &DAG)
1162 HexagonTargetLowering::LowerHvxExtractSubvector(SDValue Op, SelectionDAG &DAG)
1181 HexagonTargetLowering::LowerHvxInsertSubvector(SDValue Op, SelectionDAG &DAG)
1198 HexagonTargetLowering::LowerHvxAnyExt(SDValue Op, SelectionDAG &DAG) const {
1212 HexagonTargetLowering::LowerHvxSignExt(SDValue Op, SelectionDAG &DAG) const {
1222 HexagonTargetLowering::LowerHvxZeroExt(SDValue Op, SelectionDAG &DAG) const {
1232 HexagonTargetLowering::LowerHvxCttz(SDValue Op, SelectionDAG &DAG) const {
1267 HexagonTargetLowering::LowerHvxMul(SDValue Op, SelectionDAG &DAG) const {
1321 HexagonTargetLowering::LowerHvxMulh(SDValue Op, SelectionDAG &DAG) const {
1427 HexagonTargetLowering::LowerHvxExtend(SDValue Op, SelectionDAG &DAG) const {
1435 HexagonTargetLowering::LowerHvxShift(SDValue Op, SelectionDAG &DAG) const {
1442 HexagonTargetLowering::SplitHvxPairOp(SDValue Op, SelectionDAG &DAG) const {
1475 HexagonTargetLowering::SplitHvxMemOp(SDValue Op, SelectionDAG &DAG) const {
1518 HexagonTargetLowering::LowerHvxOperation(SDValue Op, SelectionDAG &DAG) const {
lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp 20 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
lib/Target/Hexagon/HexagonSelectionDAGInfo.h 24 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/Lanai/LanaiISelLowering.cpp 176 SelectionDAG &DAG) const {
286 SelectionDAG &DAG) const {
399 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
411 SelectionDAG &DAG = CLI.DAG;
440 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
538 const SDLoc &DL, SelectionDAG &DAG) const {
601 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
777 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
802 SDValue &RHS, SelectionDAG &DAG) {
866 SDValue LanaiTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
883 SDValue LanaiTargetLowering::LowerMUL(SDValue Op, SelectionDAG &DAG) const {
969 SDValue LanaiTargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
984 SelectionDAG &DAG) const {
1002 SDValue LanaiTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
1018 SelectionDAG &DAG) const {
1053 SelectionDAG &DAG) const {
1076 SelectionDAG &DAG) const {
1126 SelectionDAG &DAG) const {
1159 SelectionDAG &DAG) const {
1193 SelectionDAG &DAG) const {
1209 SelectionDAG &DAG) const {
1236 SelectionDAG &DAG) const {
1285 SelectionDAG &DAG) const {
1349 SelectionDAG &DAG) {
1421 SelectionDAG &DAG = DCI.DAG;
1490 const SelectionDAG &DAG, unsigned Depth) const {
lib/Target/Lanai/LanaiISelLowering.h 72 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
78 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
79 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
80 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
81 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
82 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
83 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
84 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
85 SDValue LowerMUL(SDValue Op, SelectionDAG &DAG) const;
86 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
87 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
88 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
89 SDValue LowerSHL_PARTS(SDValue Op, SelectionDAG &DAG) const;
90 SDValue LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const;
91 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
103 SelectionDAG &DAG) const override;
109 const SelectionDAG &DAG,
119 const SDLoc &dl, SelectionDAG &DAG,
125 const SDLoc &DL, SelectionDAG &DAG,
131 const SDLoc &DL, SelectionDAG &DAG,
140 const SDLoc &DL, SelectionDAG &DAG,
146 SelectionDAG &DAG) const override;
lib/Target/Lanai/LanaiSelectionDAGInfo.cpp 22 SelectionDAG & /*DAG*/, const SDLoc & /*dl*/, SDValue /*Chain*/,
lib/Target/Lanai/LanaiSelectionDAGInfo.h 25 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/MSP430/MSP430ISelLowering.cpp 335 SelectionDAG &DAG) const {
554 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
572 SelectionDAG &DAG = CLI.DAG;
605 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
723 const SDLoc &dl, SelectionDAG &DAG) const {
793 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
923 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
944 SelectionDAG &DAG) const {
997 SelectionDAG &DAG) const {
1008 SelectionDAG &DAG) const {
1018 SelectionDAG &DAG) const {
1028 ISD::CondCode CC, const SDLoc &dl, SelectionDAG &DAG) {
1113 SDValue MSP430TargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
1128 SDValue MSP430TargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
1205 SelectionDAG &DAG) const {
1223 SelectionDAG &DAG) const {
1236 MSP430TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
1254 SelectionDAG &DAG) const {
1281 SelectionDAG &DAG) const {
1297 SelectionDAG &DAG) const {
1313 SelectionDAG &DAG) const {
1327 SelectionDAG &DAG) const {
lib/Target/MSP430/MSP430ISelLowering.h 83 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
89 SDValue LowerShifts(SDValue Op, SelectionDAG &DAG) const;
90 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
91 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
92 SDValue LowerExternalSymbol(SDValue Op, SelectionDAG &DAG) const;
93 SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
94 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
95 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
96 SDValue LowerSIGN_EXTEND(SDValue Op, SelectionDAG &DAG) const;
97 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
98 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
99 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
100 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
101 SDValue getReturnAddressFrameIndex(SelectionDAG &DAG) const;
142 const SDLoc &dl, SelectionDAG &DAG,
148 const SDLoc &dl, SelectionDAG &DAG,
154 const SDLoc &dl, SelectionDAG &DAG,
160 const SDLoc &dl, SelectionDAG &DAG,
175 const SDLoc &dl, SelectionDAG &DAG) const override;
181 SelectionDAG &DAG) const override;
lib/Target/Mips/Mips16ISelLowering.cpp 417 SelectionDAG &DAG = CLI.DAG;
lib/Target/Mips/MipsISelLowering.cpp 146 SDValue MipsTargetLowering::getGlobalReg(SelectionDAG &DAG, EVT Ty) const {
152 SelectionDAG &DAG,
158 SelectionDAG &DAG,
164 SelectionDAG &DAG,
170 SelectionDAG &DAG,
176 SelectionDAG &DAG,
567 static SDValue performDivRemCombine(SDNode *N, SelectionDAG &DAG,
644 static SDValue createFPCmp(SelectionDAG &DAG, const SDValue &Op) {
666 static SDValue createCMovFP(SelectionDAG &DAG, SDValue Cond, SDValue True,
676 static SDValue performSELECTCombine(SDNode *N, SelectionDAG &DAG,
755 static SDValue performCMovFPCombine(SDNode *N, SelectionDAG &DAG,
782 static SDValue performANDCombine(SDNode *N, SelectionDAG &DAG,
864 static SDValue performORCombine(SDNode *N, SelectionDAG &DAG,
962 static SDValue performMADD_MSUBCombine(SDNode *ROOTNode, SelectionDAG &CurDAG,
1055 static SDValue performSUBCombine(SDNode *N, SelectionDAG &DAG,
1070 static SDValue performADDCombine(SDNode *N, SelectionDAG &DAG,
1102 static SDValue performSHLCombine(SDNode *N, SelectionDAG &DAG,
1155 SelectionDAG &DAG = DCI.DAG;
1201 SelectionDAG &DAG) const {
1212 SelectionDAG &DAG) const {
1217 LowerOperation(SDValue Op, SelectionDAG &DAG) const
1901 SDValue MipsTargetLowering::lowerBRCOND(SDValue Op, SelectionDAG &DAG) const {
1926 lowerSELECT(SDValue Op, SelectionDAG &DAG) const
1939 SDValue MipsTargetLowering::lowerSETCC(SDValue Op, SelectionDAG &DAG) const {
1954 SelectionDAG &DAG) const {
2001 SelectionDAG &DAG) const {
2013 lowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const
2095 lowerJumpTable(SDValue Op, SelectionDAG &DAG) const
2108 lowerConstantPool(SDValue Op, SelectionDAG &DAG) const
2130 SDValue MipsTargetLowering::lowerVASTART(SDValue Op, SelectionDAG &DAG) const {
2145 SDValue MipsTargetLowering::lowerVAARG(SDValue Op, SelectionDAG &DAG) const {
2203 static SDValue lowerFCOPYSIGN32(SDValue Op, SelectionDAG &DAG,
2250 static SDValue lowerFCOPYSIGN64(SDValue Op, SelectionDAG &DAG,
2301 MipsTargetLowering::lowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) const {
2308 static SDValue lowerFABS32(SDValue Op, SelectionDAG &DAG,
2345 static SDValue lowerFABS64(SDValue Op, SelectionDAG &DAG,
2366 SDValue MipsTargetLowering::lowerFABS(SDValue Op, SelectionDAG &DAG) const {
2374 lowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
2392 SelectionDAG &DAG) const {
2418 SDValue MipsTargetLowering::lowerEH_RETURN(SDValue Op, SelectionDAG &DAG)
2443 SelectionDAG &DAG) const {
2453 SelectionDAG &DAG) const {
2483 SDValue MipsTargetLowering::lowerShiftRightParts(SDValue Op, SelectionDAG &DAG,
2534 static SDValue createLoadLR(unsigned Opc, SelectionDAG &DAG, LoadSDNode *LD,
2552 SDValue MipsTargetLowering::lowerLOAD(SDValue Op, SelectionDAG &DAG) const {
2616 static SDValue createStoreLR(unsigned Opc, SelectionDAG &DAG, StoreSDNode *SD,
2633 static SDValue lowerUnalignedIntStore(StoreSDNode *SD, SelectionDAG &DAG,
2662 static SDValue lowerFP_TO_SINT_STORE(StoreSDNode *SD, SelectionDAG &DAG,
2678 SDValue MipsTargetLowering::lowerSTORE(SDValue Op, SelectionDAG &DAG) const {
2692 SelectionDAG &DAG) const {
2703 SelectionDAG &DAG) const {
2890 SelectionDAG &DAG) const {
3018 SelectionDAG &DAG = CLI.DAG;
3340 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
3406 SelectionDAG &DAG) {
3467 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
3639 SelectionDAG &DAG) const {
3653 const SDLoc &DL, SelectionDAG &DAG) const {
4023 SelectionDAG &DAG) const {
4175 SelectionDAG &DAG, const ISD::ArgFlagsTy &Flags,
4230 MachineFrameInfo &MFI, SelectionDAG &DAG, SDValue Arg, unsigned FirstReg,
4324 SelectionDAG &DAG,
lib/Target/Mips/MipsISelLowering.h 321 SelectionDAG &DAG) const override;
324 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
330 SelectionDAG &DAG) const override;
385 SDValue getGlobalReg(SelectionDAG &DAG, EVT Ty) const;
392 SDValue getAddrLocal(NodeTy *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG,
411 SDValue getAddrGlobal(NodeTy *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG,
425 SelectionDAG &DAG, unsigned HiFlag,
444 SelectionDAG &DAG) const {
461 SelectionDAG &DAG) const {
488 SelectionDAG &DAG, bool IsN64) const {
507 SDValue lowerLOAD(SDValue Op, SelectionDAG &DAG) const;
508 SDValue lowerSTORE(SDValue Op, SelectionDAG &DAG) const;
517 SDValue getTargetNode(GlobalAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
521 SDValue getTargetNode(ExternalSymbolSDNode *N, EVT Ty, SelectionDAG &DAG,
525 SDValue getTargetNode(BlockAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
529 SDValue getTargetNode(JumpTableSDNode *N, EVT Ty, SelectionDAG &DAG,
533 SDValue getTargetNode(ConstantPoolSDNode *N, EVT Ty, SelectionDAG &DAG,
540 const SDLoc &dl, SelectionDAG &DAG,
545 SDValue lowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
546 SDValue lowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
547 SDValue lowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
548 SDValue lowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
549 SDValue lowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
550 SDValue lowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
551 SDValue lowerSELECT(SDValue Op, SelectionDAG &DAG) const;
552 SDValue lowerSETCC(SDValue Op, SelectionDAG &DAG) const;
553 SDValue lowerVASTART(SDValue Op, SelectionDAG &DAG) const;
554 SDValue lowerVAARG(SDValue Op, SelectionDAG &DAG) const;
555 SDValue lowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) const;
556 SDValue lowerFABS(SDValue Op, SelectionDAG &DAG) const;
557 SDValue lowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
558 SDValue lowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
559 SDValue lowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const;
560 SDValue lowerATOMIC_FENCE(SDValue Op, SelectionDAG& DAG) const;
561 SDValue lowerShiftLeftParts(SDValue Op, SelectionDAG& DAG) const;
562 SDValue lowerShiftRightParts(SDValue Op, SelectionDAG& DAG,
564 SDValue lowerEH_DWARF_CFA(SDValue Op, SelectionDAG &DAG) const;
565 SDValue lowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const;
578 std::vector<SDValue> &OutChains, SelectionDAG &DAG,
589 MachineFrameInfo &MFI, SelectionDAG &DAG, SDValue Arg,
598 const SDLoc &DL, SelectionDAG &DAG,
604 const SDLoc &dl, SelectionDAG &DAG,
609 SelectionDAG &DAG) const;
622 const SDLoc &dl, SelectionDAG &DAG) const override;
625 const SDLoc &DL, SelectionDAG &DAG) const;
653 SelectionDAG &DAG) const override;
lib/Target/Mips/MipsSEISelLowering.cpp 408 SDValue MipsSETargetLowering::lowerSELECT(SDValue Op, SelectionDAG &DAG) const {
449 SelectionDAG &DAG) const {
481 static SDValue performANDCombine(SDNode *N, SelectionDAG &DAG,
596 static SDValue performORCombine(SDNode *N, SelectionDAG &DAG,
717 SelectionDAG &DAG,
793 EVT ShiftTy, SelectionDAG &DAG) {
828 static SDValue performMULCombine(SDNode *N, SelectionDAG &DAG,
845 SelectionDAG &DAG,
869 static SDValue performSHLCombine(SDNode *N, SelectionDAG &DAG,
892 static SDValue performSRACombine(SDNode *N, SelectionDAG &DAG,
938 static SDValue performSRLCombine(SDNode *N, SelectionDAG &DAG,
967 static SDValue performSETCCCombine(SDNode *N, SelectionDAG &DAG) {
980 static SDValue performVSELECTCombine(SDNode *N, SelectionDAG &DAG) {
997 static SDValue performXORCombine(SDNode *N, SelectionDAG &DAG,
1026 SelectionDAG &DAG = DCI.DAG;
1173 SDValue MipsSETargetLowering::lowerLOAD(SDValue Op, SelectionDAG &DAG) const {
1202 SDValue MipsSETargetLowering::lowerSTORE(SDValue Op, SelectionDAG &DAG) const {
1233 SelectionDAG &DAG) const {
1264 SelectionDAG &DAG) const {
1286 static SDValue initAccumulator(SDValue In, const SDLoc &DL, SelectionDAG &DAG) {
1294 static SDValue extractLOHI(SDValue Op, const SDLoc &DL, SelectionDAG &DAG) {
1312 static SDValue lowerDSPIntr(SDValue Op, SelectionDAG &DAG, unsigned Opc) {
1361 static SDValue lowerMSACopyIntr(SDValue Op, SelectionDAG &DAG, unsigned Opc) {
1374 static SDValue lowerMSASplatZExt(SDValue Op, unsigned OpNr, SelectionDAG &DAG) {
1418 static SDValue lowerMSASplatImm(SDValue Op, unsigned ImmOp, SelectionDAG &DAG,
1428 bool BigEndian, SelectionDAG &DAG) {
1463 static SDValue lowerMSABinaryBitImmIntr(SDValue Op, SelectionDAG &DAG,
1507 static SDValue truncateVecElts(SDValue Op, SelectionDAG &DAG) {
1520 static SDValue lowerMSABitClear(SDValue Op, SelectionDAG &DAG) {
1530 static SDValue lowerMSABitClearImm(SDValue Op, SelectionDAG &DAG) {
1541 SelectionDAG &DAG) const {
2293 static SDValue lowerMSALoadIntr(SDValue Op, SelectionDAG &DAG, unsigned Intr,
2314 SelectionDAG &DAG) const {
2367 static SDValue lowerMSAStoreIntr(SDValue Op, SelectionDAG &DAG, unsigned Intr,
2389 SelectionDAG &DAG) const {
2410 lowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const {
2460 SelectionDAG &DAG) const {
2985 SelectionDAG &DAG) const {
lib/Target/Mips/MipsSEISelLowering.h 48 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
74 SDValue lowerLOAD(SDValue Op, SelectionDAG &DAG) const;
75 SDValue lowerSTORE(SDValue Op, SelectionDAG &DAG) const;
76 SDValue lowerBITCAST(SDValue Op, SelectionDAG &DAG) const;
79 SelectionDAG &DAG) const;
81 SDValue lowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
82 SDValue lowerINTRINSIC_W_CHAIN(SDValue Op, SelectionDAG &DAG) const;
83 SDValue lowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG) const;
84 SDValue lowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
85 SDValue lowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
88 SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
89 SDValue lowerSELECT(SDValue Op, SelectionDAG &DAG) const;
lib/Target/NVPTX/NVPTXISelLowering.cpp 1200 SDValue NVPTXTargetLowering::getSqrtEstimate(SDValue Operand, SelectionDAG &DAG,
1250 NVPTXTargetLowering::LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const {
1424 SelectionDAG &DAG = CLI.DAG;
1889 NVPTXTargetLowering::LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) const {
1918 SelectionDAG &DAG) const {
1935 SelectionDAG &DAG) const {
1962 SelectionDAG &DAG) const {
2023 SelectionDAG &DAG) const {
2077 SDValue NVPTXTargetLowering::LowerFROUND(SDValue Op, SelectionDAG &DAG) const {
2097 SelectionDAG &DAG) const {
2138 SelectionDAG &DAG) const {
2172 NVPTXTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
2208 SDValue NVPTXTargetLowering::LowerSelect(SDValue Op, SelectionDAG &DAG) const {
2224 SDValue NVPTXTargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
2248 SDValue NVPTXTargetLowering::LowerLOADi1(SDValue Op, SelectionDAG &DAG) const {
2266 SDValue NVPTXTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
2287 NVPTXTargetLowering::LowerSTOREVector(SDValue Op, SelectionDAG &DAG) const {
2410 SDValue NVPTXTargetLowering::LowerSTOREi1(SDValue Op, SelectionDAG &DAG) const {
2426 NVPTXTargetLowering::getParamSymbol(SelectionDAG &DAG, int idx, EVT v) const {
2465 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
2664 const SDLoc &dl, SelectionDAG &DAG) const {
2746 SelectionDAG &DAG) const {
4346 SelectionDAG &DAG = DCI.DAG;
4548 SelectionDAG &DAG = DCI.DAG;
4779 static void ReplaceLoadVector(SDNode *N, SelectionDAG &DAG,
4909 static void ReplaceINTRINSIC_W_CHAIN(SDNode *N, SelectionDAG &DAG,
5048 SDNode *N, SmallVectorImpl<SDValue> &Results, SelectionDAG &DAG) const {
lib/Target/NVPTX/NVPTXISelLowering.h 444 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
446 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
486 const SDLoc &dl, SelectionDAG &DAG,
500 SelectionDAG &DAG) const override;
504 SelectionDAG &DAG) const override;
532 SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
553 SDValue getParamSymbol(SelectionDAG &DAG, int idx, EVT) const;
555 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
556 SDValue LowerCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) const;
557 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
559 SDValue LowerFROUND(SDValue Op, SelectionDAG &DAG) const;
560 SDValue LowerFROUND32(SDValue Op, SelectionDAG &DAG) const;
561 SDValue LowerFROUND64(SDValue Op, SelectionDAG &DAG) const;
563 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
564 SDValue LowerLOADi1(SDValue Op, SelectionDAG &DAG) const;
566 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
567 SDValue LowerSTOREi1(SDValue Op, SelectionDAG &DAG) const;
568 SDValue LowerSTOREVector(SDValue Op, SelectionDAG &DAG) const;
570 SDValue LowerShiftRightParts(SDValue Op, SelectionDAG &DAG) const;
571 SDValue LowerShiftLeftParts(SDValue Op, SelectionDAG &DAG) const;
573 SDValue LowerSelect(SDValue Op, SelectionDAG &DAG) const;
576 SelectionDAG &DAG) const override;
lib/Target/PowerPC/PPCISelDAGToDAG.cpp 887 static SDNode *selectI64ImmDirect(SelectionDAG *CurDAG, const SDLoc &dl,
972 static SDNode *selectI64Imm(SelectionDAG *CurDAG, const SDLoc &dl,
1032 static unsigned allUsesTruncate(SelectionDAG *CurDAG, SDNode *N) {
1089 static SDNode *selectI64Imm(SelectionDAG *CurDAG, SDNode *N) {
2396 SelectionDAG *CurDAG;
2399 BitPermutationSelector(SelectionDAG *DAG)
2452 SelectionDAG *CurDAG;
2495 IntegerCompareEliminator(SelectionDAG *DAG,
3552 static bool allUsesExtend(SDValue Compare, SelectionDAG *CurDAG) {
4207 static bool mayUseP9Setb(SDNode *N, const ISD::CondCode &CC, SelectionDAG *DAG,
5525 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6217 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
6374 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
lib/Target/PowerPC/PPCISelLowering.cpp 127 static SDValue widenVec(SelectionDAG &DAG, SDValue Vec, const SDLoc &dl);
1469 SelectionDAG &DAG) {
1500 SelectionDAG &DAG) {
1537 SelectionDAG &DAG) {
1605 unsigned ShuffleKind, SelectionDAG &DAG) {
1630 unsigned ShuffleKind, SelectionDAG &DAG) {
1720 unsigned ShuffleKind, SelectionDAG &DAG) {
1749 SelectionDAG &DAG) {
2091 SelectionDAG &DAG) {
2104 SDValue PPC::get_VSPLTI_elt(SDNode *N, unsigned ByteSize, SelectionDAG &DAG) {
2261 SelectionDAG &DAG) const {
2282 SDValue &Index, SelectionDAG &DAG,
2332 static void fixupFuncForFI(SelectionDAG &DAG, int FrameIdx, EVT VT) {
2370 SelectionDAG &DAG,
2469 SelectionDAG &DAG) const {
2546 SelectionDAG &DAG) const {
2663 SelectionDAG &DAG) {
2686 static void setUsesTOCBasePtr(SelectionDAG &DAG) {
2690 SDValue PPCTargetLowering::getTOCEntry(SelectionDAG &DAG, const SDLoc &dl,
2706 SelectionDAG &DAG) const {
2753 SelectionDAG &DAG) const {
2783 SDValue PPCTargetLowering::LowerJumpTable(SDValue Op, SelectionDAG &DAG) const {
2811 SelectionDAG &DAG) const {
2839 SelectionDAG &DAG) const {
2936 SelectionDAG &DAG) const {
2975 SDValue PPCTargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
3029 SDValue PPCTargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG) const {
3128 SDValue PPCTargetLowering::LowerVACOPY(SDValue Op, SelectionDAG &DAG) const {
3140 SelectionDAG &DAG) const {
3145 SelectionDAG &DAG) const {
3180 SDValue PPCTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
3405 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
3422 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
3677 EVT ObjectVT, SelectionDAG &DAG,
3693 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
4105 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
4464 static int CalculateTailCallSPDiff(SelectionDAG& DAG, bool isTailCall,
4636 SelectionDAG& DAG) const {
4714 SelectionDAG& DAG) const {
4747 static SDNode *isBLACompatibleAddress(SDValue Op, SelectionDAG &DAG) {
4777 SelectionDAG &DAG, SDValue Chain,
4793 static SDValue EmitTailCallStoreFPAndRetAddr(SelectionDAG &DAG, SDValue Chain,
4829 CalculateTailCallArgDest(SelectionDAG &DAG, MachineFunction &MF, bool isPPC64,
4848 SelectionDAG &DAG, int SPDiff, SDValue Chain, SDValue &LROpOut,
4876 SelectionDAG &DAG, const SDLoc &dl) {
4886 SelectionDAG &DAG, MachineFunction &MF, SDValue Chain, SDValue Arg,
4909 PrepareTailCall(SelectionDAG &DAG, SDValue &InFlag, SDValue &Chain,
4947 PrepareCall(SelectionDAG &DAG, SDValue &Callee, SDValue &InFlag, SDValue &Chain,
5156 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
5219 bool isPatchPoint, bool hasNest, SelectionDAG &DAG,
5338 SelectionDAG &DAG = CLI.DAG;
5417 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
5651 SelectionDAG &DAG, const SDLoc &dl) const {
5670 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
6331 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
6787 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
6891 const SDLoc &dl, SelectionDAG &DAG) const {
6972 SelectionDAG &DAG) const {
6988 SelectionDAG &DAG) const {
7015 SDValue PPCTargetLowering::getReturnAddrFrameIndex(SelectionDAG &DAG) const {
7038 PPCTargetLowering::getFramePointerFrameIndex(SelectionDAG & DAG) const {
7061 SelectionDAG &DAG) const {
7081 SelectionDAG &DAG) const {
7092 SelectionDAG &DAG) const {
7100 SelectionDAG &DAG) const {
7106 SDValue PPCTargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
7131 SDValue PPCTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
7154 SDValue PPCTargetLowering::LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) const {
7164 SelectionDAG &DAG) const {
7220 SDValue PPCTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const {
7346 SelectionDAG &DAG,
7409 SelectionDAG &DAG,
7440 SDValue PPCTargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG,
7507 SelectionDAG &DAG,
7553 SelectionDAG &DAG) const {
7602 SelectionDAG &DAG,
7630 static SDValue widenVec(SelectionDAG &DAG, SDValue Vec, const SDLoc &dl) {
7650 SDValue PPCTargetLowering::LowerINT_TO_FPVector(SDValue Op, SelectionDAG &DAG,
7698 SelectionDAG &DAG) const {
7955 SelectionDAG &DAG) const {
8017 SDValue PPCTargetLowering::LowerSHL_PARTS(SDValue Op, SelectionDAG &DAG) const {
8046 SDValue PPCTargetLowering::LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const {
8075 SDValue PPCTargetLowering::LowerSRA_PARTS(SDValue Op, SelectionDAG &DAG) const {
8111 SelectionDAG &DAG, const SDLoc &dl) {
8132 static SDValue BuildIntrinsicOp(unsigned IID, SDValue Op, SelectionDAG &DAG,
8142 SelectionDAG &DAG, const SDLoc &dl,
8152 SDValue Op2, SelectionDAG &DAG, const SDLoc &dl,
8162 SelectionDAG &DAG, const SDLoc &dl) {
8228 SDValue PPCTargetLowering::LowerBITCAST(SDValue Op, SelectionDAG &DAG) const {
8262 SelectionDAG &DAG) const {
8589 SDValue RHS, SelectionDAG &DAG,
8667 SelectionDAG &DAG) const {
8768 SelectionDAG &DAG) const {
8881 SelectionDAG &DAG) const {
9443 SelectionDAG &DAG) const {
9520 SelectionDAG &DAG) const {
9541 SDValue PPCTargetLowering::LowerREM(SDValue Op, SelectionDAG &DAG) const {
9554 SDValue PPCTargetLowering::LowerBSWAP(SDValue Op, SelectionDAG &DAG) const {
9573 SelectionDAG &DAG) const {
9607 SelectionDAG &DAG) const {
9623 SelectionDAG &DAG) const {
9652 SelectionDAG &DAG) const {
9712 SelectionDAG &DAG) const {
9800 SelectionDAG &DAG) const {
9925 SDValue PPCTargetLowering::LowerMUL(SDValue Op, SelectionDAG &DAG) const {
9996 SDValue PPCTargetLowering::LowerABS(SDValue Op, SelectionDAG &DAG) const {
10035 SDValue PPCTargetLowering::LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const {
10112 SDValue PPCTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
10188 SelectionDAG &DAG) const {
11645 SDValue PPCTargetLowering::getSqrtEstimate(SDValue Operand, SelectionDAG &DAG,
11667 SDValue PPCTargetLowering::getRecipEstimate(SDValue Operand, SelectionDAG &DAG,
11710 int64_t& Offset, SelectionDAG &DAG) {
11723 SelectionDAG &DAG) {
11763 SelectionDAG &DAG) {
11874 static bool findConsecutiveLoad(LoadSDNode *LD, SelectionDAG &DAG) {
11942 bool Swap, SDLoc &DL, SelectionDAG &DAG) {
11977 SelectionDAG &DAG = DCI.DAG;
12017 SelectionDAG &DAG = DCI.DAG;
12298 SelectionDAG &DAG = DCI.DAG;
12599 SelectionDAG &DAG = DCI.DAG;
12631 SelectionDAG &DAG = DCI.DAG;
12712 static SDValue combineBVOfConsecutiveLoads(SDNode *N, SelectionDAG &DAG) {
12802 static SDValue addShuffleForVecExtend(SDNode *N, SelectionDAG &DAG,
12836 static SDValue combineBVOfVecSExt(SDNode *N, SelectionDAG &DAG) {
12935 SelectionDAG &DAG = DCI.DAG;
13022 SelectionDAG &DAG = DCI.DAG;
13121 SelectionDAG &DAG = DCI.DAG;
13189 SelectionDAG &DAG = DCI.DAG;
13255 SelectionDAG &DAG = DCI.DAG;
13329 SelectionDAG &DAG = DCI.DAG;
13366 SelectionDAG &DAG = DCI.DAG;
14095 SelectionDAG &DAG,
14130 const SelectionDAG &DAG,
14395 SelectionDAG &DAG) const {
14506 SelectionDAG &DAG) const {
14541 SelectionDAG &DAG) const {
15101 SelectionDAG &DAG) {
15180 static SDValue combineADDToADDZE(SDNode *N, SelectionDAG &DAG,
15323 SelectionDAG &DAG = DCI.DAG;
15479 SelectionDAG &DAG = DCI.DAG;
15520 SelectionDAG &DAG = DCI.DAG;
lib/Target/PowerPC/PPCISelLowering.h 512 SelectionDAG &DAG);
517 SelectionDAG &DAG);
522 SelectionDAG &DAG);
527 unsigned ShuffleKind, SelectionDAG &DAG);
532 unsigned ShuffleKind, SelectionDAG &DAG);
537 unsigned ShuffleKind, SelectionDAG &DAG);
567 SelectionDAG &DAG);
588 SelectionDAG &DAG);
594 SDValue get_VSPLTI_elt(SDNode *N, unsigned ByteSize, SelectionDAG &DAG);
690 SelectionDAG &DAG) const override;
695 SelectionDAG &DAG) const;
702 SelectionDAG &DAG,
711 SelectionDAG &DAG,
717 SelectionDAG &DAG) const;
723 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
729 SelectionDAG &DAG) const override;
736 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
745 const SelectionDAG &DAG,
803 SelectionDAG &DAG) const override;
954 SelectionDAG &DAG) const override;
989 SelectionDAG &DAG,
992 SelectionDAG &DAG) const;
995 SelectionDAG &DAG, const SDLoc &dl) const;
996 SDValue LowerFP_TO_INTDirectMove(SDValue Op, SelectionDAG &DAG,
1000 SDValue LowerINT_TO_FPDirectMove(SDValue Op, SelectionDAG &DAG,
1003 SDValue LowerINT_TO_FPVector(SDValue Op, SelectionDAG &DAG,
1006 SDValue LowerTRUNCATEVector(SDValue Op, SelectionDAG &DAG) const;
1008 SDValue getFramePointerFrameIndex(SelectionDAG & DAG) const;
1009 SDValue getReturnAddrFrameIndex(SelectionDAG & DAG) const;
1016 SelectionDAG& DAG) const;
1026 SelectionDAG& DAG) const;
1028 SDValue EmitTailCallLoadFPAndRetAddr(SelectionDAG &DAG, int SPDiff,
1033 SDValue getTOCEntry(SelectionDAG &DAG, const SDLoc &dl, SDValue GA) const;
1035 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
1036 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
1037 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
1038 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
1039 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
1040 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
1041 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
1042 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
1043 SDValue LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
1044 SDValue LowerADJUST_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
1045 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
1046 SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) const;
1047 SDValue LowerVACOPY(SDValue Op, SelectionDAG &DAG) const;
1048 SDValue LowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG) const;
1049 SDValue LowerGET_DYNAMIC_AREA_OFFSET(SDValue Op, SelectionDAG &DAG) const;
1050 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
1051 SDValue LowerEH_DWARF_CFA(SDValue Op, SelectionDAG &DAG) const;
1052 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
1053 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
1054 SDValue LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) const;
1055 SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
1056 SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG,
1058 SDValue LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1059 SDValue LowerFLT_ROUNDS_(SDValue Op, SelectionDAG &DAG) const;
1060 SDValue LowerSHL_PARTS(SDValue Op, SelectionDAG &DAG) const;
1061 SDValue LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const;
1062 SDValue LowerSRA_PARTS(SDValue Op, SelectionDAG &DAG) const;
1063 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
1064 SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
1065 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1066 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1067 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
1068 SDValue LowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG) const;
1069 SDValue LowerREM(SDValue Op, SelectionDAG &DAG) const;
1070 SDValue LowerBSWAP(SDValue Op, SelectionDAG &DAG) const;
1071 SDValue LowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const;
1072 SDValue LowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) const;
1073 SDValue LowerSIGN_EXTEND_INREG(SDValue Op, SelectionDAG &DAG) const;
1074 SDValue LowerMUL(SDValue Op, SelectionDAG &DAG) const;
1075 SDValue LowerABS(SDValue Op, SelectionDAG &DAG) const;
1076 SDValue LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
1078 SDValue LowerVectorLoad(SDValue Op, SelectionDAG &DAG) const;
1079 SDValue LowerVectorStore(SDValue Op, SelectionDAG &DAG) const;
1084 const SDLoc &dl, SelectionDAG &DAG,
1088 bool hasNest, SelectionDAG &DAG,
1099 const SDLoc &dl, SelectionDAG &DAG,
1113 const SDLoc &dl, SelectionDAG &DAG) const override;
1116 SelectionDAG &DAG, SDValue ArgVal,
1122 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const;
1126 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const;
1130 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const;
1134 ISD::ArgFlagsTy Flags, SelectionDAG &DAG,
1143 const SDLoc &dl, SelectionDAG &DAG,
1152 const SDLoc &dl, SelectionDAG &DAG,
1161 const SDLoc &dl, SelectionDAG &DAG,
1170 const SDLoc &dl, SelectionDAG &DAG,
1174 SDValue lowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
1175 SDValue lowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const;
1176 SDValue LowerBITCAST(SDValue Op, SelectionDAG &DAG) const;
1200 SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
1203 SDValue getRecipEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
1215 SDValue lowerToVINSERTH(ShuffleVectorSDNode *N, SelectionDAG &DAG) const;
1220 SDValue lowerToVINSERTB(ShuffleVectorSDNode *N, SelectionDAG &DAG) const;
lib/Target/RISCV/RISCVISelDAGToDAG.cpp 66 static SDNode *selectImm(SelectionDAG *CurDAG, const SDLoc &DL, int64_t Imm,
204 SelectionDAG::allnodes_iterator Position(CurDAG->getRoot().getNode());
lib/Target/RISCV/RISCVISelLowering.cpp 369 SelectionDAG &DAG) const {
410 SelectionDAG &DAG, unsigned Flags) {
415 SelectionDAG &DAG, unsigned Flags) {
421 SelectionDAG &DAG, unsigned Flags) {
427 SDValue RISCVTargetLowering::getAddr(NodeTy *N, SelectionDAG &DAG,
468 SelectionDAG &DAG) const {
490 SelectionDAG &DAG) const {
497 SelectionDAG &DAG) const {
504 SelectionDAG &DAG,
545 SelectionDAG &DAG) const {
577 SelectionDAG &DAG) const {
613 SDValue RISCVTargetLowering::lowerSELECT(SDValue Op, SelectionDAG &DAG) const {
653 SDValue RISCVTargetLowering::lowerVASTART(SDValue Op, SelectionDAG &DAG) const {
669 SelectionDAG &DAG) const {
692 SelectionDAG &DAG) const {
722 SelectionDAG &DAG) const {
760 SDValue RISCVTargetLowering::lowerShiftRightParts(SDValue Op, SelectionDAG &DAG,
838 static SDValue customLegalizeToWOp(SDNode *N, SelectionDAG &DAG) {
850 static SDValue customLegalizeToWOpWithSExt(SDNode *N, SelectionDAG &DAG) {
862 SelectionDAG &DAG) const {
925 SelectionDAG &DAG = DCI.DAG;
1069 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
1667 static SDValue convertLocVTToValVT(SelectionDAG &DAG, SDValue Val,
1687 static SDValue unpackFromRegLoc(SelectionDAG &DAG, SDValue Chain,
1720 static SDValue convertValVTToLocVT(SelectionDAG &DAG, SDValue Val,
1742 static SDValue unpackFromMemLoc(SelectionDAG &DAG, SDValue Chain,
1770 static SDValue unpackF64OnRV32DSoftABI(SelectionDAG &DAG, SDValue Chain,
1868 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
2089 SelectionDAG &DAG = CLI.DAG;
2382 const SDLoc &DL, SelectionDAG &DAG) const {
2685 SelectionDAG &DAG) const {
lib/Target/RISCV/RISCVISelLowering.h 81 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
83 SelectionDAG &DAG) const override;
89 const SelectionDAG &DAG,
105 SelectionDAG &DAG) const override;
130 bool shouldExpandShift(SelectionDAG &DAG, SDNode *N) const override {
161 const SDLoc &DL, SelectionDAG &DAG,
170 SelectionDAG &DAG) const override;
179 SDValue getAddr(NodeTy *N, SelectionDAG &DAG, bool IsLocal = true) const;
181 SDValue getStaticTLSAddr(GlobalAddressSDNode *N, SelectionDAG &DAG,
183 SDValue getDynamicTLSAddr(GlobalAddressSDNode *N, SelectionDAG &DAG) const;
186 SDValue lowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
187 SDValue lowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
188 SDValue lowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
189 SDValue lowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
190 SDValue lowerSELECT(SDValue Op, SelectionDAG &DAG) const;
191 SDValue lowerVASTART(SDValue Op, SelectionDAG &DAG) const;
192 SDValue lowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
193 SDValue lowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
194 SDValue lowerShiftLeftParts(SDValue Op, SelectionDAG &DAG) const;
195 SDValue lowerShiftRightParts(SDValue Op, SelectionDAG &DAG, bool IsSRA) const;
lib/Target/Sparc/SparcISelLowering.cpp 201 const SDLoc &DL, SelectionDAG &DAG) const {
212 const SDLoc &DL, SelectionDAG &DAG) const {
297 const SDLoc &DL, SelectionDAG &DAG) const {
372 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
386 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
581 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
694 static bool hasReturnsTwiceAttr(SelectionDAG &DAG, SDValue Callee,
719 SelectionDAG &DAG = CLI.DAG;
1095 SelectionDAG &DAG = CLI.DAG;
1859 const SelectionDAG &DAG,
1901 SelectionDAG &DAG) const {
1931 SelectionDAG &DAG) const {
1941 SDValue SparcTargetLowering::makeAddress(SDValue Op, SelectionDAG &DAG) const {
2001 SelectionDAG &DAG) const {
2006 SelectionDAG &DAG) const {
2011 SelectionDAG &DAG) const {
2016 SelectionDAG &DAG) const {
2123 SelectionDAG &DAG) const {
2147 SparcTargetLowering::LowerF128Op(SDValue Op, SelectionDAG &DAG,
2201 SelectionDAG &DAG) const {
2297 LowerF128_FPEXTEND(SDValue Op, SelectionDAG &DAG,
2313 LowerF128_FPROUND(SDValue Op, SelectionDAG &DAG,
2330 static SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG,
2359 static SDValue LowerSINT_TO_FP(SDValue Op, SelectionDAG &DAG,
2387 static SDValue LowerFP_TO_UINT(SDValue Op, SelectionDAG &DAG,
2408 static SDValue LowerUINT_TO_FP(SDValue Op, SelectionDAG &DAG,
2427 static SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG,
2464 static SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG,
2500 static SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG,
2520 static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) {
2543 static SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG,
2607 static SDValue getFLUSHW(SDValue Op, SelectionDAG &DAG) {
2614 static SDValue getFRAMEADDR(uint64_t depth, SDValue Op, SelectionDAG &DAG,
2647 static SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG,
2656 static SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG,
2691 static SDValue LowerF64Op(SDValue SrcReg64, const SDLoc &dl, SelectionDAG &DAG,
2725 static SDValue LowerF128Load(SDValue Op, SelectionDAG &DAG)
2768 static SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG)
2780 static SDValue LowerF128Store(SDValue Op, SelectionDAG &DAG) {
2816 static SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG)
2838 static SDValue LowerFNEGorFABS(SDValue Op, SelectionDAG &DAG, bool isV9) {
2881 static SDValue LowerADDC_ADDE_SUBC_SUBE(SDValue Op, SelectionDAG &DAG) {
2932 static SDValue LowerUMULO_SMULO(SDValue Op, SelectionDAG &DAG,
2980 static SDValue LowerATOMIC_LOAD_STORE(SDValue Op, SelectionDAG &DAG) {
2990 SelectionDAG &DAG) const {
3003 LowerOperation(SDValue Op, SelectionDAG &DAG) const {
3066 SelectionDAG &DAG) const {
3226 SelectionDAG &DAG) const {
3336 SelectionDAG &DAG) const {
lib/Target/Sparc/SparcISelLowering.h 57 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
67 const SelectionDAG &DAG,
83 SelectionDAG &DAG) const override;
129 const SDLoc &dl, SelectionDAG &DAG,
134 const SDLoc &dl, SelectionDAG &DAG,
139 const SDLoc &dl, SelectionDAG &DAG,
153 const SDLoc &dl, SelectionDAG &DAG) const override;
158 const SDLoc &DL, SelectionDAG &DAG) const;
163 const SDLoc &DL, SelectionDAG &DAG) const;
165 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
166 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
167 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
168 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
170 SDValue withTargetFlags(SDValue Op, unsigned TF, SelectionDAG &DAG) const;
172 SelectionDAG &DAG) const;
173 SDValue makeAddress(SDValue Op, SelectionDAG &DAG) const;
176 const SDLoc &DL, SelectionDAG &DAG) const;
177 SDValue LowerF128Op(SDValue Op, SelectionDAG &DAG,
181 const SDLoc &DL, SelectionDAG &DAG) const;
183 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
188 SelectionDAG &DAG) const;
209 SelectionDAG &DAG) const override;
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp 74 void dump(const llvm::SelectionDAG *DAG) {
609 static void insertDAGNode(SelectionDAG *DAG, SDNode *Pos, SDValue N) {
1241 SDValue StoredVal, SelectionDAG *CurDAG,
1890 for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(),
lib/Target/SystemZ/SystemZISelLowering.cpp 1154 SelectionDAG &DAG) const {
1240 static SDValue convertLocVTToValVT(SelectionDAG &DAG, const SDLoc &DL,
1269 static SDValue convertValVTToLocVT(SelectionDAG &DAG, const SDLoc &DL,
1296 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
1461 SelectionDAG &DAG = CLI.DAG;
1662 const SDLoc &DL, SelectionDAG &DAG) const {
1895 static SDNode *emitIntrinsicWithCCAndChain(SelectionDAG &DAG, SDValue Op,
1915 static SDNode *emitIntrinsicWithCC(SelectionDAG &DAG, SDValue Op,
1958 static void adjustZeroCmp(SelectionDAG &DAG, const SDLoc &DL, Comparison &C) {
1978 static void adjustSubwordCmp(SelectionDAG &DAG, const SDLoc &DL,
2142 static void adjustForSubtraction(SelectionDAG &DAG, const SDLoc &DL,
2208 static void adjustICmpTruncate(SelectionDAG &DAG, const SDLoc &DL,
2339 static void adjustForTestUnderMask(SelectionDAG &DAG, const SDLoc &DL,
2430 static void adjustForRedundantAnd(SelectionDAG &DAG, const SDLoc &DL,
2448 static Comparison getIntrinsicCmp(SelectionDAG &DAG, unsigned Opcode,
2481 static Comparison getCmp(SelectionDAG &DAG, SDValue CmpOp0, SDValue CmpOp1,
2536 static SDValue emitCmp(SelectionDAG &DAG, const SDLoc &DL, Comparison &C) {
2565 static void lowerMUL_LOHI32(SelectionDAG &DAG, const SDLoc &DL, unsigned Extend,
2581 static void lowerGR128Binary(SelectionDAG &DAG, const SDLoc &DL, EVT VT,
2593 static SDValue emitSETCC(SelectionDAG &DAG, const SDLoc &DL, SDValue CCReg,
2649 static SDValue expandV4F32ToV2F64(SelectionDAG &DAG, int Start, const SDLoc &DL,
2658 SDValue SystemZTargetLowering::getVectorCmp(SelectionDAG &DAG, unsigned Opcode,
2680 SDValue SystemZTargetLowering::lowerVectorSETCC(SelectionDAG &DAG,
2737 SelectionDAG &DAG) const {
2751 SDValue SystemZTargetLowering::lowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
2779 static SDValue getAbsolute(SelectionDAG &DAG, const SDLoc &DL, SDValue Op,
2789 SelectionDAG &DAG) const {
2822 SelectionDAG &DAG) const {
2860 SelectionDAG &DAG,
2907 SelectionDAG &DAG) const {
2926 SelectionDAG &DAG) const {
3015 SelectionDAG &DAG) const {
3027 SelectionDAG &DAG) const {
3037 SelectionDAG &DAG) const {
3054 SelectionDAG &DAG) const {
3082 SelectionDAG &DAG) const {
3105 SelectionDAG &DAG) const {
3155 SelectionDAG &DAG) const {
3191 SelectionDAG &DAG) const {
3206 lowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const {
3272 SDValue Op, SelectionDAG &DAG) const {
3279 SelectionDAG &DAG) const {
3327 SelectionDAG &DAG) const {
3346 SelectionDAG &DAG) const {
3368 SelectionDAG &DAG) const {
3380 SDValue SystemZTargetLowering::lowerOR(SDValue Op, SelectionDAG &DAG) const {
3437 SelectionDAG &DAG) const {
3494 SelectionDAG &DAG) const {
3547 SelectionDAG &DAG) const {
3621 SelectionDAG &DAG) const {
3643 SelectionDAG &DAG) const {
3652 SelectionDAG &DAG) const {
3668 SelectionDAG &DAG,
3742 SelectionDAG &DAG) const {
3777 SelectionDAG &DAG) const {
3861 SelectionDAG &DAG) const {
3869 SelectionDAG &DAG) const {
3893 SelectionDAG &DAG) const {
3911 static SDValue getCCResult(SelectionDAG &DAG, SDValue CCReg) {
3920 SelectionDAG &DAG) const {
3935 SelectionDAG &DAG) const {
4232 static SDValue getPermuteNode(SelectionDAG &DAG, const SDLoc &DL,
4261 static SDValue getGeneralPermuteNode(SelectionDAG &DAG, const SDLoc &DL,
4291 SDValue getNode(SelectionDAG &, const SDLoc &);
4379 SDValue GeneralShuffle::getNode(SelectionDAG &DAG, const SDLoc &DL) {
4467 static SDValue buildScalarToVector(SelectionDAG &DAG, const SDLoc &DL, EVT VT,
4483 static SDValue buildMergeScalars(SelectionDAG &DAG, const SDLoc &DL, EVT VT,
4499 static SDValue joinDwords(SelectionDAG &DAG, const SDLoc &DL, SDValue Op0,
4520 static SDValue tryBuildVectorShuffle(SelectionDAG &DAG,
4579 SystemZTargetLowering::buildVector(SelectionDAG &DAG, const SDLoc &DL, EVT VT,
4723 SelectionDAG &DAG) const {
4753 SelectionDAG &DAG) const {
4786 SelectionDAG &DAG) const {
4795 SelectionDAG &DAG) const {
4827 SelectionDAG &DAG) const {
4852 SystemZTargetLowering::lowerExtendVectorInreg(SDValue Op, SelectionDAG &DAG,
4868 SDValue SystemZTargetLowering::lowerShift(SDValue Op, SelectionDAG &DAG,
4926 SelectionDAG &DAG) const {
5046 static SDValue lowerI128ToGR128(SelectionDAG &DAG, SDValue In) {
5057 static SDValue lowerGR128ToI128(SelectionDAG &DAG, SDValue In) {
5069 SelectionDAG &DAG) const {
5125 SelectionDAG &DAG) const {
5271 SelectionDAG &DAG = DCI.DAG;
5410 SelectionDAG &DAG = DCI.DAG;
5439 SelectionDAG &DAG = DCI.DAG;
5460 SelectionDAG &DAG = DCI.DAG;
5487 SelectionDAG &DAG = DCI.DAG;
5521 SelectionDAG &DAG = DCI.DAG;
5586 SelectionDAG &DAG = DCI.DAG;
5647 SelectionDAG &DAG = DCI.DAG;
5686 SelectionDAG &DAG = DCI.DAG;
5727 SelectionDAG &DAG = DCI.DAG;
5747 SelectionDAG &DAG = DCI.DAG;
5798 SelectionDAG &DAG = DCI.DAG;
5839 SelectionDAG &DAG = DCI.DAG;
6044 SelectionDAG &DAG = DCI.DAG;
6068 SelectionDAG &DAG = DCI.DAG;
6133 SelectionDAG &DAG = DCI.DAG;
6284 const SelectionDAG &DAG, unsigned Depth,
6300 const SelectionDAG &DAG,
6392 const SelectionDAG &DAG, unsigned Depth,
6416 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
lib/Target/SystemZ/SystemZISelLowering.h 433 SelectionDAG &DAG) const override;
479 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
481 SelectionDAG &DAG) const override;
483 SelectionDAG &DAG) const override;
490 const SDLoc &DL, SelectionDAG &DAG,
502 SelectionDAG &DAG) const override;
510 const SelectionDAG &DAG,
516 const SelectionDAG &DAG,
531 SDValue getVectorCmp(SelectionDAG &DAG, unsigned Opcode,
534 SDValue lowerVectorSETCC(SelectionDAG &DAG, const SDLoc &DL,
537 SDValue lowerSETCC(SDValue Op, SelectionDAG &DAG) const;
538 SDValue lowerBR_CC(SDValue Op, SelectionDAG &DAG) const;
539 SDValue lowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const;
541 SelectionDAG &DAG) const;
543 SelectionDAG &DAG, unsigned Opcode,
545 SDValue lowerThreadPointer(const SDLoc &DL, SelectionDAG &DAG) const;
547 SelectionDAG &DAG) const;
549 SelectionDAG &DAG) const;
550 SDValue lowerJumpTable(JumpTableSDNode *JT, SelectionDAG &DAG) const;
551 SDValue lowerConstantPool(ConstantPoolSDNode *CP, SelectionDAG &DAG) const;
552 SDValue lowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
553 SDValue lowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
554 SDValue lowerVASTART(SDValue Op, SelectionDAG &DAG) const;
555 SDValue lowerVACOPY(SDValue Op, SelectionDAG &DAG) const;
556 SDValue lowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
557 SDValue lowerGET_DYNAMIC_AREA_OFFSET(SDValue Op, SelectionDAG &DAG) const;
558 SDValue lowerSMUL_LOHI(SDValue Op, SelectionDAG &DAG) const;
559 SDValue lowerUMUL_LOHI(SDValue Op, SelectionDAG &DAG) const;
560 SDValue lowerSDIVREM(SDValue Op, SelectionDAG &DAG) const;
561 SDValue lowerUDIVREM(SDValue Op, SelectionDAG &DAG) const;
562 SDValue lowerXALUO(SDValue Op, SelectionDAG &DAG) const;
563 SDValue lowerADDSUBCARRY(SDValue Op, SelectionDAG &DAG) const;
564 SDValue lowerBITCAST(SDValue Op, SelectionDAG &DAG) const;
565 SDValue lowerOR(SDValue Op, SelectionDAG &DAG) const;
566 SDValue lowerCTPOP(SDValue Op, SelectionDAG &DAG) const;
567 SDValue lowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG) const;
568 SDValue lowerATOMIC_LOAD(SDValue Op, SelectionDAG &DAG) const;
569 SDValue lowerATOMIC_STORE(SDValue Op, SelectionDAG &DAG) const;
570 SDValue lowerATOMIC_LOAD_OP(SDValue Op, SelectionDAG &DAG,
572 SDValue lowerATOMIC_LOAD_SUB(SDValue Op, SelectionDAG &DAG) const;
573 SDValue lowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const;
574 SDValue lowerSTACKSAVE(SDValue Op, SelectionDAG &DAG) const;
575 SDValue lowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG) const;
576 SDValue lowerPREFETCH(SDValue Op, SelectionDAG &DAG) const;
577 SDValue lowerINTRINSIC_W_CHAIN(SDValue Op, SelectionDAG &DAG) const;
578 SDValue lowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
580 SDValue buildVector(SelectionDAG &DAG, const SDLoc &DL, EVT VT,
582 SDValue lowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
583 SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
584 SDValue lowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) const;
585 SDValue lowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
586 SDValue lowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
587 SDValue lowerExtendVectorInreg(SDValue Op, SelectionDAG &DAG,
589 SDValue lowerShift(SDValue Op, SelectionDAG &DAG, unsigned ByScalar) const;
lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp 25 static SDValue emitMemMem(SelectionDAG &DAG, const SDLoc &DL, unsigned Sequence,
49 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src,
64 static SDValue memsetStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
76 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst,
145 static SDValue emitCLC(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
170 SelectionDAG &DAG) {
180 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1,
195 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
221 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest,
231 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1,
248 static std::pair<SDValue, SDValue> getBoundedStrlen(SelectionDAG &DAG,
262 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
269 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
lib/Target/SystemZ/SystemZSelectionDAGInfo.h 26 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &DL,
33 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &DL,
39 EmitTargetCodeForMemcmp(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
45 EmitTargetCodeForMemchr(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
50 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest,
55 EmitTargetCodeForStrcmp(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
61 EmitTargetCodeForStrlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
66 EmitTargetCodeForStrnlen(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp 618 static void fail(const SDLoc &DL, SelectionDAG &DAG, const char *Msg) {
641 SelectionDAG &DAG = CLI.DAG;
863 SelectionDAG &DAG) const {
892 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
954 SDNode *N, SmallVectorImpl<SDValue> &Results, SelectionDAG &DAG) const {
973 SelectionDAG &DAG) const {
1022 SelectionDAG &DAG) const {
1048 SelectionDAG &DAG) const {
1054 SelectionDAG &DAG) const {
1075 SelectionDAG &DAG) const {
1090 SelectionDAG &DAG) const {
1136 SelectionDAG &DAG) const {
1147 SelectionDAG &DAG) const {
1157 SelectionDAG &DAG) const {
1184 SelectionDAG &DAG) const {
1198 SelectionDAG &DAG) const {
1252 SelectionDAG &DAG) const {
1291 SelectionDAG &DAG) const {
1450 SelectionDAG &DAG) const {
1477 SelectionDAG &DAG) const {
1487 static SDValue unrollVectorShift(SDValue Op, SelectionDAG &DAG) {
1513 SelectionDAG &DAG) const {
lib/Target/WebAssembly/WebAssemblyISelLowering.h 82 SelectionDAG &DAG) const override;
86 const SDLoc &DL, SelectionDAG &DAG,
90 SelectionDAG &DAG) const override;
97 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
98 SDValue LowerFrameIndex(SDValue Op, SelectionDAG &DAG) const;
99 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
100 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
101 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
102 SDValue LowerExternalSymbol(SDValue Op, SelectionDAG &DAG) const;
103 SDValue LowerBR_JT(SDValue Op, SelectionDAG &DAG) const;
104 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
105 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
106 SDValue LowerCopyToReg(SDValue Op, SelectionDAG &DAG) const;
107 SDValue LowerIntrinsic(SDValue Op, SelectionDAG &DAG) const;
108 SDValue LowerSIGN_EXTEND_INREG(SDValue Op, SelectionDAG &DAG) const;
109 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
110 SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
111 SDValue LowerAccessVectorElement(SDValue Op, SelectionDAG &DAG) const;
112 SDValue LowerShift(SDValue Op, SelectionDAG &DAG) const;
lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp 22 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src,
37 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Op1, SDValue Op2,
46 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Val,
lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h 25 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
31 SDValue EmitTargetCodeForMemmove(SelectionDAG &DAG, const SDLoc &dl,
36 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &DL,
lib/Target/X86/X86ISelDAGToDAG.cpp 108 void dump(SelectionDAG *DAG = nullptr) {
717 static void moveBelowOrigChain(SelectionDAG *CurDAG, SDValue Load,
790 for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(),
1159 SelectionDAG::allnodes_iterator Position = CurDAG->allnodes_end();
1548 static void insertDAGNode(SelectionDAG &DAG, SDValue Pos, SDValue N) {
1566 static bool foldMaskAndShiftToExtract(SelectionDAG &DAG, SDValue N,
1610 static bool foldMaskedShiftToScaledMask(SelectionDAG &DAG, SDValue N,
1702 static bool foldMaskAndShiftToScale(SelectionDAG &DAG, SDValue N,
1789 static bool foldMaskedShiftToBEXTR(SelectionDAG &DAG, SDValue N,
2808 SDValue StoredVal, SelectionDAG *CurDAG,
lib/Target/X86/X86ISelLowering.cpp 100 static void errorUnsupported(SelectionDAG &DAG, const SDLoc &dl,
1916 SDValue X86TargetLowering::emitStackGuardXorFP(SelectionDAG &DAG, SDValue Val,
2231 SelectionDAG &DAG) const {
2409 const SDLoc &Dl, SelectionDAG &DAG) {
2440 const SDLoc &Dl, SelectionDAG &DAG, SDValue &Arg,
2469 const SDLoc &dl, SelectionDAG &DAG) const {
2734 SDValue &Root, SelectionDAG &DAG,
2786 SelectionDAG &DAG) {
2823 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals,
2953 SelectionDAG &DAG, const SDLoc &dl) {
3012 const SDLoc &dl, SelectionDAG &DAG,
3176 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
3539 SelectionDAG &DAG,
3557 SelectionDAG &DAG, SDValue &OutRetAddr, SDValue Chain, bool IsTailCall,
3570 static SDValue EmitTailCallStoreRetAddr(SelectionDAG &DAG, MachineFunction &MF,
3589 static SDValue getMOVL(SelectionDAG &DAG, const SDLoc &dl, MVT VT, SDValue V1,
3602 SelectionDAG &DAG = CLI.DAG;
4187 SelectionDAG& DAG) const {
4306 const SmallVectorImpl<ISD::InputArg> &Ins, SelectionDAG &DAG) const {
4578 SDValue X86TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
4687 SelectionDAG &DAG) {
5009 const SelectionDAG &DAG,
5027 const SelectionDAG &DAG) const {
5094 SelectionDAG &DAG) const {
5145 bool X86TargetLowering::shouldExpandShift(SelectionDAG &DAG,
5361 static SDValue getConstVector(ArrayRef<int> Values, MVT VT, SelectionDAG &DAG,
5392 MVT VT, SelectionDAG &DAG, const SDLoc &dl) {
5434 SelectionDAG &DAG, const SDLoc &dl) {
5458 static SDValue extractSubVector(SDValue Vec, unsigned IdxVal, SelectionDAG &DAG,
5490 SelectionDAG &DAG, const SDLoc &dl) {
5498 SelectionDAG &DAG, const SDLoc &dl) {
5504 SelectionDAG &DAG, const SDLoc &dl,
5534 SelectionDAG &DAG, const SDLoc &dl) {
5542 const X86Subtarget &Subtarget, SelectionDAG &DAG,
5556 const X86Subtarget &Subtarget, SelectionDAG &DAG,
5609 SDValue SplitOpsAndApply(SelectionDAG &DAG, const X86Subtarget &Subtarget,
5650 static SDValue insert1BitVector(SDValue Op, SelectionDAG &DAG,
5797 static SDValue concatSubVectors(SDValue V1, SDValue V2, SelectionDAG &DAG,
5812 static SDValue getOnesVector(EVT VT, SelectionDAG &DAG, const SDLoc &dl) {
5839 SDValue In, SelectionDAG &DAG) {
5866 static SDValue IsNOT(SDValue V, SelectionDAG &DAG) {
5892 static SDValue getUnpackl(SelectionDAG &DAG, const SDLoc &dl, MVT VT,
5900 static SDValue getUnpackh(SelectionDAG &DAG, const SDLoc &dl, MVT VT,
5914 SelectionDAG &DAG) {
6846 SelectionDAG &DAG, unsigned Depth,
6855 SelectionDAG &DAG, unsigned Depth,
7284 SelectionDAG &DAG, unsigned Depth,
7305 SelectionDAG &DAG, unsigned Depth = 0,
7320 static SDValue getShuffleScalarElt(SDNode *N, unsigned Index, SelectionDAG &DAG,
7412 SelectionDAG &DAG,
7454 SelectionDAG &DAG,
7519 SelectionDAG &DAG,
7530 static SDValue LowerBuildVectorv4x32(SDValue Op, SelectionDAG &DAG,
7658 SelectionDAG &DAG, const TargetLowering &TLI,
7670 SelectionDAG &DAG) {
7791 const SDLoc &DL, SelectionDAG &DAG,
8054 SelectionDAG &DAG,
8157 SelectionDAG &DAG) {
8409 static SDValue buildFromShuffleMostly(SDValue Op, SelectionDAG &DAG) {
8481 static SDValue ConvertI1VectorToInteger(SDValue Op, SelectionDAG &DAG) {
8496 static SDValue LowerBUILD_VECTORvXi1(SDValue Op, SelectionDAG &DAG,
8595 SelectionDAG &DAG,
8709 const SDLoc &DL, SelectionDAG &DAG,
8750 const X86Subtarget &Subtarget, SelectionDAG &DAG,
8878 SelectionDAG &DAG,
8907 SelectionDAG &DAG) {
8940 static bool isHopBuildVector(const BuildVectorSDNode *BV, SelectionDAG &DAG,
9028 SelectionDAG &DAG, unsigned HOpcode,
9067 SelectionDAG &DAG) {
9187 SelectionDAG &DAG) {
9256 static SDValue materializeVectorConstant(SDValue Op, SelectionDAG &DAG,
9282 SDLoc &DL, SelectionDAG &DAG,
9538 LowerBUILD_VECTORAsVariablePermute(SDValue V, SelectionDAG &DAG,
9583 X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
9951 static SDValue LowerAVXCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG,
10011 SelectionDAG & DAG) {
10090 SelectionDAG &DAG) {
10423 SelectionDAG &DAG) {
10542 SelectionDAG &DAG) {
10592 const X86Subtarget &Subtarget, SelectionDAG &DAG,
10599 SDValue &V2, SelectionDAG &DAG,
10622 const SDLoc &DL, SelectionDAG &DAG,
10708 SelectionDAG &DAG) {
10772 SelectionDAG &DAG,
10829 SelectionDAG &DAG,
10879 SDValue V1, SDValue V2, SelectionDAG &DAG,
10899 SelectionDAG &DAG) {
10952 SelectionDAG &DAG) {
10973 SelectionDAG &DAG);
11037 SelectionDAG &DAG) {
11191 SelectionDAG &DAG,
11230 SelectionDAG &DAG) {
11292 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
11383 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
11537 SelectionDAG &DAG) {
11594 SelectionDAG &DAG) {
11614 const APInt &Zeroable, const X86Subtarget &Subtarget, SelectionDAG &DAG) {
11763 SelectionDAG &DAG) {
11919 const APInt &Zeroable, SelectionDAG &DAG) {
11946 ArrayRef<int> Mask, const X86Subtarget &Subtarget, SelectionDAG &DAG) {
12109 SelectionDAG &DAG) {
12226 SelectionDAG &DAG) {
12265 SelectionDAG &DAG) {
12363 SelectionDAG &DAG) {
12436 SelectionDAG &DAG) {
12492 SelectionDAG &DAG) {
12683 ArrayRef<int> Mask, SelectionDAG &DAG) {
12770 SelectionDAG &DAG) {
12795 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
12911 SelectionDAG &DAG) {
12995 SelectionDAG &DAG) {
13092 SDValue V2, SelectionDAG &DAG) {
13180 SelectionDAG &DAG) {
13276 SelectionDAG &DAG) {
13403 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
13899 const APInt &Zeroable, SelectionDAG &DAG, bool &V1InUse, bool &V2InUse) {
13963 SelectionDAG &DAG) {
14150 SDValue V2, SelectionDAG &DAG) {
14171 SelectionDAG &DAG) {
14487 SelectionDAG &DAG) {
14514 SelectionDAG &DAG) {
14641 SelectionDAG &DAG) {
14699 SelectionDAG &DAG, const X86Subtarget &Subtarget) {
14761 SelectionDAG &DAG, const X86Subtarget &Subtarget) {
14815 SelectionDAG &DAG) {
14916 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
15137 SelectionDAG &DAG, bool UseConcat = false) {
15177 SelectionDAG &DAG) {
15302 const X86Subtarget &Subtarget, SelectionDAG &DAG) {
15515 SelectionDAG &DAG) {
15542 SelectionDAG &DAG) {
15578 SelectionDAG &DAG) {
15686 SelectionDAG &DAG) {
15784 SelectionDAG &DAG) {
15883 SelectionDAG &DAG) {
15994 SelectionDAG &DAG) {
16094 SelectionDAG &DAG) {
16192 SelectionDAG &DAG) {
16257 SelectionDAG &DAG) {
16357 SelectionDAG &DAG) {
16411 SelectionDAG &DAG) {
16464 SelectionDAG &DAG) {
16527 SelectionDAG &DAG) {
16596 SelectionDAG &DAG) {
16649 SelectionDAG &DAG) {
16719 SelectionDAG &DAG) {
16769 SelectionDAG &DAG) {
16850 SelectionDAG &DAG) {
17043 SelectionDAG &DAG) {
17180 SelectionDAG &DAG) {
17195 SDValue X86TargetLowering::LowerVSELECT(SDValue Op, SelectionDAG &DAG) const {
17281 static SDValue LowerEXTRACT_VECTOR_ELT_SSE4(SDValue Op, SelectionDAG &DAG) {
17325 static SDValue ExtractBitFromMaskVector(SDValue Op, SelectionDAG &DAG,
17373 SelectionDAG &DAG) const {
17518 static SDValue InsertBitToMaskVector(SDValue Op, SelectionDAG &DAG,
17546 SelectionDAG &DAG) const {
17681 SelectionDAG &DAG) {
17719 SelectionDAG &DAG) {
17726 SelectionDAG &DAG) {
17787 X86TargetLowering::LowerConstantPool(SDValue Op, SelectionDAG &DAG) const {
17809 SDValue X86TargetLowering::LowerJumpTable(SDValue Op, SelectionDAG &DAG) const {
17831 SelectionDAG &DAG) const {
17836 X86TargetLowering::LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const {
17858 SDValue X86TargetLowering::LowerGlobalOrExternal(SDValue Op, SelectionDAG &DAG,
17930 X86TargetLowering::LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const {
17935 GetTLSADDR(SelectionDAG &DAG, SDValue Chain, GlobalAddressSDNode *GA,
17967 LowerToTLSGeneralDynamicModel32(GlobalAddressSDNode *GA, SelectionDAG &DAG,
17981 LowerToTLSGeneralDynamicModel64(GlobalAddressSDNode *GA, SelectionDAG &DAG,
17988 SelectionDAG &DAG,
18027 static SDValue LowerToTLSExecModel(GlobalAddressSDNode *GA, SelectionDAG &DAG,
18082 X86TargetLowering::LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const {
18229 static SDValue LowerShiftParts(SDValue Op, SelectionDAG &DAG) {
18277 SelectionDAG &DAG) {
18328 static SDValue LowerI64IntToFP_AVX512DQ(SDValue Op, SelectionDAG &DAG,
18379 static SDValue vectorizeExtractedCast(SDValue Cast, SelectionDAG &DAG,
18419 SelectionDAG &DAG) const {
18474 SelectionDAG &DAG) const {
18533 static bool shouldUseHorizontalOp(bool IsSingleSource, SelectionDAG &DAG,
18541 static SDValue LowerUINT_TO_FP_i64(SDValue Op, SelectionDAG &DAG,
18606 static SDValue LowerUINT_TO_FP_i32(SDValue Op, SelectionDAG &DAG,
18643 static SDValue lowerUINT_TO_FP_v2i32(SDValue Op, SelectionDAG &DAG,
18679 static SDValue lowerUINT_TO_FP_vXi32(SDValue Op, SelectionDAG &DAG,
18773 static SDValue lowerUINT_TO_FP_vec(SDValue Op, SelectionDAG &DAG,
18792 SelectionDAG &DAG) const {
18904 X86TargetLowering::FP_TO_INTHelper(SDValue Op, SelectionDAG &DAG,
19028 static SDValue LowerAVXExtend(SDValue Op, SelectionDAG &DAG,
19097 const SDLoc &dl, SelectionDAG &DAG) {
19111 SelectionDAG &DAG) {
19168 SelectionDAG &DAG) {
19185 const SDLoc &DL, SelectionDAG &DAG,
19289 static SDValue LowerTruncateVecI1(SDValue Op, SelectionDAG &DAG,
19365 SDValue X86TargetLowering::LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) const {
19514 SDValue X86TargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const {
19607 SDValue X86TargetLowering::LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const {
19625 SDValue X86TargetLowering::LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const {
19645 static SDValue LowerSTRICT_FP_ROUND(SDValue Op, SelectionDAG &DAG) {
19654 static SDValue lowerAddSubToHorizontalOp(SDValue Op, SelectionDAG &DAG,
19726 SDValue X86TargetLowering::lowerFaddFsub(SDValue Op, SelectionDAG &DAG) const {
19740 static SDValue LowerFABSorFNEG(SDValue Op, SelectionDAG &DAG) {
19779 const fltSemantics &Sem = SelectionDAG::EVTToAPFloatSemantics(VT);
19800 static SDValue LowerFCOPYSIGN(SDValue Op, SelectionDAG &DAG) {
19822 const fltSemantics &Sem = SelectionDAG::EVTToAPFloatSemantics(VT);
19867 static SDValue LowerFGETSIGN(SDValue Op, SelectionDAG &DAG) {
19887 SelectionDAG &DAG) {
19961 SelectionDAG &DAG, SDValue &X86CC) {
20019 SelectionDAG &DAG, const X86Subtarget &Subtarget) {
20135 const SDLoc &dl, SelectionDAG &DAG) const {
20189 SelectionDAG &DAG) const {
20215 bool X86TargetLowering::isFsqrtCheap(SDValue Op, SelectionDAG &DAG) const {
20230 SelectionDAG &DAG, int Enabled,
20262 SDValue X86TargetLowering::getRecipEstimate(SDValue Op, SelectionDAG &DAG,
20306 SelectionDAG &DAG,
20364 const SDLoc &dl, SelectionDAG &DAG,
20489 static SDValue Lower256IntVSETCC(SDValue Op, SelectionDAG &DAG) {
20517 static SDValue LowerIntVSETCC_AVX512(SDValue Op, SelectionDAG &DAG) {
20543 static SDValue incDecVectorConstant(SDValue V, SelectionDAG &DAG, bool IsInc) {
20576 SelectionDAG &DAG) {
20627 SelectionDAG &DAG) {
20944 const SDLoc &dl, SelectionDAG &DAG,
21002 SelectionDAG &DAG,
21057 SDValue X86TargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const {
21090 SDValue X86TargetLowering::LowerSETCCCARRY(SDValue Op, SelectionDAG &DAG) const {
21116 getX86XALUOOp(X86::CondCode &Cond, SDValue Op, SelectionDAG &DAG) {
21161 static SDValue LowerXALUO(SDValue Op, SelectionDAG &DAG) {
21191 static bool isTruncWithZeroHighBitsInput(SDValue V, SelectionDAG &DAG) {
21201 SDValue X86TargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
21520 SelectionDAG &DAG) {
21576 SelectionDAG &DAG) {
21593 SelectionDAG &DAG) {
21704 SelectionDAG &DAG) {
21761 static SDValue splitVectorStore(StoreSDNode *Store, SelectionDAG &DAG) {
21797 SelectionDAG &DAG) {
21831 SelectionDAG &DAG) {
21909 SelectionDAG &DAG) {
21965 SDValue X86TargetLowering::LowerBRCOND(SDValue Op, SelectionDAG &DAG) const {
22192 SelectionDAG &DAG) const {
22275 SDValue X86TargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
22332 SDValue X86TargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG) const {
22392 SelectionDAG &DAG) {
22437 SelectionDAG &DAG) {
22518 SelectionDAG &DAG) {
22586 const X86Subtarget &Subtarget, SelectionDAG &DAG,
22627 SelectionDAG &DAG) {
22653 SelectionDAG &DAG) {
22699 static SDValue recoverFramePointer(SelectionDAG &DAG, const Function *Fn,
22738 SelectionDAG &DAG) const {
23671 static SDValue getAVX2GatherNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
23699 static SDValue getGatherNode(SDValue Op, SelectionDAG &DAG,
23736 static SDValue getScatterNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
23766 static SDValue getPrefetchNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
23797 SelectionDAG &DAG,
23852 SelectionDAG &DAG,
23873 SelectionDAG &DAG) {
23881 static SDValue MarkEHRegistrationNode(SDValue Op, SelectionDAG &DAG) {
23899 static SDValue MarkEHGuard(SDValue Op, SelectionDAG &DAG) {
23921 SelectionDAG &DAG) {
23935 MachineMemOperand *MMO, SelectionDAG &DAG) {
23945 SelectionDAG &DAG) {
24180 SelectionDAG &DAG) const {
24207 SelectionDAG &DAG) const {
24212 SDValue X86TargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
24284 SelectionDAG &DAG) const {
24308 SDValue X86TargetLowering::LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const {
24335 SelectionDAG &DAG) const {
24353 SelectionDAG &DAG) const {
24360 SelectionDAG &DAG) const {
24366 static SDValue LowerADJUST_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) {
24371 SelectionDAG &DAG) const {
24519 SelectionDAG &DAG) const {
24587 static SDValue LowerVectorIntUnary(SDValue Op, SelectionDAG &DAG) {
24608 static SDValue Lower256IntUnary(SDValue Op, SelectionDAG &DAG) {
24616 static SDValue Lower512IntUnary(SDValue Op, SelectionDAG &DAG) {
24629 static SDValue LowerVectorCTLZ_AVX512CDI(SDValue Op, SelectionDAG &DAG,
24661 SelectionDAG &DAG) {
24743 SelectionDAG &DAG) {
24764 SelectionDAG &DAG) {
24803 SelectionDAG &DAG) {
24825 static SDValue split256IntArith(SDValue Op, SelectionDAG &DAG) {
24854 static SDValue split512IntArith(SDValue Op, SelectionDAG &DAG) {
24881 static SDValue lowerAddSub(SDValue Op, SelectionDAG &DAG,
24897 static SDValue LowerADDSAT_SUBSAT(SDValue Op, SelectionDAG &DAG,
24946 SelectionDAG &DAG) {
24979 static SDValue LowerMINMAX(SDValue Op, SelectionDAG &DAG) {
25019 SelectionDAG &DAG) {
25164 SelectionDAG &DAG) {
25383 SDValue X86TargetLowering::LowerWin64_i128OP(SDValue Op, SelectionDAG &DAG) const {
25486 static SDValue LowerScalarImmediateShift(SDValue Op, SelectionDAG &DAG,
25610 static SDValue LowerScalarVariableShift(SDValue Op, SelectionDAG &DAG,
25700 SelectionDAG &DAG) {
25762 SelectionDAG &DAG) {
26243 SelectionDAG &DAG) {
26605 static SDValue emitLockedStackOp(SelectionDAG &DAG,
26667 SelectionDAG &DAG) {
26690 SelectionDAG &DAG) {
26728 static SDValue getPMOVMSKB(const SDLoc &DL, SDValue V, SelectionDAG &DAG,
26757 SelectionDAG &DAG) {
26840 SelectionDAG &DAG) {
26904 SelectionDAG &DAG) {
26950 SelectionDAG &DAG) {
26994 SelectionDAG &DAG) {
27000 static SDValue LowerBITREVERSE_XOP(SDValue Op, SelectionDAG &DAG) {
27046 SelectionDAG &DAG) {
27103 static SDValue lowerAtomicArithWithLOCK(SDValue N, SelectionDAG &DAG,
27135 static SDValue lowerAtomicArith(SDValue N, SelectionDAG &DAG,
27199 static SDValue LowerATOMIC_STORE(SDValue Op, SelectionDAG &DAG,
27250 static SDValue LowerADDSUBCARRY(SDValue Op, SelectionDAG &DAG) {
27280 SelectionDAG &DAG) {
27335 static SDValue ExtendToType(SDValue InOp, MVT NVT, SelectionDAG &DAG,
27385 SelectionDAG &DAG) {
27451 SelectionDAG &DAG) {
27520 SelectionDAG &DAG) {
27561 SelectionDAG &DAG) {
27611 SelectionDAG &DAG) const {
27632 SelectionDAG &DAG) const {
27652 SDValue X86TargetLowering::LowerF128Call(SDValue Op, SelectionDAG &DAG,
27660 SDValue X86TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
27792 SelectionDAG &DAG) const {
27819 SelectionDAG &DAG) const {
31484 const SelectionDAG &DAG,
31668 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
31816 SDValue &V1, const SDLoc &DL, SelectionDAG &DAG,
32068 SelectionDAG &DAG, const X86Subtarget &Subtarget,
32134 const SDLoc &DL, SelectionDAG &DAG, const X86Subtarget &Subtarget,
32276 bool HasVariableMask, bool AllowVariableMask, SelectionDAG &DAG,
32291 bool AllowVariableMask, SelectionDAG &DAG,
32814 bool HasVariableMask, bool AllowVariableMask, SelectionDAG &DAG,
32916 SelectionDAG &DAG,
33027 bool HasVariableMask, bool AllowVariableMask, SelectionDAG &DAG,
33243 static SDValue combineX86ShufflesRecursively(SDValue Op, SelectionDAG &DAG,
33300 SelectionDAG &DAG) {
33427 static SDValue combineTargetShuffle(SDValue N, SelectionDAG &DAG,
33836 SelectionDAG &DAG, SDValue &Opnd0, SDValue &Opnd1,
33897 SelectionDAG &DAG) {
33940 SelectionDAG &DAG) {
33974 static SDValue combineShuffleOfConcatUndef(SDNode *N, SelectionDAG &DAG,
34017 static SDValue foldShuffleOfHorizOp(SDNode *N, SelectionDAG &DAG) {
34106 static SDValue narrowShuffle(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) {
34136 static SDValue combineShuffle(SDNode *N, SelectionDAG &DAG,
34994 SelectionDAG &DAG, unsigned Depth) const {
35064 XFormVExtractWithShuffleIntoLoad(SDNode *N, SelectionDAG &DAG,
35192 static SDValue signExtendBitcastSrcVector(SelectionDAG &DAG, EVT SExtVT,
35214 static SDValue combineBitcastvxi1(SelectionDAG &DAG, EVT VT, SDValue Src,
35314 static SDValue combinevXi1ConstantToInteger(SDValue Op, SelectionDAG &DAG) {
35331 static SDValue combineCastedMaskArithmetic(SDNode *N, SelectionDAG &DAG,
35387 static SDValue createMMXBuildVector(BuildVectorSDNode *BV, SelectionDAG &DAG,
35458 static SDValue combineBitcast(SDNode *N, SelectionDAG &DAG,
35715 static SDValue createPSADBW(SelectionDAG &DAG, const SDValue &Zext0,
35745 static SDValue combineHorizontalMinMaxResult(SDNode *Extract, SelectionDAG &DAG,
35823 SelectionDAG &DAG,
35952 static SDValue combineBasicSADPattern(SDNode *Extract, SelectionDAG &DAG,
36035 static SDValue combineExtractWithShuffle(SDNode *N, SelectionDAG &DAG,
36167 static SDValue scalarizeExtEltFP(SDNode *ExtElt, SelectionDAG &DAG) {
36265 static SDValue combineReductionToHorizontal(SDNode *ExtElt, SelectionDAG &DAG,
36378 static SDValue combineExtractVectorElt(SDNode *N, SelectionDAG &DAG,
36517 combineVSelectWithAllOnesOrZeros(SDNode *N, SelectionDAG &DAG,
36630 static SDValue narrowVectorSelect(SDNode *N, SelectionDAG &DAG,
36659 static SDValue combineSelectOfTwoConstants(SDNode *N, SelectionDAG &DAG) {
36727 static SDValue combineVSelectToBLENDV(SDNode *N, SelectionDAG &DAG,
36805 static SDValue combineSelect(SDNode *N, SelectionDAG &DAG,
37248 SelectionDAG &DAG,
37513 static SDValue combineCarryThroughADD(SDValue EFLAGS, SelectionDAG &DAG) {
37565 SelectionDAG &DAG,
37577 static SDValue combineCMov(SDNode *N, SelectionDAG &DAG,
37800 static bool canReduceVMulWidth(SDNode *N, SelectionDAG &DAG, ShrinkMode &Mode) {
37862 static SDValue reduceVMULWidth(SDNode *N, SelectionDAG &DAG,
37930 static SDValue combineMulSpecial(uint64_t MulAmt, SDNode *N, SelectionDAG &DAG,
38018 static SDValue combineMulToPMADDWD(SDNode *N, SelectionDAG &DAG,
38066 static SDValue combineMulToPMULDQ(SDNode *N, SelectionDAG &DAG,
38110 static SDValue combineMul(SDNode *N, SelectionDAG &DAG,
38252 static SDValue combineShiftLeft(SDNode *N, SelectionDAG &DAG) {
38311 static SDValue combineShiftRightArithmetic(SDNode *N, SelectionDAG &DAG) {
38364 static SDValue combineShiftRightLogical(SDNode *N, SelectionDAG &DAG,
38413 static SDValue combineVectorPack(SDNode *N, SelectionDAG &DAG,
38513 static SDValue combineVectorShiftVar(SDNode *N, SelectionDAG &DAG,
38546 static SDValue combineVectorShiftImm(SDNode *N, SelectionDAG &DAG,
38624 static SDValue combineVectorInsert(SDNode *N, SelectionDAG &DAG,
38649 static SDValue combineCompareEqual(SDNode *N, SelectionDAG &DAG,
38752 static SDValue combineANDXORWithAllOnesIntoANDNP(SDNode *N, SelectionDAG &DAG) {
38783 static SDValue PromoteMaskArithmetic(SDNode *N, SelectionDAG &DAG,
38849 static SDValue convertIntLogicToFPLogic(SDNode *N, SelectionDAG &DAG,
38885 static SDValue combineAndMaskToShift(SDNode *N, SelectionDAG &DAG,
38959 static SDValue combineAndLoadToBZHI(SDNode *Node, SelectionDAG &DAG,
39039 static SDValue combineParity(SDNode *N, SelectionDAG &DAG,
39110 static SDValue combineScalarAndWithMaskSetcc(SDNode *N, SelectionDAG &DAG,
39169 static SDValue combineAnd(SDNode *N, SelectionDAG &DAG,
39289 static SDValue canonicalizeBitSelect(SDNode *N, SelectionDAG &DAG,
39386 SelectionDAG &DAG, const X86Subtarget &Subtarget) {
39438 static SDValue combineLogicBlendIntoPBLENDV(SDNode *N, SelectionDAG &DAG,
39490 SelectionDAG &DAG) {
39511 static SDValue combineOrCmpEqZeroToCtlzSrl(SDNode *N, SelectionDAG &DAG,
39590 static SDValue combineOr(SDNode *N, SelectionDAG &DAG,
39771 static SDValue foldXorTruncShiftIntoCmp(SDNode *N, SelectionDAG &DAG) {
39826 static SDValue foldVectorXorShiftIntoCmp(SDNode *N, SelectionDAG &DAG,
39880 static SDValue detectUSatPattern(SDValue In, EVT VT, SelectionDAG &DAG,
39962 SelectionDAG &DAG,
40066 static SDValue detectAVGPattern(SDValue In, EVT VT, SelectionDAG &DAG,
40202 static SDValue combineLoad(SDNode *N, SelectionDAG &DAG,
40303 SelectionDAG &DAG, SDValue &Addr,
40328 reduceMaskedLoadToScalarLoad(MaskedLoadSDNode *ML, SelectionDAG &DAG,
40355 combineMaskedLoadConstantMask(MaskedLoadSDNode *ML, SelectionDAG &DAG,
40402 static SDValue combineMaskedLoad(SDNode *N, SelectionDAG &DAG,
40428 SelectionDAG &DAG) {
40450 static SDValue combineMaskedStore(SDNode *N, SelectionDAG &DAG,
40488 static SDValue combineStore(SDNode *N, SelectionDAG &DAG,
40762 static bool isHorizontalBinOp(SDValue &LHS, SDValue &RHS, SelectionDAG &DAG,
40913 static SDValue combineFaddFsub(SDNode *N, SelectionDAG &DAG,
40936 static SDValue combineTruncatedArithmetic(SDNode *N, SelectionDAG &DAG,
41033 SelectionDAG &DAG) {
41047 SelectionDAG &DAG) {
41061 static SDValue combineVectorTruncation(SDNode *N, SelectionDAG &DAG,
41109 SelectionDAG &DAG,
41170 SelectionDAG &DAG, const X86Subtarget &Subtarget) {
41223 static SDValue detectPMADDUBSW(SDValue In, EVT VT, SelectionDAG &DAG,
41354 static SDValue combineTruncate(SDNode *N, SelectionDAG &DAG,
41395 static SDValue combineVTRUNC(SDNode *N, SelectionDAG &DAG) {
41417 static SDValue isFNEG(SelectionDAG &DAG, SDNode *N, unsigned Depth = 0) {
41422 if (Depth > SelectionDAG::MaxRecursionDepth)
41541 static SDValue combineFneg(SDNode *N, SelectionDAG &DAG,
41591 char X86TargetLowering::isNegatibleForFree(SDValue Op, SelectionDAG &DAG,
41600 if (Depth > SelectionDAG::MaxRecursionDepth)
41634 SDValue X86TargetLowering::getNegatedExpression(SDValue Op, SelectionDAG &DAG,
41686 static SDValue lowerX86FPLogicOp(SDNode *N, SelectionDAG &DAG,
41715 static SDValue foldXor1SetCC(SDNode *N, SelectionDAG &DAG) {
41730 static SDValue combineXor(SDNode *N, SelectionDAG &DAG,
41760 static SDValue combineBEXTR(SDNode *N, SelectionDAG &DAG,
41799 static SDValue getNullFPConstForNullVal(SDValue V, SelectionDAG &DAG,
41810 static SDValue combineFAndFNotToFAndn(SDNode *N, SelectionDAG &DAG,
41842 static SDValue combineFAnd(SDNode *N, SelectionDAG &DAG,
41859 static SDValue combineFAndn(SDNode *N, SelectionDAG &DAG,
41873 static SDValue combineFOr(SDNode *N, SelectionDAG &DAG,
41892 static SDValue combineFMinFMax(SDNode *N, SelectionDAG &DAG) {
41912 static SDValue combineFMinNumFMaxNum(SDNode *N, SelectionDAG &DAG,
41977 static SDValue combineX86INT_TO_FP(SDNode *N, SelectionDAG &DAG,
42019 static SDValue combineCVTP2I_CVTTP2I(SDNode *N, SelectionDAG &DAG,
42055 static SDValue combineAndnp(SDNode *N, SelectionDAG &DAG,
42083 static SDValue combineBT(SDNode *N, SelectionDAG &DAG,
42098 static SDValue combineSextInRegCmov(SDNode *N, SelectionDAG &DAG) {
42159 static SDValue combineSignExtendInReg(SDNode *N, SelectionDAG &DAG,
42201 static SDValue promoteExtBeforeAdd(SDNode *Ext, SelectionDAG &DAG,
42273 static SDValue combineToExtendCMOV(SDNode *Extend, SelectionDAG &DAG) {
42321 combineToExtendBoolVectorInReg(SDNode *N, SelectionDAG &DAG,
42409 static SDValue combineExtSetcc(SDNode *N, SelectionDAG &DAG,
42450 static SDValue combineSext(SDNode *N, SelectionDAG &DAG,
42490 static SDValue combineFMA(SDNode *N, SelectionDAG &DAG,
42552 static SDValue combineFMADDSUB(SDNode *N, SelectionDAG &DAG,
42574 static SDValue combineZext(SDNode *N, SelectionDAG &DAG,
42649 static SDValue combineVectorSizedSetCCEquality(SDNode *SetCC, SelectionDAG &DAG,
42815 static SDValue combineSetCC(SDNode *N, SelectionDAG &DAG,
42896 static SDValue combineMOVMSK(SDNode *N, SelectionDAG &DAG,
42943 static SDValue combineX86GatherScatter(SDNode *N, SelectionDAG &DAG,
42957 static SDValue combineGatherScatter(SDNode *N, SelectionDAG &DAG,
43069 static SDValue combineX86SetCC(SDNode *N, SelectionDAG &DAG,
43083 static SDValue combineBrCond(SDNode *N, SelectionDAG &DAG,
43102 SelectionDAG &DAG) {
43149 static SDValue combineToFPTruncExtElt(SDNode *N, SelectionDAG &DAG) {
43181 static SDValue combineUIntToFP(SDNode *N, SelectionDAG &DAG,
43209 static SDValue combineSIntToFP(SDNode *N, SelectionDAG &DAG,
43355 static SDValue combineCMP(SDNode *N, SelectionDAG &DAG) {
43443 static SDValue combineX86AddSub(SDNode *N, SelectionDAG &DAG,
43477 static SDValue combineSBB(SDNode *N, SelectionDAG &DAG) {
43499 static SDValue combineADC(SDNode *N, SelectionDAG &DAG,
43535 static SDValue combineAddOrSubToADCOrSBB(SDNode *N, SelectionDAG &DAG) {
43691 static SDValue combineLoopMAddPattern(SDNode *N, SelectionDAG &DAG,
43754 static SDValue combineLoopSADPattern(SDNode *N, SelectionDAG &DAG,
43829 static SDValue matchPMADDWD(SelectionDAG &DAG, SDValue Op0, SDValue Op1,
43941 static SDValue matchPMADDWD_2(SelectionDAG &DAG, SDValue N0, SDValue N1,
44059 static SDValue combineAdd(SDNode *N, SelectionDAG &DAG,
44118 static SDValue combineSubToSubus(SDNode *N, SelectionDAG &DAG,
44205 static SDValue combineSub(SDNode *N, SelectionDAG &DAG,
44250 static SDValue combineVectorCompare(SDNode *N, SelectionDAG &DAG,
44269 ArrayRef<SDValue> Ops, SelectionDAG &DAG,
44379 static SDValue combineConcatVectors(SDNode *N, SelectionDAG &DAG,
44400 static SDValue combineInsertSubvector(SDNode *N, SelectionDAG &DAG,
44526 static SDValue narrowExtractedVectorSelect(SDNode *Ext, SelectionDAG &DAG) {
44578 static SDValue combineExtractSubvector(SDNode *N, SelectionDAG &DAG,
44749 static SDValue combineScalarToVector(SDNode *N, SelectionDAG &DAG) {
44786 static SDValue combinePMULDQ(SDNode *N, SelectionDAG &DAG,
44838 static SDValue combineExtInVec(SDNode *N, SelectionDAG &DAG,
44877 static SDValue combineKSHIFT(SDNode *N, SelectionDAG &DAG,
44893 SelectionDAG &DAG = DCI.DAG;
45087 SelectionDAG &DAG) const {
45588 SelectionDAG &DAG) const {
45616 SelectionDAG &DAG) const {
lib/Target/X86/X86ISelLowering.h 719 SelectionDAG &DAG) const override;
762 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
770 SelectionDAG &DAG) const override;
776 SelectionDAG &DAG) const override;
808 char isNegatibleForFree(SDValue Op, SelectionDAG &DAG, bool LegalOperations,
812 SDValue getNegatedExpression(SDValue Op, SelectionDAG &DAG,
830 const SelectionDAG &DAG) const override;
869 SelectionDAG &DAG) const override;
894 bool shouldExpandShift(SelectionDAG &DAG, SDNode *N) const override;
917 const SelectionDAG &DAG,
923 const SelectionDAG &DAG,
942 SelectionDAG &DAG, unsigned Depth) const override;
948 SDValue getReturnAddressFrameIndex(SelectionDAG &DAG) const;
968 SelectionDAG &DAG) const override;
986 SelectionDAG &DAG) const override;
1160 const SelectionDAG &DAG,
1197 SDValue emitStackGuardXorFP(SelectionDAG &DAG, SDValue Val,
1207 SelectionDAG &DAG) const;
1250 SDValue Addr, SelectionDAG &DAG)
1281 const SDLoc &dl, SelectionDAG &DAG,
1286 const SDLoc &dl, SelectionDAG &DAG,
1290 const SDLoc &dl, SelectionDAG &DAG,
1307 SelectionDAG& DAG) const;
1308 SDValue EmitTailCallLoadRetAddr(SelectionDAG &DAG, SDValue &OutRetAddr,
1314 SelectionDAG &DAG) const;
1318 SDValue FP_TO_INTHelper(SDValue Op, SelectionDAG &DAG, bool isSigned) const;
1320 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
1321 SDValue LowerVSELECT(SDValue Op, SelectionDAG &DAG) const;
1322 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1323 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1327 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
1328 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
1329 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
1330 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
1331 SDValue LowerExternalSymbol(SDValue Op, SelectionDAG &DAG) const;
1335 SDValue LowerGlobalOrExternal(SDValue Op, SelectionDAG &DAG,
1338 SDValue LowerSINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1339 SDValue LowerUINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1340 SDValue LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) const;
1341 SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const;
1342 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
1343 SDValue LowerSETCCCARRY(SDValue Op, SelectionDAG &DAG) const;
1344 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
1345 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
1346 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
1347 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
1348 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
1349 SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) const;
1350 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
1351 SDValue LowerADDROFRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
1352 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
1353 SDValue LowerFRAME_TO_ARGS_OFFSET(SDValue Op, SelectionDAG &DAG) const;
1354 SDValue LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const;
1355 SDValue lowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
1356 SDValue lowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const;
1357 SDValue lowerEH_SJLJ_SETUP_DISPATCH(SDValue Op, SelectionDAG &DAG) const;
1358 SDValue LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
1359 SDValue LowerFLT_ROUNDS_(SDValue Op, SelectionDAG &DAG) const;
1360 SDValue LowerWin64_i128OP(SDValue Op, SelectionDAG &DAG) const;
1361 SDValue LowerGC_TRANSITION_START(SDValue Op, SelectionDAG &DAG) const;
1362 SDValue LowerGC_TRANSITION_END(SDValue Op, SelectionDAG &DAG) const;
1363 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
1364 SDValue lowerFaddFsub(SDValue Op, SelectionDAG &DAG) const;
1365 SDValue LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
1366 SDValue LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
1368 SDValue LowerF128Call(SDValue Op, SelectionDAG &DAG,
1374 const SDLoc &dl, SelectionDAG &DAG,
1382 const SDLoc &dl, SelectionDAG &DAG) const override;
1483 SelectionDAG &DAG) const;
1486 SDValue ConvertCmpIfNecessary(SDValue Cmp, SelectionDAG &DAG) const;
1492 SelectionDAG &DAG,
1496 bool isFsqrtCheap(SDValue Operand, SelectionDAG &DAG) const override;
1499 SDValue getSqrtEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
1504 SDValue getRecipEstimate(SDValue Operand, SelectionDAG &DAG, int Enabled,
1510 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
lib/Target/X86/X86InstrInfo.cpp 5597 X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
lib/Target/X86/X86InstrInfo.h 363 bool unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
lib/Target/X86/X86SelectionDAGInfo.cpp 27 SelectionDAG &DAG, ArrayRef<MCPhysReg> ClobberSet) const {
47 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Val,
186 static SDValue emitRepmovs(const X86Subtarget &Subtarget, SelectionDAG &DAG,
208 static SDValue emitRepmovsB(const X86Subtarget &Subtarget, SelectionDAG &DAG,
237 SelectionDAG &DAG, const X86Subtarget &Subtarget, const SDLoc &dl,
293 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
lib/Target/X86/X86SelectionDAGInfo.h 28 bool isBaseRegConflictPossible(SelectionDAG &DAG,
34 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl,
39 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
lib/Target/XCore/XCoreISelDAGToDAG.cpp 216 replaceInChain(SelectionDAG *CurDAG, SDValue Chain, SDValue Old, SDValue New)
lib/Target/XCore/XCoreISelLowering.cpp 197 LowerOperation(SDValue Op, SelectionDAG &DAG) const {
232 SelectionDAG &DAG) const {
249 SelectionDAG &DAG) const {
278 LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const
310 LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const
321 LowerConstantPool(SDValue Op, SelectionDAG &DAG) const
343 LowerBR_JT(SDValue Op, SelectionDAG &DAG) const
368 SelectionDAG &DAG) const {
403 static bool isWordAligned(SDValue Value, SelectionDAG &DAG)
409 SDValue XCoreTargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
485 SDValue XCoreTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
539 LowerSMUL_LOHI(SDValue Op, SelectionDAG &DAG) const
556 LowerUMUL_LOHI(SDValue Op, SelectionDAG &DAG) const
632 TryExpandADDWithMul(SDNode *N, SelectionDAG &DAG) const
692 ExpandADDSUB(SDNode *N, SelectionDAG &DAG) const
734 LowerVAARG(SDValue Op, SelectionDAG &DAG) const
759 LowerVASTART(SDValue Op, SelectionDAG &DAG) const
772 SelectionDAG &DAG) const {
788 LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const {
807 LowerFRAME_TO_ARGS_OFFSET(SDValue Op, SelectionDAG &DAG) const {
816 LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const {
855 LowerADJUST_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const {
860 LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const {
914 LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const {
931 LowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG) const {
937 LowerATOMIC_LOAD(SDValue Op, SelectionDAG &DAG) const {
968 LowerATOMIC_STORE(SDValue Op, SelectionDAG &DAG) const {
1032 SelectionDAG &DAG = CLI.DAG;
1062 const SDLoc &dl, SelectionDAG &DAG,
1111 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
1243 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
1262 SelectionDAG &DAG, SmallVectorImpl<SDValue> &InVals) const {
1440 const SDLoc &dl, SelectionDAG &DAG) const {
1591 SelectionDAG &DAG = DCI.DAG;
1818 const SelectionDAG &DAG,
lib/Target/XCore/XCoreISelLowering.h 108 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
114 SelectionDAG &DAG) const override;
150 const SDLoc &dl, SelectionDAG &DAG,
158 const SDLoc &dl, SelectionDAG &DAG,
160 SDValue getReturnAddressFrameIndex(SelectionDAG &DAG) const;
162 SelectionDAG &DAG) const;
166 SelectionDAG &DAG) const;
169 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
170 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
171 SDValue LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const;
172 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
173 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
174 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
175 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
176 SDValue LowerBR_JT(SDValue Op, SelectionDAG &DAG) const;
177 SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) const;
178 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
179 SDValue LowerUMUL_LOHI(SDValue Op, SelectionDAG &DAG) const;
180 SDValue LowerSMUL_LOHI(SDValue Op, SelectionDAG &DAG) const;
181 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
182 SDValue LowerFRAME_TO_ARGS_OFFSET(SDValue Op, SelectionDAG &DAG) const;
183 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
184 SDValue LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
185 SDValue LowerADJUST_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
186 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
187 SDValue LowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG) const;
188 SDValue LowerATOMIC_LOAD(SDValue Op, SelectionDAG &DAG) const;
189 SDValue LowerATOMIC_STORE(SDValue Op, SelectionDAG &DAG) const;
199 SDValue TryExpandADDWithMul(SDNode *Op, SelectionDAG &DAG) const;
200 SDValue ExpandADDSUB(SDNode *Op, SelectionDAG &DAG) const;
207 const SelectionDAG &DAG,
213 const SDLoc &dl, SelectionDAG &DAG,
223 const SDLoc &dl, SelectionDAG &DAG) const override;
lib/Target/XCore/XCoreSelectionDAGInfo.cpp 19 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
lib/Target/XCore/XCoreSelectionDAGInfo.h 24 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
unittests/CodeGen/AArch64SelectionDAGTest.cpp 65 DAG = std::make_unique<SelectionDAG>(*TM, CodeGenOpt::None);
77 std::unique_ptr<SelectionDAG> DAG;
usr/include/c++/7.4.0/bits/unique_ptr.h 68 default_delete(const default_delete<_Up>&) noexcept { }
72 operator()(_Tp* __ptr) const
74 static_assert(!is_void<_Tp>::value,
76 static_assert(sizeof(_Tp)>0,
122 using type = _Up*;
137 using pointer = typename _Ptr<_Tp, _Dp>::type;
161 typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
163 __uniq_ptr_impl<_Tp, _Dp> _M_t;
166 using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
167 using element_type = _Tp;
252 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
297 __safe_conversion_up<_Up, _Ep>,
301 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
811 { typedef unique_ptr<_Tp> __single_object; };
823 inline typename _MakeUniq<_Tp>::__single_object
825 { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>