[Bug target/59371] [4.8/4.9 Regression] Performance regression in GCC 4.8 and later versions.
macro@linux-mips.org
gcc-bugzilla@gcc.gnu.org
Tue Dec 3 23:09:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59371
Maciej W. Rozycki <macro@linux-mips.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |macro@linux-mips.org
--- Comment #3 from Maciej W. Rozycki <macro@linux-mips.org> ---
Caused by:
------------------------------------------------------------------------
r193882 | rguenth | 2012-11-28 09:27:10 +0000 (Wed, 28 Nov 2012) | 19 lines
2012-11-28 Richard Biener <rguenther@suse.de>
PR c/35634
* gimple.h (gimplify_self_mod_expr): Declare.
* gimplify.c (gimplify_self_mod_expr): Export. Take a different
type for performing the arithmetic in.
(gimplify_expr): Adjust.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Strip
sign conversions we can re-apply after adjusting the IV.
c-family/
* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
here and use a type with proper overflow behavior for types that would
need to be promoted for the arithmetic.
* gcc.dg/torture/pr35634.c: New testcase.
* g++.dg/torture/pr35634.C: Likewise.
* gcc.dg/vect/pr18536.c: Mark worker function noinline.
------------------------------------------------------------------------
More information about the Gcc-bugs
mailing list