Răsfoiți Sursa

Turn Copy into Fill in HybridAllocator (#2010)

* Turn Copy into Fill in HybridAllocator

* Set PTC internal verison
FICTURE7 5 ani în urmă
părinte
comite
1586880114

+ 9 - 0
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;

+ 1 - 1
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";