[Bug c++/53743] ICE when compiling firefox with PGO and LTO
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |FIXED --- Comment #11 from Martin Liška --- It's quite some time and recent regression with the same symptoms has been reported. Thus closing as fixed.
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #10 from ioctl at yandex dot ru --- Unfortunately I cannot check this problem existance using last gcc versions due to a large number compilation errors in another files.
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #9 from Paolo Carlini --- Is this still an issue?
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #8 from tejohnson at gcc dot gnu.org --- Author: tejohnson Date: Fri Nov 22 23:51:45 2013 New Revision: 205293 URL: http://gcc.gnu.org/viewcvs?rev=205293&root=gcc&view=rev Log: Backport first few sets of -freorder-blocks-and-partition fixes from trunk (r198934, r198982, r199744). r198934 | tejohnson | 2013-05-15 07:14:15 -0700 (Wed, 15 May 2013) | 16 lines Changed paths: M /trunk/gcc/ChangeLog M /trunk/gcc/bb-reorder.c M /trunk/gcc/cfgcleanup.c M /trunk/gcc/cfgrtl.c M /trunk/gcc/function.h 2013-05-15 Teresa Johnson * function.h (has_bb_partition): New rtl_data flag. (bb_reorder_complete): Ditto. * cfgcleanup.c (try_crossjump_to_edge): Check for has_bb_partition instead of flag_reorder_blocks_and_partition. * cfgrtl.c (verify_hot_cold_block_grouping): Moved from bb-reorder.c, with some enhancements. (rtl_verify_flow_info_1): Call verify_hot_cold_block_grouping. * bb-reorder.c (connect_traces): Check for has_bb_partition instead of flag_reorder_blocks_and_partition. (verify_hot_cold_block_grouping): Moved to cfgrtl.c. (reorder_basic_blocks): Set bb_reorder_complete flag, remove call to verify_hot_cold_block_grouping. (partition_hot_cold_basic_blocks): Set has_bb_partition. r198982 | tejohnson | 2013-05-16 10:45:35 -0700 (Thu, 16 May 2013) | 12 lines Changed paths: M /trunk/gcc/ChangeLog M /trunk/gcc/cfgrtl.c 2013-05-16 Teresa Johnson * cfgrtl.c (verify_hot_cold_block_grouping): Return err. (rtl_verify_edges): New function. (rtl_verify_bb_insns): Ditto. (rtl_verify_bb_pointers): Ditto. (rtl_verify_bb_insn_chain): Ditto. (rtl_verify_fallthru): Ditto. (rtl_verify_bb_layout): Ditto. (rtl_verify_flow_info_1): Outline checks into new functions. (rtl_verify_flow_info): Ditto. r199744 | tejohnson | 2013-06-06 09:30:07 -0700 (Thu, 06 Jun 2013) | 64 lines Changed paths: M /trunk/gcc/ChangeLog M /trunk/gcc/Makefile.in M /trunk/gcc/basic-block.h M /trunk/gcc/bb-reorder.c M /trunk/gcc/bb-reorder.h M /trunk/gcc/cfgcleanup.c M /trunk/gcc/cfgrtl.c M /trunk/gcc/emit-rtl.c M /trunk/gcc/function.c M /trunk/gcc/ifcvt.c M /trunk/gcc/testsuite/ChangeLog M /trunk/gcc/testsuite/g++.dg/tree-prof/partition2.C M /trunk/gcc/testsuite/g++.dg/tree-prof/partition3.C A /trunk/gcc/testsuite/gcc.dg/tree-prof/20041218-1.c A /trunk/gcc/testsuite/gcc.dg/tree-prof/comp-goto-1.c M /trunk/gcc/testsuite/gcc.dg/tree-prof/pr45354.c M /trunk/gcc/testsuite/gcc.dg/tree-prof/pr50907.c M /trunk/gcc/testsuite/gcc.dg/tree-prof/pr52027.c A /trunk/gcc/testsuite/gcc.dg/tree-prof/va-arg-pack-1.c 2013-06-06 Teresa Johnson PR c++/53743 * ifcvt.c (find_if_case_1): Replace BB_COPY_PARTITION with assert as this is now done by redirect_edge_and_branch_force. * function.c (thread_prologue_and_epilogue_insns): Insert new bb after barriers, and fix interaction with splitting. * emit-rtl.c (try_split): Copy REG_CROSSING_JUMP notes. * cfgcleanup.c (try_forward_edges): Fix early return value to properly reflect changes made in the routine. * bb-reorder.c (emit_barrier_after_bb): Move to cfgrtl.c. (fix_up_fall_thru_edges): Remove incorrect check for bb layout order since this is called in cfglayout mode, and replace partition fixup with assert as that is now done by force_nonfallthru_and_redirect. (add_reg_crossing_jump_notes): Handle the fact that some jumps may already be marked with region crossing note. (insert_section_boundary_note): Make non-static, gate on flag has_bb_partition, rewrite to also check for multiple partitions. (rest_of_handle_reorder_blocks): Remove call to insert_section_boundary_note, now done later during free_cfg. (duplicate_computed_gotos): Don't duplicate partition crossing edge. * bb-reorder.h (insert_section_boundary_note): Declare. * Makefile.in (cfgrtl.o): Depend on bb-reorder.h * cfgrtl.c (rest_of_pass_free_cfg): If partitions exist invoke insert_section_boundary_note. (try_redirect_by_replacing_jump): Remove unnecessary check for region crossing note. (fixup_partition_crossing): New function. (rtl_redirect_edge_and_branch): Fixup partition boundaries. (emit_barrier_after_bb): Move here from bb-reorder.c, handle insertion in non-cfglayout mode. (force_nonfallthru_and_redirect): Fixup partition boundaries, remove old code that tried to do this. Emit barrier correctly when we are in cfglay
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 Richard Guenther changed: What|Removed |Added CC||ebotcazou at gcc dot ||gnu.org, rth at gcc dot ||gnu.org --- Comment #7 from Richard Guenther 2012-06-21 12:13:57 UTC --- With checking enabled on the top of the branch I get /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsSubstring.cpp: In member function 'void nsACString_internal::Replace(nsACString_internal::index_type, nsACString_internal::size_type, const char_type*, nsACString_internal::size_type)': /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsSubstring.cpp:339:104: note: correcting inconsistent profile data In file included from /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsSubstring.cpp:325:0: /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsTSubstring.cpp: In member function 'bool nsAString_internal::Equals(const char_type*) const': /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsTSubstring.cpp:618:3: error: EDGE_CROSSING incorrectly set across same section /home/ioctl/ff-build-semilto/src/mozilla-release/xpcom/string/src/nsTSubstring.cpp:618:3: error: missing barrier after block 5 Breakpoint 1, internal_error (gmsgid=0x171fe90 "verify_flow_info failed") at /space/rguenther/src/svn/gcc-4_7-branch/gcc/diagnostic.c:843 843 va_start (ap, gmsgid); (gdb) p *pass $1 = {type = RTL_PASS, name = 0x1743680 "pro_and_epilogue", gate = 0x0, execute = 0xbc939f , sub = 0x0, next = 0x1d53d80 , static_pass_number = 209, tv_id = TV_THREAD_PROLOGUE_AND_EPILOGUE, properties_required = 0, properties_provided = 0, properties_destroyed = 0, todo_flags_start = 524296, todo_flags_finish = 394242}
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #6 from Richard Guenther 2012-06-21 09:47:20 UTC --- Confirmed on input1 with > /space/rguenther/install/gcc-4.7.1/bin/g++ -c t.ii > -freorder-blocks-and-partition -fno-exceptions -std=gnu++0x -fprofile-use > -fprofile-correction -O2 -m32 removing -freorder-blocks-and-partition causes the bug to vanish.
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #5 from ioctl at yandex dot ru 2012-06-21 09:23:18 UTC --- Created attachment 27685 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27685 full gcc -v output for source 2
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #4 from ioctl at yandex dot ru 2012-06-21 09:21:16 UTC --- Created attachment 27684 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27684 Profile data 2
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #3 from ioctl at yandex dot ru 2012-06-21 09:19:51 UTC --- Created attachment 27683 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27683 Preprocessed source 2
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #2 from ioctl at yandex dot ru 2012-06-21 09:17:34 UTC --- Created attachment 27682 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27682 full gcc -v output
[Bug c++/53743] ICE when compiling firefox with PGO and LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53743 --- Comment #1 from ioctl at yandex dot ru 2012-06-21 09:15:54 UTC --- Created attachment 27681 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27681 Profile data 1