commit 20c9ec62ffde331fad41c5f05cc05a20b7aa08fa
parent f5c4f9b76fe72d59b71879a36c9fca99e17f2824
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Tue, 19 Apr 2016 11:04:28 -0400
check for trivial undefined uses in ssacheck
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ssa.c b/ssa.c
@@ -536,10 +536,15 @@ ssacheck(Fn *fn)
Blk *b, *bu;
Ref r;
- for (t=&fn->tmp[Tmp0]; t-fn->tmp < fn->ntmp; t++)
+ for (t=&fn->tmp[Tmp0]; t-fn->tmp < fn->ntmp; t++) {
if (t->ndef > 1)
err("ssa temporary %%%s defined more than once",
t->name);
+ if (t->nuse > 0 && t->ndef == 0) {
+ bu = fn->rpo[t->use[0].bid];
+ goto Err;
+ }
+ }
for (b=fn->start; b; b=b->link) {
for (p=b->phi; p; p=p->link) {
r = p->to;