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 middle-end/55500] New: [devirt] trunk fails inline-devirt test #7


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

             Bug #: 55500
           Summary: [devirt] trunk fails inline-devirt test #7
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: matt@use.net


Created attachment 28802
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28802
test case that fails in trunk but passed with Maxim's devirt patches. added a
loop to induce 'hotness' of the path versus the original test case.

inline-devirt-7.C, which passed using Maxim's patches from 11/2011, do not pass
on current trunk. Current trunk is missing the ipa-iterations patch, which may
be  required for this test case to pass. This test embodies a simple factory
pattern and interface segregation, two C++ best practices. (The weird loop in
main() is to induce "hot" inlining as mentioned in previous bugs.)

00000000004006d0 <main>:
  4006d0:       55                      push   rbp
  4006d1:       bd 03 00 00 00          mov    ebp,0x3
  4006d6:       53                      push   rbx
  4006d7:       48 83 ec 08             sub    rsp,0x8
  4006db:       bf 10 00 00 00          mov    edi,0x10
  4006e0:       e8 db ff ff ff          call   4006c0 <_Znwm@plt>
  4006e5:       48 c7 00 50 0c 40 00    mov    QWORD PTR [rax],0x400c50
  4006ec:       48 c7 40 08 88 0c 40    mov    QWORD PTR [rax+0x8],0x400c88
  4006f3:       00 
  4006f4:       48 89 c7                mov    rdi,rax
  4006f7:       48 89 c3                mov    rbx,rax
  4006fa:       e8 61 02 00 00          call   400960 <_ZN11LinuxSocket4openEv>


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