[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2015-06-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #19 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Jun  3 11:03:26 2015
New Revision: 224072

URL: https://gcc.gnu.org/viewcvs?rev=224072root=gccview=rev
Log:
2015-06-03  Richard Biener  rguent...@suse.de

Backport from mainline
2015-05-26  Michael Matz  m...@suse.de

PR middle-end/66251
* tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
STMT_VINFO_VEC_STMT, also with SLP.

* gcc.dg/vect/pr66251.c: New test.

2015-05-22  Richard Biener  rguent...@suse.de

PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_conversion): Properly
set STMT_VINFO_VEC_STMT even for the SLP case.

* gfortran.fortran-torture/compile/pr66251.f90: New testcase.

2015-05-27  Richard Biener  rguent...@suse.de

PR tree-optimization/66272
Revert parts of
2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr66272.c: New testcase.

2015-05-13  Richard Biener  rguent...@suse.de

PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.

* gcc.dg/torture/pr66123.c: New testcase.

2015-06-02  Richard Biener  rguent...@suse.de

PR debug/65549
* dwarf2out.c (lookup_context_die): New function.
(resolve_addr): Avoid forcing a full DIE for the
target of a DW_TAG_GNU_call_site during late compilation.
Instead create a stub DIE without a type if we have a
context DIE present.

* g++.dg/lto/pr65549_0.C: New testcase.

2015-03-23  Richard Biener  rguent...@suse.de

PR tree-optimization/65518
* tree-vect-stmts.c (vectorizable_load): Reject single-element
interleaving cases we generate absymal code for.

* gcc.dg/vect/pr65518.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/g++.dg/lto/pr65549_0.C
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr66123.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr66272.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr65518.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr66251.c
   
branches/gcc-4_9-branch/gcc/testsuite/gfortran.fortran-torture/compile/pr66251.f90
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/dwarf2out.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-data-ref.c
branches/gcc-4_9-branch/gcc/tree-data-ref.h
branches/gcc-4_9-branch/gcc/tree-ssa-dom.c
branches/gcc-4_9-branch/gcc/tree-vect-stmts.c


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2015-06-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #18 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Jun  3 07:39:06 2015
New Revision: 224059

URL: https://gcc.gnu.org/viewcvs?rev=224059root=gccview=rev
Log:
2015-06-03  Richard Biener  rguent...@suse.de

Backport from mainline
2015-06-02  Richard Biener  rguent...@suse.de

PR debug/65549
* dwarf2out.c (lookup_context_die): New function.
(resolve_addr): Avoid forcing a full DIE for the
target of a DW_TAG_GNU_call_site during late compilation.
Instead create a stub DIE without a type if we have a
context DIE present.

* g++.dg/lto/pr65549_0.C: New testcase.

2015-06-01  Richard Biener  rguent...@suse.de

PR tree-optimization/66280
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
def-use walking.

* g++.dg/torture/pr66280.C: New testcase.
* g++.dg/torture/pr66280-2.C: Likewise.

2015-05-27  Richard Biener  rguent...@suse.de

PR tree-optimization/66272
Revert parts of
2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr66272.c: New testcase.

2015-05-21  Richard Biener  rguent...@suse.de

PR c++/66211
* match.pd: Guard pattern optimzing (int)(float)int
conversions to apply only on GIMPLE.

* g++.dg/conversion/pr66211.C: New testcase.
* gcc.dg/tree-ssa/forwprop-18.c: Adjust.

2015-05-13  Richard Biener  rguent...@suse.de

PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.

* gcc.dg/torture/pr66123.c: New testcase.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/conversion/pr66211.C
branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr65549_0.C
branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280-2.C
branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280.C
branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66123.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66272.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/dwarf2out.c
branches/gcc-5-branch/gcc/match.pd
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/gcc.dg/tree-ssa/forwprop-18.c
branches/gcc-5-branch/gcc/tree-data-ref.c
branches/gcc-5-branch/gcc/tree-data-ref.h
branches/gcc-5-branch/gcc/tree-ssa-dom.c
branches/gcc-5-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2015-06-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #20 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Jun  3 13:50:11 2015
New Revision: 224081

URL: https://gcc.gnu.org/viewcvs?rev=224081root=gccview=rev
Log:
2015-06-03  Richard Biener  rguent...@suse.de

Backport from mainline
2015-05-26  Michael Matz  m...@suse.de

PR middle-end/66251
* tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
STMT_VINFO_VEC_STMT, also with SLP.

* gcc.dg/vect/pr66251.c: New test.

2015-05-22  Richard Biener  rguent...@suse.de

PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_conversion): Properly
set STMT_VINFO_VEC_STMT even for the SLP case.

* gfortran.fortran-torture/compile/pr66251.f90: New testcase.

2015-03-23  Richard Biener  rguent...@suse.de

PR tree-optimization/65518
* tree-vect-stmts.c (vectorizable_load): Reject single-element
interleaving cases we generate absymal code for.

* gcc.dg/vect/pr65518.c: New testcase.

2015-05-13  Richard Biener  rguent...@suse.de

PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.

* gcc.dg/torture/pr66123.c: New testcase.

2015-05-27  Richard Biener  rguent...@suse.de

PR tree-optimization/66272
Revert parts of
2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr66272.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr66123.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr66272.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr65518.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr66251.c
   
branches/gcc-4_8-branch/gcc/testsuite/gfortran.fortran-torture/compile/pr66251.f90
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-ssa-dom.c
branches/gcc-4_8-branch/gcc/tree-vect-stmts.c


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2015-05-27 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #17 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed May 27 14:20:48 2015
New Revision: 223759

URL: https://gcc.gnu.org/viewcvs?rev=223759root=gccview=rev
Log:
2015-05-27  Richard Biener  rguent...@suse.de

PR tree-optimization/66272
Revert parts of
2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr66272.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr66272.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-data-ref.c
trunk/gcc/tree-data-ref.h


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr62031.c: New testcase.

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.8.3

--- Comment #16 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-20 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #14 from clyon at gcc dot gnu.org ---
I confirm what I observed is a testsuite harness problem, for which I proposed
a patch here:
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01792.html

dejagnu-1.5 (as shipped with Ubuntu 14.04) masks the problem I was facing with
dejagnu-1.4.4-X as shipped with RHEL5).


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-16 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #10 from rguenther at suse dot de rguenther at suse dot de ---
On Wed, 15 Oct 2014, clyon at gcc dot gnu.org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031
 
 --- Comment #9 from clyon at gcc dot gnu.org ---
 Forgot to mention that my observation is true on trunk and 4.9 branch.
 
 I didn't notice it earlier because I run validations for every commit on the
 4.9 branch, and not as often on trunk.

Can you please try to investigate?  (does it only fail at -O0?!)


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to rguent...@suse.de from comment #10)
 On Wed, 15 Oct 2014, clyon at gcc dot gnu.org wrote:
 
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031
  
  --- Comment #9 from clyon at gcc dot gnu.org ---
  Forgot to mention that my observation is true on trunk and 4.9 branch.
  
  I didn't notice it earlier because I run validations for every commit on the
  4.9 branch, and not as often on trunk.
 
 Can you please try to investigate?  (does it only fail at -O0?!)

Especially please state if you are cross-testing and one target triplet that
shows the failure.


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-16 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #12 from clyon at gcc dot gnu.org ---
Sorry, I thought you had the setup needed to reproduce the tests.

I am using qemu.

All execution tests fail (not only -O0), for instance with GCC configured as:
--target=arm-none-eabi --with-mode=arm --with-cpu=cortex-a9

FAIL: gcc.dg/torture/pr62031.c  -O0  execution test
FAIL: gcc.dg/torture/pr62031.c  -O1  execution test
FAIL: gcc.dg/torture/pr62031.c  -O2  execution test
FAIL: gcc.dg/torture/pr62031.c  -O3 -fomit-frame-pointer  execution test
FAIL: gcc.dg/torture/pr62031.c  -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gcc.dg/torture/pr62031.c  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gcc.dg/torture/pr62031.c  -O3 -g  execution test
FAIL: gcc.dg/torture/pr62031.c  -Os  execution test
FAIL: gcc.dg/torture/pr62031.c  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr62031.c  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-16 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #13 from clyon at gcc dot gnu.org ---
To be more specific, I'm using qemu 2.0.0.

But I've switched to a new x86_64 host running Ubuntu-14.04, and the tests
pass.

I observed the failures when using a x86_64 host running Red-Hat 5.

And qemu-2.0.0 in both cases.

I am going to take a further look at the RHEL5 (I need to restart the builds
manually).


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-15 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

clyon at gcc dot gnu.org changed:

   What|Removed |Added

 CC||clyon at gcc dot gnu.org

--- Comment #8 from clyon at gcc dot gnu.org ---
The added testcase (gcc/testsuite/gcc.dg/torture/pr62031.c) FAILs at execution
on all the arm* targets I validate.

They PASS on aarch64 targets though.

The logs only show:
PASS: gcc.dg/torture/pr62031.c  -O0  (test for excess errors)
FAIL: gcc.dg/torture/pr62031.c  -O0  execution test
etc


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-10-15 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #9 from clyon at gcc dot gnu.org ---
Forgot to mention that my observation is true on trunk and 4.9 branch.

I didn't notice it earlier because I run validations for every commit on the
4.9 branch, and not as often on trunk.