https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63892 --- Comment #18 from Iain Sandoe --- so - next increment - simplification of the previous. (don't try to redirect callers if we don't have any) diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c index e1af8bf..ca19967 100644 --- a/gcc/ipa-icf.c +++ b/gcc/ipa-icf.c @@ -660,7 +660,8 @@ sem_function::merge (sem_item *alias_item) /* When both alias and original are not overwritable, we can save the extra thunk wrapper for direct calls. */ redirect_callers - = (!original_discardable + = (alias->callers + && !original_discardable && !DECL_COMDAT_GROUP (alias->decl) && alias->get_availability () > AVAIL_INTERPOSABLE && original->get_availability () > AVAIL_INTERPOSABLE Unfortunately, we're still not there. I think that we can have a situation where we remove an alias which happens to be the version that the vtable is pointing to (and so end up with an unsatisfied reference from the vtable and link time). However, I still haven't figured out how to redirect those references… >From gcc-bugs-return-478091-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Feb 22 13:04:44 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 30159 invoked by alias); 22 Feb 2015 13:04:44 -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 29981 invoked by uid 48); 22 Feb 2015 13:04:41 -0000 From: "zsojka at seznam dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/65161] ICE: in vec<_haifa_insn_data, va_heap, vl_embed>::operator[], at vec.h:736 with -O3 -fselective-scheduling2 -mtune=slm Date: Sun, 22 Feb 2015 13:11:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: zsojka at seznam dot cz X-Bugzilla-Status: UNCONFIRMED 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: attachments.created 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-02/txt/msg02423.txt.bz2 Content-length: 1917 https://gcc.gnu.org/bugzilla/show_bug.cgi?ide161 --- Comment #1 from Zdenek Sojka --- Created attachment 34834 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id4834&actioníit testcase that doesn't need --param on cmd line Compiler output: $ gcc -O3 -fselective-scheduling2 -mtune=slm testcase.c testcase.c: In function 'foo': testcase.c:11:1: internal compiler error: in operator[], at vec.h:736 } ^ 0x5abcde vec<_haifa_insn_data, va_heap, vl_embed>::operator[](unsigned int) /mnt/svn/gcc-trunk/gcc/vec.h:736 0xf304c6 vec<_haifa_insn_data, va_heap, vl_embed>::operator[](unsigned int) /mnt/svn/gcc-trunk/gcc/config/i386/i386.c:26672 0xf304c6 vec<_haifa_insn_data, va_heap, vl_ptr>::operator[](unsigned int) /mnt/svn/gcc-trunk/gcc/vec.h:1202 0xf304c6 swap_top_of_ready_list /mnt/svn/gcc-trunk/gcc/config/i386/i386.c:26661 0xf304c6 ix86_sched_reorder /mnt/svn/gcc-trunk/gcc/config/i386/i386.c:26740 0xc0e83d invoke_reorder_hooks /mnt/svn/gcc-trunk/gcc/sel-sched.c:4129 0xc0e83d find_best_expr /mnt/svn/gcc-trunk/gcc/sel-sched.c:4406 0xc0e83d fill_insns /mnt/svn/gcc-trunk/gcc/sel-sched.c:5568 0xc0f73a schedule_on_fences /mnt/svn/gcc-trunk/gcc/sel-sched.c:7393 0xc0f73a sel_sched_region_2 /mnt/svn/gcc-trunk/gcc/sel-sched.c:7531 0xc11025 sel_sched_region_1 /mnt/svn/gcc-trunk/gcc/sel-sched.c:7573 0xc11025 sel_sched_region(int) /mnt/svn/gcc-trunk/gcc/sel-sched.c:7674 0xc12021 run_selective_scheduling() /mnt/svn/gcc-trunk/gcc/sel-sched.c:7750 0xbea6e5 rest_of_handle_sched2 /mnt/svn/gcc-trunk/gcc/sched-rgn.c:3647 0xbea6e5 execute /mnt/svn/gcc-trunk/gcc/sched-rgn.c:3791 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions.