reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 5649     visitTargetIntrinsic(I, Intrinsic);
 5651   case Intrinsic::vastart:  visitVAStart(I); return;
 5652   case Intrinsic::vaend:    visitVAEnd(I); return;
 5653   case Intrinsic::vacopy:   visitVACopy(I); return;
 5655     setValue(&I, DAG.getNode(ISD::RETURNADDR, sdl,
 5657                              getValue(I.getArgOperand(0))));
 5660     setValue(&I, DAG.getNode(ISD::ADDROFRETURNADDR, sdl,
 5664     setValue(&I, DAG.getNode(ISD::SPONENTRY, sdl,
 5668     setValue(&I, DAG.getNode(ISD::FRAMEADDR, sdl,
 5670                              getValue(I.getArgOperand(0))));
 5673     Value *Reg = I.getArgOperand(0);
 5677     EVT VT = TLI.getValueType(DAG.getDataLayout(), I.getType());
 5680     setValue(&I, Res);
 5685     Value *Reg = I.getArgOperand(0);
 5686     Value *RegValue = I.getArgOperand(1);
 5695     lowerCallToExternalSymbol(I, &"_setjmp"[!TLI.usesUnderscoreSetJmp()]);
 5698     lowerCallToExternalSymbol(I, &"_longjmp"[!TLI.usesUnderscoreLongJmp()]);
 5701     const auto &MCI = cast<MemCpyInst>(I);
 5702     SDValue Op1 = getValue(I.getArgOperand(0));
 5703     SDValue Op2 = getValue(I.getArgOperand(1));
 5704     SDValue Op3 = getValue(I.getArgOperand(2));
 5710     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5710     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5715                                MachinePointerInfo(I.getArgOperand(0)),
 5716                                MachinePointerInfo(I.getArgOperand(1)));
 5721     const auto &MSI = cast<MemSetInst>(I);
 5722     SDValue Op1 = getValue(I.getArgOperand(0));
 5723     SDValue Op2 = getValue(I.getArgOperand(1));
 5724     SDValue Op3 = getValue(I.getArgOperand(2));
 5728     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5728     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5730                                isTC, MachinePointerInfo(I.getArgOperand(0)));
 5735     const auto &MMI = cast<MemMoveInst>(I);
 5736     SDValue Op1 = getValue(I.getArgOperand(0));
 5737     SDValue Op2 = getValue(I.getArgOperand(1));
 5738     SDValue Op3 = getValue(I.getArgOperand(2));
 5744     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5744     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5748                                 isTC, MachinePointerInfo(I.getArgOperand(0)),
 5749                                 MachinePointerInfo(I.getArgOperand(1)));
 5754     const AtomicMemCpyInst &MI = cast<AtomicMemCpyInst>(I);
 5763     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5763     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5772     auto &MI = cast<AtomicMemMoveInst>(I);
 5781     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5781     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5790     auto &MI = cast<AtomicMemSetInst>(I);
 5798     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5798     bool isTC = I.isTailCall() && isInTailCallPosition(&I, DAG.getTarget());
 5807     const auto &DI = cast<DbgVariableIntrinsic>(I);
 5886     const DbgLabelInst &DI = cast<DbgLabelInst>(I);
 5896     const DbgValueInst &DI = cast<DbgValueInst>(I);
 5921     GlobalValue *GV = ExtractTypeInfo(I.getArgOperand(0));
 5924     setValue(&I, Res);
 5934                             getValue(I.getArgOperand(0)),
 5935                             getValue(I.getArgOperand(1))));
 5941     setValue(&I, DAG.getNode(ISD::EH_DWARF_CFA, sdl,
 5943                              getValue(I.getArgOperand(0))));
 5947     ConstantInt *CI = dyn_cast<ConstantInt>(I.getArgOperand(0));
 5958       cast<AllocaInst>(I.getArgOperand(0)->stripPointerCasts());
 5966     Ops[1] = getValue(I.getArgOperand(0));
 5969     setValue(&I, Op.getValue(0));
 5975                             getRoot(), getValue(I.getArgOperand(0))));
 5982     visitMaskedGather(I);
 5985     visitMaskedLoad(I);
 5988     visitMaskedScatter(I);
 5991     visitMaskedStore(I);
 5994     visitMaskedLoad(I, true /* IsExpanding */);
 5997     visitMaskedStore(I, true /* IsCompressing */);
 6000     setValue(&I, ExpandPowI(sdl, getValue(I.getArgOperand(0)),
 6000     setValue(&I, ExpandPowI(sdl, getValue(I.getArgOperand(0)),
 6001                             getValue(I.getArgOperand(1)), DAG));
 6004     setValue(&I, expandLog(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6004     setValue(&I, expandLog(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6007     setValue(&I, expandLog2(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6007     setValue(&I, expandLog2(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6010     setValue(&I, expandLog10(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6010     setValue(&I, expandLog10(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6013     setValue(&I, expandExp(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6013     setValue(&I, expandExp(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6016     setValue(&I, expandExp2(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6016     setValue(&I, expandExp2(sdl, getValue(I.getArgOperand(0)), DAG, TLI));
 6019     setValue(&I, expandPow(sdl, getValue(I.getArgOperand(0)),
 6019     setValue(&I, expandPow(sdl, getValue(I.getArgOperand(0)),
 6020                            getValue(I.getArgOperand(1)), DAG, TLI));
 6049     setValue(&I, DAG.getNode(Opcode, sdl,
 6050                              getValue(I.getArgOperand(0)).getValueType(),
 6051                              getValue(I.getArgOperand(0))));
 6067     EVT RetVT = TLI.getValueType(DAG.getDataLayout(), I.getType());
 6068     setValue(&I, DAG.getNode(Opcode, sdl, RetVT,
 6069                              getValue(I.getArgOperand(0))));
 6073     setValue(&I, DAG.getNode(ISD::FMINNUM, sdl,
 6074                              getValue(I.getArgOperand(0)).getValueType(),
 6075                              getValue(I.getArgOperand(0)),
 6076                              getValue(I.getArgOperand(1))));
 6079     setValue(&I, DAG.getNode(ISD::FMAXNUM, sdl,
 6080                              getValue(I.getArgOperand(0)).getValueType(),
 6081                              getValue(I.getArgOperand(0)),
 6082                              getValue(I.getArgOperand(1))));
 6085     setValue(&I, DAG.getNode(ISD::FMINIMUM, sdl,
 6086                              getValue(I.getArgOperand(0)).getValueType(),
 6087                              getValue(I.getArgOperand(0)),
 6088                              getValue(I.getArgOperand(1))));
 6091     setValue(&I, DAG.getNode(ISD::FMAXIMUM, sdl,
 6092                              getValue(I.getArgOperand(0)).getValueType(),
 6093                              getValue(I.getArgOperand(0)),
 6094                              getValue(I.getArgOperand(1))));
 6097     setValue(&I, DAG.getNode(ISD::FCOPYSIGN, sdl,
 6098                              getValue(I.getArgOperand(0)).getValueType(),
 6099                              getValue(I.getArgOperand(0)),
 6100                              getValue(I.getArgOperand(1))));
 6103     setValue(&I, DAG.getNode(ISD::FMA, sdl,
 6104                              getValue(I.getArgOperand(0)).getValueType(),
 6105                              getValue(I.getArgOperand(0)),
 6106                              getValue(I.getArgOperand(1)),
 6107                              getValue(I.getArgOperand(2))));
 6141     visitConstrainedFPIntrinsic(cast<ConstrainedFPIntrinsic>(I));
 6144     EVT VT = TLI.getValueType(DAG.getDataLayout(), I.getType());
 6147       setValue(&I, DAG.getNode(ISD::FMA, sdl,
 6148                                getValue(I.getArgOperand(0)).getValueType(),
 6149                                getValue(I.getArgOperand(0)),
 6150                                getValue(I.getArgOperand(1)),
 6151                                getValue(I.getArgOperand(2))));
 6155                                 getValue(I.getArgOperand(0)).getValueType(),
 6156                                 getValue(I.getArgOperand(0)),
 6157                                 getValue(I.getArgOperand(1)));
 6159                                 getValue(I.getArgOperand(0)).getValueType(),
 6161                                 getValue(I.getArgOperand(2)));
 6162       setValue(&I, Add);
 6167     setValue(&I, DAG.getNode(ISD::BITCAST, sdl, MVT::i16,
 6169                                          getValue(I.getArgOperand(0)),
 6174     setValue(&I, DAG.getNode(ISD::FP_EXTEND, sdl,
 6175                              TLI.getValueType(DAG.getDataLayout(), I.getType()),
 6177                                          getValue(I.getArgOperand(0)))));
 6180     SDValue Tmp = getValue(I.getArgOperand(0));
 6188     setValue(&I, Res);
 6193     setValue(&I, DAG.getNode(ISD::BITREVERSE, sdl,
 6194                              getValue(I.getArgOperand(0)).getValueType(),
 6195                              getValue(I.getArgOperand(0))));
 6198     setValue(&I, DAG.getNode(ISD::BSWAP, sdl,
 6199                              getValue(I.getArgOperand(0)).getValueType(),
 6200                              getValue(I.getArgOperand(0))));
 6203     SDValue Arg = getValue(I.getArgOperand(0));
 6204     ConstantInt *CI = cast<ConstantInt>(I.getArgOperand(1));
 6206     setValue(&I, DAG.getNode(CI->isZero() ? ISD::CTTZ : ISD::CTTZ_ZERO_UNDEF,
 6211     SDValue Arg = getValue(I.getArgOperand(0));
 6212     ConstantInt *CI = cast<ConstantInt>(I.getArgOperand(1));
 6214     setValue(&I, DAG.getNode(CI->isZero() ? ISD::CTLZ : ISD::CTLZ_ZERO_UNDEF,
 6219     SDValue Arg = getValue(I.getArgOperand(0));
 6221     setValue(&I, DAG.getNode(ISD::CTPOP, sdl, Ty, Arg));
 6227     SDValue X = getValue(I.getArgOperand(0));
 6228     SDValue Y = getValue(I.getArgOperand(1));
 6229     SDValue Z = getValue(I.getArgOperand(2));
 6237       setValue(&I, DAG.getNode(FunnelOpcode, sdl, VT, X, Y, Z));
 6247         setValue(&I, DAG.getNode(RotateOpcode, sdl, VT, X, Z));
 6256         setValue(&I, DAG.getNode(RotateOpcode, sdl, VT, X, NegShAmt));
 6266       setValue(&I, DAG.getNode(ISD::OR, sdl, VT, ShX, ShY));
 6286     setValue(&I, DAG.getSelect(sdl, VT, IsZeroShift, IsFSHL ? X : Y, Or));
 6290     SDValue Op1 = getValue(I.getArgOperand(0));
 6291     SDValue Op2 = getValue(I.getArgOperand(1));
 6292     setValue(&I, DAG.getNode(ISD::SADDSAT, sdl, Op1.getValueType(), Op1, Op2));
 6296     SDValue Op1 = getValue(I.getArgOperand(0));
 6297     SDValue Op2 = getValue(I.getArgOperand(1));
 6298     setValue(&I, DAG.getNode(ISD::UADDSAT, sdl, Op1.getValueType(), Op1, Op2));
 6302     SDValue Op1 = getValue(I.getArgOperand(0));
 6303     SDValue Op2 = getValue(I.getArgOperand(1));
 6304     setValue(&I, DAG.getNode(ISD::SSUBSAT, sdl, Op1.getValueType(), Op1, Op2));
 6308     SDValue Op1 = getValue(I.getArgOperand(0));
 6309     SDValue Op2 = getValue(I.getArgOperand(1));
 6310     setValue(&I, DAG.getNode(ISD::USUBSAT, sdl, Op1.getValueType(), Op1, Op2));
 6315     SDValue Op1 = getValue(I.getArgOperand(0));
 6316     SDValue Op2 = getValue(I.getArgOperand(1));
 6317     SDValue Op3 = getValue(I.getArgOperand(2));
 6318     setValue(&I, DAG.getNode(FixedPointIntrinsicToOpcode(Intrinsic), sdl,
 6323     SDValue Op1 = getValue(I.getArgOperand(0));
 6324     SDValue Op2 = getValue(I.getArgOperand(1));
 6325     SDValue Op3 = getValue(I.getArgOperand(2));
 6326     setValue(&I, DAG.getNode(ISD::SMULFIXSAT, sdl, Op1.getValueType(), Op1, Op2,
 6331     SDValue Op1 = getValue(I.getArgOperand(0));
 6332     SDValue Op2 = getValue(I.getArgOperand(1));
 6333     SDValue Op3 = getValue(I.getArgOperand(2));
 6334     setValue(&I, DAG.getNode(ISD::UMULFIXSAT, sdl, Op1.getValueType(), Op1, Op2,
 6343     setValue(&I, Res);
 6348     Res = getValue(I.getArgOperand(0));
 6354     EVT ResTy = TLI.getValueType(DAG.getDataLayout(), I.getType());
 6363     setValue(&I, Res);
 6383     setValue(&I, Res);
 6396       Src = getValue(I.getArgOperand(0));   // The guard's value.
 6398     AllocaInst *Slot = cast<AllocaInst>(I.getArgOperand(1));
 6409     setValue(&I, Res);
 6424     setValue(&I, getValue(I.getOperand(0)));
 6424     setValue(&I, getValue(I.getOperand(0)));
 6437     Metadata *MD = cast<MetadataAsValue>(I.getArgOperand(0))->getMetadata();
 6445     const Function *F = cast<Function>(I.getArgOperand(1)->stripPointerCasts());
 6449     Ops[1] = getValue(I.getArgOperand(0));
 6450     Ops[2] = getValue(I.getArgOperand(1));
 6451     Ops[3] = getValue(I.getArgOperand(2));
 6452     Ops[4] = DAG.getSrcValue(I.getArgOperand(0));
 6461     setValue(&I, DAG.getNode(ISD::ADJUST_TRAMPOLINE, sdl,
 6463                              getValue(I.getArgOperand(0))));
 6469     const Value *Alloca = I.getArgOperand(0)->stripPointerCasts();
 6470     const Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
 6480     setValue(&I, DAG.getNode(ISD::FLT_ROUNDS_, sdl, MVT::i32));
 6485     setValue(&I, getValue(I.getArgOperand(0)));
 6485     setValue(&I, getValue(I.getArgOperand(0)));
 6491         I.getAttributes()
 6504         CallingConv::C, I.getType(),
 6530     SDValue Op1 = getValue(I.getArgOperand(0));
 6531     SDValue Op2 = getValue(I.getArgOperand(1));
 6540     setValue(&I, DAG.getNode(Op, sdl, VTs, Op1, Op2));
 6545     unsigned rw = cast<ConstantInt>(I.getArgOperand(1))->getZExtValue();
 6548     Ops[1] = getValue(I.getArgOperand(0));
 6549     Ops[2] = getValue(I.getArgOperand(1));
 6550     Ops[3] = getValue(I.getArgOperand(2));
 6551     Ops[4] = getValue(I.getArgOperand(3));
 6555                                              MachinePointerInfo(I.getArgOperand(0)),
 6574         cast<ConstantInt>(I.getArgOperand(0))->getSExtValue();
 6575     Value *const ObjectPtr = I.getArgOperand(1);
 6606     setValue(&I, DAG.getUNDEF(TLI.getPointerTy(DAG.getDataLayout())));
 6614       lowerCallToExternalSymbol(I, FunctionName);
 6620     visitStackmap(I);
 6624     visitPatchpoint(&I);
 6627     LowerStatepoint(ImmutableStatepoint(&I));
 6630     visitGCResult(cast<GCResultInst>(I));
 6633     visitGCRelocate(cast<GCRelocateInst>(I));
 6645     for (unsigned Idx = 0, E = I.getNumArgOperands(); Idx < E; ++Idx) {
 6646       Value *Arg = I.getArgOperand(Idx)->stripPointerCasts();
 6671     auto *Fn = cast<Function>(I.getArgOperand(0)->stripPointerCasts());
 6672     auto *Idx = cast<ConstantInt>(I.getArgOperand(2));
 6686     Value *FP = I.getArgOperand(1);
 6689     setValue(&I, Add);
 6697     const auto *CPI = cast<CatchPadInst>(I.getArgOperand(0));
 6705     setValue(&I, N);
 6720     SDValue LogEntryVal = getValue(I.getArgOperand(0));
 6721     SDValue StrSizeVal = getValue(I.getArgOperand(1));
 6736     setValue(&I, patchableNode);
 6753     SDValue LogTypeId = getValue(I.getArgOperand(0));
 6754     SDValue LogEntryVal = getValue(I.getArgOperand(1));
 6755     SDValue StrSizeVal = getValue(I.getArgOperand(2));
 6771     setValue(&I, patchableNode);
 6775     LowerDeoptimizeCall(&I);
 6791     visitVectorReduce(I, Intrinsic);
 6796     Ops.push_back(getValue(I.getArgOperand(0)));
 6800         I.getArgOperand(1), Offset, DAG.getDataLayout()));
 6812     for (unsigned Op = 1, N = I.getNumArgOperands(); Op != N; Op += 2) {
 6814           I.getArgOperand(Op), Offset, DAG.getDataLayout()));
 6819       SDValue Val = getValue(I.getArgOperand(Op + 1));
 6843     setValue(&I, N);
 6859         DAG, getCurSDLoc(), getRoot(), getValue(I.getArgOperand(0)),
 6860         getValue(I.getArgOperand(1)), MachinePointerInfo(I.getArgOperand(0)),
 6860         getValue(I.getArgOperand(1)), MachinePointerInfo(I.getArgOperand(0)),
 6863     setValue(&I, Val);
 6867     SDValue Ptr = getValue(I.getOperand(0));
 6868     SDValue Const = getValue(I.getOperand(1));
 6873     setValue(&I, DAG.getNode(ISD::AND, getCurSDLoc(), DestVT, Ptr,