aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure
diff options
context:
space:
mode:
authorFICTURE7 <FICTURE7@gmail.com>2021-02-21 21:33:59 +0400
committerGitHub <noreply@github.com>2021-02-21 18:33:59 +0100
commit15868801148129802173f2162ebff24835cb20ba (patch)
tree2ae6b4dad029f642564d7d9870faa1d751938927 /ARMeilleure
parent8cdb50d703de0264e9746c7ee2a26782af97cdc5 (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.cs9
-rw-r--r--ARMeilleure/Translation/PTC/Ptc.cs2
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";