This is the mail archive of the
mailing list for the GCC project.
Re: rtx_unchanging_p vs c++ vtable fields
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rth at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 9 Dec 01 18:23:36 EST
- Subject: Re: rtx_unchanging_p vs c++ vtable fields
I didn't think the field was marked TREE_READONLY, but I don't
know for sure. It doesn't get marked readonly at the point of
creation, but that doesn't mean it doesn't get set elsewhere.
Well that's what readonly_fields_p tests, so if the code in question
is triggered, it *must* have been set.
I think we should get rid of /u. It is _way_ too error prone.
I'll claim that virtually all of the benefit can be gained by
proper use of alias sets, and if there's anything left oh well.
I think that's right, but it's going to be a bit of work. I did a large part
of it by putting constants into their own alias set. That will get a large
part of the benefit for C, but probably not for Ada and I'm not sure about
C++. Also, if we go that route, we should delete the in-struct and in-scalar,
which historically have have caused even more problems. In that situation,
I think we should use aliasing at -O1: it's not an expensive optimization.