re PR rtl-optimization/9768 ([HP-PA] ICE when optimizing inline code at -O2)

PR optimization/9768
	Backport patch from mainline:

	2002-03-21  DJ Delorie  <dj@redhat.com>

	* bb-reorder.c (make_reorder_chain_1): Protect against
	when redundant edges are omitted.
	* predict.c (dump_prediction): Likewise.

Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>

From-SVN: r63180
This commit is contained in:
Randolph Chung 2003-02-20 20:11:04 +00:00 committed by Eric Botcazou
parent f8f6b6e7c6
commit 0a7661bb98
5 changed files with 44 additions and 5 deletions

View File

@ -1,3 +1,15 @@
2003-02-20 Randolph Chung <tausq@debian.org>
Eric Botcazou <ebotcazou@libertysurf.fr>
PR optimization/9768
Backport patch from mainline:
2002-03-21 DJ Delorie <dj@redhat.com>
* bb-reorder.c (make_reorder_chain_1): Protect against
when redundant edges are omitted.
* predict.c (dump_prediction): Likewise.
2003-02-20 BAN Nobuhiro <ban@ipl.t.u-tokyo.ac.jp>
PR c/9678

View File

@ -205,7 +205,7 @@ make_reorder_chain_1 (bb, prev)
e_taken = e;
}
next = (taken ? e_taken : e_fall)->dest;
next = ((taken && e_taken) ? e_taken : e_fall)->dest;
}
/* In the absence of a prediction, disturb things as little as possible

View File

@ -194,7 +194,7 @@ dump_prediction (predictor, probability, bb, used)
if (!rtl_dump_file)
return;
while (e->flags & EDGE_FALLTHRU)
while (e && (e->flags & EDGE_FALLTHRU))
e = e->succ_next;
fprintf (rtl_dump_file, " %s heuristics%s: %.1f%%",
@ -205,9 +205,12 @@ dump_prediction (predictor, probability, bb, used)
{
fprintf (rtl_dump_file, " exec ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, bb->count);
fprintf (rtl_dump_file, " hit ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, e->count);
fprintf (rtl_dump_file, " (%.1f%%)", e->count * 100.0 / bb->count);
if (e)
{
fprintf (rtl_dump_file, " hit ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, e->count);
fprintf (rtl_dump_file, " (%.1f%%)", e->count * 100.0 / bb->count);
}
}
fprintf (rtl_dump_file, "\n");

View File

@ -1,3 +1,7 @@
2003-02-20 Randolph Chung <tausq@debian.org>
* gcc.c-torture/compile/20030220-1.c: New test.
2003-02-19 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
PR c++/9459

View File

@ -0,0 +1,20 @@
/* PR optimization/9768 */
/* Originator: Randolph Chung <tausq@debian.org> */
inline int fixfloor (long x)
{
if (x >= 0)
return (x >> 16);
else
return ~((~x) >> 16);
}
inline int fixtoi (long x)
{
return fixfloor(x) + ((x & 0x8000) >> 15);
}
int foo(long x, long y)
{
return fixtoi(x*y);
}