mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-20 12:41:17 +08:00
[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>
|
||||
|
||||
* 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>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_return_address):
|
||||
|
27
gcc/testsuite/gcc.dg/pr61529.c
Normal file
27
gcc/testsuite/gcc.dg/pr61529.c
Normal file
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/* 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);
|
||||
|
||||
/* Now compute the fraction of the total count coming into the first
|
||||
|
Loading…
x
Reference in New Issue
Block a user