public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
@ 2014-12-12 10:19 rguenth at gcc dot gnu.org
  2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-12 10:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

            Bug ID: 64282
           Summary: [5 Regression] ICE in
                    gimple_get_virt_method_for_vtable, at
                    gimple-fold.c:5635
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org

Created attachment 34263
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34263&action=edit
preprocessed source

> ./cc1plus  -quiet scim_skk_dictionary.ii -O2
scim_skk_dictionary.cpp:1190:1: internal compiler error: in
gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
0xc44ef1 gimple_get_virt_method_for_vtable(long, tree_node*, unsigned long,
bool*)
        /space/rguenther/src/svn/trunk2/gcc/gimple-fold.c:5635
0x1812801 ipa_get_indirect_edge_target_1
        /space/rguenther/src/svn/trunk2/gcc/ipa-cp.c:1932
0x1812dd9 ipa_get_indirect_edge_target(cgraph_edge*, vec<tree_node*, va_heap,
vl_ptr>, vec<ipa_polymorphic_call_context, va_heap, vl_ptr>,
vec<ipa_agg_jump_function*, va_heap, vl_ptr>, bool*)
        /space/rguenther/src/svn/trunk2/gcc/ipa-cp.c:2030
0xd42213 estimate_edge_devirt_benefit
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3007
0xd42394 estimate_edge_size_and_time
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3048
0xd4262e estimate_calls_size_and_time
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3110
0xd4256a estimate_calls_size_and_time
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3098
0xd42aaa estimate_node_size_and_time
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3205
0xd44129 do_estimate_edge_time(cgraph_edge*)
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3701
0xd44303 do_estimate_edge_size(cgraph_edge*)
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3752
0xd394e2 estimate_edge_size
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.h:289
0xd39549 estimate_edge_growth
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.h:302
0xd44688 estimate_size_after_inlining(cgraph_node*, cgraph_edge*)
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3845
0x1824835 caller_growth_limits
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:204
0x1824f3f can_inline_edge_p
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:374
0x1827307 update_caller_keys
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:1208
0x1828ede inline_small_functions
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:1838
0x1829e68 ipa_inline
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:2189
0x182a996 execute
        /space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:2562
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
@ 2014-12-12 10:19 ` rguenth at gcc dot gnu.org
  2014-12-12 10:28 ` trippels at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-12 10:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
  2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
@ 2014-12-12 10:28 ` trippels at gcc dot gnu.org
  2014-12-12 11:00 ` trippels at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 10:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |trippels at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Might be a dup of PR64139.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
  2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
  2014-12-12 10:28 ` trippels at gcc dot gnu.org
@ 2014-12-12 11:00 ` trippels at gcc dot gnu.org
  2014-12-15  6:30 ` hubicka at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 11:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
reduced test case:

template <class _T1> struct A
{
  _T1 first;
};
struct B
{
  int operator!=(B);
};
template <typename _Tp> struct C
{
  C (B);
  _Tp operator*();
  int operator!=(C);
};
template <typename _Tp> class D
{
public:
  typedef C<_Tp> const_iterator;
  const_iterator m_fn1 () const;
  B m_fn2 ();
  void m_fn3 ();
};
class F
{
  struct G
  {
    static G &
    m_fn5 ()
    {
      void fn1 ();
      return *reinterpret_cast<G *> (fn1);
    }
    int *
    m_fn6 ()
    {
      return reinterpret_cast<int *> (this);
    }
  };
  struct _Alloc_hider
  {
    _Alloc_hider (int *p1, int) : _M_p (p1) {}
    int *_M_p;
  } _M_dataplus;
  G &
  m_fn4 ()
  {
    return G::m_fn5 ();
  }
public:
  F () : _M_dataplus (m_fn4 ().m_fn6 (), 0) {}
};
class H
{
  void m_fn7 (const F &, bool &);
  bool m_fn8 (const D<F> &, const F &, F &);
};
typedef A<int> CandPair;
class I
{
public:
  virtual void m_fn9 (const F &, bool, D<CandPair> &);
};
class J : I
{
public:
  void m_fn9 (const F &, bool, D<CandPair> &);
};
D<I *> c;
void
J::m_fn9 (const F &, bool, D<CandPair> &)
{
  D<int> a;
  for (B b; b != a.m_fn2 ();)
    ;
}
inline void
fn2 (F p1, int, int, J *p4, D<CandPair>)
{
  D<CandPair> d;
  d.m_fn3 ();
  p4->m_fn9 (p1, 0, d);
  for (D<I *>::const_iterator e = c.m_fn1 (); e != c.m_fn2 ();)
    (*e)->m_fn9 (p1, 0, d);
}
void
H::m_fn7 (const F &, bool &)
{
  A<F> f;
  D<F> g;
  F h;
  m_fn8 (g, f.first, h);
}
bool
H::m_fn8 (const D<F> &p1, const F &, F &)
{
  F i;
  p1.m_fn1 ();
  D<CandPair> j;
  fn2 (i, 0, 0, 0, j);
}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-12-12 11:00 ` trippels at gcc dot gnu.org
@ 2014-12-15  6:30 ` hubicka at gcc dot gnu.org
  2015-01-13 10:15 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-12-15  6:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-12-15
                 CC|                            |hubicka at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Mine.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-12-15  6:30 ` hubicka at gcc dot gnu.org
@ 2015-01-13 10:15 ` rguenth at gcc dot gnu.org
  2015-01-27 17:00 ` hubicka at gcc dot gnu.org
  2015-01-27 17:10 ` hubicka at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 10:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-01-13 10:15 ` rguenth at gcc dot gnu.org
@ 2015-01-27 17:00 ` hubicka at gcc dot gnu.org
  2015-01-27 17:10 ` hubicka at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-27 17:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Tue Jan 27 16:59:31 2015
New Revision: 220177

URL: https://gcc.gnu.org/viewcvs?rev=220177&root=gcc&view=rev
Log:

    PR ipa/64282
    * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
    on vtable being vtable.
    * g++.dg/torture/pr64282.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr64282.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-fold.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
  2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-01-27 17:00 ` hubicka at gcc dot gnu.org
@ 2015-01-27 17:10 ` hubicka at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-27 17:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The fix may make sense to be backported to 4.9 if the bug reproduces there.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-01-27 17:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
2014-12-12 10:28 ` trippels at gcc dot gnu.org
2014-12-12 11:00 ` trippels at gcc dot gnu.org
2014-12-15  6:30 ` hubicka at gcc dot gnu.org
2015-01-13 10:15 ` rguenth at gcc dot gnu.org
2015-01-27 17:00 ` hubicka at gcc dot gnu.org
2015-01-27 17:10 ` hubicka at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).