summaryrefslogtreecommitdiff
path: root/src/cmd/9g
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/9g')
-rw-r--r--src/cmd/9g/prog.c9
-rw-r--r--src/cmd/9g/reg.c7
2 files changed, 7 insertions, 9 deletions
diff --git a/src/cmd/9g/prog.c b/src/cmd/9g/prog.c
index e3e50f28a..51c132d18 100644
--- a/src/cmd/9g/prog.c
+++ b/src/cmd/9g/prog.c
@@ -134,11 +134,12 @@ proginfo(ProgInfo *info, Prog *p)
}
if(p->as == ADUFFZERO) {
- info->reguse |= RtoB(0) | RtoB(2);
- info->regset |= RtoB(2);
+ info->reguse |= (1<<D_R0) | RtoB(3);
+ info->regset |= RtoB(3);
}
if(p->as == ADUFFCOPY) {
- info->reguse |= RtoB(0) | RtoB(2) | RtoB(3);
- info->regset |= RtoB(2) | RtoB(3);
+ // TODO(austin) Revisit when duffcopy is implemented
+ info->reguse |= RtoB(3) | RtoB(4) | RtoB(5);
+ info->regset |= RtoB(3) | RtoB(4);
}
}
diff --git a/src/cmd/9g/reg.c b/src/cmd/9g/reg.c
index b911a2399..2e546a95b 100644
--- a/src/cmd/9g/reg.c
+++ b/src/cmd/9g/reg.c
@@ -1322,7 +1322,6 @@ void
dumpit(char *str, Flow *r0, int isreg)
{
Flow *r, *r1;
- int s1v, s2v;
print("\n%s\n", str);
for(r = r0; r != nil; r = r->link) {
@@ -1334,10 +1333,8 @@ dumpit(char *str, Flow *r0, int isreg)
print(" %.4ud", (int)r1->prog->pc);
print("\n");
}
- // If at least one successor is "interesting", print both
- s1v = (r->s1 != nil) && (r->s1->prog != r->prog->link);
- s2v = (r->s2 != nil) && (r->s2->prog != r->prog->link);
- if(s1v || s2v) {
+ // Print successors if it's not just the next one
+ if(r->s1 != r->link || r->s2 != nil) {
print(" succ:");
if(r->s1 != nil)
print(" %.4ud", (int)r->s1->prog->pc);