aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
AgeCommit message (Collapse)AuthorFilesLines
2003-08-24* rtlanal.c (may_trap_p): Simplify an integer comparison.Kazu Hirata1-3/+1
From-SVN: r70761
2003-08-22cfgcleanup.c: Fix comment typos.Kazu Hirata1-1/+1
* cfgcleanup.c: Fix comment typos. * emit-rtl.c: Likewise. * optabs.c: Likewise. * ra-build.c: Likewise. * rtlanal.c: Likewise. * tree.h: Likewise. From-SVN: r70678
2003-07-21cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.Josef Zlomek1-15/+14
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p. * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump table. From-SVN: r69637
2003-07-06jump.c: Convert prototypes to ISO C90.Andreas Jaeger1-230/+95
* jump.c: Convert prototypes to ISO C90. * langhooks-def.h: Likewise. Add extern to prototypes. * langhooks.c: Likewise. * langhooks.h: Likewise. * lcm.c: Likewise. * local-alloc.c: Likewise. * loop-init.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * loop.c: Likewise. * loop.h: Likewise. Add extern to prototypes. * machmode.h: Likewise. * main.c: Likewise. * mbchar.c: Likewise. * mbchar.h: Likewise. * mkdeps.c: Likewise. * mkdeps.h: Likewise. * optabs.c: Likewise. * optabs.h: Likewise. * output.h: Likewise. * gccspec.c: Likwise. * postreload.c: Likewise. * prefix.c: Likewise. * prefix.h: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * read-rtl.c: Likewise. * real.c: Likewise. * real.h: Likewise. * recog.c: Likewise. * recog.h: Likewise. * reg-stack.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * regrename.c: Likewise. * regs.h: Likewise. * reload.c: Likewise. * reload.h: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * resource.h: Likewise. * rtl-error.c: Likewise. * rtl.c: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. From-SVN: r68998
2003-07-05bt-load.c: Fix comment typos.Kazu Hirata1-1/+1
* bt-load.c: Fix comment typos. * c-incpath.c: Likewise. * cfg.c: Likewise. * cfgcleanup.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * diagnostic.h: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * et-forest.h: Likewise. * expr.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * jump.c: Likewise. * langhooks.h: Likewise. * local-alloc.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * ra-build.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * rtl.def: Likewise. * rtlanal.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * simplify-rtx.c: Likewise. * ssa.c: Likewise. * tracer.c: Likewise. * tree.c: Likewise. From-SVN: r68975
2003-07-01basic-block.h: Fix comment typos.Kazu Hirata1-2/+2
* basic-block.h: Fix comment typos. * bb-reorder.c: Likewise. * c-format.c: Likewise. * cfgcleanup.c: Likewise. * cfghooks.h: Likewise. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.h: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * dbxout.c: Likewise. * df.c: Likewise. * df.h: Likewise. * diagnostic.c: Likewise. * dwarf2out.c: Likewise. * et-forest.h: Likewise. * flow.c: Likewise. * fold-const.c: Likewise. * function.h: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genautomata.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * loop.c: Likewise. * mips-tfile.c: Likewise. * optabs.c: Likewise. * ra-build.c: Likewise. * ra-colorize.c: Likewise. * ra-rewrite.c: Likewise. * ra.h: Likewise. * regmove.c: Likewise. * reload.c: Likewise. * rtlanal.c: Likewise. * sched-ebb.c: Likewise. * sched-int.h: Likewise. * sched-vis.c: Likewise. * sreal.c: Likewise. * ssa-ccp.c: Likewise. * ssa.c: Likewise. * toplev.c: Likewise. * tree-inline.c: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. From-SVN: r68770
2003-06-29alloc-pool.c: Fix comment formatting.Kazu Hirata1-1/+1
* alloc-pool.c: Fix comment formatting. * bitmap.c: Likewise. * bitmap.h: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * caller-save.c: Likewise. * cfganal.c: Likewise. * cfgrtl.c: Likewise. * collect2.c: Likewise. * cse.c: Likewise. * df.c: Likewise. * diagnostic.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * expmed.c: Likewise. * final.c: Likewise. * flags.h: Likewise. * fold-const.c: Likewise. * gcc.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * libgcov.c: Likewise. * mips-tfile.c: Likewise. * optabs.c: Likewise. * prefix.c: Likewise. * rtlanal.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. From-SVN: r68672
2003-06-27rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN are known to be ↵Kazu Hirata1-2/+0
not equivalent. * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN are known to be not equivalent. From-SVN: r68599
2003-06-27rtl.h (emit_note): Remove FILE parameter.Nathan Sidwell1-1/+1
* rtl.h (emit_note): Remove FILE parameter. * emit-rtl.c (emit_line_note): Adjust emit_note call. (emit_note): Remove FILE parameter. Adjust. * builtins.c (expand_builtin_expect): Adjust emit_note call. * c-semantics.c (genrtl_scope_stmt): Likewise. (expand_stmt): Likewise. * cfglayout.c (reemit_insn_block_notes): Likewise. (duplicate_insn_chain): Likewise. * except.c (expand_eh_region_start, expand_eh_region_end, sjlj_emit_function_enter): Likewise. * explow.c (probe_stack_range): Likewise. * expr.c (emit_block_move_via_loop): Likewise. * function.c (init_function_start, expand_function_start, expand_function_end, thread_prologue_and_epilogue_insns): Likewise. * integrate.c (expand_inline_function, copy_insn_list): Likewise. * reg-stack.c (compensate_edge): Likewise. * reload1.c (reload): Likewise. * rtlanal.c (hoist_insn_to_edge): Likewise. * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop, expand_loop_continue_here, expand_end_loop, expand_continue_loop, expand_exit_loop_top_cond, expand_value_return, expand_start_bindings_and_block, expand_end_bindings, expand_decl_cleanup, expand_start_case): Likewise. * unroll.c (copy_loop_body * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise. * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise. * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore, rs6000_emit_allocate_stack, rs6000_output_function_prologue, rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * ada/misc.c (record_code_position): Likewise. From-SVN: r68561
2003-06-23ChangeLog.1: Fix a typo.Kazu Hirata1-1/+1
* ChangeLog.1: Fix a typo. * cfgrtl.c: Fix comment typos. * dwarf2out.c: Likewise. * expmed.c: Likewise. * genrecog.c: Likewise. * jump.c: Likewise. * rtlanal.c: Likewise. * ssa-dce.c: Likewise. * toplev.c: Likewise. From-SVN: r68374
2003-06-12re PR middle-end/10557 ([m68k] ICE in subreg_offset_representable_p)Richard Henderson1-8/+2
PR middle-end/10557 * rtlanal.c (subreg_offset_representable_p): Relax subreg check. From-SVN: r67878
2003-05-20* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)Matt Kraai1-1/+0
(nonlocal_set_p): Remove initial blank line. * dwarf2out.c (simple_type_size_in_bits): Likewise. * et-forest.c (et_forest_create): Likewise. * explow.c (stabilize): Likewise. * fix-header.c (write_lbrac): Likewise. * graph.c (start_fct, node_data): Likewise. * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise. * rtlanal.c (global_reg_mentioned_p): Likewise. * tree.c (bit_position): Likewise. From-SVN: r66984
2003-04-22re PR middle-end/8866 (Bug in switch statement code generation -- missing label)Richard Henderson1-0/+2
PR 8866 * rtl.h (MEM_NOTRAP_P): New. (MEM_COPY_ATTRIBUTES): Copy it. * rtlanal.c (may_trap_p): Check it. * expr.c (do_tablejump): Set it. * doc/rtl.texi (Flags): Document it. * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes. From-SVN: r65967
2003-04-19rtlanal.c (subreg_offset_representable_p): Fix call of subreg_lowpart.Jan Hubicka1-5/+8
* rtlanal.c (subreg_offset_representable_p): Fix call of subreg_lowpart. From-SVN: r65817
2003-04-18rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT and SIGN_EXTRACT.Roger Sayle1-1/+3
* rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT and SIGN_EXTRACT. From-SVN: r65782
2003-04-17emit-rtl.c (subreg_hard_regno): Check that register is representable.Jan Hubicka1-0/+71
* emit-rtl.c (subreg_hard_regno): Check that register is representable. * reload.c (reload_inner_reg_of_subreg): When register is not representable, reload the whole thing. (find_reloads): Likewsie. * rtlanal.c (subreg_representable_p): New function. * profile.c (compute_branch_probabilities): Cleanup sanity checking; allow negative probabilities for edges from the call to exit. (branch_prob): Do not add fake edges for functions that may return twice From-SVN: r65757
2003-03-30cfgbuild.c (make_edges): Use tablejump_p.Richard Henderson1-7/+1
* cfgbuild.c (make_edges): Use tablejump_p. * cfgcleanup.c (label_is_jump_target_p): Likewise. * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise. * cfgrtl.c (flow_delete_block_noexpunge): Likewise. (try_redirect_by_replacing_jump): Likewise. (redirect_edge_and_branch): Likewise. * cse.c (fold_rtx): Likewise. * jump.c (delete_related_insns): Likewise. * rtlanal.c (get_jump_table_offset): Likewise. * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise. From-SVN: r65054
2003-03-15rtl.h (subrtx_p): Renamed to rtx_referenced_p.Josef Zlomek1-24/+71
* rtl.h (subrtx_p): Renamed to rtx_referenced_p. (rtx_pair): Added new element update_label_nuses, renamed to replace_label_data. * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use replace_label_data instead of rtx_pair. * loop.c (load_mems): Likewise. * rtlanal.c (replace_label): Replace label in pool constants and in INSN_LIST (in REG_LABEL note). (subrtx_p): Renamed to rtx_referenced_p. (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of LABEL_REF with CODE_LABEL, traverse constants from pool. From-SVN: r64419
2003-03-15c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.Roger Sayle1-1/+1
* c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace. * c-typeck.c (c_tree_expr_nonnegative_p): Likewise. * cfgbuild.c (find_many_sub_basic_blocks): Likewise. (find_sub_basic_blocks): Likewise. * cgraphunit.c (cgraph_expand_functions): Likewise. * dwarf2out.c (prune_unused_types): Likewise. * expr.c (store_field): Likewise. * genextract.c (print_path): Likewise. * haifa-sched.c (schedule_insn): Likewise. * lcm.c (compute_antinout_edge): Likewise. * loop-unroll.c (decide_peel_once_rolling): Likewise. * ra-colorize.c (ra_colorize_free_all): Likewise. * ra-debug.c (dump_igraph): Likewise. (debug_hard_reg_set): Likewise. * reg-stack.c (reg_to_stack): Likewise. * rtlanal.c (refers_to_regno_p): Likewise. * tracer.c (layout_superblocks): Likewise. * cp/tree.c (count_functions): Fix whitespace. * f/ste.c (ffeste_R810): Fix whitespace. From-SVN: r64402
2003-03-14cselib.c (clear_table): Do not take argument; always clear just used slots.Jan Hubicka1-13/+16
* cselib.c (clear_table): Do not take argument; always clear just used slots. (cselib_process_insn): Update call of clear_table (cselib_init): Do not call clear_table. (cselib_finish): Clear table. * cse.c (count_reg_usage): Do not check side_effects_p. * rtlanal.c (set_noop_p): Check side_effects_p only when set looks like noop. (find_reg_equal_equiv_note): Do not use find_reg_note. From-SVN: r64369
2003-03-10cfgcleanup.c (outgoing_edges_match): Compare the jump tables.Josef Zlomek1-0/+85
* cfgcleanup.c (outgoing_edges_match): Compare the jump tables. (try_crossjump_to_edge): Replace refereces to one jump table by references to identical jump table. * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label. (replace_label): Moved to rtlanal.c. (struct rtx_pair): Moved to rtl.h. * rtl.h (struct rtx_pair): Moved from loop.c. (replace_label): New extern function. (subrtx_p): New extern function. (tablejump_p): New extern function. * rtlanal.c (replace_label): Moved from loop.c. (subrtx_p_1): New static function. (subrtx_p): New function. (tablejump_p): New function. From-SVN: r64096
2003-02-11Fix double applied patch.Richard Henderson1-6/+0
From-SVN: r62728
2003-02-11re PR rtl-optimization/9651 ([Alpha] FPE with NAN in spite of isnan protection)Falk Hueffner1-0/+12
PR optimization/9651 * rtlanal.c (may_trap_p): Handle FIX. From-SVN: r62717
2003-01-17ifcvt.c: Fix comment typos.Kazu Hirata1-1/+1
* ifcvt.c: Fix comment typos. * lcm.c: Likewise. * libgcc2.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * ra-build.c: Likewise. * ra.c: Likewise. * ra-colorize.c: Likewise. * ra.h: Likewise. * ra-rewrite.c: Likewise. * regmove.c: Likewise. * reload.h: Likewise. * rtlanal.c: Likewise. * toplev.c: Likewise. * tree.h: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * vmsdbgout.c: Likewise. From-SVN: r61421
2003-01-09re PR inline-asm/8832 (traditional "asm volatile" code is illegally optimized)Eric Botcazou1-3/+3
PR inline-asm/8832 * tree.h (expand_asm): New prototype. * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed to do so. * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier down to expand_asm. * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier. * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag. (volatile_refs_p) [ASM_INPUT]: Likewise. (side_effects_p) [ASM_INPUT]: Likewise. From-SVN: r61099
2003-01-08i386.md (adddi3_carry_rex64, [...]): Name pattern.Jan Hubicka1-8/+19
* i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern. (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns. (add??cc): New expanders. * i386.c (expand_int_addcc): New function. * i386-protos.h (expand_int_addcc): Declare. * alias.c (memory_modified_1): New static function. (memory_modified): New static varaible. (memory_modified_in_insn_p): New global function. * rtl.h (memory_modified_in_insn_p): Declare. * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory references. * expr.h (emit_conditional_add): Declare. From-SVN: r61038
2002-12-24regmove.c: Fix comment typos.Kazu Hirata1-2/+2
* regmove.c: Fix comment typos. * reload.c: Likewise. * reload1.c: Likewise. * resource.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sched-deps.c: Likewise. * sched-rgn.c: Likewise. * sibcall.c: Likewise. * simplify-rtx.c: Likewise. * ssa-ccp.c: Likewise. * ssa.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * system.h: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * tracer.c: Likewise. * tree-inline.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. * unroll.c: Likewise. * varasm.c: Likewise. From-SVN: r60473
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-10/+98
From-SVN: r60174
2002-09-26c-common.h: Follow spelling conventions.Kazu Hirata1-4/+4
* c-common.h: Follow spelling conventions. * cpplex.c: Likewise. * cpplib.h: Likewise. * gthr-dce.h: Likewise. * gthr-posix.h: Likewise. * optabs.c: Likewise. * output.h: Likewise. * profile.c: Likewise. * protoize.c: Likewise. * ra-rewrite.c: Likewise. * real.c: Likewise. * recog.c: Likewise. * reg-stack.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * reload.c: Likewise. * reload.h: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. From-SVN: r57555
2002-09-07* rtlanal.c (dead_or_set_regno_p): Fix typo.Graham Stott1-1/+1
From-SVN: r56915
2002-07-28Makefile.in: rtlanal.o now depends upon real.h.Roger Sayle1-3/+16
* Makefile.in: rtlanal.o now depends upon real.h. * flags.h [flag_signaling_nans]: New flag. [HONOR_SNANS]: New macro. * toplev.c [flag_signaling_nans]: Initialize to false. (f_options): Add processing for "-fsignaling-nans". (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math. (process_options): flag_signaling_nans implies flag_trapping_math. * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__ when -fsignaling-nans. First step to implementing WG14's N965. * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS. [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS. * simplify-rtx.c (simplify_relational_operation): Conditionalize transforming abs(x) < 0.0 into false on !HONOR_SNANS. * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD, UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with -fsignaling_nans. EQ and NE only trap for flag_signaling_nans not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS). * doc/invoke.texi: Document new -fsignaling-nans compiler option. From-SVN: r55804
2002-07-24* rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.Jan Hubicka1-0/+1
From-SVN: r55710
2002-07-22rtlanal.c (subreg_regno_offset): Return correct offset for big endian ↵J"orn Rennecke1-0/+10
paradoxical subregs. * rtlanal.c (subreg_regno_offset): Return correct offset for big endian paradoxical subregs. From-SVN: r55650
2002-06-02* rtlanal.c (volatile_refs_p): Not automatically true for CALL.Richard Henderson1-2/+0
From-SVN: r54163
2002-05-27basic-block.h (can_hoist_p, [...]): new.Jan Hubicka1-0/+266
* basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge): new. * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store, hoist_insn_after, hoist_insn_to_edge): New. From-SVN: r53923
2002-05-09read-rtl.c: Fix formatting.Kazu Hirata1-44/+44
* read-rtl.c: Fix formatting. * real.c: Likewise. * recog.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * resource.c: Likewise. * rtlanal.c: Likewise. * rtl.c: Likewise. * rtl-error.c: Likewise. From-SVN: r53313
2002-04-15rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs as being CLOBBERed.David S. Miller1-7/+2
2002-04-15 David S. Miller <davem@redhat.com> * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs as being CLOBBERed. From-SVN: r52343
2002-04-10re PR rtl-optimization/6233 (simple loop miscompilation)Alan Modra1-0/+25
PR optimization/6233 * rtlanal.c (pure_call_p): New function. * rtl.h (pure_call_p): Declare. * loop.c (prescan_loop): Use it to set has_nonconst_call. * gcse.c (store_killed_in_insn): Use pure_call_p here too. From-SVN: r52110
2002-03-28rtlanal.c: Include flags.hJan Hubicka1-2/+7
* rtlanal.c: Include flags.h (may_trap_p): Do not mark FP operations if trapping if !flag_trapping_math * Makefile.in (rtlanal.o): Add dependency on flag.h * ifcvt.c (noce_operand_ok): Avoid the lameness. From-SVN: r51508
2002-03-21alias.c: (nonlocal_mentioned_p): Use for_each_rtx.John Wehle1-0/+77
* alias.c: (nonlocal_mentioned_p): Use for_each_rtx. (nonlocal_mentioned_p_1): New function. (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise. (nonlocal_set_p, nonlocal_set_p_1): Likewise. (mark_constant_function): Recognize pure functions. * rtl.h (global_reg_mentioned_p): New prototype. * rtlanal.c (global_reg_mentioned_p, global_reg_mentioned_p_1): New function. From-SVN: r51113
2002-03-11rtlanal.c: Include recog.h.Richard Henderson1-6/+6
* rtlanal.c: Include recog.h. (keep_with_call_p): Fix thinko. * Makefile.in (rtlanal.o): Update dependencies. From-SVN: r50623
2002-03-06cfgrtl.c (delete_insn_and_edges, [...]): New.Jan Hubicka1-0/+35
* cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New. * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare * basic-block.h (update_life_info, update_life_info_in_dirty_blocks, delete_noop_moves): Return indeger. * flow.c (ndead): New variable. (propagate_block_delete_insn): Use delete_insn_and_edges; remove BB argument; update callers. (propagate_block_delete_libcall): Use delete_insn_chain_and_edges. (life_analysis): Do not call purge_all_dead_edges. (update_life_info): Return number of deleted insns; print statistics. (update_life_info_in_dirty_blocks): likewise. (delete_noop_moves): Use delete_insn_and_edges; print statistics; return number of insns deleted. * cse.c: Include timevar.h (delete_trivially_dead_insns): Kill preserve_basic_blocks argument; iterate until stabilizes; print statistics; return number of killed insns. * Makefile.in: (cse.o): Add timevar.h dependency * rtl.h (delete_trivially_dead_insns): New. * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer. * toplev.c (rest_of_compilation): Update callers. * cfgcleanup.c (try_optimize_cfg): Kill blocks. (try_optimize_cfg): Do not update liveness. (cleanup-cfg): Loop until try_optimize_cfg and dead code removal stabilizes; use delete_trivially_dead_insns. * cfgrtl.c (verify_flow_info): Sanity check outgoing edges. From-SVN: r50355
2002-02-21rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of SUBREG or ↵Alexandre Oliva1-0/+34
ZERO_EXTEND. * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of SUBREG or ZERO_EXTEND. From-SVN: r49935
2002-02-19i386.md ("mmx_uavgv8qi3"): Use const_vector.Aldy Hernandez1-1/+15
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
2002-01-31rtlanal.c (subreg_regno_offset): Do not use SUBREG_REGNO_OFFSET.Kazu Hirata1-12/+2
* rtlanal.c (subreg_regno_offset): Do not use SUBREG_REGNO_OFFSET. * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list. * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove. From-SVN: r49381
2002-01-18bitmap.h: Fix comment formatting.Kazu Hirata1-1/+1
* 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
2002-01-15read-rtl.c: Fix formatting.Kazu Hirata1-2/+2
* read-rtl.c: Fix formatting. * real.c: Likewise. * recog.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * rtlanal.c: Likewise. From-SVN: r48870
2002-01-10rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST to extract items ↵Kazu Hirata1-2/+2
in the expr_list chain. * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST to extract items in the expr_list chain. From-SVN: r48702
2001-12-24rtl.h (in_expr_list_p): New declaration.Richard Kenner1-0/+18
* rtl.h (in_expr_list_p): New declaration. * rtlanal.c (in_expr_list_p): New function. * cfgcleanup.c: Reformatting and minor code rearrangement. * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise. From-SVN: r48304
2001-12-22rtl.h (subreg_lsb): Declare.John Wehle1-0/+43
* rtl.h (subreg_lsb): Declare. * rtlanal.c (subreg_lsb): Implement. From-SVN: r48272