https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96201
bin cheng <amker at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amker at gcc dot gnu.org
--- Comment #2 from bin cheng <amker at gcc dot gnu.org> ---
Reason is that memory references in f3 are not identified as address type IV
uses. I don't remember details, but it's intended by below commit:
commit 653a4b32fe72e33bfd4cdd4c25493049524a3805
Author: Bin Cheng <[email protected]>
Date: Thu Mar 2 11:25:11 2017 +0000
re PR tree-optimization/66768 (address space gets lost on literal pointer)
PR tree-optimization/66768
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
iv_use if base object can't be determined.
gcc/testsuite
* gcc.target/i386/pr66768.c: New test.
From-SVN: r245837
For f1/f2, IVOPTs fails to identify base object because pointers are converted
from integer. We need to tell the difference better.
For f3, __builtin_assume_aligned is optimized away by GCC-10 before IVOPTs.