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] for PR 18040


kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:

> [First of all, let me apologize about the lack of threading.  I *do* have
> the sources I need to implement that, but I want to catch up on some of
> the technical stuff (ACATS bugs) first.]
>
>     Ok.  Does that also address the objection you raised to the
>     pointer-punning operation at the outermost level?
>
> The *correctness* objection, yes, but not the code quality
> objection.  We'd have a situation where it's impossible for the tree
> optimizers to improve the code because there's no way of
> representing the improvement.  That's bad.

The tree optimizers do better on simple operations, which is why we
have GIMPLE in the first place.  In fact, some people have argued that
we should be breaking up _all_ chains of dereference operations so
that the optimizers can see better.

>     The goal is not to be able to represent as one statement every
>     operation that can be encoded in one machine instruction, and it is
>     certainly not to be able to represent as one statement every primitive
>     operation of every supported language.
>
> No, of course not.  But I thought the idea is to encode each statement as
> one *expansion* operation.

I do not understand this statement.

zw


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