Commit 3f05a4f0 by Jan Hubicka Committed by Jan Hubicka

re PR ipa/83051 (ICE on valid code at -O3: in edge_badness, at ipa-inline.c:1024)


	PR ipa/83051
	* gcc.c-torture/compile/pr83051.c: New testcase.
	* ipa-inline.c (edge_badness): Tolerate roundoff errors.

From-SVN: r256659
parent 01b9bf06
2018-01-14 Jan Hubicka <hubicka@ucw.cz>
PR ipa/83051
* ipa-inline.c (edge_badness): Tolerate roundoff errors.
2018-01-14 Richard Sandiford <richard.sandiford@linaro.org>
* ipa-inline.c (want_inline_small_function_p): Return false if
......
......@@ -997,7 +997,8 @@ edge_badness (struct cgraph_edge *edge, bool dump)
/* Check that inlined time is better, but tolerate some roundoff issues.
FIXME: When callee profile drops to 0 we account calls more. This
should be fixed by never doing that. */
gcc_checking_assert ((edge_time - callee_info->time).to_int () <= 0
gcc_checking_assert ((edge_time * 100
- callee_info->time * 101).to_int () <= 0
|| callee->count.ipa ().initialized_p ());
gcc_checking_assert (growth <= callee_info->size);
......
2018-01-14 Jan Hubicka <hubicka@ucw.cz>
PR ipa/83051
* gcc.c-torture/compile/pr83051.c: New testcase.
2018-01-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/83501
......
int a[1], b, c, d, e, f, g, h;
void fn1 (int p)
{
b = b >> 8 ^ a[b ^ (c & 5)] >> 8 ^ a[(b ^ c) & 5];
b = b >> 8 ^ a[(b ^ c) & 5];
}
static void fn2 ()
{
int k;
while (1)
while (e)
{
while (g)
while (h)
for (k = 0; k < 6; k++)
while (f)
fn1 (0);
fn1 (0);
fn1 (0);
fn1 (0);
}
}
int main ()
{
fn2 ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment