This is the mail archive of the gcc-patches@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: [PATCH] New predicate covering NOP_EXPR and CONVERT_EXPR


Joseph S. Myers <joseph@codesourcery.com> wrote:

> I remain of the view, as I stated in
> <http://gcc.gnu.org/ml/gcc-patches/2005-03/msg01326.html>, that an audit
> of every use of NOP_EXPR and CONVERT_EXPR is needed to identify all places
> where they are distinguished and replace them by a check of the real
> property being distinguished.  Are you saying that you did that audit (and
> have a means to update it to current mainline without redoing it) and only
> found that one place?  If so, I think more details of it are needed, given
> the comment I pointed out referring to "Proper functioning of many things
> assumes ...".

Given that, in tree-ssa times, *most* of the compiler does not know the
difference between NOP_EXPR and CONVERT_EXPR and the exact semantics are
gone, I think such an audit will be a waste of time, and in practice nobody
will ever do it and we'll have to live with those duplicate trees for more
time.

We can pretty much go the other way: fix the 3-4 places left which don't
treat them the same way with Roger's approach, and find out what breaks (if
anything). Given that Roger can bootstrap/regtest C and C++ with no
problems, we can be reasonbly sure that those must be a small minority of
the uses. Java has to be fixed (probably with a frontend-specific tree
code), and maybe also Ada. But since we're in Stage 1, I think we can try
and be a little aggressive about this. We have far too many incomplete
transitions, so we should try harder not to create others.
-- 
Giovanni Bajo


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