From: Richard Guenther <richard.guent...@gmail.com> Date: Thu, 3 May 2012 10:42:30 +0200
> On Thu, May 3, 2012 at 10:31 AM, Richard Sandiford > <rdsandif...@googlemail.com> wrote: >> David Miller <da...@davemloft.net> writes: >>> From: Richard Sandiford <rdsandif...@googlemail.com> >>> Date: Wed, 02 May 2012 20:37:58 +0100 >>> >>>> I think the DSE assuption is fair though. If you reuse MEMs like >>>> this, then they're no longer just serving the purpose described by >>>> MEM_EXPR. >>> >>> The following seems to work, and matches what calls.c does when it >>> passes a value by reference. Is this what you had in mind? >> >> Yeah, looks good to me. > > I don't think that will work reliably (well, maybe now by luck, so better than > nothing). You'd at least need to adjust the ESCAPED points-to set of the > function, too (yes, DSE does very very conservative use analysis right now). > Why not simply clear MEM_EXPR for the MEM? Then why does calls.c not have to do this?