[Bug tree-optimization/91482] __builtin_assume_aligned should not break write combining

2019-08-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91482

--- Comment #4 from Richard Biener  ---
Author: rguenth
Date: Wed Aug 21 11:45:34 2019
New Revision: 274796

URL: https://gcc.gnu.org/viewcvs?rev=274796=gcc=rev
Log:
2019-08-21  Richard Biener  

PR tree-optimization/91482
* tree-ssa-ccp.c (ccp_folder::fold_stmt): Remove useless
BUILT_IN_ASSUME_ALIGNED calls.

* gcc.dg/tree-ssa/pr91482.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr91482.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-ccp.c

[Bug tree-optimization/91482] __builtin_assume_aligned should not break write combining

2019-08-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91482

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||10.0
 Resolution|--- |FIXED

--- Comment #3 from Richard Biener  ---
Fixed on trunk.

[Bug tree-optimization/91482] __builtin_assume_aligned should not break write combining

2019-08-20 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91482

--- Comment #2 from Richard Biener  ---
So the easiest thing is to move the last forwprop pass across phiopt and after
fold_builtins.  Another possibility would be to get rid of the redundant
second __builtin_assume_aligned as soon as we discover that (in CCP).

Testing the latter.

[Bug tree-optimization/91482] __builtin_assume_aligned should not break write combining

2019-08-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91482

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-08-19
  Component|rtl-optimization|tree-optimization
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.  store-merging rejects it because we get rid of the
__builtin_assume_alinged only in fab.