* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
@ 2012-04-13 18:12 ` dominiq at lps dot ens.fr
2012-04-13 19:07 ` wschmidt at gcc dot gnu.org
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-04-13 18:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-04-13 18:10:05 UTC ---
PR52980 looks like a duplicate.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
2012-04-13 18:12 ` [Bug tree-optimization/52976] " dominiq at lps dot ens.fr
@ 2012-04-13 19:07 ` wschmidt at gcc dot gnu.org
2012-04-13 19:46 ` wschmidt at gcc dot gnu.org
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-13 19:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
William J. Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2012-04-13
CC| |bergner at gcc dot gnu.org
AssignedTo|unassigned at gcc dot |wschmidt at gcc dot gnu.org
|gnu.org |
Ever Confirmed|0 |1
--- Comment #2 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-13 19:06:03 UTC ---
Investigating.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
2012-04-13 18:12 ` [Bug tree-optimization/52976] " dominiq at lps dot ens.fr
2012-04-13 19:07 ` wschmidt at gcc dot gnu.org
@ 2012-04-13 19:46 ` wschmidt at gcc dot gnu.org
2012-04-13 20:47 ` wschmidt at gcc dot gnu.org
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-13 19:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #3 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-13 19:41:18 UTC ---
When changing from the original form of the patch to the form that recorded
repeated ops in the ops table, I missed the effect on undistribution where a
term contains a multiply of a repeated op. Those terms should be excluded from
undistribution to return to the former behavior, and I'll work on fixing that
for the short term. However, it would eventually be better to factor a P out
of the example in this case:
c1 + 2.*P*c2 + 3.*P**2*c3 ==> c1 + P * (2.*c2 + 3.*P*c3)
In the original form of the patch, this was handled naturally because P**2 was
expanded into P*P and the existing logic was sufficient. I just missed the
need to add some logic to undistribution.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (2 preceding siblings ...)
2012-04-13 19:46 ` wschmidt at gcc dot gnu.org
@ 2012-04-13 20:47 ` wschmidt at gcc dot gnu.org
2012-04-13 22:11 ` dominiq at lps dot ens.fr
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-13 20:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #4 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-13 20:46:27 UTC ---
Here's a patch that fixes the reduced test case but is otherwise untested. I
don't know what "the polyhedron tests aermod.490 and doduc.f90" are; I don't
find them in the gcc testsuite. Dominique, can you please try this patch on
those? I will do some regression testing and try the patch out on SPEC in the
meanwhile.
Index: gcc/tree-ssa-reassoc.c
===================================================================
--- gcc/tree-ssa-reassoc.c (revision 186393)
+++ gcc/tree-ssa-reassoc.c (working copy)
@@ -1200,6 +1200,7 @@ undistribute_ops_list (enum tree_code opcode,
dcode = gimple_assign_rhs_code (oe1def);
if ((dcode != MULT_EXPR
&& dcode != RDIV_EXPR)
+ || oe1->count != 1
|| !is_reassociable_op (oe1def, dcode, loop))
continue;
@@ -1243,6 +1244,8 @@ undistribute_ops_list (enum tree_code opcode,
oecount c;
void **slot;
size_t idx;
+ if (oe1->count != 1)
+ continue;
c.oecode = oecode;
c.cnt = 1;
c.id = next_oecount_id++;
@@ -1311,7 +1314,7 @@ undistribute_ops_list (enum tree_code opcode,
FOR_EACH_VEC_ELT (operand_entry_t, subops[i], j, oe1)
{
- if (oe1->op == c->op)
+ if (oe1->op == c->op && oe1->count == 1)
{
SET_BIT (candidates2, i);
++nr_candidates2;
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (3 preceding siblings ...)
2012-04-13 20:47 ` wschmidt at gcc dot gnu.org
@ 2012-04-13 22:11 ` dominiq at lps dot ens.fr
2012-04-14 15:06 ` wschmidt at gcc dot gnu.org
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-04-13 22:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-04-13 22:11:24 UTC ---
The patch in comment #4 fixes doduc.f90, but not aermod.f90 (the sources are
available at http://polyhedron.com/pb05-lin64-f90bench_SBhtml ). A reduced test
for aermod is
[macbook] lin/test% cat grdurban_red.f90
SUBROUTINE GRDURBAN(URBWSTR, ZIURB, GRIDHT)
IMPLICIT NONE
INTEGER :: I
REAL :: SW2, URBWSTR, ZIURB, GRIDHT(87)
SAVE
SW2 = 1.6*(GRIDHT(I)/ZIURB)**0.667*URBWSTR**2
END
[macbook] lin/test% gfc -c -O3 -ffast-math grdurban_red.f90
grdurban_red.f90: In function 'grdurban':
grdurban_red.f90:1:0: error: definition in block 2 follows the use
SUBROUTINE GRDURBAN(URBWSTR, ZIURB, GRIDHT)
^
for SSA_NAME: reassocpow.4_1 in statement:
D.1875_14 = reassocpow.4_1 * D.1874_13;
grdurban_red.f90:1:0: internal compiler error: verify_ssa failed
SUBROUTINE GRDURBAN(URBWSTR, ZIURB, GRIDHT)
^
Note that the ICE disappears if I remove the SAVE.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (4 preceding siblings ...)
2012-04-13 22:11 ` dominiq at lps dot ens.fr
@ 2012-04-14 15:06 ` wschmidt at gcc dot gnu.org
2012-04-14 15:14 ` wschmidt at gcc dot gnu.org
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-14 15:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #6 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-14 15:05:37 UTC ---
The following patch fixes both reduced test cases and appears to fix the SPEC
problems in PR52980 as well. Bootstrap/regression test in progress, and will
then do a complete set of SPEC builds to be sure.
The second problem involved a subtlety in the rank order of operands. When
introducing the calls to __builtin_powi, I needed to fiddle with the resulting
operand rank to ensure uses of the call result appear after the call.
Dominique, please let me know whether this cleans up all your polyhedron tests
without introducing new failures. Thanks!
Index: gcc/tree-ssa-reassoc.c
===================================================================
--- gcc/tree-ssa-reassoc.c (revision 186393)
+++ gcc/tree-ssa-reassoc.c (working copy)
@@ -544,6 +544,28 @@ add_repeat_to_ops_vec (VEC(operand_entry_t, heap)
reassociate_stats.pows_encountered++;
}
+/* Add an operand entry to *OPS for the tree operand OP, giving the
+ new entry a larger rank than any other operand already in *OPS. */
+
+static void
+add_to_ops_vec_max_rank (VEC(operand_entry_t, heap) **ops, tree op)
+{
+ operand_entry_t oe = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe1;
+ unsigned i;
+ unsigned max_rank = 0;
+
+ FOR_EACH_VEC_ELT (operand_entry_t, *ops, i, oe1)
+ if (oe1->rank > max_rank)
+ max_rank = oe1->rank;
+
+ oe->op = op;
+ oe->rank = max_rank + 1;
+ oe->id = next_operand_entry_id++;
+ oe->count = 1;
+ VEC_safe_push (operand_entry_t, heap, *ops, oe);
+}
+
/* Return true if STMT is reassociable operation containing a binary
operation with tree code CODE, and is inside LOOP. */
@@ -1200,6 +1222,7 @@ undistribute_ops_list (enum tree_code opcode,
dcode = gimple_assign_rhs_code (oe1def);
if ((dcode != MULT_EXPR
&& dcode != RDIV_EXPR)
+ || oe1->count != 1
|| !is_reassociable_op (oe1def, dcode, loop))
continue;
@@ -1243,6 +1266,8 @@ undistribute_ops_list (enum tree_code opcode,
oecount c;
void **slot;
size_t idx;
+ if (oe1->count != 1)
+ continue;
c.oecode = oecode;
c.cnt = 1;
c.id = next_oecount_id++;
@@ -1311,7 +1336,7 @@ undistribute_ops_list (enum tree_code opcode,
FOR_EACH_VEC_ELT (operand_entry_t, subops[i], j, oe1)
{
- if (oe1->op == c->op)
+ if (oe1->op == c->op && oe1->count == 1)
{
SET_BIT (candidates2, i);
++nr_candidates2;
@@ -3275,8 +3300,10 @@ attempt_builtin_powi (gimple stmt, VEC(operand_ent
gsi_insert_before (&gsi, pow_stmt, GSI_SAME_STMT);
}
- /* Append the result of this iteration to the ops vector. */
- add_to_ops_vec (ops, iter_result);
+ /* Append the result of this iteration to the ops vector.
+ Give it a rank higher than all other ranks in the ops vector
+ so that all uses of it will be forced to come after it. */
+ add_to_ops_vec_max_rank (ops, iter_result);
/* Decrement the occurrence count of each element in the product
by the count found above, and remove this many copies of each
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (5 preceding siblings ...)
2012-04-14 15:06 ` wschmidt at gcc dot gnu.org
@ 2012-04-14 15:14 ` wschmidt at gcc dot gnu.org
2012-04-14 16:54 ` wschmidt at gcc dot gnu.org
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-14 15:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
William J. Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl.tools at gmail dot com
--- Comment #7 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-14 15:11:43 UTC ---
*** Bug 52980 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (6 preceding siblings ...)
2012-04-14 15:14 ` wschmidt at gcc dot gnu.org
@ 2012-04-14 16:54 ` wschmidt at gcc dot gnu.org
2012-04-15 10:42 ` dominiq at lps dot ens.fr
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-14 16:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #8 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-14 16:54:02 UTC ---
Patch bootstraps and passes regressions; all SPEC tests build cleanly. Will
submit today to gcc-patches.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (7 preceding siblings ...)
2012-04-14 16:54 ` wschmidt at gcc dot gnu.org
@ 2012-04-15 10:42 ` dominiq at lps dot ens.fr
2012-04-16 9:47 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-04-15 10:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-04-15 10:42:36 UTC ---
> Patch bootstraps and passes regressions; ...
And also the polyhedron tests. Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (8 preceding siblings ...)
2012-04-15 10:42 ` dominiq at lps dot ens.fr
@ 2012-04-16 9:47 ` rguenth at gcc dot gnu.org
2012-04-16 12:16 ` wschmidt at gcc dot gnu.org
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-04-16 9:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (9 preceding siblings ...)
2012-04-16 9:47 ` rguenth at gcc dot gnu.org
@ 2012-04-16 12:16 ` wschmidt at gcc dot gnu.org
2012-04-16 12:18 ` wschmidt at gcc dot gnu.org
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-16 12:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #10 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-16 12:16:04 UTC ---
Author: wschmidt
Date: Mon Apr 16 12:15:50 2012
New Revision: 186493
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186493
Log:
2012-04-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
(undistribute_ops_list): Ops with repeat counts aren't eligible for
undistribution.
(attempt_builtin_powi): Call add_to_ops_vec_max_rank.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-reassoc.c
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (10 preceding siblings ...)
2012-04-16 12:16 ` wschmidt at gcc dot gnu.org
@ 2012-04-16 12:18 ` wschmidt at gcc dot gnu.org
2012-04-16 13:24 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-16 12:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
William J. Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|4.8.0 |---
--- Comment #11 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-16 12:17:48 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (11 preceding siblings ...)
2012-04-16 12:18 ` wschmidt at gcc dot gnu.org
@ 2012-04-16 13:24 ` rguenth at gcc dot gnu.org
2012-04-16 13:54 ` vincenzo.innocente at cern dot ch
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-04-16 13:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vincenzo.innocente at cern
| |dot ch
--- Comment #12 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-16 13:22:49 UTC ---
*** Bug 53007 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (12 preceding siblings ...)
2012-04-16 13:24 ` rguenth at gcc dot gnu.org
@ 2012-04-16 13:54 ` vincenzo.innocente at cern dot ch
2012-04-16 13:58 ` rguenther at suse dot de
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2012-04-16 13:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #13 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2012-04-16 13:53:30 UTC ---
I confirm that "revision 186494" fixed PR53007.
btw:
would it be possible to add the revision number to the oyuout of "c++ -v"?
the current "version id"
gcc version 4.8.0 20120416 (experimental) (GCC)
does not uniquely identify the content of the build…
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (13 preceding siblings ...)
2012-04-16 13:54 ` vincenzo.innocente at cern dot ch
@ 2012-04-16 13:58 ` rguenther at suse dot de
2012-04-18 10:46 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenther at suse dot de @ 2012-04-16 13:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #14 from rguenther at suse dot de <rguenther at suse dot de> 2012-04-16 13:55:58 UTC ---
On Mon, 16 Apr 2012, vincenzo.innocente at cern dot ch wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
>
> --- Comment #13 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2012-04-16 13:53:30 UTC ---
> I confirm that "revision 186494" fixed PR53007.
> btw:
> would it be possible to add the revision number to the oyuout of "c++ -v"?
> the current "version id"
> gcc version 4.8.0 20120416 (experimental) (GCC)
> does not uniquely identify the content of the build...
It does if you use ./contrib/gcc_update
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (14 preceding siblings ...)
2012-04-16 13:58 ` rguenther at suse dot de
@ 2012-04-18 10:46 ` rguenth at gcc dot gnu.org
2012-04-18 12:31 ` wschmidt at gcc dot gnu.org
2012-04-18 12:49 ` wschmidt at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-04-18 10:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dcb314 at hotmail dot com
--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-18 10:22:37 UTC ---
*** Bug 53022 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (15 preceding siblings ...)
2012-04-18 10:46 ` rguenth at gcc dot gnu.org
@ 2012-04-18 12:31 ` wschmidt at gcc dot gnu.org
2012-04-18 12:49 ` wschmidt at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-18 12:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #16 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-18 12:25:30 UTC ---
Author: wschmidt
Date: Wed Apr 18 12:25:17 2012
New Revision: 186567
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186567
Log:
gcc:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
(decrement_power): Likewise.
(propagate_op_to_single_use): Likewise.
(zero_one_operation): Handle __builtin_pow* calls in linearized
expression trees; factor logic into propagate_op_to_single_use.
(undistribute_ops_list): Allow operands with repeat counts > 1.
gcc/testsuite:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
gfortran.dg/reassoc_7.f: New test.
gfortran.dg/reassoc_8.f: Likewise.
gfortran.dg/reassoc_9.f: Likewise.
gfortran.dg/reassoc_10.f: Likewise.
Added:
trunk/gcc/testsuite/gfortran.dg/reassoc_10.f
trunk/gcc/testsuite/gfortran.dg/reassoc_7.f
trunk/gcc/testsuite/gfortran.dg/reassoc_8.f
trunk/gcc/testsuite/gfortran.dg/reassoc_9.f
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/52976] [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math
2012-04-13 15:49 [Bug tree-optimization/52976] New: [4.8 Regression] Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math dominiq at lps dot ens.fr
` (16 preceding siblings ...)
2012-04-18 12:31 ` wschmidt at gcc dot gnu.org
@ 2012-04-18 12:49 ` wschmidt at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-04-18 12:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52976
--- Comment #17 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-04-18 12:29:39 UTC ---
Author: wschmidt
Date: Wed Apr 18 12:29:23 2012
New Revision: 186568
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186568
Log:
gcc:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
(possibly_move_powi): New function.
(rewrite_expr_tree): Call possibly_move_powi.
(rewrite_expr_tree_parallel): Likewise.
(attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
call add_to_ops_vec instead.
gcc/testsuite:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
gfortran.dg/reassoc_11.f: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/reassoc_11.f
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c
^ permalink raw reply [flat|nested] 19+ messages in thread