This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/79671] [7 Regression] mapnik miscompilation on armv7hl since r235622
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 24 Feb 2017 12:38:46 +0000
- Subject: [Bug tree-optimization/79671] [7 Regression] mapnik miscompilation on armv7hl since r235622
- Auto-submitted: auto-generated
- References: <bug-79671-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 24 Feb 2017, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
>
> --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Comparing PTRS_COMPARE_UNEQUAL={287,286} fre3 (287 doesn't occur in the list,
> so it is never optimize using ptrs_compare_unequal, 286 is only optimize for
> _286),
> the differences are:
> _286 = &MEM[(struct function *)this_9(D) + 100B].D.542596;
> - if (&D.616011.D.542596 == _286)
> - goto <bb 116>; [46.53%]
> - else
> - goto <bb 79>; [53.47%]
> -
> - <bb 79> [50.53%]:
> ...
> and
> - <bb 98> [45.34%]:
> - if (&tmp == _286)
> - goto <bb 111>; [26.74%]
> - else
> - goto <bb 99>; [73.26%]
> -
> - <bb 99> [33.22%]:
> plus lots of renumbering of basic blocks; the number of skipped bbs is big
> though.
Assuming D.616011 and tmp are automatic vars that's obviously correct.
_286 is just 'this' offsetted.