This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] PATCH to gimplify_asm_expr for optimization/12525
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 08 Oct 2003 09:18:40 -0400
- Subject: Re: [tree-ssa] PATCH to gimplify_asm_expr for optimization/12525
- Organization: Red Hat Canada
- References: <wvlvfr0n1z6.fsf@prospero.boston.redhat.com>
On Tue, 2003-10-07 at 17:59, Jason Merrill wrote:
> I intended to fix this for memory operands by calling mark_addressable so
> they don't get renamed, but the must-alias pass decides that we don't really
> need the address after all. Diego, any thoughts on how to prevent that?
>
If no statement has an ADDR_EXPR for that variable, must-alias will
conclude that we don't need its address. Is there some sort of
"force-addressable" flag that must-alias could use? The pass is already
ignoring some TREE_ADDRESSABLE variables that cause problems if they are
marked non-addressable (pointers and arrays, for instance).
What do you call "memory operands" here? Could a local variable become
a memory operand just because it's mentioned in an ASM_EXPR with a "m"
modifier?
Diego.