Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:Builder

42                                  SelectionDAGBuilder &Builder, uint64_t Value) {
43 SDLoc L = Builder.getCurSDLoc();
44 Ops.push_back(Builder.DAG.getTargetConstant(StackMaps::ConstantOp, L,
46 Ops.push_back(Builder.DAG.getTargetConstant(Value, L, MVT::i64));
49 void StatepointLoweringState::startNewStatepoint(SelectionDAGBuilder &Builder) {
58 AllocatedStackSlots.resize(Builder.FuncInfo.StatepointStackSlots.size());
73 SelectionDAGBuilder &Builder) {
83 assert(Builder.FuncInfo.StatepointStackSlots.size() ==
96 SDValue SpillSlot = Builder.DAG.CreateStackTemporary(ValueType);
98 Builder.FuncInfo.StatepointStackSlots.push_back(FI);
103 const int FI = Builder.FuncInfo.StatepointStackSlots[NextSlotToAllocate];
105 return Builder.DAG.getFrameIndex(FI, ValueType);
120 SelectionDAGBuilder &Builder,
131 Builder.FuncInfo.StatepointRelocatedValues[RelocOps.getStatepoint()];
142 return findPreviousSpillSlot(Cast->getOperand(0), Builder, LookUpDepth - 1);
153 findPreviousSpillSlot(IncomingValue, Builder, LookUpDepth - 1);
202 SelectionDAGBuilder &Builder) {
204 SDValue Incoming = Builder.getValue(IncomingValue);
212 SDValue OldLocation = Builder.StatepointLowering.getLocation(Incoming);
219 findPreviousSpillSlot(IncomingValue, Builder, LookUpDepth);
223 auto Itr = std::find(Builder.FuncInfo.StatepointStackSlots.begin(),
224 Builder.FuncInfo.StatepointStackSlots.end(), *Index);
225 assert(Itr != Builder.FuncInfo.StatepointStackSlots.end() &&
230 std::distance(Builder.FuncInfo.StatepointStackSlots.begin(), Itr);
231 if (Builder.StatepointLowering.isStackSlotAllocated(Offset)) {
241 Builder.StatepointLowering.reserveStackSlot(Offset);
245 SDValue Loc = Builder.DAG.getTargetFrameIndex(*Index, Incoming.getValueType());
246 Builder.StatepointLowering.setLocation(Incoming, Loc);
256 SelectionDAGBuilder &Builder) {
263 SDValue SD = Builder.getValue(Ptrs[i]);
287 SelectionDAGBuilder &Builder,
301 const auto &TLI = Builder.DAG.getTargetLoweringInfo();
302 const auto &DL = Builder.DAG.getDataLayout();
305 ActualCallee = Builder.DAG.getConstant(0, Builder.getCurSDLoc(),
308 ActualCallee = Builder.getValue(ISP.getCalledValue());
317 std::tie(ReturnValue, CallEndVal) = Builder.lowerCallOperands(
363 unsigned Reg = Builder.FuncInfo.CreateRegs(ISP.getActualReturnType());
365 *Builder.DAG.getContext(), Builder.DAG.getTargetLoweringInfo(),
366 Builder.DAG.getDataLayout(), Reg, ISP.getActualReturnType());
367 SDValue Chain = Builder.DAG.getEntryNode();
369 RFV.getCopyToRegs(ReturnValue, Builder.DAG, Builder.getCurSDLoc(), Chain,
372 Builder.FuncInfo.ValueMap[CS.getInstruction()] = Reg;
378 Builder.setValue(CS.getInstruction(), ReturnValue);
382 Builder.setValue(CS.getInstruction(),
383 Builder.DAG.getIntPtrConstant(-1, Builder.getCurSDLoc()));
399 SelectionDAGBuilder &Builder) {
410 removeDuplicatesGCPtrs(Bases, Ptrs, Relocs, Builder);
423 SelectionDAGBuilder &Builder) {
424 SDValue Loc = Builder.StatepointLowering.getLocation(Incoming);
428 Loc = Builder.StatepointLowering.allocateStackSlot(Incoming.getValueType(),
429 Builder);
433 Loc = Builder.DAG.getTargetFrameIndex(Index, Incoming.getValueType());
438 Chain = Builder.DAG.getStore(Chain, Builder.getCurSDLoc(), Incoming, Loc,
440 Builder.DAG.getMachineFunction(), Index),
443 Builder.StatepointLowering.setLocation(Incoming, Loc);
455 SelectionDAGBuilder &Builder) {
456 SDValue Chain = Builder.getRoot();
463 pushStackMapConstant(Ops, Builder, C->getSExtValue());
468 Ops.push_back(Builder.DAG.getTargetFrameIndex(FI->getIndex(),
478 spillIncomingStatepointValue(Incoming, Chain, Builder);
483 Builder.DAG.setRoot(Chain);
495 SelectionDAGBuilder &Builder) {
502 Builder);
510 GCStrategy &S = Builder.GFI->getStrategy();
539 reservePreviousStackSlotForValue(V, Builder);
542 reservePreviousStackSlotForValue(Bases[i], Builder);
543 reservePreviousStackSlotForValue(Ptrs[i], Builder);
550 pushStackMapConstant(Ops, Builder, NumVMSArgs);
562 SDValue Incoming = Builder.getValue(V);
563 lowerIncomingStatepointValue(Incoming, Ops, Builder);
573 lowerIncomingStatepointValue(Builder.getValue(Base), Ops, Builder);
576 lowerIncomingStatepointValue(Builder.getValue(Ptr), Ops, Builder);
585 SDValue Incoming = Builder.getValue(V);
588 Ops.push_back(Builder.DAG.getTargetFrameIndex(FI->getIndex(),
599 Builder.FuncInfo.StatepointRelocatedValues[StatepointInstr];
603 SDValue SDV = Builder.getValue(V);
604 SDValue Loc = Builder.StatepointLowering.getLocation(SDV);
625 Builder.ExportFromCurrentBlock(V);