From: David Given Date: Sat, 4 Feb 2017 21:05:06 +0000 (+0100) Subject: Rename 'aliases' in the table to 'uses', because that better matches how things X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=8d5b6c50a5efa351fcdc4dcadb4021f9a6c02507;p=ack.git Rename 'aliases' in the table to 'uses', because that better matches how things will actually work. --- diff --git a/mach/powerpc/mcg/table b/mach/powerpc/mcg/table index 340652cd4..6ab2ff0ee 100644 --- a/mach/powerpc/mcg/table +++ b/mach/powerpc/mcg/table @@ -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; diff --git a/util/mcgg/gram.y b/util/mcgg/gram.y index eab714f16..5a985f231 100644 --- a/util/mcgg/gram.y +++ b/util/mcgg/gram.y @@ -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 pattern_constraints %type pattern_emit %type nodename -%type aliases +%type uses %type names %type qfragments %type 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 diff --git a/util/mcgg/registers.c b/util/mcgg/registers.c index 8cc58d2c1..5d7818851 100644 --- a/util/mcgg/registers.c +++ b/util/mcgg/registers.c @@ -74,31 +74,20 @@ void addregattr(struct reg* reg, const char* id) set_add(®->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; ialiases.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(®isters, (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(®->aliases, r); + array_appendu(®->uses, r); f = f->next; } @@ -137,7 +126,7 @@ void analyse_registers(void) for (i=0; ialiases.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; jaliases.count; j++) + for (j=0; juses.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); } } diff --git a/util/mcgg/registers.h b/util/mcgg/registers.h index 20b74f754..3aaf3eb1a 100644 --- a/util/mcgg/registers.h +++ b/util/mcgg/registers.h @@ -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); diff --git a/util/mcgg/scan.l b/util/mcgg/scan.l index 272dd2bf1..ae6cf6900 100644 --- a/util/mcgg/scan.l +++ b/util/mcgg/scan.l @@ -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;