diff options
Diffstat (limited to 'src/cmd/9g')
-rw-r--r-- | src/cmd/9g/prog.c | 9 | ||||
-rw-r--r-- | src/cmd/9g/reg.c | 7 |
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); |