change minimum sethi/ullman number to 1
to distinguish not computed (0) vs trivial (1).
add missing ullmancalc on function args.
R=ken
OCL=18711
CL=18711
diff --git a/src/cmd/6g/gen.c b/src/cmd/6g/gen.c
index 633c325..1b4c7e6 100644
--- a/src/cmd/6g/gen.c
+++ b/src/cmd/6g/gen.c
@@ -28,7 +28,7 @@
newproc->sym = pkglookup("newproc", "sys");
newproc->class = PEXTERN;
newproc->addable = 1;
- newproc->ullman = 0;
+ newproc->ullman = 1;
}
if(throwindex == N) {
@@ -36,7 +36,7 @@
throwindex->sym = pkglookup("throwindex", "sys");
throwindex->class = PEXTERN;
throwindex->addable = 1;
- throwindex->ullman = 0;
+ throwindex->ullman = 1;
}
if(throwreturn == N) {
@@ -44,7 +44,7 @@
throwreturn->sym = pkglookup("throwreturn", "sys");
throwreturn->class = PEXTERN;
throwreturn->addable = 1;
- throwreturn->ullman = 0;
+ throwreturn->ullman = 1;
}
if(fn->nbody == N)
diff --git a/src/cmd/6g/gsubr.c b/src/cmd/6g/gsubr.c
index 3114eab..7ca619c 100644
--- a/src/cmd/6g/gsubr.c
+++ b/src/cmd/6g/gsubr.c
@@ -1640,7 +1640,7 @@
n->etype = t->etype;
n->class = PAUTO;
n->addable = 1;
- n->ullman = 0;
+ n->ullman = 1;
dowidth(t);
w = t->width;
diff --git a/src/cmd/gc/dcl.c b/src/cmd/gc/dcl.c
index 3fb7710..effb957 100644
--- a/src/cmd/gc/dcl.c
+++ b/src/cmd/gc/dcl.c
@@ -865,7 +865,7 @@
n->sym = s;
n->type = T;
n->addable = 1;
- n->ullman = 0;
+ n->ullman = 1;
return n;
}
@@ -886,7 +886,7 @@
n->sym = s;
n->type = T;
n->addable = 1;
- n->ullman = 0;
+ n->ullman = 1;
}
return n;
}
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index ddf0560..2e81078 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -2048,7 +2048,7 @@
switch(n->op) {
case OLITERAL:
case ONAME:
- ul = 0;
+ ul = 1;
goto out;
case OCALL:
case OCALLMETH:
@@ -2056,10 +2056,10 @@
ul = UINF;
goto out;
}
- ul = 0;
+ ul = 1;
if(n->left != N)
ul = n->left->ullman;
- ur = 0;
+ ur = 1;
if(n->right != N)
ur = n->right->ullman;
if(ul == ur)
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 42eb037..13ad69a 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -3053,6 +3053,7 @@
fatal("reorder1 OLIST");
t++;
+ ullmancalc(l);
if(l->ullman >= UINF)
c++;
l = listnext(&save);
@@ -3072,6 +3073,7 @@
r = list(f, r);
return r;
}
+ ullmancalc(l);
if(l->ullman < UINF) {
r = list(l, r);
goto more;
@@ -3123,6 +3125,7 @@
if(l->op == OLIST)
fatal("reorder2 OLIST");
+ ullmancalc(l);
if(l->ullman >= UINF)
c++;
l = listnext(&save);