public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3
@ 2010-11-04 13:16 bredelin at ucla dot edu
  2010-11-04 13:17 ` [Bug tree-optimization/46302] " bredelin at ucla dot edu
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2010-11-04 13:16 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: Program with virtual public inheritance crashes at O3
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bredelin@ucla.edu


The attached files gives a segfault when compiled at O3.

It may result from trying to optimize out virtual function calls with a virtual
public base class.


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

* [Bug tree-optimization/46302] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
@ 2010-11-04 13:17 ` bredelin at ucla dot edu
  2010-11-04 13:18 ` bredelin at ucla dot edu
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2010-11-04 13:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from bredelin at ucla dot edu 2010-11-04 13:17:47 UTC ---
Created attachment 22275
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22275
source in multiple files


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

* [Bug tree-optimization/46302] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
  2010-11-04 13:17 ` [Bug tree-optimization/46302] " bredelin at ucla dot edu
@ 2010-11-04 13:18 ` bredelin at ucla dot edu
  2010-11-04 13:19 ` bredelin at ucla dot edu
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2010-11-04 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from bredelin at ucla dot edu 2010-11-04 13:18:48 UTC ---
Created attachment 22276
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22276
source in single c++ file


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

* [Bug tree-optimization/46302] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
  2010-11-04 13:17 ` [Bug tree-optimization/46302] " bredelin at ucla dot edu
  2010-11-04 13:18 ` bredelin at ucla dot edu
@ 2010-11-04 13:19 ` bredelin at ucla dot edu
  2010-11-04 14:27 ` [Bug tree-optimization/46302] [4.6 Regression] " rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2010-11-04 13:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from bredelin at ucla dot edu 2010-11-04 13:19:34 UTC ---
Created attachment 22277
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22277
preprocessed source file


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (2 preceding siblings ...)
  2010-11-04 13:19 ` bredelin at ucla dot edu
@ 2010-11-04 14:27 ` rguenth at gcc dot gnu.org
  2010-11-11 17:18 ` jamborm at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-04 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jamborm at gcc dot gnu.org
   Target Milestone|---                         |4.6.0

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-04 14:27:06 UTC ---
I'm sure it's a dup of one of the devirtualization things.


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (3 preceding siblings ...)
  2010-11-04 14:27 ` [Bug tree-optimization/46302] [4.6 Regression] " rguenth at gcc dot gnu.org
@ 2010-11-11 17:18 ` jamborm at gcc dot gnu.org
  2010-11-15 12:53 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2010-11-11 17:18 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2010.11.11 17:17:46
         AssignedTo|unassigned at gcc dot       |jamborm at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-11-11 17:17:46 UTC ---
Yes, it is almost certainly wrong devirtualization in a constructor
because the dynamic type is different from the static type that is
in the incoming jump function.  Mine.


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (4 preceding siblings ...)
  2010-11-11 17:18 ` jamborm at gcc dot gnu.org
@ 2010-11-15 12:53 ` rguenth at gcc dot gnu.org
  2010-12-16 17:12 ` jamborm at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-15 12:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
           Priority|P3                          |P1


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (5 preceding siblings ...)
  2010-11-15 12:53 ` rguenth at gcc dot gnu.org
@ 2010-12-16 17:12 ` jamborm at gcc dot gnu.org
  2010-12-22 12:57 ` jamborm at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2010-12-16 17:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-12-16 17:12:33 UTC ---
I have re-posted the patch series to address this:

http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01213.html


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (6 preceding siblings ...)
  2010-12-16 17:12 ` jamborm at gcc dot gnu.org
@ 2010-12-22 12:57 ` jamborm at gcc dot gnu.org
  2010-12-29  8:45 ` jamborm at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2010-12-22 12:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-12-22 12:57:00 UTC ---
Author: jamborm
Date: Wed Dec 22 12:56:54 2010
New Revision: 168168

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168
Log:
2010-12-22  Martin Jambor  <mjambor@suse.cz>

    PR tree-optimization/45934
    PR tree-optimization/46302
    PR tree-optimization/46987
    * gimple-fold.c (get_base_binfo_for_type): Removed.
    (gimple_get_relevant_ref_binfo): Likewise.
    (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
    removed parameter inplace, updated the caller.
    * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
    * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
    (ipcp_discover_new_direct_edges): Do not do devirtualization based on
    constants.
    * ipa-prop.c (compute_known_type_jump_func): Use
    get_ref_base_and_extent and get_binfo_at_offset instead of
    gimple_get_relevant_ref_binfo.
    (compute_known_type_jump_func): Likewise.
    (update_jump_functions_after_inlining): Do not derive types from
    constants.
    (try_make_edge_direct_virtual_call): Likewise.
    * tree.c (get_binfo_at_offset): Get type from non-artificial fields.

    * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed.
    * testsuite/g++.dg/ipa/ivinline-6.C: Likewise.
    * testsuite/g++.dg/otr-fold-1.C: Likewise.
    * testsuite/g++.dg/otr-fold-2.C: Likewise.
    * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan.
    * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise.
    * testsuite/g++.dg/tree-ssa/pr46987.C: New test.


Added:
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C
Removed:
    trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C
    trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C
    trunk/gcc/testsuite/g++.dg/otr-fold-1.C
    trunk/gcc/testsuite/g++.dg/otr-fold-2.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-fold.c
    trunk/gcc/gimple.h
    trunk/gcc/ipa-cp.c
    trunk/gcc/ipa-prop.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C
    trunk/gcc/tree.c


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (7 preceding siblings ...)
  2010-12-22 12:57 ` jamborm at gcc dot gnu.org
@ 2010-12-29  8:45 ` jamborm at gcc dot gnu.org
  2011-01-14 23:55 ` jamborm at gcc dot gnu.org
  2011-01-17 15:12 ` jamborm at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2010-12-29  8:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-12-29 08:45:43 UTC ---
This still needs at least the following patch in the series
(http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01215.html) in order to
be considered fixed.


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (8 preceding siblings ...)
  2010-12-29  8:45 ` jamborm at gcc dot gnu.org
@ 2011-01-14 23:55 ` jamborm at gcc dot gnu.org
  2011-01-17 15:12 ` jamborm at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-01-14 23:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-01-14 23:01:02 UTC ---
Author: jamborm
Date: Fri Jan 14 23:00:59 2011
New Revision: 168825

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168825
Log:
2011-01-14  Martin Jambor  <mjambor@suse.cz>

    PR tree-optimization/45934
    PR tree-optimization/46302
    * ipa-prop.c (type_change_info): New type.
    (stmt_may_be_vtbl_ptr_store): New function.
    (check_stmt_for_type_change): Likewise.
    (detect_type_change): Likewise.
    (detect_type_change_ssa): Likewise.
    (compute_complex_assign_jump_func): Check for dynamic type change.
    (compute_complex_ancestor_jump_func): Likewise.
    (compute_known_type_jump_func): Likewise.
    (compute_scalar_jump_functions): Likewise.
    (ipa_analyze_virtual_call_uses): Likewise.
    (ipa_analyze_node): Push and pop cfun, set current_function_decl.

    * testsuite/g++.dg/ipa/devirt-c-1.C: New test.
    * testsuite/g++.dg/ipa/devirt-c-2.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-c-3.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-c-4.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-c-5.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-c-6.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-6.C: Likewise.
    * testsuite/g++.dg/ipa/devirt-d-1.C: Likewise.
    * testsuite/g++.dg/torture/pr45934.C: Likewise.


Added:
    trunk/gcc/testsuite/g++.dg/ipa/devirt-6.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-1.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-2.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-3.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-4.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-5.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-c-6.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-d-1.C
    trunk/gcc/testsuite/g++.dg/torture/pr45934.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-prop.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
  2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
                   ` (9 preceding siblings ...)
  2011-01-14 23:55 ` jamborm at gcc dot gnu.org
@ 2011-01-17 15:12 ` jamborm at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-01-17 15:12 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

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

--- Comment #10 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-01-17 14:45:49 UTC ---
Fixed.


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

end of thread, other threads:[~2011-01-17 14:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-04 13:16 [Bug tree-optimization/46302] New: Program with virtual public inheritance crashes at O3 bredelin at ucla dot edu
2010-11-04 13:17 ` [Bug tree-optimization/46302] " bredelin at ucla dot edu
2010-11-04 13:18 ` bredelin at ucla dot edu
2010-11-04 13:19 ` bredelin at ucla dot edu
2010-11-04 14:27 ` [Bug tree-optimization/46302] [4.6 Regression] " rguenth at gcc dot gnu.org
2010-11-11 17:18 ` jamborm at gcc dot gnu.org
2010-11-15 12:53 ` rguenth at gcc dot gnu.org
2010-12-16 17:12 ` jamborm at gcc dot gnu.org
2010-12-22 12:57 ` jamborm at gcc dot gnu.org
2010-12-29  8:45 ` jamborm at gcc dot gnu.org
2011-01-14 23:55 ` jamborm at gcc dot gnu.org
2011-01-17 15:12 ` jamborm 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).