]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/cfg/linear-scan/linear-scan-tests.factor
compiler.cfg.linear-scan.ranges: remove the live-range definition and
[factor.git] / basis / compiler / cfg / linear-scan / linear-scan-tests.factor
index 35797ee3b9d8856b53daddfe34784d078abb7b34..e0992c0b29d231621766745b1668cbd3184e7f4d 100644 (file)
@@ -76,7 +76,7 @@ H{
        { start 0 }
        { end 2 }
        { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 1 f float-rep } } }
-       { ranges V{ T{ live-range f 0 2 } } }
+       { ranges V{ { 0 2 } } }
        { spill-to T{ spill-slot f 0 } }
        { spill-rep float-rep }
     }
@@ -85,7 +85,7 @@ H{
        { start 5 }
        { end 5 }
        { uses V{ T{ vreg-use f 5 f float-rep } } }
-       { ranges V{ T{ live-range f 5 5 } } }
+       { ranges V{ { 5 5 } } }
        { reload-from T{ spill-slot f 0 } }
        { reload-rep float-rep }
     }
@@ -94,8 +94,14 @@ H{
        { vreg 1 }
        { start 0 }
        { end 5 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 1 f float-rep } T{ vreg-use f 5 f float-rep } } }
-       { ranges V{ T{ live-range f 0 5 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 1 f float-rep }
+             T{ vreg-use f 5 f float-rep }
+         }
+       }
+       { ranges V{ { 0 5 } } }
     } 2 split-for-spill
     clean-up-split
 ] unit-test
@@ -107,7 +113,7 @@ H{
        { start 1 }
        { end 5 }
        { uses V{ T{ vreg-use f 1 f float-rep } T{ vreg-use f 5 f float-rep } } }
-       { ranges V{ T{ live-range f 1 5 } } }
+       { ranges V{ { 1 5 } } }
        { reload-from T{ spill-slot f 4 } }
        { reload-rep float-rep }
     }
@@ -116,8 +122,14 @@ H{
        { vreg 2 }
        { start 0 }
        { end 5 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 1 f float-rep } T{ vreg-use f 5 f float-rep } } }
-       { ranges V{ T{ live-range f 0 5 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 1 f float-rep }
+             T{ vreg-use f 5 f float-rep }
+         }
+       }
+       { ranges V{ { 0 5 } } }
     } 0 split-for-spill
     clean-up-split
 ] unit-test
@@ -128,7 +140,7 @@ H{
        { start 0 }
        { end 2 }
        { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 1 f float-rep } } }
-       { ranges V{ T{ live-range f 0 2 } } }
+       { ranges V{ { 0 2 } } }
        { spill-to T{ spill-slot f 8 } }
        { spill-rep float-rep }
     }
@@ -138,8 +150,14 @@ H{
        { vreg 3 }
        { start 0 }
        { end 5 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 1 f float-rep } T{ vreg-use f 5 f float-rep } } }
-       { ranges V{ T{ live-range f 0 5 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 1 f float-rep }
+             T{ vreg-use f 5 f float-rep }
+         }
+       }
+       { ranges V{ { 0 5 } } }
     } 5 split-for-spill
     clean-up-split
 ] unit-test
@@ -150,7 +168,7 @@ H{
        { start 0 }
        { end 1 }
        { uses V{ T{ vreg-use f 0 float-rep f } } }
-       { ranges V{ T{ live-range f 0 1 } } }
+       { ranges V{ { 0 1 } } }
        { spill-to T{ spill-slot f 12 } }
        { spill-rep float-rep }
     }
@@ -159,7 +177,7 @@ H{
        { start 20 }
        { end 30 }
        { uses V{ T{ vreg-use f 20 f float-rep } T{ vreg-use f 30 f float-rep } } }
-       { ranges V{ T{ live-range f 20 30 } } }
+       { ranges V{ { 20 30 } } }
        { reload-from T{ spill-slot f 12 } }
        { reload-rep float-rep }
     }
@@ -168,8 +186,14 @@ H{
        { vreg 4 }
        { start 0 }
        { end 30 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 20 f float-rep } T{ vreg-use f 30 f float-rep } } }
-       { ranges V{ T{ live-range f 0 8 } T{ live-range f 10 18 } T{ live-range f 20 30 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 20 f float-rep }
+             T{ vreg-use f 30 f float-rep }
+         }
+       }
+       { ranges V{ { 0 8 } { 10 18 } { 20 30 } } }
     } 10 split-for-spill
     clean-up-split
 ] unit-test
@@ -181,7 +205,7 @@ H{
        { start 0 }
        { end 1 }
        { uses V{ T{ vreg-use f 0 float-rep f } } }
-       { ranges V{ T{ live-range f 0 1 } } }
+       { ranges V{ { 0 1 } } }
        { spill-to T{ spill-slot f 16 } }
        { spill-rep float-rep }
     }
@@ -190,15 +214,21 @@ H{
        { start 20 }
        { end 30 }
        { uses V{ T{ vreg-use f 20 float-rep f } T{ vreg-use f 30 f float-rep } } }
-       { ranges V{ T{ live-range f 20 30 } } }
+       { ranges V{ { 20 30 } } }
     }
 } [
     T{ live-interval-state
        { vreg 5 }
        { start 0 }
        { end 30 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 20 float-rep f } T{ vreg-use f 30 f float-rep } } }
-       { ranges V{ T{ live-range f 0 8 } T{ live-range f 10 18 } T{ live-range f 20 30 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 20 float-rep f }
+             T{ vreg-use f 30 f float-rep }
+         }
+       }
+       { ranges V{ { 0 8 } { 10 18 } { 20 30 } } }
     } 10 split-for-spill
     clean-up-split
 ] unit-test
@@ -210,7 +240,7 @@ H{
        { start 0 }
        { end 11 }
        { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 10 double-rep float-rep } } }
-       { ranges V{ T{ live-range f 0 11 } } }
+       { ranges V{ { 0 11 } } }
        { spill-to T{ spill-slot f 24 } }
        { spill-rep double-rep }
     }
@@ -219,7 +249,7 @@ H{
        { start 20 }
        { end 20 }
        { uses V{ T{ vreg-use f 20 f double-rep } } }
-       { ranges V{ T{ live-range f 20 20 } } }
+       { ranges V{ { 20 20 } } }
        { reload-from T{ spill-slot f 24 } }
        { reload-rep double-rep }
     }
@@ -228,8 +258,14 @@ H{
        { vreg 6 }
        { start 0 }
        { end 20 }
-       { uses V{ T{ vreg-use f 0 float-rep f } T{ vreg-use f 10 double-rep float-rep } T{ vreg-use f 20 f double-rep } } }
-       { ranges V{ T{ live-range f 0 20 } } }
+       { uses
+         V{
+             T{ vreg-use f 0 float-rep f }
+             T{ vreg-use f 10 double-rep float-rep }
+             T{ vreg-use f 20 f double-rep }
+         }
+       }
+       { ranges V{ { 0 20 } } }
     } 15 split-for-spill
     clean-up-split
 ] unit-test
@@ -240,7 +276,7 @@ H{
         { vreg 7 }
         { start 8 }
         { end 8 }
-        { ranges V{ T{ live-range f 8 8 } } }
+        { ranges V{ { 8 8 } } }
         { uses V{ T{ vreg-use f 8 int-rep } } }
     }
 } [
@@ -248,7 +284,7 @@ H{
         { vreg 7 }
         { start 4 }
         { end 8 }
-        { ranges V{ T{ live-range f 4 8 } } }
+        { ranges V{ { 4 8 } } }
         { uses V{ T{ vreg-use f 8 int-rep } } }
     } 4 split-for-spill
     clean-up-split
@@ -260,7 +296,7 @@ H{
         { vreg 8 }
         { start 0 }
         { end 3 }
-        { ranges V{ T{ live-range f 0 3 } } }
+        { ranges V{ { 0 3 } } }
         { uses V{ T{ vreg-use f 0 f int-rep } T{ vreg-use f 2 f int-rep } } }
         { spill-to T{ spill-slot f 32 } }
         { spill-rep int-rep }
@@ -269,7 +305,7 @@ H{
         { vreg 8 }
         { start 14 }
         { end 16 }
-        { ranges V{ T{ live-range f 14 16 } } }
+        { ranges V{ { 14 16 } } }
         { uses V{ T{ vreg-use f 14 f int-rep } } }
         { reload-from T{ spill-slot f 32 } }
         { reload-rep int-rep }
@@ -279,7 +315,7 @@ H{
         { vreg 8 }
         { start 0 }
         { end 16 }
-        { ranges V{ T{ live-range f 0 4 } T{ live-range f 6 10 } T{ live-range f 12 16 } } }
+        { ranges V{ { 0 4 } { 6 10 } { 12 16 } } }
         { uses
           V{
               T{ vreg-use f 0 f int-rep }
@@ -310,14 +346,28 @@ H{
                  { reg 1 }
                  { start 1 }
                  { end 15 }
-                 { uses V{ T{ vreg-use f 1 int-rep f } T{ vreg-use f 3 f int-rep } T{ vreg-use f 7 f int-rep } T{ vreg-use f 10 f int-rep } T{ vreg-use f 15 f int-rep } } }
+                 { uses
+                   V{
+                       T{ vreg-use f 1 int-rep f }
+                       T{ vreg-use f 3 f int-rep }
+                       T{ vreg-use f 7 f int-rep }
+                       T{ vreg-use f 10 f int-rep }
+                       T{ vreg-use f 15 f int-rep }
+                   }
+                 }
               }
               T{ live-interval-state
                  { vreg 2 }
                  { reg 2 }
                  { start 3 }
                  { end 8 }
-                 { uses V{ T{ vreg-use f 3 int-rep f } T{ vreg-use f 4 f int-rep } T{ vreg-use f 8 f int-rep } } }
+                 { uses
+                   V{
+                       T{ vreg-use f 3 int-rep f }
+                       T{ vreg-use f 4 f int-rep }
+                       T{ vreg-use f 8 f int-rep }
+                   }
+                 }
               }
               T{ live-interval-state
                  { vreg 3 }
@@ -384,7 +434,7 @@ H{ { 1 int-rep } { 2 int-rep } } representations set
            { start 0 }
            { end 100 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 100 f int-rep } } }
-           { ranges V{ T{ live-range f 0 100 } } }
+           { ranges V{ { 0 100 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -398,14 +448,14 @@ H{ { 1 int-rep } { 2 int-rep } } representations set
            { start 0 }
            { end 10 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 10 f int-rep } } }
-           { ranges V{ T{ live-range f 0 10 } } }
+           { ranges V{ { 0 10 } } }
         }
         T{ live-interval-state
            { vreg 2 }
            { start 11 }
            { end 20 }
            { uses V{ T{ vreg-use f 11 int-rep f } T{ vreg-use f 20 f int-rep } } }
-           { ranges V{ T{ live-range f 11 20 } } }
+           { ranges V{ { 11 20 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -419,14 +469,14 @@ H{ { 1 int-rep } { 2 int-rep } } representations set
            { start 0 }
            { end 100 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 100 f int-rep } } }
-           { ranges V{ T{ live-range f 0 100 } } }
+           { ranges V{ { 0 100 } } }
         }
         T{ live-interval-state
            { vreg 2 }
            { start 30 }
            { end 60 }
            { uses V{ T{ vreg-use f 30 int-rep f } T{ vreg-use f 60 f int-rep } } }
-           { ranges V{ T{ live-range f 30 60 } } }
+           { ranges V{ { 30 60 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -440,14 +490,14 @@ H{ { 1 int-rep } { 2 int-rep } } representations set
            { start 0 }
            { end 100 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 100 f int-rep } } }
-           { ranges V{ T{ live-range f 0 100 } } }
+           { ranges V{ { 0 100 } } }
         }
         T{ live-interval-state
            { vreg 2 }
            { start 30 }
            { end 200 }
            { uses V{ T{ vreg-use f 30 int-rep f } T{ vreg-use f 200 f int-rep } } }
-           { ranges V{ T{ live-range f 30 200 } } }
+           { ranges V{ { 30 200 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -461,14 +511,14 @@ H{ { 1 int-rep } { 2 int-rep } } representations set
            { start 0 }
            { end 100 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 100 f int-rep } } }
-           { ranges V{ T{ live-range f 0 100 } } }
+           { ranges V{ { 0 100 } } }
         }
         T{ live-interval-state
            { vreg 2 }
            { start 30 }
            { end 100 }
            { uses V{ T{ vreg-use f 30 int-rep f } T{ vreg-use f 100 f int-rep } } }
-           { ranges V{ T{ live-range f 30 100 } } }
+           { ranges V{ { 30 100 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -490,29 +540,41 @@ H{
            { vreg 1 }
            { start 0 }
            { end 20 }
-           { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 10 f int-rep } T{ vreg-use f 20 f int-rep } } }
-           { ranges V{ T{ live-range f 0 2 } T{ live-range f 10 20 } } }
+           { uses
+             V{
+                 T{ vreg-use f 0 int-rep f }
+                 T{ vreg-use f 10 f int-rep }
+                 T{ vreg-use f 20 f int-rep }
+             }
+           }
+           { ranges V{ { 0 2 } { 10 20 } } }
         }
         T{ live-interval-state
            { vreg 2 }
            { start 0 }
            { end 20 }
-           { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 10 f int-rep } T{ vreg-use f 20 f int-rep } } }
-           { ranges V{ T{ live-range f 0 2 } T{ live-range f 10 20 } } }
+           { uses
+             V{
+                 T{ vreg-use f 0 int-rep f }
+                 T{ vreg-use f 10 f int-rep }
+                 T{ vreg-use f 20 f int-rep }
+             }
+           }
+           { ranges V{ { 0 2 } { 10 20 } } }
         }
         T{ live-interval-state
            { vreg 3 }
            { start 4 }
            { end 8 }
            { uses V{ T{ vreg-use f 6 int-rep f } } }
-           { ranges V{ T{ live-range f 4 8 } } }
+           { ranges V{ { 4 8 } } }
         }
         T{ live-interval-state
            { vreg 4 }
            { start 4 }
            { end 8 }
            { uses V{ T{ vreg-use f 8 int-rep f } } }
-           { ranges V{ T{ live-range f 4 8 } } }
+           { ranges V{ { 4 8 } } }
         }
 
         ! This guy will invoke the 'spill partially available' code path
@@ -521,7 +583,7 @@ H{
            { start 4 }
            { end 8 }
            { uses V{ T{ vreg-use f 8 int-rep f } } }
-           { ranges V{ T{ live-range f 4 8 } } }
+           { ranges V{ { 4 8 } } }
         }
     }
     H{ { int-regs { "A" "B" } } }
@@ -537,7 +599,7 @@ H{
            { start 0 }
            { end 10 }
            { uses V{ T{ vreg-use f 0 int-rep f } T{ vreg-use f 6 f int-rep } T{ vreg-use f 10 f int-rep } } }
-           { ranges V{ T{ live-range f 0 10 } } }
+           { ranges V{ { 0 10 } } }
         }
 
         ! This guy will invoke the 'spill new' code path
@@ -546,7 +608,7 @@ H{
            { start 2 }
            { end 8 }
            { uses V{ T{ vreg-use f 8 int-rep f } } }
-           { ranges V{ T{ live-range f 2 8 } } }
+           { ranges V{ { 2 8 } } }
         }
     }
     H{ { int-regs { "A" } } }
@@ -571,7 +633,7 @@ H{
                  { start 0 }
                  { end 20 }
                  { reg 0 }
-                 { ranges V{ T{ live-range f 0 2 } T{ live-range f 10 20 } } }
+                 { ranges V{ { 0 2 } { 10 20 } } }
                  { uses V{ 0 2 10 20 } }
               }
 
@@ -580,7 +642,7 @@ H{
                  { start 4 }
                  { end 40 }
                  { reg 0 }
-                 { ranges V{ T{ live-range f 4 6 } T{ live-range f 30 40 } } }
+                 { ranges V{ { 4 6 } { 30 40 } } }
                  { uses V{ 4 6 30 40 } }
               }
           }
@@ -594,7 +656,7 @@ H{
                  { start 0 }
                  { end 40 }
                  { reg 1 }
-                 { ranges V{ T{ live-range f 0 40 } } }
+                 { ranges V{ { 0 40 } } }
                  { uses V{ 0 40 } }
               }
           }
@@ -605,7 +667,7 @@ H{
         { vreg 4 }
         { start 8 }
         { end 10 }
-        { ranges V{ T{ live-range f 8 10 } } }
+        { ranges V{ { 8 10 } } }
         { uses V{ T{ vreg-use f 8 int-rep f } T{ vreg-use f 10 f int-rep } } }
     }
     H{ { int-regs { 0 1 } } } register-status