This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/18527] New: Missed optimization
- From: "irar at il dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Nov 2004 13:37:06 -0000
- Subject: [Bug tree-optimization/18527] New: Missed optimization
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When loop bound condition is <=, number_of_iterations_in_loop returns 'unknown'
although the loop is countable. Turns out this case is pretty common in SPEC
and blocks vectorization opportunities.
E.g.,
int foo ()
{
int a[N];
int i;
int n;
for (i = 0; i <= n; i++)
{
ca[i] = 2;
}
}
In order to check loop bound for overflow (in function
number_of_iterations_exit), conditions before loop are checked (in
simplify_using_initial_conditions). However, there is no relevant condition
before the loop. The condition is n >= 0 and the expression to check n !=
2147483647.
--
Summary: Missed optimization
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: irar at il dot ibm dot com
CC: dorit at il dot ibm dot com,gcc-bugs at gcc dot gnu dot
org,rakdver at atrey dot karlin dot mff dot cuni dot cz
GCC build triplet: powerpc-apple-darwin7.0.0
GCC host triplet: powerpc-apple-darwin7.0.0
GCC target triplet: powerpc-apple-darwin7.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18527