[PATCH] Dispose of non-gimplifier users of is_gimple_tmp_var

Nathanael Nerode neroden@fastmail.fm
Mon Aug 16 13:54:00 GMT 2004


>On Mon, 2004-08-16 at 07:48, Nathanael Nerode wrote:
>> Both of these uses appear to be an attempt to retain better debugging
>> information.  Accordingly, they are checking the wrong thing.
>> 
>What does this fix?

Nothing ATM.  Once is_gimple_tmp_var is fixed, it leads to

In tree-ssa-live.c:
* a preference to use names of actual user variables rather than
front-end temporaries when combining two partitions (it unlikely that
a user variable and a front-end temporary would be combined, but
it's possible)
* removes a preference to use names of front-end temporaries rather than
gimple temporaries when combining two partitions

In tree-ssa-copyrename.c:
* Allows front-end temporaries to be (potentially) coalesced with user
variables and other front-end temporaries

(It may allow artificial static and external variables
with SSA_NAMEs to be coalesced when they shouldn't be; not sure, but I
doubt it.  If so this is a mistake, but can be fixed trivially.  And
also I'd expect some form of breakage during bootstrap & regression
testing if it did, and this would be detected right now.)

I believe these are basically improvements.

The motivation here is that we're going to have to change the semantics
of is_gimple_tmp_var and possibly break it into two or more separate
functions.  Getting rid of totally spurious uses simplifies this process.

-- 
This space intentionally left blank.



More information about the Gcc-patches mailing list