This is the mail archive of the
mailing list for the GCC project.
Re: IPA merge: make ipa-type-escape and ipa-pure-const deal with SSA form
> On 12/28/06, Jan Hubicka <email@example.com> wrote:
> >> On 12/28/06, Jan Hubicka <firstname.lastname@example.org> wrote:
> >> >Hi,
> >> >this patch makes ipe-pure-const and ipa-type-escape to "tolerate" (ie
> >> >on
> >> >but not take advantage of) the SSA form. I've bootstrapped/regtested the
> >> >change
> >> >on x86_64-linux with IPA-SSA and running routine bootstrap/regtest on
> >> >mainline i686-linux now. Will commit it as obvious once testing
> >> Uh, but your patch seems wrong.
> >> How can a type escape through an ssa_name, which is purely local to a
> >> function (IE non-escaping)?
> >Hehe, it is what you or Kenny told me to do about 2 years ago ;)
> >Here is updated patch I am re-testing now. Does it look better?
> Sigh now i wonder what happens when we have bad casts to ssa variables
> and then copy the bad-casted variable to a global/static.
> You may have been right the first time.
Looks like we mutually convinced each other ;)
OK, to defend your original position, all the other code paths (except
for the malloc stuff included in this patch) leads to
has_proper_scope_for_analysis and that one does:
/* Do not care about a local automatic that is not static. */
if (!TREE_STATIC (t) && !DECL_EXTERNAL (t))
So I guess the later patch is sufficient and since it lets me progress,
I will commit it today (assuming my last testing of IPA-SSA converge)
and we can worry about the local casts incrementally.