------- Comment #2 from rguenth at gcc dot gnu dot org 2007-09-05 11:48 ------- DSE does a post-dominator walk starting from the exit block. But the exit block has no predecessors because the function does never exit ;)
void foo(int *p) { while (1) { *p = 0; *p = 0; } } after DSE: foo (p) { <bb 2>: <bb 3>: *p_1(D) = 0; *p_1(D) = 0; goto <bb 3>; } I suppose more post-dom walk optimizations are affected by this "bug". -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33302