mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-26 22:01:47 +01:00
IR: make FillRegister sizes explicit
instead of hacking around it. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
1 parent
c7797d56c9
commit
55bd16e2c8
2 files changed
+4
-6
No files matched your search
@@ -500,7 +500,7 @@
|
||||
]
|
||||
},
|
||||
|
||||
"SSA = FillRegister SSA:$OriginalValue, u32:$Slot, RegisterClass:$Class": {
|
||||
"SSA = FillRegister OpSize:#Size, OpSize:#ElementSize, SSA:$OriginalValue, 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```",
|
||||
@@ -508,6 +508,8 @@
|
||||
"The OriginalValue SSA arg points at the original SSA value spilled, and only exists for",
|
||||
"RA validation purposes"
|
||||
],
|
||||
"DestSize": "Size",
|
||||
"ElementSize": "ElementSize",
|
||||
"EmitValidation": [
|
||||
"WalkFindRegClass($OriginalValue) == $Class"
|
||||
]
|
||||
|
||||
@@ -163,11 +163,7 @@ private:
|
||||
LOGMAN_THROW_A_FMT(SlotPlusOne >= 1, "Old must have been spilled");
|
||||
|
||||
RegisterClassType RegClass = GetRegClassFromNode(IR, IROp);
|
||||
|
||||
auto Fill = IREmit->_FillRegister(Old, SlotPlusOne - 1, RegClass);
|
||||
Fill.first->Header.Size = IROp->Size;
|
||||
Fill.first->Header.ElementSize = IROp->ElementSize;
|
||||
return Fill;
|
||||
return IREmit->_FillRegister(IROp->Size, IROp->ElementSize, Old, SlotPlusOne - 1, RegClass);
|
||||
};
|
||||
|
||||
// IP of next-use of each Old source. IPs are measured from the end of the
|
||||
|
||||
Reference in new issue
Block a user