Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:Builder

43                                  SelectionDAGBuilder &Builder, uint64_t Value) {
44 SDLoc L = Builder.getCurSDLoc();
45 Ops.push_back(Builder.DAG.getTargetConstant(StackMaps::ConstantOp, L,
47 Ops.push_back(Builder.DAG.getTargetConstant(Value, L, MVT::i64));
50 void StatepointLoweringState::startNewStatepoint(SelectionDAGBuilder &Builder) {
59 AllocatedStackSlots.resize(Builder.FuncInfo.StatepointStackSlots.size());
71 SelectionDAGBuilder &Builder) {
73 auto *MFI = Builder.DAG.getMachineFunction().getFrameInfo();
87 assert(NumSlots <= Builder.FuncInfo.StatepointStackSlots.size() &&
92 const int FI = Builder.FuncInfo.StatepointStackSlots[NextSlotToAllocate];
95 return Builder.DAG.getFrameIndex(FI, ValueType);
102 SDValue SpillSlot = Builder.DAG.CreateStackTemporary(ValueType);
106 Builder.FuncInfo.StatepointStackSlots.push_back(FI);
109 StatepointMaxSlotsRequired, Builder.FuncInfo.StatepointStackSlots.size());
118 SelectionDAGBuilder &Builder,
127 Builder.FuncInfo.StatepointSpillMaps[Relocate->getStatepoint()];
138 return findPreviousSpillSlot(Cast->getOperand(0), Builder, LookUpDepth - 1);
148 findPreviousSpillSlot(IncomingValue, Builder, LookUpDepth - 1);
197 SelectionDAGBuilder &Builder) {
199 SDValue Incoming = Builder.getValue(IncomingValue);
207 SDValue OldLocation = Builder.StatepointLowering.getLocation(Incoming);
214 findPreviousSpillSlot(IncomingValue, Builder, LookUpDepth);
218 const auto &StatepointSlots = Builder.FuncInfo.StatepointStackSlots;
226 if (Builder.StatepointLowering.isStackSlotAllocated(Offset)) {
236 Builder.StatepointLowering.reserveStackSlot(Offset);
240 SDValue Loc = Builder.DAG.getTargetFrameIndex(*Index, Incoming.getValueType());
241 Builder.StatepointLowering.setLocation(Incoming, Loc);
252 SelectionDAGBuilder &Builder,
259 SDValue SD = Builder.getValue(Ptrs[i]);
288 SelectionDAGBuilder &Builder, SmallVectorImpl<SDValue> &PendingExports) {
292 Builder.lowerInvokable(SI.CLI, SI.EHPadBB);
332 SelectionDAGBuilder &Builder) {
333 SDValue Loc = Builder.StatepointLowering.getLocation(Incoming);
337 Loc = Builder.StatepointLowering.allocateStackSlot(Incoming.getValueType(),
338 Builder);
341 Loc = Builder.DAG.getTargetFrameIndex(Index, Incoming.getValueType());
353 auto *MFI = Builder.DAG.getMachineFunction().getFrameInfo();
359 Chain = Builder.DAG.getStore(Chain, Builder.getCurSDLoc(), Incoming, Loc,
361 Builder.DAG.getMachineFunction(), Index),
364 Builder.StatepointLowering.setLocation(Incoming, Loc);
376 SelectionDAGBuilder &Builder) {
377 SDValue Chain = Builder.getRoot();
386 pushStackMapConstant(Ops, Builder, C->getSExtValue());
391 Ops.push_back(Builder.DAG.getTargetFrameIndex(FI->getIndex(),
400 auto Res = spillIncomingStatepointValue(Incoming, Chain, Builder);
405 Builder.DAG.setRoot(Chain);
418 SelectionDAGBuilder &Builder) {
422 if (auto *GFI = Builder.GFI) {
455 reservePreviousStackSlotForValue(V, Builder);
458 reservePreviousStackSlotForValue(SI.Bases[i], Builder);
459 reservePreviousStackSlotForValue(SI.Ptrs[i], Builder);
466 pushStackMapConstant(Ops, Builder, NumVMSArgs);
471 SDValue Incoming = Builder.getValue(V);
472 lowerIncomingStatepointValue(Incoming, Ops, Builder);
482 lowerIncomingStatepointValue(Builder.getValue(Base), Ops, Builder);
485 lowerIncomingStatepointValue(Builder.getValue(Ptr), Ops, Builder);
494 SDValue Incoming = Builder.getValue(V);
497 Ops.push_back(Builder.DAG.getTargetFrameIndex(FI->getIndex(),
506 auto &SpillMap = Builder.FuncInfo.StatepointSpillMaps[StatepointInstr];
510 SDValue SDV = Builder.getValue(V);
511 SDValue Loc = Builder.StatepointLowering.getLocation(SDV);
531 Builder.ExportFromCurrentBlock(V);