fixed problem with size option
authorceriel <none@none>
Fri, 3 Mar 1989 17:53:31 +0000 (17:53 +0000)
committerceriel <none@none>
Fri, 3 Mar 1989 17:53:31 +0000 (17:53 +0000)
util/ego/il/il.c
util/ego/il/il2_aux.c

index 72188de..0cc145c 100644 (file)
@@ -285,7 +285,6 @@ il_flags(p)
                while (*p != '\0') {
                        space = 10*space +*p++ -'0';
                }
-               space = total_size * space / 100 ;
                break;
        case 'a':
                complete_program = 1;
@@ -306,6 +305,7 @@ main(argc,argv)
        mktemp(sname);
        mktemp(cname2);
        pass1(lname,bname,cname); /* grep calls, analyse procedures */
+       space = total_size * space / 100 ;
        pass2(cname,space);  /* select calls to be expanded */
        pass3(lname,lname2); /* do substitutions */
        f = openfile(dname2,"w");
index b4573c0..78187b6 100644 (file)
@@ -254,9 +254,10 @@ assign_ratio(c)
        /* Extra points for constants as parameters */
        if (ratio <= 0) ratio = 1;
        ll = c->cl_looplevel+1; 
+       if (IS_CALLED_IN_LOOP(c->cl_caller)) ll++;
        /* Commented out; I don't see the point; Even if it is not called
           from a loop, inline expansion is better
-       if (ll == 1 && !IS_CALLED_IN_LOOP(c->cl_caller)) ll = 0;
+       if (ll == 1) ll = 0;
        /* If the call is not in a loop and the called proc. is never called
         * in a loop, ll is set to 0.
        */
@@ -536,6 +537,9 @@ select_calls(proclist,ccf,space)
                        space -= (best->cl_proc->P_SIZE - space_saved(best));
                }
                else space += space_saved(best);
+#ifdef VERBOSE
+               if (verbose_flag) fprintf(stderr, "space left: %ld\n", space);
+#endif
                selected(best);
                CHANGED(chp);
        }