Age | Commit message (Collapse) | Author | Files | Lines |
|
* combine.c: Fix comment formatting.
* expr.c: Likewise.
* genautomata.c: Likewise.
* stmt.c: Likewise.
* tree.h: Likewise.
From-SVN: r53044
|
|
2002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* combine.c (find_split_point): Use gen_int_mode.
From-SVN: r52916
|
|
From-SVN: r52467
|
|
PR c/6223
* combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
* gcc.dg/20020411-1.c: New test.
From-SVN: r52176
|
|
paradoxical subreg when...
* combine.c (simplify_comparison): Avoid narrowing a comparison
with a paradoxical subreg when doing so would drop signficant bits.
Co-Authored-By: Hans-Peter Nilsson <hp@bitrange.com>
From-SVN: r51785
|
|
PR optimization/6086
* combine.c (combine_simplify_rtx): If simplify_rtx failed because
of SUBREG of volatile MEM or because the MEM was mode dependent,
return CLOBBER instead of unmodified SUBREG.
From-SVN: r51606
|
|
needed.
* combine.c (set_nonzero_bits_and_sign_copies): Don't call
nonzero_bits if not needed.
(nonzero_bits) [XOR]: Likewise.
(nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
reg_last_set_mode and mode are both MODE_INT, but not equal.
(record_value_for_reg): Compute reg_last_set_nonzero_bits
in nonzero_bits_mode for MODE_INT modes.
From-SVN: r51551
|
|
to force_to_mode bug)
* combine.c (simplify_and_const_int): Make sure to apply mask
when force_to_mode returns a constant integer. PR3311.
From-SVN: r51532
|
|
overflow of constant.
* combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
test for overflow of constant.
From-SVN: r51349
|
|
on CONST_INTs.
* combine.c (simplify_comparison): When widening modes, ignore
sign extension on CONST_INTs.
From-SVN: r51216
|
|
* emit-rtl.c (gen_int_mode): New function.
* rtl.h: Prototype for it.
* combine.c (make_extraction, simplify_comparison), expmed.c
(store_bit_field, expand_mult_highpart, expand_divmod), expr.c
(convert_modes, store_field), optabs.c (expand_fix),
simplify-rtx.c (neg_const_int, simplify_unary_real),
* config/rs6000/rs6000.c, config/rs6000/rs6000.md:
Use it instead of GEN_INT (trunc_int_for_mode (...)).
From-SVN: r51030
|
|
From-SVN: r50533
|
|
From-SVN: r50491
|
|
fix return value.
* cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
removed; fix return value.
* combine.c (combine_instructions): Dirtify blocks where we failed to
update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
* toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
From-SVN: r50454
|
|
* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
(MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
* flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
(HONOR_SIGN_DEPENDENT_ROUNDING): New.
* builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
* c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
unless x and y could be infinite.
(expand_unordered_cmp): New, mostly split from expand_tree_builtin.
Check that the common type of both arguments is a real, even for
targets without unordered comparisons. Allow an integer argument
to be compared against a real.
(expand_tree_builtin): Use expand_unordered_cmp.
* combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
* cse.c (fold_rtx): Likewise. Fix indentation.
* fold-const.c (fold_real_zero_addition_p): New.
(fold): Use it, and the new HONOR_... macros.
* ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
* jump.c (reversed_comparison_code_parts): After searching for
the true comparison mode, use HONOR_NANS to decide whether it
can be safely reversed.
(reverse_condition_maybe_unordered): Remove IEEE check.
* simplify-rtx.c (simplify_binary_operation): Use the new macros
to decide which simplifications are valid. Allow the following
simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
and (a - -b) to (a + b).
(simplify_relational_operation): Use HONOR_NANS.
* doc/tm.texi: Document the MODE_HAS_... macros.
From-SVN: r50401
|
|
compare with constant...
* combine.c (simplify_comparison): If simplifying a logical shift
right and compare with constant, force the comparison to unsigned.
From-SVN: r50400
|
|
into account as third type of extension.
* doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
to take ptr_extend into account as third type of extension.
(SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
fields used by SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
(SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
* calls.c (precompute_arguments): Use new macro.
(expand_call): Ditto.
* combine.c (nonzero_bits): Ditto.
(record_promoted_value): Ditto.
* expr.c (store_expr): Ditto.
(expand_expr): Ditto.
* function.c (assign_parms): Ditto.
From-SVN: r50174
|
|
* combine.c (do_SUBST): Sanity check substitutions of
CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
(subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
CONST_INT into its operand.
(known_cond): Likewise, for ZERO_EXTEND.
* simplify-rtx.c (simplify_unary_operation): Fix condition to
allow for simplification of wide modes. Reject CONST_INTs in
ZERO_EXTEND when their actual mode is not given.
From-SVN: r49920
|
|
2002-02-19 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
("mmx_uavgv4hi3"): Same.
("pmulhrwv4hi3"): Same.
* tree-inline.c (walk_tree): Handle vectors.
* c-common.c (constant_expression_warning): Handle vectors.
(overflow_warning): Same.
* sched-deps.c (sched_analyze_2): Handle vectors.
* rtlanal.c (rtx_unstable_p): Handle vectors.
(rtx_varies_p): Same.
(count_occurrences): Same.
(regs_set_between_p): Same.
(modified_between_p): Same.
(modified_in_p): Same.
(volatile_insn_p): Same.
(volatile_refs_p): Same.
(side_effects_p): Same.
(may_trap_p): Same.
(inequality_comparisons_p): Same.
(replace_regs): Same.
(computed_jump_p_1): Same.
* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
argument.
(inner_mode_array): New.
(copy_rtx): Handle vectors.
(copy_most_rtx): Same.
(rtx_equal_p): Same.
(get_mode_alignment): Adjust for vectors.
* resource.c (mark_referenced_resources): Handle vectors.
(mark_set_resources): Same.
* reload1.c (eliminate_regs): Handle vectors.
(elimination_effects): Same.
(scan_paradoxical_subregs): Same.
* reload.c (subst_reg_equivs): Handle vectors.
* regrename.c (scan_rtx): Handle vectors.
* regclass.c (reg_scan_mark_refs): Handle vectors.
* recog.c (find_single_use_1): Handle vectors.
* local-alloc.c (equiv_init_varies_p): Handle vectors.
(contains_replace_regs): Same.
(memref_referenced_p): Same.
* integrate.c (copy_rtx_and_substitute): Handle vectors.
(subst_constants): Same.
* genattrtab.c (attr_copy_rtx): Handle vectors.
(encode_units_mask): Same.
(clear_struct_flag): Same.
(count_sub_rtxs): Same.
* gcse.c (want_to_gcse_p): Handle vectors.
(oprs_unchanged_p): Same.
(hash_expr_1): Same.
(oprs_not_set_p): Same.
(expr_killed_p): Same.
(compute_transp): Same.
(store_ops_ok): Same.
* function.c (purge_addressof_1): Do not allow paradoxical subregs
of vectors.
(fixup_var_refs_1): Same.
(instantiate_virtual_regs_1): Same.
* fold-const.c (operand_equal_p): Handle vectors.
(fold): Same.
(rtl_expr_nonnegative_p): Same.
* flow.c (mark_used_regs): Handle vectors.
* df.c (df_uses_record): Handle vectors.
* cselib.c (cselib_subst_to_values): Handle vectors.
(cselib_mem_conflict_p): Same.
(hash_rtx): Same.
* cse.c (canon_reg): Handle vectors.
(fold_rt): Same.
(cse_process_notes): Same.
(count_reg_usage): Same.
(canon_hash): Same.
* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
(gen_rtx): Handle CONST_VECTOR.
(gen_const_vector_0): New.
(copy_rtx_if_shared): CONST_VECTORs can be shared.
(reset_used_flags): Same.
(copy_insn_1): Same.
(initializer_constant_valid_p): Handle VECTOR_CST.
* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
* doc/rtl.texi (Constants): Document const_vector.
(CONST0_RTX): Update for vectors.
(RTL sharing): Same.
* print-tree.c (print_node): Add case for VECTOR_CST.
* tree.h (TREE_VECTOR_CST_ELTS): New.
(struct tree_vector): New.
(union tree_node): Add vector node.
(build_vector): Add prototype.
* tree.def (VECTOR_CST): New.
* tree.c (build_vector): New.
* expmed.c (make_tree): Handle CONST_VECTOR.
* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
(CONST_VECTOR_ELT): New.
(CONST_VECTOR_NUNITS): New.
* machmode.h (GET_MODE_INNER): New.
(DEF_MACHMODE): Accept 8th arg.
* machmode.def: Add 8th argument for vector inner mode.
Add inner vector modes for vectors.
* rtl.def (VEC_CONST): Remove.
(CONST_VECTOR): New.
* expr.c (clear_storage): Allow vectors.
(is_zeros_p): Handle VECTOR_CST.
* varasm.c (output_constant_pool): Handle vectors.
(rtx_const): Add veclo and vechi fields.
(kind): Add RTX_VECTOR.
(decode_rtx_const): Add case for vector.
* config/rs6000/rs6000-protos.h: Add zero_constant.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
constants. Force easy vector constants into memory.
(easy_vector_constant): New.
(emit_easy_vector_constant): New.
(rs6000_legitimize_reload_address): Do not generate bad reloads on
darwin.
* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
instruction does.
("altivec_lvxl"): Same.
(altivec_lvebx): Same.
(altivec_lvehx): Same.
(altivec_lvewx): Same.
("*movv4si_const0"): New.
("*movv4sf_const0"): New.
("*movv8hi_const0"): New.
("*movv16qi_const0"): New.
From-SVN: r49853
|
|
* combine.c (known_cond): After replacing the REG of a SUBREG, try
to simplify it.
From-SVN: r49775
|
|
* combine.c (try_combine): Apply substitutions in
CALL_INSN_FUNCTION_USAGE too.
From-SVN: r49670
|
|
REGNO_POINTER_ALIGN.
* combine.c (nonzero_bits): Re-introduce special case for
sp/fp/ap wrt REGNO_POINTER_ALIGN.
From-SVN: r49501
|
|
* combine.c (force_to_mode): Remove STACK_BIAS code.
(nonzero_bits): Likewise. Replace sp/fp special case with
REGNO_POINTER_ALIGN.
* config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
(HARD_FRAME_POINTER_REGNUM): New.
(FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
(FIXED_REGS, CALL_USED_REGS): Update.
(REG_ALLOC_ORDER, REGISTER_NAMES): Update.
(CONDITIONAL_REGISTER_USAGE): Update for HFP.
(HARD_REGNO_NREGS): Update for SFP.
(STACK_POINTER_OFFSET): Include bias here ...
(FIRST_PARM_OFFSET): ... not here.
(STACK_BIAS): Remove.
(INIT_EXPANDERS): New.
(STARTING_FRAME_OFFSET): Do not include bias.
(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
(REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
* config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
* config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
* config/sparc/sparc.c (mem_min_alignment): Update for HFP.
(sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
(MUST_SAVE_REGISTER): Likewise.
(sparc_flat_function_prologue): Likewise.
(sparc_flat_function_epilogue): Likewise.
(HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
(sparc_init_modes): SFP is GENERAL_REGS.
(sparc_builtin_saveregs): SFP does not have bias applied.
From-SVN: r49486
|
|
* combine.c (recog_for_combine): Create a dummy insn with PATTERN
pat for recog.
* gcc.dg/20020201-4.c: New test.
From-SVN: r49473
|
|
that might add "1" bits.
* combine.c (simplify_and_const_int): Don't trunc_int_for_mode
"nonzero" as that might add "1" bits. Ensure "constop" is
properly sign extened.
(force_to_mode): Tweak for sign extended constop.
From-SVN: r49112
|
|
2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
From-SVN: r49057
|
|
* bitmap.h: Fix comment formatting.
* combine.c: Likewise.
* cppfiles.c: Likewise.
* c-pragma.h: Likewise.
* c-typeck.c: Likewise.
* df.c: Likewise.
* dwarf2out.c: Likewise.
* function.c: Likewise.
* gcc.c: Likewise.
* genattrtab.c: Likewise.
* gthr-win32.h: Likewise.
* haifa-sched.c: Likewise.
* predict.c: Likewise.
* rtlanal.c: Likewise.
* rtl.h: Likewise.
* unwind-dw2-fde.h: Likewise.
* unwind-pe.h: Likewise.
* vmsdbgout.c: Likewise.
From-SVN: r48987
|
|
expression instead of reusing given expression.
* combine.c (simplify_shift_const): Always generate new rtx
for shift expression instead of reusing given expression.
From-SVN: r48831
|
|
2002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR other/5299
* config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
* combine.c (force_to_mode): Same.
* reload1.c (clear_reload_reg_in_use): Same.
From-SVN: r48780
|
|
From-SVN: r48742
|
|
From-SVN: r48712
|
|
From-SVN: r48630
|
|
* combine.c (combine_instructions): Replace XEXP (links, 0)
with link.
From-SVN: r48595
|
|
From-SVN: r48569
|
|
* builtins.c: Fix formatting.
* c-typeck.c: Likewise.
* combine.c: Likewise.
* expr.c: Likewise.
* loop.c: Likewise.
From-SVN: r48512
|
|
and high parts of a...
* combine.c (try_combine): Mask off sign bits when combining
stores to the low and high parts of a two-word value.
From-SVN: r48339
|
|
about bits outside of X mode.
* combine.c (nonzero_bits): If using reg_nonzero_bits,
we don't know anything about bits outside of X mode.
(num_sign_bit_copies): Likewise.
From-SVN: r48239
|
|
with JUMP_LABEL.
* combine.c (distribute_notes): Avoid adding REG_LABEL notes
to JUMP_INSNs with JUMP_LABEL.
* gcc.c-torture/execute/20011219-1.c: New test.
From-SVN: r48198
|
|
* combine.c (record_dead_and_set_regs): Use
regs_invalidated_by_call. Don't note stores for CALL_INSNs.
From-SVN: r48009
|
|
only low bits set and doesn't intersect...
* combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
if C has only low bits set and doesn't intersect with X or Y.
From-SVN: r47921
|
|
MODE_CC.
2001-11-30 Alan Matsuoka <alanm@redhat.com>
* combine.c (combine_simplify_rtx) : Can't simplify
cases that use mode class MODE_CC.
From-SVN: r47917
|
|
above out of range check.
* combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
simplification above out of range check.
From-SVN: r47912
|
|
comparing floating point values.
* combine.c (known_cond): Check mode of each operand to determine
if COND is comparing floating point values.
From-SVN: r47855
|
|
* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
collect2.c, combine.c, config.in, configure, configure.in,
conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
spelling errors.
From-SVN: r46928
|
|
* combine.c (num_sign_bit_copies): Avoid signed/unsigned
warnings.
From-SVN: r46625
|
|
* rtl.h (REG_VTABLE_REF): New.
* rtl.c (reg_note_name): Add it.
* combine.c (distribute_notes): Handle it.
* final.c (final_scan_insn): Handle it.
* tree.def (VTABLE_REF): New.
* expr.c (expand_expr): Handle it.
* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
* output.h: Declare them.
cp/
* class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
of an asm statement.
(build_vtbl_ref_1): Split out from build_vtbl_ref.
(build_vfn_ref): Use it to handle vtable descriptors before
calling build_vtable_entry_ref.
* decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
testsuite/
* g++.old-deja/g++.other/crash18.C: Add -S to options.
From-SVN: r46195
|
|
From-SVN: r46177
|
|
and local...
2001-10-10 Stan Shebs <shebs@apple.com>
* alias.c: Remove uses of "register" specifier in declarations
of arguments and local variables.
* c-common.c: Ditto.
* c-convert.c: Ditto.
* c-decl.c: Ditto.
* c-format.c: Ditto.
* c-semantics.c: Ditto.
* c-typeck.c: Ditto.
* caller-save.c: Ditto.
* calls.c: Ditto.
* cfg.c: Ditto.
* cfgbuild.c: Ditto.
* cfgrtl.c: Ditto.
* collect2.c: Ditto.
* combine.c: Ditto.
* convert.c: Ditto.
* cppexp.c: Ditto.
* cppfiles.c: Ditto.
* cse.c: Ditto.
* dbxout.c: Ditto.
* defaults.h: Ditto.
* df.c: Ditto.
* dwarf2out.c: Ditto.
* dwarfout.c: Ditto.
* emit-rtl.c: Ditto.
* explow.c: Ditto.
* expmed.c: Ditto.
* expr.c: Ditto.
* final.c: Ditto.
* fix-header.c: Ditto.
* floatlib.c: Ditto.
* flow.c: Ditto.
* fold-const.c: Ditto.
* function.c: Ditto.
* gcc.c: Ditto.
* gcse.c: Ditto.
* gen-protos.c: Ditto.
* genattrtab.c: Ditto.
* gencheck.c: Ditto.
* genconfig.c: Ditto.
* genemit.c: Ditto.
* genextract.c: Ditto.
* genflags.c: Ditto.
* gengenrtl.c: Ditto.
* genoutput.c: Ditto.
* genpeep.c: Ditto.
* genrecog.c: Ditto.
* gensupport.c: Ditto.
* global.c: Ditto.
* gmon.c: Ditto.
* graph.c: Ditto.
* haifa-sched.c: Ditto.
* hard-reg-set.h: Ditto.
* hash.c: Ditto.
* integrate.c: Ditto.
* jump.c: Ditto.
* lists.c: Ditto.
* local-alloc.c: Ditto.
* loop.c: Ditto.
* mips-tdump.c: Ditto.
* mips-tfile.c: Ditto.
* optabs.c: Ditto.
* prefix.c: Ditto.
* print-rtl.c: Ditto.
* read-rtl.c: Ditto.
* real.c: Ditto.
* recog.c: Ditto.
* reg-stack.c: Ditto.
* regclass.c: Ditto.
* regmove.c: Ditto.
* reload.c: Ditto.
* reload1.c: Ditto.
* reorg.c: Ditto.
* resource.c: Ditto.
* rtl.c: Ditto.
* rtlanal.c: Ditto.
* scan.c: Ditto.
* sched-deps.c: Ditto.
* sched-rgn.c: Ditto.
* sdbout.c: Ditto.
* simplify-rtx.c: Ditto.
* stmt.c: Ditto.
* stor-layout.c: Ditto.
* toplev.c: Ditto.
* tradcif.y: Ditto.
* tradcpp.c: Ditto.
* tree.c: Ditto.
* unroll.c: Ditto.
* varasm.c: Ditto.
* xcoffout.c: Ditto.
From-SVN: r46173
|
|
* calls.c: Fix formatting.
* c-decl.c: Likewise.
* cfgcleanup.c: Likewise.
* combine.c: Likewise.
* cppfiles.c: Likewise.
* cpplib.c: Likewise.
* cppmacro.c: Likewise.
* crtstuff.c: Likewise.
* cse.c: Likewise.
* dwarf2out.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genattrtab.c: Likewise.
* ggc-page.c: Likewise.
* integrate.c: Likewise.
* libgcc2.c: Likewise.
* loop.c: Likewise.
* optabs.c: Likewise.
* profile.c: Likewise.
* protoize.c: Likewise.
* real.c: Likewise.
* recog.c: Likewise.
* reload1.c: Likewise.
* reload.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* sched-rgn.c: Likewise.
* sdbout.c: Likewise.
* stmt.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Likewise.
From-SVN: r46145
|
|
* basic-block.h (free_bb_for_insn): Declare.
* bb-reorder.c (label_for_bb): Use block_label.
(emit_jump_to_block_after): Remove.
(insert_intra_1): Do not update block_for_insn.
(insert_inter_bb_scope_notes): Likewise; update bb->end
* cfg.c (free_bb_for_insn): New.
(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
(commit_one_edge_insertion): Likewise.
(commit_one_edge_insertion): Do not update BB boundary.
(commit_edge_insertions): Do not call compute_bb_for_insn.
* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
(merge_blocks_move_successor_nojumps): Likewise.
(try_crossjump_to_edge): Do not update block_for_insn.
* combine.c (combine_instructions): Remove compute_bb_for_insn call.
* df.c (df_pattern_emit_later): Do not update BB boundary.
(df_jump_pattern_emit_after): Likewise.
(df_insn_move_before): Use emit_insn_before.
* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
properly.
(add_insn_after, add_insn_before, emit_insns_after): Update BB
boundaries and basic_block_for_insn.
(reorder_insns_nobb): Rename from reorder_insns.
(reorder_insns): New.
(emit_block_insn_before, emit_block_insn_after): Kill.
* flow.c (check_function_return_warnings): Do not call
compute_bb_for_insn; Do not free basic_block_for_insn.
(attempt_auto_inc): Do not update basic_block_for_insn.
* function.c (emit_return_into_block): Likewise;
do not update BB boundaries.
* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
(insert_insn_end_bb): Use emit_insn_before; Likewise.
(pre_insert_copy_insn): Likewise.
(update_ld_motion_notes): Likewise.
(insert_insn_start_bb): Likewise.
(replace_store_insn): Likewise.
* ifcvt.c (noce_process_if_block): Likewise.
(if_convert): Do not call compute_bb_for_insn.
* lcm.c (optimize_mode_switching): Do not update BB boundaries.
Use emit_insn_before and emit_insn_after.
* recog.c (split_all_insns): Do not update BB boundaries;
Do not call compute_bb_for_insn.
(peephole2_optimize): Do not update BB boundaries.
* reg-stack.c (emit_pop_insn): Use emit_insn_after and
emit_insn_before.
(emit_swap_insn): Likewise.
(convert_regs_1): Likewise.
* reload1.c (reload): Call compute_bb_for_insn.
* rtl.h (reorder_insns_nobb): Declare.
* ssa.c (rename_equivalent_regs): Use emit_insn_before.
* toplev.c (rest_of_compilation): Call free_bb_for_insn
at places CFG is invalidated; do not call compute_bb_for_insn.
* cfg.c (expunge_block): Invalidate BB structure.
* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
array.
* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
From-SVN: r45647
|