------- Comment #22 from rguenth at gcc dot gnu dot org  2007-08-31 13:56 
-------
We are clearly missing the use of signInfo.d by the call, thus we should
from the bitmap of clobbered parts of signInfo remove the used parts once we
encounter the call.  But somehow we never remove bits from this bitmap and
I have no clue how this should work with other intermediate uses, but it
somehow does.  And indeed, it also happily removes the whole-aggregate store
for

    s signInfo = { sizeof(signInfo), 0 };

    signInfo.b = 1;
    signInfo.c = 0;
    h(signInfo.d);
    signInfo.d = 1;

if you disable other optimizations before DSE.


-- 


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

Reply via email to