This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/37525] [4.4 Regression] IVOPTS difference causing 20% degradation in 173.applu benchmark
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Sep 2008 15:12:04 -0000
- Subject: [Bug tree-optimization/37525] [4.4 Regression] IVOPTS difference causing 20% degradation in 173.applu benchmark
- References: <bug-37525-14936@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from jakub at gcc dot gnu dot org 2008-09-17 15:12 -------
I guess the problem might be that Fortran has signed size_type_node (and
unsigned
sizetype), so what the newly added code in int_fits_type_p does breaks Fortran
assumptions. Say for sizetype -25 (i.e. unsigned value), when it is
force_fit_type_double into a signed type, it becomes signed -25, and given that
type_low_bound (of sizetype) is 0 and -25 is smaller than 0, int_fits_type_p
fails.
Perhaps just adding another TYPE_UNSIGNED (size_type_node) check to the if
would be sufficient.
That said, I still think such change isn't appropriate for 4.3 branch.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dodji at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37525