Lines Matching defs:PFS
118 bool parseRegisterInfo(PerFunctionMIParsingState &PFS,
121 bool setupRegisterInfo(const PerFunctionMIParsingState &PFS,
124 bool initializeFrameInfo(PerFunctionMIParsingState &PFS,
127 bool initializeCallSiteInfo(PerFunctionMIParsingState &PFS,
130 bool parseCalleeSavedRegister(PerFunctionMIParsingState &PFS,
141 std::optional<VarExprLoc> parseVarExprLoc(PerFunctionMIParsingState &PFS,
146 bool parseStackObjectsDebugInfo(PerFunctionMIParsingState &PFS,
150 bool initializeConstantPool(PerFunctionMIParsingState &PFS,
154 bool initializeJumpTableInfo(PerFunctionMIParsingState &PFS,
157 bool parseMachineMetadataNodes(PerFunctionMIParsingState &PFS,
162 bool parseMDNode(PerFunctionMIParsingState &PFS, MDNode *&Node,
165 bool parseMBBReference(PerFunctionMIParsingState &PFS,
169 bool parseMachineMetadata(PerFunctionMIParsingState &PFS,
184 PerFunctionMIParsingState &PFS, const yaml::MachineFunction &YamlMF);
419 PerFunctionMIParsingState &PFS, const yaml::MachineFunction &YamlMF) {
420 MachineFunction &MF = PFS.MF;
445 if (parseNamedRegisterReference(PFS, Reg, ArgRegPair.Reg.Value, Error))
460 MachineFunction &MF, PerFunctionMIParsingState &PFS,
517 PerFunctionMIParsingState PFS(MF, SM, IRSlots, *Target);
518 if (parseRegisterInfo(PFS, YamlMF))
523 if (initializeConstantPool(PFS, *ConstantPool, YamlMF))
527 parseMachineMetadataNodes(PFS, MF, YamlMF))
536 PFS.SM = &BlockSM;
537 if (parseMachineBasicBlockDefinitions(PFS, BlockStr, Error)) {
548 PFS.SM = &SM;
552 if (initializeFrameInfo(PFS, YamlMF))
557 initializeJumpTableInfo(PFS, YamlMF.JumpTableInfo))
566 PFS.SM = &InsnSM;
567 if (parseMachineInstructions(PFS, InsnStr, Error)) {
572 PFS.SM = &SM;
574 if (setupRegisterInfo(PFS, YamlMF))
584 if (TM.parseMachineFunctionInfo(*YamlMF.MachineFuncInfo, PFS, Error,
600 if (initializeCallSiteInfo(PFS, YamlMF))
603 setupDebugValueTracking(MF, PFS, YamlMF);
611 bool MIRParserImpl::parseRegisterInfo(PerFunctionMIParsingState &PFS,
613 MachineFunction &MF = PFS.MF;
622 VRegInfo &Info = PFS.getVRegInfo(VReg.ID.Value);
654 if (parseRegisterReference(PFS, Info.PreferredReg,
663 if (parseNamedRegisterReference(PFS, Reg, LiveIn.Register.Value, Error))
668 if (parseVirtualRegisterReference(PFS, Info, LiveIn.VirtualRegister.Value,
682 if (parseNamedRegisterReference(PFS, Reg, RegSource.Value, Error))
692 bool MIRParserImpl::setupRegisterInfo(const PerFunctionMIParsingState &PFS,
694 MachineFunction &MF = PFS.MF;
729 for (const auto &P : PFS.VRegInfosNamed) {
734 for (auto P : PFS.VRegInfos) {
758 bool MIRParserImpl::initializeFrameInfo(PerFunctionMIParsingState &PFS,
760 MachineFunction &MF = PFS.MF;
786 if (parseMBBReference(PFS, MBB, YamlMFI.SavePoint))
792 if (parseMBBReference(PFS, MBB, YamlMFI.RestorePoint))
812 if (!PFS.FixedStackObjectSlots.insert(std::make_pair(Object.ID.Value,
818 if (parseCalleeSavedRegister(PFS, CSIInfo, Object.CalleeSavedRegister,
821 if (parseStackObjectsDebugInfo(PFS, Object, ObjectIdx))
828 if (parseNamedRegisterReference(PFS, Reg, Object.EntryValueRegister.Value,
835 PFS, Object.DebugVar, Object.DebugExpr, Object.DebugLoc);
839 PFS.MF.setVariableDbgInfo(MaybeInfo->DIVar, MaybeInfo->DIExpr,
870 if (!PFS.StackObjectSlots.insert(std::make_pair(Object.ID.Value, ObjectIdx))
875 if (parseCalleeSavedRegister(PFS, CSIInfo, Object.CalleeSavedRegister,
880 if (parseStackObjectsDebugInfo(PFS, Object, ObjectIdx))
892 if (parseStackObjectReference(PFS, FI, YamlMFI.StackProtector.Value, Error))
900 if (parseStackObjectReference(PFS, FI, YamlMFI.FunctionContext.Value, Error))
908 bool MIRParserImpl::parseCalleeSavedRegister(PerFunctionMIParsingState &PFS,
915 if (parseNamedRegisterReference(PFS, Reg, RegisterSource.Value, Error))
939 PerFunctionMIParsingState &PFS, const yaml::StringValue &VarStr,
944 if (parseMDNode(PFS, Var, VarStr) || parseMDNode(PFS, Expr, ExprStr) ||
945 parseMDNode(PFS, Loc, LocStr))
958 bool MIRParserImpl::parseStackObjectsDebugInfo(PerFunctionMIParsingState &PFS,
961 parseVarExprLoc(PFS, Object.DebugVar, Object.DebugExpr, Object.DebugLoc);
967 PFS.MF.setVariableDbgInfo(MaybeInfo->DIVar, MaybeInfo->DIExpr, FrameIdx,
972 bool MIRParserImpl::parseMDNode(PerFunctionMIParsingState &PFS,
977 if (llvm::parseMDNode(PFS, Node, Source.Value, Error))
982 bool MIRParserImpl::initializeConstantPool(PerFunctionMIParsingState &PFS,
984 DenseMap<unsigned, unsigned> &ConstantPoolSlots = PFS.ConstantPoolSlots;
985 const MachineFunction &MF = PFS.MF;
1010 bool MIRParserImpl::initializeJumpTableInfo(PerFunctionMIParsingState &PFS,
1012 MachineJumpTableInfo *JTI = PFS.MF.getOrCreateJumpTableInfo(YamlJTI.Kind);
1017 if (parseMBBReference(PFS, MBB, MBBSource.Value))
1022 if (!PFS.JumpTableSlots.insert(std::make_pair(Entry.ID.Value, Index))
1031 bool MIRParserImpl::parseMBBReference(PerFunctionMIParsingState &PFS,
1035 if (llvm::parseMBBReference(PFS, MBB, Source.Value, Error))
1040 bool MIRParserImpl::parseMachineMetadata(PerFunctionMIParsingState &PFS,
1043 if (llvm::parseMachineMetadata(PFS, Source.Value, Source.SourceRange, Error))
1049 PerFunctionMIParsingState &PFS, MachineFunction &MF,
1052 if (parseMachineMetadata(PFS, MDS))
1056 if (!PFS.MachineForwardRefMDNodes.empty())
1057 return error(PFS.MachineForwardRefMDNodes.begin()->second.second,
1059 Twine(PFS.MachineForwardRefMDNodes.begin()->first) + "'");