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:
parent
f8f6b6e7c6
commit
0a7661bb98
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
Loading…
Reference in New Issue