This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: no_new_pseudos


Alexandre Oliva wrote:
> On Jul  4, 2007, Kenneth Zadeck <zadeck@naturalbridge.com> wrote:
>
>   
>>>> enum { BEFORE_RELOAD = -1, DURING_RELOAD = 0, AFTER_RELOAD = 1 }
>>>> reload_status; 
>>>>         
>
>   
>>>> #define BEFORE_RELOAD_P() (reload_status < DURING_RELOAD)
>>>> #define DURING_RELOAD_P() (reload_status == DURING_RELOAD)
>>>> #define AFTER_RELOAD_P() (reload_status > DURING_RELOAD)
>>>>         
>
>   
>> I do not want to make this change myself:
>>     
>
> It's as mechanical as the change you proposed, except that yours
> potentially loses information that would enable someone to recover 
> !BEFORE_RELOAD_P() out of the expanded version of no_new_pseudos.
>
> Cleanups can come up later.
>
>   
I find this argument somewhat suspect.  At this point I know the middle
end quite well, and there I simply had to reason about each grep hit
given the context of where it was used.    In the backends I applied the
transformation mechanically because I am not experienced there. 
However, I believe from the arguments of others, that a proper cleanup
would be based on the context of each use, not on the code that is
there,  and whether those uses are one variable or a group of them is
largely irrelevant.

I am always skeptical of an argument against a cleanup that is based on
the premise that something should not be done because it was not
ambitious enough.  The only way that I will accept such an argument is
if the person making that argument is willing to do the more ambitious
version in a timely manner (i.e. during this release  of stage II).  If
you are willing to step up to the plate then i will withdraw my patch in
support of yours. 

But if not, do not stand in the way of someone who has done a legitimate
cleanup.


Kenny


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]