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/46535] New: [4.6 Regression] Endless loop during inlining


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

           Summary: [4.6 Regression] Endless loop during inlining
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: rguenth@gcc.gnu.org
                CC: hubicka@gcc.gnu.org


Reducing PR46523 I run into

> gdb --args ./cc1plus -quiet -O2 -m32 -w -std=c++0x -o /dev/null 9793.ii
...
Program received signal SIGINT, Interrupt.
0x0000000000f9a39c in cgraph_decide_inlining_of_small_functions ()
    at /space/rguenther/src/svn/trunk/gcc/ipa-inline.c:1178
1178                  where = where->callers->caller;
(gdb) l
1173              where = edge->caller;
1174              while (where->global.inlined_to)
1175                {
1176                  if (where->decl == edge->callee->decl)
1177                    break;
1178                  where = where->callers->caller;
1179                }
1180              if (where->global.inlined_to)
1181                {
1182                  edge->inline_failed
(gdb) p where->callers->caller
$1 = (struct cgraph_node *) 0x7ffff4f99420
(gdb) p where
$2 = (struct cgraph_node *) 0x7ffff4f99420
(gdb) p where->global.inlined_to
$3 = (struct cgraph_node *) 0x7ffff4fb3420

thus, an endless loop.  Maybe related to the original PR of course.

I will try to reduce this one as well as soon as reducing the other
one finished.


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