From 7eaf5ae9e077d54e3ec379883da1636ee8e137b2 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 16 May 2025 12:45:02 -0400 Subject: [PATCH] IR: drop FillRegister original source this is now unused, and it's problematic with future work. Signed-off-by: Alyssa Rosenzweig --- FEXCore/Source/Interface/IR/IR.json | 12 +++--------- .../Interface/IR/Passes/RegisterAllocationPass.cpp | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/FEXCore/Source/Interface/IR/IR.json b/FEXCore/Source/Interface/IR/IR.json index ff3667ab4..5aec513df 100644 --- a/FEXCore/Source/Interface/IR/IR.json +++ b/FEXCore/Source/Interface/IR/IR.json @@ -500,19 +500,13 @@ ] }, - "SSA = FillRegister OpSize:#Size, OpSize:#ElementSize, SSA:$OriginalValue, u32:$Slot, RegisterClass:$Class": { + "SSA = FillRegister OpSize:#Size, OpSize:#ElementSize, u32:$Slot, RegisterClass:$Class": { "Desc": ["Fills a register from a spill slot", "Spill slots are register allocated and has live ranges calculated to handle slot calculation", - "```diff\n- !Don't use this op. It is for RA to handle spilling and filling!\n```", - "", - "The OriginalValue SSA arg points at the original SSA value spilled, and only exists for", - "RA validation purposes" + "```diff\n- !Don't use this op. It is for RA to handle spilling and filling!\n```" ], "DestSize": "Size", - "ElementSize": "ElementSize", - "EmitValidation": [ - "WalkFindRegClass($OriginalValue) == $Class" - ] + "ElementSize": "ElementSize" }, "GPR = LoadNZCV": { diff --git a/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp b/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp index c09e3b6c1..6c8526069 100644 --- a/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp +++ b/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp @@ -163,7 +163,7 @@ private: LOGMAN_THROW_A_FMT(SlotPlusOne >= 1, "Old must have been spilled"); RegisterClassType RegClass = GetRegClassFromNode(IR, IROp); - return IREmit->_FillRegister(IROp->Size, IROp->ElementSize, Old, SlotPlusOne - 1, RegClass); + return IREmit->_FillRegister(IROp->Size, IROp->ElementSize, SlotPlusOne - 1, RegClass); }; // IP of next-use of each Old source. IPs are measured from the end of the