Lines Matching defs:MIRBuilder
31 M68kFormalArgHandler(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI)
32 : M68kIncomingValueHandler(MIRBuilder, MRI) {}
36 CallReturnHandler(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI,
38 : M68kIncomingValueHandler(MIRBuilder, MRI), MIB(MIB) {}
53 M68kOutgoingArgHandler(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI,
55 : OutgoingValueHandler(MIRBuilder, MRI), MIB(MIB),
56 DL(MIRBuilder.getMF().getDataLayout()),
57 STI(MIRBuilder.getMF().getSubtarget<M68kSubtarget>()) {}
63 MIRBuilder.buildCopy(PhysReg, ExtReg);
69 MachineFunction &MF = MIRBuilder.getMF();
74 MIRBuilder.buildStore(ExtReg, Addr, *MMO);
83 auto SPReg = MIRBuilder.buildCopy(p0, StackReg).getReg(0);
84 auto OffsetReg = MIRBuilder.buildConstant(SType, Offset);
85 auto AddrReg = MIRBuilder.buildPtrAdd(p0, SPReg, OffsetReg);
86 MPO = MachinePointerInfo::getStack(MIRBuilder.getMF(), Offset);
93 bool M68kCallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
98 auto MIB = MIRBuilder.buildInstrNoInsert(M68k::RTS);
100 MachineFunction &MF = MIRBuilder.getMF();
113 M68kOutgoingArgHandler ArgHandler(MIRBuilder, MRI, MIB);
115 MIRBuilder, F.getCallingConv(),
118 MIRBuilder.insertInstr(MIB);
122 bool M68kCallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
126 MachineFunction &MF = MIRBuilder.getMF();
143 M68kFormalArgHandler ArgHandler(MIRBuilder, MRI);
145 MIRBuilder, F.getCallingConv(),
152 MIRBuilder.getMRI()->addLiveIn(PhysReg);
153 MIRBuilder.getMBB().addLiveIn(PhysReg);
160 MachineFunction &MF = MIRBuilder.getMF();
163 MIRBuilder.buildLoad(ValVReg, Addr, *MMO);
170 auto &MFI = MIRBuilder.getMF().getFrameInfo();
173 MPO = MachinePointerInfo::getFixedStack(MIRBuilder.getMF(), FI);
177 0, MIRBuilder.getMF().getDataLayout().getPointerSizeInBits());
178 MachineInstrBuilder AddrReg = MIRBuilder.buildFrameIndex(FramePtr, FI);
186 MIRBuilder.buildCopy(ValVReg, PhysReg);
189 bool M68kCallLowering::lowerCall(MachineIRBuilder &MIRBuilder,
191 MachineFunction &MF = MIRBuilder.getMF();
209 auto CallSeqStart = MIRBuilder.buildInstr(AdjStackDown);
215 auto MIB = MIRBuilder.buildInstrNoInsert(Opc)
221 M68kOutgoingArgHandler Handler(MIRBuilder, MRI, MIB);
222 if (!determineAndHandleAssignments(Handler, Assigner, OutArgs, MIRBuilder,
231 MIRBuilder.insertInstr(MIB);
238 CallReturnHandler Handler(MIRBuilder, MRI, MIB);
239 if (!determineAndHandleAssignments(Handler, Assigner, InArgs, MIRBuilder,
247 MIRBuilder.buildInstr(AdjStackUp).addImm(Assigner.StackSize).addImm(0);