[llvm] [llvm][RISCV] Support multiple save/restore points in prolog-epilog (PR #119358)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 10 13:16:34 PST 2024
================
@@ -1058,8 +1053,40 @@ bool MIRParserImpl::initializeConstantPool(PerFunctionMIParsingState &PFS,
return false;
}
-bool MIRParserImpl::initializeJumpTableInfo(PerFunctionMIParsingState &PFS,
- const yaml::MachineJumpTable &YamlJTI) {
+bool MIRParserImpl::initializeSaveRestorePoints(
+ PerFunctionMIParsingState &PFS, const yaml::SaveRestorePoints &YamlSRP,
+ bool IsSavePoints) {
+ SMDiagnostic Error;
+ MachineFunction &MF = PFS.MF;
+ MachineFrameInfo &MFI = MF.getFrameInfo();
+ llvm::SaveRestorePoints SRPoints;
+
+ for (const auto &Entry : YamlSRP) {
+ const auto &MBBSource = Entry.Point;
+ MachineBasicBlock *MBB = nullptr;
+ if (parseMBBReference(PFS, MBB, MBBSource.Value))
+ return true;
+
+ std::vector<Register> Registers{};
----------------
topperc wrote:
No need for the curly braces
https://github.com/llvm/llvm-project/pull/119358
More information about the llvm-commits
mailing list