From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6177 invoked by alias); 20 Mar 2015 18:16:34 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 2957 invoked by uid 55); 20 Mar 2015 18:16:29 -0000 From: "hubicka at ucw dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/65475] [5 Regression] ICE in odr_vtable_hasher::equal (Segmentation fault) Date: Fri, 20 Mar 2015 19:11:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at ucw dot cz X-Bugzilla-Status: NEW X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: hubicka at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-03/txt/msg02158.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D65475 --- Comment #5 from Jan Hubicka --- Hmm, yeah, in one unit base is virutal and in other it is not. Perhaps just dropping that sanity check or restricting it to non-odr-violation-reported.... Honza > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D65475 >=20 > --- Comment #4 from Martin Li=C5=A1ka --- > Unfortunately, there is another problem with applied patch: >=20 > $ cat 1.ii > namespace std { > class exception {}; > class runtime_error : exception { > virtual char m_fn1(); > } a; > } >=20 > $ cat 2.ii > namespace std { > class exception { > virtual char m_fn1(); > }; > class runtime_error : exception { > } a; > } >=20 > $ g++ 1.ii 2.ii -flto -O1 > /home/marxin/Programming/bin/gcc/bin/ld: error: /tmp/cc7v39VO.o: multiple > definition of 'std::a' > /home/marxin/Programming/bin/gcc/bin/ld: /tmp/ccJ8pPM4.o: previous defini= tion > here > 2.ii:2:7: warning: type ???struct exception??? violates one definition ru= le [-Wodr] > class exception { > ^ > 1.ii:2:7: note: a type with different virtual table pointers is defined in > another translation unit > class exception {}; > ^ > 2.ii:2:7: warning: type ???struct exception??? violates one definition ru= le [-Wodr] > class exception { > ^ > 1.ii:2:7: note: a type with different bases is defined in another transla= tion > unit > class exception {}; > ^ > 1.ii:3:7: warning: type ???struct runtime_error??? violates one definitio= n rule > [-Wodr] > class runtime_error : exception { > ^ > 2.ii:5:7: note: a type with different virtual table pointers is defined in > another translation unit > class runtime_error : exception { > ^ > lto1: internal compiler error: in add_type_duplicate, at ipa-devirt.c:1575 > 0x77c43c add_type_duplicate > ../../gcc/ipa-devirt.c:1573 > 0x77c43c get_odr_type(tree_node*, bool) > ../../gcc/ipa-devirt.c:1772 > 0x77d25c register_odr_type(tree_node*) > ../../gcc/ipa-devirt.c:1848 > 0x5b43d6 lto_read_decls > ../../gcc/lto/lto.c:1946 > 0x5b4d7b lto_file_finalize > ../../gcc/lto/lto.c:2236 > 0x5b4d7b lto_create_files_from_ids > ../../gcc/lto/lto.c:2246 > 0x5b4d7b lto_file_read > ../../gcc/lto/lto.c:2287 > 0x5b4d7b read_cgraph_and_symbols > ../../gcc/lto/lto.c:2992 > 0x5b4d7b lto_main() > ../../gcc/lto/lto.c:3462 >=20 >=20 > Thanks, > Martin >=20 > --=20 > You are receiving this mail because: > You are on the CC list for the bug. > You are the assignee for the bug. >>From gcc-bugs-return-481013-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Mar 20 18:15:04 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 1229 invoked by alias); 20 Mar 2015 18:15:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 1097 invoked by uid 55); 20 Mar 2015 18:14:58 -0000 From: "hubicka at ucw dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/65492] Bad optimization in -O3 due to if-conversion and/or unrolling Date: Fri, 20 Mar 2015 19:11:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at ucw dot cz X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-03/txt/msg02157.txt.bz2 Content-length: 1013 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65492 --- Comment #7 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65492 > > Richard Biener changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |hubicka at gcc dot gnu.org > > --- Comment #6 from Richard Biener --- > --param max-peel-branches default of 32 seems to be quite high. For this > loop we have two branches on the hot path and 4 times unrolling. > > Honza - how did you arrive at the default of 32? Shouldn't that depend > on the number of other stmts thus rather look at branch density? In https://gcc.gnu.org/ml/gcc-patches/2012-10/msg02716.html I claim value around 32 is needed for apply. (not that I would recall that) I do not have really strong opinion concerning the branch density. Honza