1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-24 18:48:01 +02:00

Improved sub rewrite, fixed potential load aliasing issues

This commit is contained in:
Brian Fiete 2024-12-02 06:27:19 -05:00
parent 289d5026c2
commit ba436231cb
2 changed files with 52 additions and 28 deletions

View file

@ -1433,6 +1433,7 @@ public:
X64CPURegister ResizeRegister(X64CPURegister reg, int numBits);
X64CPURegister ResizeRegister(X64CPURegister reg, BeType* type);
X64CPURegister GetFullRegister(X64CPURegister reg);
bool HasLoad(const BeMCOperand& operand);
bool IsAddress(BeMCOperand& operand);
bool IsAddressable(BeMCOperand& operand);
bool IsVRegExpr(BeMCOperand& operand);
@ -1440,7 +1441,7 @@ public:
BeMCOperand GetFixedOperand(const BeMCOperand& operand);
uint8 GetREX(const BeMCOperand& op0, const BeMCOperand& op1, bool is64Bit);
void EmitREX(const BeMCOperand& op0, const BeMCOperand& op1, bool is64Bit);
uint8 EncodeRegNum(X64CPURegister regNum);
int GetRegSize(int regNum);
void ValidateRMResult(const BeMCOperand& operand, BeRMParamsInfo& rmInfo, bool doValidate = true);