diff options
author | FICTURE7 <FICTURE7@gmail.com> | 2021-02-21 21:33:59 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-21 18:33:59 +0100 |
commit | 15868801148129802173f2162ebff24835cb20ba (patch) | |
tree | 2ae6b4dad029f642564d7d9870faa1d751938927 /ARMeilleure | |
parent | 8cdb50d703de0264e9746c7ee2a26782af97cdc5 (diff) |
Turn Copy into Fill in HybridAllocator (#2010)
* Turn Copy into Fill in HybridAllocator
* Set PTC internal verison
Diffstat (limited to 'ARMeilleure')
-rw-r--r-- | ARMeilleure/CodeGen/RegisterAllocators/HybridAllocator.cs | 9 | ||||
-rw-r--r-- | ARMeilleure/Translation/PTC/Ptc.cs | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/ARMeilleure/CodeGen/RegisterAllocators/HybridAllocator.cs b/ARMeilleure/CodeGen/RegisterAllocators/HybridAllocator.cs index 898cc1db..aa10aea0 100644 --- a/ARMeilleure/CodeGen/RegisterAllocators/HybridAllocator.cs +++ b/ARMeilleure/CodeGen/RegisterAllocators/HybridAllocator.cs @@ -236,6 +236,15 @@ namespace ARMeilleure.CodeGen.RegisterAllocators } } } + else if (node is Operation operation && operation.Instruction == Instruction.Copy) + { + Operation fillOp = Operation(Instruction.Fill, node.Destination, Const(info.SpillOffset)); + + block.Operations.AddBefore(node, fillOp); + block.Operations.Remove(node); + + node = fillOp; + } else { Operand temp = info.Temp; diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs index 40d2ad5c..6dd902bc 100644 --- a/ARMeilleure/Translation/PTC/Ptc.cs +++ b/ARMeilleure/Translation/PTC/Ptc.cs @@ -22,7 +22,7 @@ namespace ARMeilleure.Translation.PTC { private const string HeaderMagic = "PTChd"; - private const int InternalVersion = 2026; //! To be incremented manually for each change to the ARMeilleure project. + private const int InternalVersion = 2010; //! To be incremented manually for each change to the ARMeilleure project. private const string ActualDir = "0"; private const string BackupDir = "1"; |