This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/51519] New: [4.7 Regression] ICE: in inline_small_functions, at ipa-inline.c:1410 with -O -fno-guess-branch-probability -findirect-inlining


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51519

             Bug #: 51519
           Summary: [4.7 Regression] ICE: in inline_small_functions, at
                    ipa-inline.c:1410 with -O
                    -fno-guess-branch-probability -findirect-inlining
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu


Created attachment 26064
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26064
reduced testcase (from gcc.dg/pr44012.c)

Compiler output:
$ gcc -O -fno-guess-branch-probability -findirect-inlining testcase.c
testcase.c:36:1: internal compiler error: in inline_small_functions, at
ipa-inline.c:1410
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

(gdb) list
1405
1406          /* When updating the edge costs, we only decrease badness in the
keys.
1407             Increases of badness are handled lazilly; when we see key with
out
1408             of date value on it, we re-insert it now.  */
1409          current_badness = edge_badness (edge, false);
1410          gcc_assert (cached_badness == current_badness);
1411          gcc_assert (current_badness >= badness);
1412          if (current_badness != badness)
1413            {
1414              edge->aux = fibheap_insert (heap, current_badness, edge);
(gdb) bt
#0  fancy_abort (file=0x147bef0 "/mnt/svn/gcc-trunk/gcc/ipa-inline.c",
line=1410, function=0x147c660 "inline_small_functions")
    at /mnt/svn/gcc-trunk/gcc/diagnostic.c:898
#1  0x0000000001136bb2 in inline_small_functions () at
/mnt/svn/gcc-trunk/gcc/ipa-inline.c:1410
#2  ipa_inline () at /mnt/svn/gcc-trunk/gcc/ipa-inline.c:1708
#3  0x00000000008f8ac5 in execute_one_pass (pass=0x17c42e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2079
#4  0x00000000008f928a in execute_ipa_pass_list (pass=0x17c42e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2446
#5  0x00000000006af920 in ipa_passes () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:2075
#6  cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2146
#7  0x00000000006afd5a in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1327
#8  0x000000000058d620 in c_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/c-decl.c:10026
#9  0x00000000009edc94 in compile_file (argc=15, argv=0x7fffffffdab8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:573
#10 do_compile (argc=15, argv=0x7fffffffdab8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1928
#11 toplev_main (argc=15, argv=0x7fffffffdab8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2004
#12 0x00007ffff61570ed in __libc_start_main () from /lib64/libc.so.6
#13 0x0000000000570df1 in _start ()

Tested revisions:
r182218 - crash
r181710 - crash
r180540 - OK
r178498 - OK
4.6 r180325 - OK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]