This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/56559] [4.8 Regression] ICE in propagate_op_to_single_use, at tree-ssa-reassoc.c:1057
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 07 Mar 2013 09:17:20 +0000
- Subject: [Bug middle-end/56559] [4.8 Regression] ICE in propagate_op_to_single_use, at tree-ssa-reassoc.c:1057
- Auto-submitted: auto-generated
- References: <bug-56559-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56559
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-03-07 09:17:20 UTC ---
Created attachment 29608
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29608
gcc48-pr56559.patch
In my limited understanding, it is fine to assume the chain has just single
uses if you walk through rhs1s, but when looking at rhs2, it can be arbitrary,
so we need to guard it. You can't change __builtin_pow that has multiple uses
just because of one of the uses. The patch fixes this and doesn't introduce
any
dg.exp=reassoc* tree-ssa.exp=reassoc* dg-torture.exp=reassoc* regressions.