------- Comment #6 from zadeck at naturalbridge dot com 2007-10-29 14:09 ------- These stores to the stack are not really anything that dse can handle. It is good at removing stores addressed off the frame pointer that go dead when the function returns, but it must be more conservative with stack pointer based addresses.
This is a result of the fact that gcc does not allow the program to play as many games with values accessed off of the frame as it does with values accessed off of the stack. In fact, i think it would be wrong for dse to remove these stores because (i believe) that the caller is allowed to see values accessed off the stack pointer when the function returns. On the other hand, if i am wrong about this, it would not be hard to teach dse to do some of the same tricks to stack based addresses as it currently does for frame based addresses but i think that i pressed iant pretty hard on this stuff when i was writing this pass and this was all he would allow me to do. I think that if this bug is going to be "cleared", the right way to go is do better analysis about generating those stores in the first place. -- zadeck at naturalbridge dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iant at google dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30271