[Bug tree-optimization/69042] [6 regression] Missed optimization in ivopts
amker at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 4 15:06:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69042
--- Comment #7 from amker at gcc dot gnu.org ---
If I add back the candidate, ivopt can fix attached case, but it still can't
handle a slightly tuned case as below:
extern const int indexes[];
int bar (int code);
int
foo (short *data)
{
register int i, j;
j = 0;
for (i = 1; i < 64; i++) {
if (data[indexes[i]]) {
j++;
} else {
if (bar (j))
return 0;
j = 0;
__asm__("":::"eax","ebx","ecx","edx","esi","edi","ebp");
}
}
return 1;
}
The only difference is change bar from a function definition to a declaration.
The cost computed in ivopt for pic related symbol-ref is different because of
issue described at : https://gcc.gnu.org/ml/gcc/2016-02/msg00040.html
More information about the Gcc-bugs
mailing list