Rename 'aliases' in the table to 'uses', because that better matches how things
authorDavid Given <dg@cowlark.com>
Sat, 4 Feb 2017 21:05:06 +0000 (22:05 +0100)
committerDavid Given <dg@cowlark.com>
Sat, 4 Feb 2017 21:05:06 +0000 (22:05 +0100)
will actually work.

mach/powerpc/mcg/table
util/mcgg/gram.y
util/mcgg/registers.c
util/mcgg/registers.h
util/mcgg/scan.l

index 340652c..6ab2ff0 100644 (file)
@@ -10,122 +10,122 @@ REGISTERS
      * be moved from register to register or spilt).
      */
 
-    r12                                           int volatile;
-    r11                                           int volatile;
-    r10                                           int volatile;
-    r9                                            int volatile;
-    r8                                            int volatile;
-    r7                                            int volatile;
-    r6                                            int volatile;
-    r5                                            int volatile;
-    r4                                            int volatile;
-    r3                                            int volatile iret;
-
-    r31                                           int;
-    r30                                           int;
-    r29                                           int;
-    r28                                           int;
-    r27                                           int;
-    r26                                           int;
-    r25                                           int;
-    r24                                           int;
-    r23                                           int;
-    r22                                           int;
-    r21                                           int;
-    r20                                           int;
-    r19                                           int;
-    r18                                           int;
-    r17                                           int;
-    r16                                           int;
-    r15                                           int;
-    r14                                           int;
-    r13                                           int;
-
-    r11r12  named("r11", "r12") aliases(r11, r12) long volatile;
-    r9r10   named("r9",  "r10") aliases(r9,  r10) long volatile;
-    r7r8    named("r7",  "r8")  aliases(r7,  r8)  long volatile;
-    r5r6    named("r5",  "r6")  aliases(r6,  r6)  long volatile;
-    r3r4    named("r3",  "r4")  aliases(r3,  r4)  long volatile lret;
-
-    r29r30  named("r29", "r30") aliases(r29, r30) long;
-    r27r28  named("r27", "r28") aliases(r27, r28) long;
-    r25r26  named("r25", "r26") aliases(r25, r26) long;
-    r23r24  named("r23", "r24") aliases(r23, r24) long;
-    r21r22  named("r21", "r22") aliases(r21, r22) long;
-    r19r20  named("r19", "r20") aliases(r19, r20) long;
-    r17r18  named("r17", "r18") aliases(r17, r18) long;
-    r15r16  named("r15", "r16") aliases(r15, r16) long;
-    r13r14  named("r13", "r14") aliases(r13, r14) long;
-
-    f14                                           float volatile;
-    f13                                           float volatile;
-    f12                                           float volatile;
-    f11                                           float volatile;
-    f10                                           float volatile;
-    f9                                            float volatile;
-    f8                                            float volatile;
-    f7                                            float volatile;
-    f6                                            float volatile;
-    f5                                            float volatile;
-    f4                                            float volatile;
-    f3                                            float volatile fret;
-    f2                                            float volatile;
-    f1                                            float volatile;
-    f0                                            float volatile;
-
-    f31                                           float;
-    f30                                           float;
-    f29                                           float;
-    f28                                           float;
-    f27                                           float;
-    f26                                           float;
-    f25                                           float;
-    f24                                           float;
-    f23                                           float;
-    f22                                           float;
-    f21                                           float;
-    f20                                           float;
-    f19                                           float;
-    f18                                           float;
-    f17                                           float;
-    f16                                           float;
-    f15                                           float;
-
-    d14     named("f14")       aliases(f14)       double volatile;
-    d13     named("f13")       aliases(f13)       double volatile;
-    d12     named("f12")       aliases(f12)       double volatile;
-    d11     named("f11")       aliases(f11)       double volatile;
-    d10     named("f10")       aliases(f10)       double volatile;
-    d9      named("f9")        aliases(f9)        double volatile;
-    d8      named("f8")        aliases(f8)        double volatile;
-    d7      named("f7")        aliases(f7)        double volatile;
-    d6      named("f6")        aliases(f6)        double volatile;
-    d5      named("f5")        aliases(f5)        double volatile;
-    d4      named("f4")        aliases(f4)        double volatile;
-    d3      named("f3")        aliases(f3)        double volatile dret;
-    d2      named("f2")        aliases(f2)        double volatile;
-    d1      named("f1")        aliases(f1)        double volatile;
-    d0      named("f0")        aliases(f0)        double volatile;
-
-    d31     named("f31")       aliases(f31)       double;
-    d30     named("f30")       aliases(f30)       double;
-    d29     named("f29")       aliases(f29)       double;
-    d28     named("f28")       aliases(f28)       double;
-    d27     named("f27")       aliases(f27)       double;
-    d26     named("f26")       aliases(f26)       double;
-    d25     named("f25")       aliases(f25)       double;
-    d24     named("f24")       aliases(f24)       double;
-    d23     named("f23")       aliases(f23)       double;
-    d22     named("f22")       aliases(f22)       double;
-    d21     named("f21")       aliases(f21)       double;
-    d20     named("f20")       aliases(f20)       double;
-    d19     named("f19")       aliases(f19)       double;
-    d18     named("f18")       aliases(f18)       double;
-    d17     named("f17")       aliases(f17)       double;
-    d16     named("f16")       aliases(f16)       double;
-    d15     named("f15")       aliases(f15)       double;
-
-       cr0                                           cr;
+    r12                                        int volatile;
+    r11                                        int volatile;
+    r10                                        int volatile;
+    r9                                         int volatile;
+    r8                                         int volatile;
+    r7                                         int volatile;
+    r6                                         int volatile;
+    r5                                         int volatile;
+    r4                                         int volatile;
+    r3                                         int volatile iret;
+
+    r31                                        int;
+    r30                                        int;
+    r29                                        int;
+    r28                                        int;
+    r27                                        int;
+    r26                                        int;
+    r25                                        int;
+    r24                                        int;
+    r23                                        int;
+    r22                                        int;
+    r21                                        int;
+    r20                                        int;
+    r19                                        int;
+    r18                                        int;
+    r17                                        int;
+    r16                                        int;
+    r15                                        int;
+    r14                                        int;
+    r13                                        int;
+
+    r11r12  named("r11", "r12") uses(r11, r12) long volatile;
+    r9r10   named("r9",  "r10") uses(r9,  r10) long volatile;
+    r7r8    named("r7",  "r8")  uses(r7,  r8)  long volatile;
+    r5r6    named("r5",  "r6")  uses(r6,  r6)  long volatile;
+    r3r4    named("r3",  "r4")  uses(r3,  r4)  long volatile lret;
+
+    r29r30  named("r29", "r30") uses(r29, r30) long;
+    r27r28  named("r27", "r28") uses(r27, r28) long;
+    r25r26  named("r25", "r26") uses(r25, r26) long;
+    r23r24  named("r23", "r24") uses(r23, r24) long;
+    r21r22  named("r21", "r22") uses(r21, r22) long;
+    r19r20  named("r19", "r20") uses(r19, r20) long;
+    r17r18  named("r17", "r18") uses(r17, r18) long;
+    r15r16  named("r15", "r16") uses(r15, r16) long;
+    r13r14  named("r13", "r14") uses(r13, r14) long;
+
+    f14                                        float volatile;
+    f13                                        float volatile;
+    f12                                        float volatile;
+    f11                                        float volatile;
+    f10                                        float volatile;
+    f9                                         float volatile;
+    f8                                         float volatile;
+    f7                                         float volatile;
+    f6                                         float volatile;
+    f5                                         float volatile;
+    f4                                         float volatile;
+    f3                                         float volatile fret;
+    f2                                         float volatile;
+    f1                                         float volatile;
+    f0                                         float volatile;
+
+    f31                                        float;
+    f30                                        float;
+    f29                                        float;
+    f28                                        float;
+    f27                                        float;
+    f26                                        float;
+    f25                                        float;
+    f24                                        float;
+    f23                                        float;
+    f22                                        float;
+    f21                                        float;
+    f20                                        float;
+    f19                                        float;
+    f18                                        float;
+    f17                                        float;
+    f16                                        float;
+    f15                                        float;
+
+    d14     named("f14")       uses(f14)       double volatile;
+    d13     named("f13")       uses(f13)       double volatile;
+    d12     named("f12")       uses(f12)       double volatile;
+    d11     named("f11")       uses(f11)       double volatile;
+    d10     named("f10")       uses(f10)       double volatile;
+    d9      named("f9")        uses(f9)        double volatile;
+    d8      named("f8")        uses(f8)        double volatile;
+    d7      named("f7")        uses(f7)        double volatile;
+    d6      named("f6")        uses(f6)        double volatile;
+    d5      named("f5")        uses(f5)        double volatile;
+    d4      named("f4")        uses(f4)        double volatile;
+    d3      named("f3")        uses(f3)        double volatile dret;
+    d2      named("f2")        uses(f2)        double volatile;
+    d1      named("f1")        uses(f1)        double volatile;
+    d0      named("f0")        uses(f0)        double volatile;
+
+    d31     named("f31")       uses(f31)       double;
+    d30     named("f30")       uses(f30)       double;
+    d29     named("f29")       uses(f29)       double;
+    d28     named("f28")       uses(f28)       double;
+    d27     named("f27")       uses(f27)       double;
+    d26     named("f26")       uses(f26)       double;
+    d25     named("f25")       uses(f25)       double;
+    d24     named("f24")       uses(f24)       double;
+    d23     named("f23")       uses(f23)       double;
+    d22     named("f22")       uses(f22)       double;
+    d21     named("f21")       uses(f21)       double;
+    d20     named("f20")       uses(f20)       double;
+    d19     named("f19")       uses(f19)       double;
+    d18     named("f18")       uses(f18)       double;
+    d17     named("f17")       uses(f17)       double;
+    d16     named("f16")       uses(f16)       double;
+    d15     named("f15")       uses(f15)       double;
+
+       cr0                                        cr;
 
 
 
index eab714f..5a985f2 100644 (file)
@@ -27,7 +27,7 @@ extern int yylex(void);
     struct constraint* constraint;
 }
 
-%term ALIASES
+%term USES
 %term COPY
 %term CORRUPTED
 %term COST
@@ -58,7 +58,7 @@ extern int yylex(void);
 %type  <rule>       pattern_constraints
 %type  <rule>       pattern_emit
 %type  <string>     nodename
-%type  <stringlist> aliases
+%type  <stringlist> uses
 %type  <stringlist> names
 %type  <stringlist> qfragments
 %type  <terminfo>   terminfo
@@ -80,7 +80,7 @@ registers
 register
     : ID                              { $$ = makereg($1); }
     | register NAMED '(' names ')'    { $$ = $1; setregnames($$, $4); }
-    | register ALIASES '(' aliases ')' { $$ = $1; addregaliases($$, $4); }
+    | register USES '(' uses ')'      { $$ = $1; addregusage($$, $4); }
     | register ID                     { $$ = $1; addregattr($1, $2); }
     ;
 
@@ -89,9 +89,9 @@ names
     | names ',' QFRAGMENT             { $$ = $1; stringlist_add($$, $3); }
     ;
 
-aliases
+uses
     : ID                              { $$ = calloc(1, sizeof(*$$)); stringlist_add($$, $1); }
-    | aliases ',' ID                  { $$ = $1; stringlist_add($$, $3); }
+    | uses ',' ID                     { $$ = $1; stringlist_add($$, $3); }
     ;
 
 declarations
index 8cc58d2..5d78188 100644 (file)
@@ -74,31 +74,20 @@ void addregattr(struct reg* reg, const char* id)
        set_add(&reg->classes, p);
 }
 
-void addregalias(struct reg* r1, struct reg* r2)
+void addregusage(struct reg* reg, struct stringlist* usage)
 {
-       if (!array_appendu(&r1->aliases, r2))
-       {
-               int i;
-
-               for (i=0; i<r1->aliases.count; i++)
-                       addregalias(r1->aliases.item[i], r2);
-       }
-}
-
-void addregaliases(struct reg* reg, struct stringlist* aliases)
-{
-       struct stringfragment* f = aliases->first;
+       struct stringfragment* f = usage->first;
 
        while (f)
        {
                struct reg* r = hashtable_get(&registers, (void*)f->data);
                if (!r)
                        yyerror("register '%s' is not defined here", f->data);
-               if (r->aliases.count > 0)
-                       yyerror("can't alias '%s' to '%s' because the latter isn't a true hardware register",
+               if (r->uses.count > 0)
+                       yyerror("'%s' can't use '%s' because the latter isn't a true hardware register",
                                reg->name, r->name);
 
-               array_appendu(&reg->aliases, r);
+               array_appendu(&reg->uses, r);
 
                f = f->next;
        }
@@ -137,7 +126,7 @@ void analyse_registers(void)
        for (i=0; i<registers.size; i++)
        {
                struct reg* r = regs[i];
-               if (r->aliases.count > 0)
+               if (r->uses.count > 0)
                        fake_registers[fake_register_count++] = r;
                else
                        real_registers[real_register_count++] = r;
@@ -157,10 +146,10 @@ void analyse_registers(void)
                struct reg* r = fake_registers[i];
                r->bitmap = bitmap_alloc(real_register_count);
 
-               for (j=0; j<r->aliases.count; j++)
+               for (j=0; j<r->uses.count; j++)
                {
-                       struct reg* alias = r->aliases.item[j];
-                       bitmap_or(r->bitmap, real_register_count, alias->bitmap);
+                       struct reg* uses = r->uses.item[j];
+                       bitmap_or(r->bitmap, real_register_count, uses->bitmap);
                }
        }
 
index 20b74f7..3aaf3eb 100644 (file)
@@ -12,7 +12,7 @@ struct reg
        struct set classes;        /* register classes this register belongs to */
        struct stringlist* names;  /* register names */
        unsigned int* bitmap;      /* hardware register bitmap */
-       ARRAYOF(struct reg) aliases; /* registers that this one aliases */
+       ARRAYOF(struct reg) uses;  /* registers that this one uses */
 };
 
 struct regattr
@@ -25,7 +25,7 @@ struct regattr
 extern struct reg* makereg(const char* name);
 extern void setregnames(struct reg* reg, struct stringlist* names);
 extern void addregattr(struct reg* reg, const char* regattr);
-extern void addregaliases(struct reg* reg, struct stringlist* aliases);
+extern void addregusage(struct reg* reg, struct stringlist* uses);
 extern struct regattr* getregattr(const char* name);
 
 extern void analyse_registers(void);
index 272dd2b..ae6cf69 100644 (file)
@@ -39,7 +39,7 @@ static int braces = 0;
 "DECLARATIONS"              return DECLARATIONS;
 "PATTERNS"                  return PATTERNS;
 "REGISTERS"                 return REGISTERS;
-"aliases"                   return ALIASES;
+"uses"                      return USES;
 "corrupted"                 return CORRUPTED;
 "cost"                      return COST;
 "emit"                      return EMIT;