[Bug tree-optimization/68583] [5/6 Regression] Missed if-conversion

2015-12-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68583

--- Comment #2 from Richard Biener  ---
Author: rguenth
Date: Wed Dec  9 08:32:49 2015
New Revision: 231444

URL: https://gcc.gnu.org/viewcvs?rev=231444=gcc=rev
Log:
2015-12-09  Richard Biener  

PR tree-optimization/68583
* tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
flag and rename predicates to w_predicate, rw_predicate and
base_w_predicate.
(DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
(DR_BASE_W_UNCONDITIONALLY): ... this.
(DR_W_UNCONDITIONALLY): Add.
(hash_memrefs_baserefs_and_store_DRs_read): Adjust.  Compute
unconditionally written separately from read or written.
(ifcvt_memrefs_wont_trap): Properly treat reads.
(ifcvt_could_trap_p): Inline ...
(if_convertible_gimple_assign_stmt_p): ... here.  Refactor
to avoid code duplication.
(if_convertible_loop_p_1): Adjust and properly initialize
predicates.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-if-conv.c

[Bug tree-optimization/68583] [5/6 Regression] Missed if-conversion

2015-12-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68583

--- Comment #3 from Richard Biener  ---
Author: rguenth
Date: Wed Dec  9 13:30:41 2015
New Revision: 231453

URL: https://gcc.gnu.org/viewcvs?rev=231453=gcc=rev
Log:
2015-12-09  Richard Biener  

PR tree-optimization/68583
* tree-if-conv.c (if_convertible_phi_p): Drop
flag_tree_loop_if_convert_stores check in favor of the
existing any_mask_load_store check.
(insert_gimplified_predicates): Likewise.
(combine_blocks): Likewise.
(tree_if_conversion): Likewise.
(ifcvt_memrefs_wont_trap): Properly check
flag_tree_loop_if_convert_stores in all places that can end
up introducing store-data-races.
(if_convertible_gimple_assign_stmt_p): Remove restriction
on flag_tree_loop_if_convert_stores for stores we can if-convert
without introducing store-data-races.  Force versioning for
all if-converted stores.

* gcc.dg/tree-ssa/ifc-pr68583.c: New testcase.
* gcc.dg/vect/vect-72.c: Adjust.
* gcc.dg/vect/vect-cselim-2.c: Likewise.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ifc-pr68583.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/vect-72.c
trunk/gcc/testsuite/gcc.dg/vect/vect-cselim-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c
trunk/gcc/tree-if-conv.c

[Bug tree-optimization/68583] [5/6 Regression] Missed if-conversion

2015-12-04 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68583

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|5.3 |5.4

--- Comment #1 from Richard Biener  ---
GCC 5.3 is being released, adjusting target milestone.

[Bug tree-optimization/68583] [5/6 Regression] Missed if-conversion

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-27
 CC||venkataramanan.kumar at amd 
dot co
   ||m
  Known to work||4.9.3, 5.1.0
   Target Milestone|--- |5.3
 Ever confirmed|0   |1
  Known to fail||5.2.0, 6.0