mirror of git://gcc.gnu.org/git/gcc.git
[PATCH] Partially fix PR61529, bound basic block frequency
2014-11-10 Renlin Li <Renlin.Li@arm.com>
PR middle-end/61529
gcc/
* tree-ssa-threadupdate.c (compute_path_counts): Bound path_in_freq.
gcc/testsuite/
* gcc.dg/pr61529.c: New.
From-SVN: r217303
This commit is contained in:
parent
a25efea086
commit
202d59415f
|
|
@ -1,3 +1,8 @@
|
||||||
|
2014-11-10 Renlin Li <renlin.li@arm.com>
|
||||||
|
|
||||||
|
PR middle-end/61529
|
||||||
|
* tree-ssa-threadupdate.c (compute_path_counts): Bound path_in_freq.
|
||||||
|
|
||||||
2014-11-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
2014-11-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||||
|
|
||||||
* expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to
|
* expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2014-11-10 Renlin Li <renlin.li@arm.com>
|
||||||
|
|
||||||
|
PR middle-end/61529
|
||||||
|
* gcc.dg/pr61529.c: New.
|
||||||
|
|
||||||
2014-11-10 Bernd Schmidt <bernds@codesourcery.com>
|
2014-11-10 Bernd Schmidt <bernds@codesourcery.com>
|
||||||
|
|
||||||
* lib/target-supports.exp (check_effective_target_return_address):
|
* lib/target-supports.exp (check_effective_target_return_address):
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
/* PR middle-end/61529 */
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O3" } */
|
||||||
|
|
||||||
|
unsigned int a = 0, b = 0;
|
||||||
|
unsigned int c;
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
unsigned int d = 0;
|
||||||
|
int e[5];
|
||||||
|
|
||||||
|
for (; b < 1; b++)
|
||||||
|
d = 0;
|
||||||
|
for (; d < 1; d++)
|
||||||
|
a = 0;
|
||||||
|
for (; a < 1; a++)
|
||||||
|
;
|
||||||
|
|
||||||
|
for (c = 0; c < 5; c++)
|
||||||
|
e[c] = 1;
|
||||||
|
if (e[0])
|
||||||
|
c = 0;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -734,6 +734,11 @@ compute_path_counts (struct redirection_data *rd,
|
||||||
nonpath_count += ein->count;
|
nonpath_count += ein->count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is needed due to insane incoming frequencies. */
|
||||||
|
if (path_in_freq > BB_FREQ_MAX)
|
||||||
|
path_in_freq = BB_FREQ_MAX;
|
||||||
|
|
||||||
BITMAP_FREE (in_edge_srcs);
|
BITMAP_FREE (in_edge_srcs);
|
||||||
|
|
||||||
/* Now compute the fraction of the total count coming into the first
|
/* Now compute the fraction of the total count coming into the first
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue