http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44194
--- Comment #9 from Easwaran Raman <eraman at google dot com> 2011-04-12 22:39:23 UTC --- Created attachment 23968 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23968 Patch to dse.c to be less conservative with calls. Currently dse kills all stores on a call since call can do a wild read. But calls can not read off frame unless it is a local variable that can escape. This patch ensures frame based stores are not killed on a call if they can't escape. For the first struct return case, this removes the redundant stores to the local variable. Does this look reasonable?