[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-18 Thread amacleod at gcc dot gnu dot org
--- Comment #18 from amacleod at redhat dot com 2008-09-18 14:00 --- Subject: Bug 37102 Author: amacleod Date: Thu Sep 18 13:58:55 2008 New Revision: 140455 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140455 Log: fix PR 37102 by having out of ssa remove dead PHI nodes.

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread rguenth at gcc dot gnu dot org
--- Comment #12 from rguenth at gcc dot gnu dot org 2008-09-17 14:25 --- Ok, so I think we should be fine if we ignore PHI nodes with zero-use results during building the elimination graph - chained unused PHIs will have lifeness computed for all but the PHI node with the zero-use

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com
--- Comment #13 from amacleod at redhat dot com 2008-09-17 14:34 --- I was in the middle of updating this PR and taking possesion :-) Upon further reflection, I don't think it is acceptable for out-of-ssa to generate incorrect code simply because an optimization wasn't run before it.

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2008-09-17 14:38 --- Hm, it doesn't work - bootstrap fails as gengtype segfaults. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37102

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com
--- Comment #15 from amacleod at redhat dot com 2008-09-17 14:39 --- Created an attachment (id=16343) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16343action=view) potential patch 1 This is the first option which simply doesn't add the result of a PHI with no uses to the

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com
--- Comment #16 from amacleod at redhat dot com 2008-09-17 14:48 --- Created an attachment (id=16345) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16345action=view) Potential patch #2 This is the other option, eliminate dead PHIs. compiling all of GCC .c files at -O3, it finds a

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com
--- Comment #17 from amacleod at redhat dot com 2008-09-17 21:55 --- Created an attachment (id=16348) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16348action=view) Patch submitted Doh. The last patch for the dead code removal had a disabling check in it that I was using for some

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-14 Thread lthode at mail dot unomaha dot edu
--- Comment #11 from lthode at mail dot unomaha dot edu 2008-09-15 01:03 --- (In reply to comment #9) Thanks for the explanation, for the branch I would recommend an extra DCE pass right before pass_del_ssa. On the trunk we need to make sure to run this at -O0 as well. Note that

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-04 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2008-09-04 14:53 --- As on the trunk we are now feeding out-of-SSA with random dead statements at -O0 we should look into this. Or schedule a DCE pass before it if it cannot cope with dead statements. -- rguenth at gcc dot gnu dot

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-04 Thread amacleod at redhat dot com
--- Comment #8 from amacleod at redhat dot com 2008-09-04 16:09 --- out of ssa generally expects that there is no dead code. I think the original logic was that you never want to generate code for dead statements, so DCE would be run just before out of ssa. It assumes any conflicts

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-04 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2008-09-04 16:17 --- Thanks for the explanation, for the branch I would recommend an extra DCE pass right before pass_del_ssa. On the trunk we need to make sure to run this at -O0 as well. Note that the simple DCE can leave dead

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-04 Thread amacleod at redhat dot com
--- Comment #10 from amacleod at redhat dot com 2008-09-04 16:51 --- As long as it removes any dead PHIs, it would be sufficient. Other types of dead statements don't have 'unexpected' side effects across basic block boundaries, and should be handled fine. Other than being a waste of