re PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline-analysis.c:425 with -flto -finline-small-functions -fno-early-inlining)
PR tree-optimization/48622 PR lto/48645 * ipa-inline-analysis.c (inline_read_summary): Read size/time in same order as they're written. testsuite/ * gcc.dg/lto/pr48622_0.c: New test. From-SVN: r172603
This commit is contained in:
parent
e27f2b5858
commit
b183e9e079
4 changed files with 108 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2011-04-17 Michael Matz <matz@suse.de>
|
||||
|
||||
PR tree-optimization/48622
|
||||
PR lto/48645
|
||||
* ipa-inline-analysis.c (inline_read_summary): Read size/time
|
||||
in same order as they're written.
|
||||
|
||||
2011-04-16 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/sse.md (sseunpackmode): New mode attribute.
|
||||
|
|
|
@ -612,10 +612,10 @@ inline_read_summary (void)
|
|||
|
||||
info->estimated_stack_size
|
||||
= info->estimated_self_stack_size = lto_input_uleb128 (ib);
|
||||
info->time = info->self_time = lto_input_uleb128 (ib);
|
||||
info->time_inlining_benefit = lto_input_uleb128 (ib);
|
||||
info->size = info->self_size = lto_input_uleb128 (ib);
|
||||
info->size_inlining_benefit = lto_input_uleb128 (ib);
|
||||
info->time = info->self_time = lto_input_uleb128 (ib);
|
||||
info->time_inlining_benefit = lto_input_uleb128 (ib);
|
||||
info->estimated_growth = INT_MIN;
|
||||
|
||||
bp = lto_input_bitpack (ib);
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2011-04-17 Michael Matz <matz@suse.de>
|
||||
|
||||
PR tree-optimization/48622
|
||||
PR lto/48645
|
||||
* gcc.dg/lto/pr48622_0.c: New test.
|
||||
|
||||
2011-04-16 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* gcc.target/i386/avx256-unaligned-load-1.c: Update scan patterns.
|
||||
|
|
93
gcc/testsuite/gcc.dg/lto/pr48622_0.c
Normal file
93
gcc/testsuite/gcc.dg/lto/pr48622_0.c
Normal file
|
@ -0,0 +1,93 @@
|
|||
/* { dg-lto-do link } */
|
||||
/* { dg-lto-options {{-O -flto -finline-small-functions -fno-early-inlining}} } */
|
||||
|
||||
void abort(void);
|
||||
void exit(int);
|
||||
|
||||
typedef unsigned int u8 __attribute__ ((mode (QI)));
|
||||
|
||||
u8
|
||||
ashift_qi_0 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_2 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_3 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_4 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_5 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_6 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
ashift_qi_7 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
lshiftrt_qi_0 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
lshiftrt_qi_4 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
lshiftrt_qi_5 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
u8
|
||||
lshiftrt_qi_7 (u8 n)
|
||||
{
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
if (ashift_qi_0 (0xff) != (u8) ((u8) 0xff << 0))
|
||||
abort ();
|
||||
if (ashift_qi_1 (0xff) != (u8) ((u8) 0xff << 1))
|
||||
abort ();
|
||||
if (ashift_qi_2 (0xff) != (u8) ((u8) 0xff << 2))
|
||||
abort ();
|
||||
if (ashift_qi_3 (0xff) != (u8) ((u8) 0xff << 3))
|
||||
abort ();
|
||||
if (ashift_qi_4 (0xff) != (u8) ((u8) 0xff << 4))
|
||||
abort ();
|
||||
if (ashift_qi_5 (0xff) != (u8) ((u8) 0xff << 5))
|
||||
abort ();
|
||||
if (ashift_qi_6 (0xff) != (u8) ((u8) 0xff << 6))
|
||||
abort ();
|
||||
if (ashift_qi_7 (0xff) != (u8) ((u8) 0xff << 7))
|
||||
abort ();
|
||||
if (lshiftrt_qi_0 (0xff) != (u8) ((u8) 0xff >> 0))
|
||||
abort ();
|
||||
if (lshiftrt_qi_4 (0xff) != (u8) ((u8) 0xff >> 4))
|
||||
abort ();
|
||||
if (lshiftrt_qi_5 (0xff) != (u8) ((u8) 0xff >> 5))
|
||||
abort ();
|
||||
if (lshiftrt_qi_7 (0xff) != (u8) ((u8) 0xff >> 7))
|
||||
abort ();
|
||||
exit (0);
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue