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: [tree-ssa] must-alias fixes...


On Fri, 21 Nov 2003 15:11:08 +0100, Jan Hubicka <hubicka@ucw.cz> wrote:

> I also don't get the:
>   /* FIXME lose the STRIP_NOPS once we are more clever about builtins.  */
>   STRIP_NOPS (tmp);
>   if (TREE_CODE (tmp) == ADDR_EXPR
>       && TREE_CODE (TREE_OPERAND (tmp, 0)) == STRING_CST)
>      return true;
> why we do allow ADDR_EXPRs of STRING_CST to be nopped and other
> ADDR_EXPRs not?  This is how NOP_EXPRs can leak into PLUS_EXPR the
> current implementation.

We allow STRING_CST to avoid breaking some of the string builtin
testcases.

This is a wart, though--fold_builtin, and the folder in general, should be
improved to use the SSA history so that we can put this in a temporary
without harmin optimization.

I think the useless_conversion problems are closely related to this
issue--conversions can be useless in some contexts and necessary in others.
We don't know until the use site, at which point we should be able to look
back through the SSA history to discover what we know about the values
being used.

> It seems to me that we should allow nopped ADDR_EXPRs in general and
> also nopped PLUS_EXPR with ADDR_EXPR and INTEGER_CST operands, shouldn't
> we?

No.

Jason


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