Lines Matching refs:MF
98 bool initializeMachineFunction(MachineFunction &MF);
100 bool initializeRegisterInfo(MachineFunction &MF,
104 void inferRegisterInfo(MachineFunction &MF,
107 bool initializeFrameInfo(MachineFunction &MF,
111 bool parseCalleeSavedRegister(MachineFunction &MF,
117 bool parseStackObjectsDebugInfo(MachineFunction &MF,
124 const MachineFunction &MF,
127 bool initializeJumpTableInfo(MachineFunction &MF,
133 MachineFunction &MF, const PerFunctionMIParsingState &PFS);
136 const yaml::StringValue &Source, MachineFunction &MF,
151 void initNames2RegClasses(const MachineFunction &MF);
156 const TargetRegisterClass *getRegClass(const MachineFunction &MF,
252 auto MF = llvm::make_unique<yaml::MachineFunction>(); in parseMachineFunction() local
253 yaml::yamlize(In, *MF, false); in parseMachineFunction()
256 auto FunctionName = MF->Name; in parseMachineFunction()
260 Functions.insert(std::make_pair(FunctionName, std::move(MF))); in parseMachineFunction()
277 bool MIRParserImpl::initializeMachineFunction(MachineFunction &MF) { in initializeMachineFunction() argument
278 auto It = Functions.find(MF.getName()); in initializeMachineFunction()
281 MF.getName() + "' in the MIR file"); in initializeMachineFunction()
285 MF.setAlignment(YamlMF.Alignment); in initializeMachineFunction()
286 MF.setExposesReturnsTwice(YamlMF.ExposesReturnsTwice); in initializeMachineFunction()
287 MF.setHasInlineAsm(YamlMF.HasInlineAsm); in initializeMachineFunction()
289 if (initializeRegisterInfo(MF, YamlMF, PFS)) in initializeMachineFunction()
292 auto *ConstantPool = MF.getConstantPool(); in initializeMachineFunction()
294 if (initializeConstantPool(*ConstantPool, YamlMF, MF, in initializeMachineFunction()
300 if (parseMachineBasicBlockDefinitions(MF, YamlMF.Body.Value.Value, PFS, in initializeMachineFunction()
307 if (MF.empty()) in initializeMachineFunction()
308 return error(Twine("machine function '") + Twine(MF.getName()) + in initializeMachineFunction()
312 if (initializeFrameInfo(MF, YamlMF, PFS)) in initializeMachineFunction()
317 initializeJumpTableInfo(MF, YamlMF.JumpTableInfo, PFS)) in initializeMachineFunction()
321 if (parseMachineInstructions(MF, YamlMF.Body.Value.Value, PFS, IRSlots, in initializeMachineFunction()
327 inferRegisterInfo(MF, YamlMF); in initializeMachineFunction()
330 MF.getRegInfo().freezeReservedRegs(MF); in initializeMachineFunction()
331 MF.verify(); in initializeMachineFunction()
335 bool MIRParserImpl::initializeRegisterInfo(MachineFunction &MF, in initializeRegisterInfo() argument
338 MachineRegisterInfo &RegInfo = MF.getRegInfo(); in initializeRegisterInfo()
350 const auto *RC = getRegClass(MF, VReg.Class.Value); in initializeRegisterInfo()
363 if (parseNamedRegisterReference(PreferredReg, SM, MF, in initializeRegisterInfo()
374 if (parseNamedRegisterReference(Reg, SM, MF, LiveIn.Register.Value, PFS, in initializeRegisterInfo()
380 VReg, SM, MF, LiveIn.VirtualRegister.Value, PFS, IRSlots, Error)) in initializeRegisterInfo()
392 if (parseNamedRegisterReference(Reg, SM, MF, RegSource.Value, PFS, IRSlots, in initializeRegisterInfo()
401 void MIRParserImpl::inferRegisterInfo(MachineFunction &MF, in inferRegisterInfo() argument
405 for (const MachineBasicBlock &MBB : MF) { in inferRegisterInfo()
410 MF.getRegInfo().addPhysRegsUsedFromRegMask(MO.getRegMask()); in inferRegisterInfo()
416 bool MIRParserImpl::initializeFrameInfo(MachineFunction &MF, in initializeFrameInfo() argument
419 MachineFrameInfo &MFI = *MF.getFrameInfo(); in initializeFrameInfo()
420 const Function &F = *MF.getFunction(); in initializeFrameInfo()
438 if (parseMBBReference(MBB, YamlMFI.SavePoint, MF, PFS)) in initializeFrameInfo()
444 if (parseMBBReference(MBB, YamlMFI.RestorePoint, MF, PFS)) in initializeFrameInfo()
465 if (parseCalleeSavedRegister(MF, PFS, CSIInfo, Object.CalleeSavedRegister, in initializeFrameInfo()
496 if (parseCalleeSavedRegister(MF, PFS, CSIInfo, Object.CalleeSavedRegister, in initializeFrameInfo()
501 if (parseStackObjectsDebugInfo(MF, PFS, Object, ObjectIdx)) in initializeFrameInfo()
513 if (parseStackObjectReference(FI, SM, MF, YamlMFI.StackProtector.Value, PFS, in initializeFrameInfo()
522 MachineFunction &MF, PerFunctionMIParsingState &PFS, in parseCalleeSavedRegister() argument
529 if (parseNamedRegisterReference(Reg, SM, MF, RegisterSource.Value, PFS, in parseCalleeSavedRegister()
552 MachineFunction &MF, PerFunctionMIParsingState &PFS, in parseStackObjectsDebugInfo() argument
558 if (parseMDNode(Var, Object.DebugVar, MF, PFS) || in parseStackObjectsDebugInfo()
559 parseMDNode(Expr, Object.DebugExpr, MF, PFS) || in parseStackObjectsDebugInfo()
560 parseMDNode(Loc, Object.DebugLoc, MF, PFS)) in parseStackObjectsDebugInfo()
571 MF.getMMI().setVariableDbgInfo(DIVar, DIExpr, unsigned(FrameIdx), DILoc); in parseStackObjectsDebugInfo()
576 MachineFunction &MF, in parseMDNode() argument
581 if (llvm::parseMDNode(Node, SM, MF, Source.Value, PFS, IRSlots, Error)) in parseMDNode()
588 const MachineFunction &MF, in initializeConstantPool() argument
590 const auto &M = *MF.getFunction()->getParent(); in initializeConstantPool()
612 MachineFunction &MF, const yaml::MachineJumpTable &YamlJTI, in initializeJumpTableInfo() argument
614 MachineJumpTableInfo *JTI = MF.getOrCreateJumpTableInfo(YamlJTI.Kind); in initializeJumpTableInfo()
619 if (parseMBBReference(MBB, MBBSource.Value, MF, PFS)) in initializeJumpTableInfo()
635 MachineFunction &MF, in parseMBBReference() argument
638 if (llvm::parseMBBReference(MBB, SM, MF, Source.Value, PFS, IRSlots, Error)) in parseMBBReference()
690 void MIRParserImpl::initNames2RegClasses(const MachineFunction &MF) { in initNames2RegClasses() argument
693 const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo(); in initNames2RegClasses()
701 const TargetRegisterClass *MIRParserImpl::getRegClass(const MachineFunction &MF, in getRegClass() argument
703 initNames2RegClasses(MF); in getRegClass()
717 bool MIRParser::initializeMachineFunction(MachineFunction &MF) { in initializeMachineFunction() argument
718 return Impl->initializeMachineFunction(MF); in initializeMachineFunction()