http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570



--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-11 
12:54:43 UTC ---

An alternative suggestion was to allow arbitrary complex addresses (well,

"arbitrary" == gimplified ADDR_EXPRs) in call arguments (either in general

or just for specially marked builtins).  That way they escape SSA based CSE.



Yet another variant would be to have an optional 2nd operand for ADDR_EXPRs

for the Frontend to fill in, specifying the "size" of the object at that

address.  Preserving that across propagation/substitution would be required

of course (details on what the 'size' of &a[2] with int a[4]; would be is

still to be determined).



I'm leaning towards trying to have explicit information tracked from their

origin rather than trying to re-discover them after optimizations obfuscated

them.

Reply via email to