[Bug target/31975] [4.3 Regression] segfault in try_split on mips during bootstrap

daney at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue May 22 15:21:00 GMT 2007



------- Comment #10 from daney at gcc dot gnu dot org  2007-05-22 16:21 -------
This bug was triggered on the trunk by:
$ svn log -r 124258
------------------------------------------------------------------------
r124258 | hubicka | 2007-04-28 01:20:08 -0700 (Sat, 28 Apr 2007) | 50 lines


        * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use
        insn_locators_alloc instead of insn_locators_initialize;
        call reset_block_changes.
        * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
        * config/sh/sh.c (sparc_output_mi_thunk): Likewise.
        * config/is64/ia64.c (ia64_output_mi_thunk): Likewise.
        * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
        * config/score/score.c (th_output_mi_thunk): Likewise.
        * config/mips/mips.c (mips_output_mi_thunk): Likewise.
        * cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block):
        tolerate uninitialized locator info.

        Re-apply:
        * function.c (init_function_start): Don't init line number info.
        (expand_function_end): Update.
        (reset_block_changes, record_block_change, finalize_block_changes,
        check_block_change, free_block_changes): Kill.
        * function.h (reset_block_changes, record_block_change,
        finalize_block_changes, check_block_change, free_block_changes): Remove
        prototypes.
        (struct function): Remove ib_boundaries_block.
        * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
        Use curr_insn_locator to initialize locator.
        (emit_line_note): Remove.
        * cfgexpand.c (expand_gimple_cond_expr): Update.
        (construct_exit_block): Likewise.
        (tree_expand_cfg): Initialize/finalize locators.
        * expr.c (expand_expr_real): Update.
        * cfglayout.c (line_locators_locs, line_locators_lines,
        file_locators_locs, file_locators_files): Remove.
        (set_block_levels): Move to cfgexpand.c.
        (insn_locators_initialize): Remove.
        (pass_insn_locators_initialize): Remove.
        (locations_locators_locs, locations_locators_vals): New static vars.
        (curr_location, last_location, curr_block, last_block, curr_rtl_loc):
        Likewise.
        (insn_locators_alloc, insn_locators_finalize,
        set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
        New functions.
        (locator_location): New.
        (locator_line, locator_file): Rewrite.
        * rtl.h (emit_line_note): Kill.
        (insn_locators_alloc, insn_locators_finalize,
        set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
        Declare.
        * tree-inline.c (initialize_cfun): Do not initialize
        ib_boundaries_block.
        * passes.c (pass_insn_locators_initialize): Remove.

------------------------------------------------------------------------


-- 


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



More information about the Gcc-bugs mailing list