Lines Matching defs:SI

320     SelectionDAGBuilder::StatepointLoweringInfo &SI,
324 Builder.lowerInvokable(SI.CLI, SI.EHPadBB);
346 bool HasDef = !SI.CLI.RetTy->isVoidTy();
525 SelectionDAGBuilder::StatepointLoweringInfo &SI,
541 SI.StatepointFlags & (uint64_t)StatepointFlags::DeoptLiveIn;
551 dyn_cast_or_null<InvokeInst>(SI.StatepointInstr)) {
553 for (const auto *Relocate : SI.GCRelocates)
597 for (const Value *V : SI.Ptrs)
599 for (const Value *V : SI.Bases)
618 for (const Value *V : SI.DeoptState) {
623 for (const Value *V : SI.Ptrs) {
629 for (const Value *V : SI.Bases) {
638 const int NumVMSArgs = SI.DeoptState.size();
644 for (const Value *V : SI.DeoptState) {
676 for (Value *V : SI.GCArgs) {
694 pushStackMapConstant(Ops, Builder, SI.Ptrs.size());
696 for (unsigned i = 0; i < SI.Ptrs.size(); ++i) {
697 SDValue Base = Builder.getValue(SI.Bases[i]);
701 SDValue Derived = Builder.getValue(SI.Ptrs[i]);
709 SelectionDAGBuilder::StatepointLoweringInfo &SI) {
717 assert(SI.Bases.size() == SI.Ptrs.size() && "Pointer without base!");
718 assert((GFI || SI.Bases.empty()) &&
721 LLVM_DEBUG(if (SI.StatepointInstr) dbgs()
722 << "Lowering statepoint " << *SI.StatepointInstr << "\n");
724 for (const auto *Reloc : SI.GCRelocates)
725 if (Reloc->getParent() == SI.StatepointInstr->getParent())
739 SI, *this);
743 SI.CLI.setChain(getRoot());
748 std::tie(ReturnVal, CallNode) = lowerCallFromStatepointLoweringInfo(SI, *this);
771 (SI.StatepointFlags & (uint64_t)StatepointFlags::GCTransition) ==
780 for (const Value *V : SI.GCTransitionArgs) {
805 Ops.push_back(DAG.getTargetConstant(SI.ID, getCurSDLoc(), MVT::i64));
807 DAG.getTargetConstant(SI.NumPatchBytes, getCurSDLoc(), MVT::i32));
829 pushStackMapConstant(Ops, *this, SI.CLI.CallConv);
832 uint64_t Flags = SI.StatepointFlags;
872 for (const auto *Relocate : SI.GCRelocates) {
882 if (SI.StatepointInstr->getParent() == Relocate->getParent()) {
908 const Instruction *StatepointInstr = SI.StatepointInstr;
910 for (const GCRelocateInst *Relocate : SI.GCRelocates) {
955 for (const Value *V : SI.GCTransitionArgs) {
1044 StatepointLoweringInfo SI(DAG);
1045 populateCallLoweringInfo(SI.CLI, &I, GCStatepointInst::CallArgsBeginPos,
1065 SI.GCRelocates.push_back(Relocate);
1069 SI.Bases.push_back(Relocate->getBasePtr());
1070 SI.Ptrs.push_back(Relocate->getDerivedPtr());
1084 SI.Bases.push_back(V);
1085 SI.Ptrs.push_back(V);
1089 SI.GCArgs = ArrayRef<const Use>(I.gc_args_begin(), I.gc_args_end());
1090 SI.StatepointInstr = &I;
1091 SI.ID = I.getID();
1093 SI.DeoptState = ArrayRef<const Use>(I.deopt_begin(), I.deopt_end());
1094 SI.GCTransitionArgs = ArrayRef<const Use>(I.gc_transition_args_begin(),
1097 SI.StatepointFlags = I.getFlags();
1098 SI.NumPatchBytes = I.getNumPatchBytes();
1099 SI.EHPadBB = EHPadBB;
1101 SDValue ReturnValue = LowerAsSTATEPOINT(SI);
1143 StatepointLoweringInfo SI(DAG);
1146 SI.CLI, Call, ArgBeginIndex, Call->arg_size(), Callee,
1150 SI.CLI.IsVarArg = Call->getFunctionType()->isVarArg();
1157 SI.ID = SD.StatepointID.value_or(DefaultID);
1158 SI.NumPatchBytes = SD.NumPatchBytes.value_or(0);
1160 SI.DeoptState =
1162 SI.StatepointFlags = static_cast<uint64_t>(StatepointFlags::None);
1163 SI.EHPadBB = EHPadBB;
1168 if (SDValue ReturnVal = LowerAsSTATEPOINT(SI)) {
1184 const Value *SI = CI.getStatepoint();
1185 assert((isa<GCStatepointInst>(SI) || isa<UndefValue>(SI)) &&
1187 if (isa<UndefValue>(SI))
1190 if (cast<GCStatepointInst>(SI)->getParent() == CI.getParent()) {
1191 setValue(&CI, getValue(SI));
1201 SDValue CopyFromReg = getCopyFromRegs(SI, RetTy);