1. 06 Dec, 2003 1 commit
  2. 01 Dec, 2003 1 commit
  3. 22 Nov, 2003 1 commit
  4. 21 Nov, 2003 1 commit
    • ssa.c, [...]: Remove files. · c132886e
              * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
              * Makefile.in (OBJS-common, GTFILES): Don't reference them.
              (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
              (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
              * flow.c: Don't include ssa.h.
              (set_phi_alternative_reg): Remove.
              (calculate_global_regs_live): Don't call it.
              (mark_used_regs): Don't handle PHI.
              * gengtype.c (open_base_files): Don't reference ssa.h.
              * rtl.def (PHI): Remove.
              * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
              * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
              * opts.c (common_handle_option): Likewise.
              * toplev.c (f_options): Likewise.
              (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
              (dump_file): Update to match.
              (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
              (rest_of_handle_ssa): Remove.
              (rest_of_compilation): Don't call it.
              * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
              * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
              * doc/passes.texi (SSA optimizations): Remove.
      
              * gcc.dg/20020201-2.c: Remove.
              * gcc.dg/20020201-4.c: Remove.
              * gcc.dg/20020304-1.c: Remove.
      
      From-SVN: r73789
      Richard Henderson committed
  5. 17 Oct, 2003 1 commit
  6. 12 Sep, 2003 1 commit
    • re PR rtl-optimization/8967 (Making class data members `const' pessimizes code) · d2399d75
      	PR optimization/8967
      	* alias.c (write_dependence_p): Modify to take an additional constp
      	argument that controls whether the UNCHANGING_RTX_P flags are used.
      	(anti_dependence, output_dependence): Adjust write_dependence_p
      	callers to pass this additional argument, to return the same result.
      	(unchanging_anti_dependence): New variant of anti_dependence that
      	ignores the UNCHANGING_RTX_P property on memory references.
      	* rtl.h (unchaning_anti_dependence): Prototype here.
      	* flow.c (init_propagate_block): Place fake constant mem writes on
      	the mem_set_list so that dead writes to const variables are deleted.
      	(insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
      	(mark_used_regs): Likewise.
      
      From-SVN: r71332
      Roger Sayle committed
  7. 19 Jul, 2003 1 commit
    • alias.c [...]: Remove unnecessary casts. · 703ad42b
      	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
      	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
      	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
      	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
      	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
      	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
      	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
      	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
      	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
      	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
      	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
      	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
      	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
      	postreload.c prefix.c print-tree.c protoize.c ra-build.c
      	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
      	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
      	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
      	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
      	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
      	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
      	casts.
      
      From-SVN: r69587
      Kaveh R. Ghazi committed
  8. 03 Jul, 2003 1 commit
    • basic-block.h (create_basic_block, [...]): Kill. · bc35512f
      	* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
      	* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
      	(merge_blocks_move_predecessor_nojumps,
      	 merge_blocks_move_successor_nojumps): Use merge_blocks.
      	(try_optimize_cfg): Use merge_blocks_move.
      	* cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
      	(merge_blocks_nomove): Rename to rtl_merge_blocks.
      	(cfg_layout_create_basic_block): New.
      	(rtl_can_merge_blocks): New.
      	(cfg_layout_split_block): Do not alloc aux by hand.
      	* cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
      	merge_blocks.
      	(create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
      	* cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
      	* cfgloopmanip.c (loop_split_edge_with): Likewise.
      	* ifcvt.c (merge_if_block): Use merge_blocks_nomove.
      
      	* basic-block.h (basic_block_def): Add field 'rbi'.
      	* bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
      	find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
      	* cfg.c (entry_exit_blocks): Add new field.
      	* cfglayout.c: Include alloc-pool.h;
      	(cfg_layout_pool): New.
      	(record_effective_endpoints, fixup_reorder_chain,
      	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
      	of rbi.
      	(cfg_layout_initialize_rbi): New function.
      	(cfg_layout_initialize): Use it.
      	(cfg_layout_finalize): Clear rbi fields.
      	* cfglayout.h (RBI): Kill.
      	(cfg_layout_initialize_rbi): Declare.
      	* cfgloopmanip.c (copy_bbs): Use rbi.
      	(record_exit_edges): Likewise.
      	(duplicate_loop_to_header_edge): Likewise.
      	* cfgrtl.c (cfg_layout_create_basic_block): Use
      	cfg_layout_initialize_rbi.
      	(cfg_layout_split_block): Use rbi.
      	(cfg_layout_delete_block): Likewise.
      	* loop-init.c (loop_optimizer_finalize): Likewise.
      	* loop-unswitch.c (unswitch_loop): Likewise.
      	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
      
      	* cfgrtl.c: Update comments.
      	(try_redirect_by_replacing_jump): New argument.
      	(redirect_branch_edge): Break out from ...
      	(rtl_redirect_edge_and_branch): ... this one.
      	(update_cfg_after_block_merging): Break out from ...
      	(rtl_merge_blocks): ... this one.
      	(cfg_layout_split_edge): New.
      	(cfg_layout_merge_blocks): New.
      	(cfg_layout_can_merge_blocks_p): New.
      	(cfg_layout_redirect_edge_and_branch): Reorganize.
      	(cfg_layout_rtl_cfg_hooks): Fill in.
      	(cfg_layout_delete_block): Kill barriers.
      	* cfganal.c (can_fallthru): Deal with exit blocks
      	* cfglayout.c (cfg_layout_function_header): New function
      	(record_effective_endpoints): Record function header.
      	(fixup_reorder_chain): Fixup dead jumptables; place header
      
      	* basic-block.h (CLEANUP_CFGLAYOUT): New flag.
      	* bb-reorder.c (cfg_layout_initialize): Update call.
      	* cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
      	edges in cfglayout mode.
      	* cfglayout.c (cleanup_unconditional_jumps): Kill.
      	(cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
      	* cfglayout.h (cfg_layout_initialize): Update prototype.
      	* cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
      	* cfgloopmanip.c (loop_split_edge_with): Use split_edge.
      	* flow.c (propagate_block): Do not crash when basic block ends
      	by first insn in the chain.
      	* loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
      	do loop discovery.
      	* tracer.c (tracer): Update call of cfg_layout_initialize.
      
      From-SVN: r68899
      Jan Hubicka committed
  9. 01 Jul, 2003 2 commits
    • basic-block.h: Fix comment typos. · e0bb17a8
      	* 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
      Kazu Hirata committed
    • final.c: Convert prototypes to ISO C90. · 6cf9ac28
      	* final.c: Convert prototypes to ISO C90.
      	* flow.c: Likewise.
      	* flags.h: Likewise.
      
      From-SVN: r68760
      Andreas Jaeger committed
  10. 28 Jun, 2003 1 commit
  11. 26 Jun, 2003 3 commits
    • flow.c (propagate_one_insn): Kill function return value registers across tail calls. · 99af0d26
              * flow.c (propagate_one_insn): Kill function return value
              registers across tail calls.
      
      From-SVN: r68546
      Richard Henderson committed
    • flow.c (propagate_one_insn): Preserve live-at-end registers across tail calls. · d444b5e8
              * flow.c (propagate_one_insn): Preserve live-at-end registers
              across tail calls.
      
      From-SVN: r68544
      Richard Henderson committed
    • value-prof.c: New. · af166e5d
      	* value-prof.c: New.
      	* value-prof.h: New.
      	* Makefile.in (value-prof.o): New.
      	(LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
      	(profile.o): Add value-prof.h and tree.h dependency.
      	* flags.h (flag_profile_values): Declare.
      	* gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
      	Add new counters.
      	(GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
      	GCOV_COUNTER_V_DELTA): New counter sections.
      	(__gcov_merge_single, __gcov_merge_delta): Declare.
      	* flow.c (mark_used_regs): Set subregs_of_mode only when the
      	structure is initialized.
      	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
      	* profile.c: Include value-prof.h and tree.h.
      	(gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
      	gen_const_delta_profiler, instrument_values): New static functions.
      	(get_exec_counts): Fix comment.
      	(branch_prob): Invoke instrument_values.
      	* toplev.c (flag_profile_values): New flag.
      	* doc/invoke.texi (-fprofile-values): Document.
      
      From-SVN: r68519
      Zdenek Dvorak committed
  12. 18 Jun, 2003 1 commit
    • bt-load.c: New file. · fe3ad572
      2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
                  J"orn Rennecke <joern.rennecke@superh.com>
      
      	* bt-load.c: New file.
      	* Makefile.in (OBJS): Include bt-load.o
      	(bt-load.o): Add dependencies.
      	* flags.h (flag_branch_target_load_optimize): Declare.
      	(flag_branch_target_load_optimize2): Likewise.
      	* hooks.c (hook_reg_class_void_no_regs): New function.
      	(hook_bool_bool_false): Likewise.
      	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
      	* rtl.h (branch_target_load_optimize): Declare.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(TARGET_INITIALIZER): Include these.
      	* target.h (struct gcc_target): Add branch_target_register_class
      	and branch_target_register_callee_saved members.
      	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
      	(dump_file) Add "tars" entry.
      	(flag_branch_target_load_optimize): New variable.
      	(flag_branch_target_load_optimize2): Likewise.
      	(lang_independent_options): Add entries for new options.
      	(rest_of_compilation): Call branch_target_load_optimize.
      	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	* doc/invoke.texi: Document -fbranch-target-load-optimize and
      	-fbranch-target-load-optimize2.
      	* rtl.h (epilogue_completed): Declare.
      	* recog.c (epilogue_completed): New variable.
      	* toplev.c (rest_of_compilation): Set it.
      	* flow.c (mark_regs_live_at_end): Use it.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      
      	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
      	(sh_target_reg_class): New function.
      	(sh_optimize_target_register_callee_saved): Likwise.
      	(shmedia_target_regs_stack_space): Likewise.
      	(shmedia_reserve_space_for_target_registers_p): Likewise.
      	(shmedia_target_regs_stack_adjust): Likewise.
      	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(calc_live_regs): If flag_branch_target_load_optimize2 and
      	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
      	for target registers, make sure that we save all target registers.
      	(sh_expand_prologue, sh_expand_epilogue): Take target register
      	optimizations into account.  Collapse stack adjustments if that
      	is beneficial.
      	(initial_elimination_offset): Reserve space for target registers
      	if necessary.
      	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
      	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com>
      
      From-SVN: r68165
      Stephen Clarke committed
  13. 16 Jun, 2003 1 commit
    • tracer.c: Remove duplication declaration. · baaa1222
      	* tracer.c: Remove duplication declaration.
      
      	* toplev.c: Remove extra declaration of decode_d_option.
      
      	* ssa.c: Remove duplicate declaration.
      
      	* sreal.c: Remove extra declaration of dump_sreal.
      
      	* reload1.c: Remove duplicate declarations.
      
      	* integrate.c: Remove extra declaration of
      	set_decl_abstract_flags.
      
      	* flow.c: Remove extra declaration of dump_flow_info.
      
      	* alias.c: Remove extra declaration of get_addr.
      
      From-SVN: r68006
      Andreas Jaeger committed
  14. 03 Jun, 2003 1 commit
  15. 03 May, 2003 1 commit
    • emit-rtl.c (last_call_insn, [...]): New functions. · ee960939
      	* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
      	* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
      	* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
      	* calls.c (emit_call_1): Likewise.
      	(expand_call): For calls initializing constant memory, replace
      	emission of standalone mem /u clobber with function usage entry.
      	* expr.c (emit_block_move_via_libcall): Likewise.
      	* cse.c (count_reg_usage, case EXPR_LIST): New case.
      	* flow.c (propagate_one_insn): Pass entire operand of
      	CALL_INSN_FUNCTION_USAGE to mark_used_regs.
      	* integrate.c (try_constants): For CALL_INSNs, substitute constants
      	within the FUNCTION_USAGE also.
      	* loop.c (prescan_loop): Note clobbers of const mem mentioned in
      	FUNCTION_USAGE lists.
      	* reload1.c (replace_pseudos_in): Renamed.
      	(reload): Use it for clobbers surviving until the end of the reload.
      
      From-SVN: r66429
      Olivier Hainque committed
  16. 28 Feb, 2003 1 commit
  17. 31 Jan, 2003 1 commit
  18. 17 Jan, 2003 1 commit
    • et-forest.c: Fix comment typos. · fbe5a4a6
      	* et-forest.c: Fix comment typos.
      	* et-forest.h: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* flags.h: Likewise.
      	* flow.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* gengtype.c: Likewise.
      	* genrecog.c: Likewise.
      	* global.c: Likewise.
      	* gthr-rtems.h: Likewise.
      
      From-SVN: r61443
      Kazu Hirata committed
  19. 16 Jan, 2003 2 commits
    • dbxout.c (lastfile, cwd): Fix `unused' warning. · c1b50e49
      	* dbxout.c (lastfile, cwd): Fix `unused' warning.
      	* dwarf2out.c (fde_table_in_use, current_funcdef_fde,
      	dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
      	is_main_source, file_table, decl_die_table_in_use,
      	abbrev_die_table_in_use, line_info_table_in_use,
      	separate_line_info_table_in_use, pubname_table_in_use,
      	arange_table_in_use, ranges_table_in_use,
      	current_function_has_inlines): Likewise.
      	* flow.c (life_analysis): Likewise.
      	* genemit.c (gen_insn): Likewise.
      	* protoize.c (cplus_suffix): Likewise.
      
      From-SVN: r61392
      Kaveh Ghazi committed
    • arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned warning. · fc555370
      	* arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
      	warning.
      	* emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
      	init_emit_once): Likewise.
      	* flow.c (mark_regs_live_at_end, calculate_global_regs_live):
      	Likewise.
      	* function.c (assign_stack_temp_for_type): Likewise.
      	* loop.c (loop_invariant_p): Likewise.
      	* recog.c (push_operand): Likewise.
      	* regclass.c (init_reg_sets_1): Likewise.
      	* reload.c (update_auto_inc_notes): Likewise.
      	* reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* stor-layout.c (start_record_layout): Likewise.
      
      cp:
      	* class.c (layout_virtual_bases): Avoid signed/unsigned warning.
      
      java:
      	* jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
      	warning.
      
      From-SVN: r61389
      Kaveh R. Ghazi committed
  20. 15 Jan, 2003 1 commit
  21. 20 Dec, 2002 1 commit
  22. 16 Dec, 2002 1 commit
  23. 13 Dec, 2002 1 commit
    • c-decl.c: Fix a comment typo. · 09da1532
      	* c-decl.c: Fix a comment typo.
      	* cfg.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* c-typeck.c: Likewise.
      	* dominance.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* flow.c: Likewise.
      	* function.c: Likewise.
      	* gcc.c: Likewise.
      	* genautomata.c: Likewise.
      	* integrate.c: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise.
      	* output.h: Likewise.
      	* profile.c: Likewise.
      	* ra.h: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* stmt.c: Likewise.
      	* tree.h: Likewise.
      	* vmsdbgout.c: Likewise.
      
      From-SVN: r60085
      Kazu Hirata committed
  24. 04 Nov, 2002 1 commit
    • hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New. · cff9f8d5
      2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
      
      	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
      
      	* config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
      	(CLASS_CANNOT_CHANGE_MODE): Remove.
      	(CANNOT_CHANGE_MODE_CLASS): New.
      
      	* config/alpha/alpha.h: Same.
      
      	* config/ia64/ia64.h: Same.
      
      	* config/mips/mips.h: Same.
      
      	* config/s390/s390.h: Same.
      
      	* config/sh/sh.h: Same.
      
      	* config/pa/pa64-regs.h: Same.
      
      	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
      
      	* config/sh/sh.c (sh_cannot_change_mode_class): New.
      
      	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
      	prototype.
      
      	* config/mips/mips.c (mips_cannot_change_mode_class): New.
      
      	* doc/tm.texi (Register Classes): Remove
      	CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
      	Document CANNOT_CHANGE_MODE_CLASS.
      
      	* reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
      	(push_reload): Same.
      
      	* simplify-rtx.c (simplify_subreg): Same.
      
      	* reload1.c (choose_reload_regs): Same.
      
      	* recog.c (register_operand): Same.
      
      	* regrename.c (mode_change_ok): Change to use new
      	CANNOT_CHANGE_MODE_CLASS infrastructure.
      
      	* regclass.c (cannot_change_mode_set_regs): New.
      	Declare subregs_of_mode.
      	(regclass): Use subregs_of_mode.
      	Remove references to reg_changes_mode.
      	(init_reg_sets_1): Remove class_can_change_mode and
      	reg_changes_mode code.
      	(invalid_mode_change_p): New.
      	(dump_regclass): Use invalid_mode_change_p instead of
      	class_can_change_mode.
      	(regclass): Same.
      	(record_operand_costs): Do not set reg_changes_mode.
      
      	* local-alloc.c (struct qty): Remove changes_mode field.
      	(alloc_qty): Remove changes_mode initialization.
      	(update_qty_class): Remove set of changes_mode.
      	(find_free_reg): Use subregs_of_mode.
      
      	* global.c (find_reg): Use subregs_of_mode info.
      
      	* rtl.h (cannot_change_mode_set_regs): New prototype.
      	(invalid_mode_change_p): Same.
      	(REG_CANNOT_CHANGE_MODE_P): New macro.
      
      	* flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
      	REG_CHANGES_MODE.
      	(life_analysis): Clear subregs_of_mode.
      
      	* combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
      	Remove use of CLASS_CANNOT_CHANGE_MODE.
      	(simplify_set): Same.
      	(gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
      	REG_CHANGES_MODE.
      
      	* regs.h: Add extern for subregs_of_mode;
      	Include hard-reg-set and basic-block.
      	(REG_CHANGES_MODE): Delete.
      
      From-SVN: r58794
      Aldy Hernandez committed
  25. 01 Oct, 2002 1 commit
  26. 22 Sep, 2002 1 commit
    • dbxout.c: Follow spelling conventions. · cc2902df
      	* dbxout.c: Follow spelling conventions.
      	* defaults.h: Likewise.
      	* df.c: Likewise.
      	* diagnostic.h: Likewise.
      	* doloop.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* flags.h: Likewise.
      	* flow.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genconfig.c: Likewise.
      	* genrecog.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc.h: Likewise.
      	* global.c: Likewise.
      	* gthr-win32.h: Likewise.
      	* integrate.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* line-map.h: Likewise.
      	* local-alloc.c: Likewise.
      	* longlong.h: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise.
      
      From-SVN: r57406
      Kazu Hirata committed
  27. 16 Sep, 2002 1 commit
    • ABOUT-NLS: Follow spelling conventions. · 8d9afc4e
      	* ABOUT-NLS: Follow spelling conventions.
      	* ChangeLog: Likewise.
      	* ChangeLog.1: Likewise.
      	* ChangeLog.2: Likewise.
      	* ChangeLog.3: Likewise.
      	* ChangeLog.4: Likewise.
      	* ChangeLog.5: Likewise.
      	* ChangeLog.6: Likewise.
      	* FSFChangeLog.10: Likewise.
      	* FSFChangeLog.11: Likewise.
      	* c-common.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* cppexp.c: Likewise.
      	* cppinit.c: Likewise.
      	* cpplex.c: Likewise.
      	* doloop.c: Likewise.
      	* flow.c: Likewise.
      	* function.c: Likewise.
      	* integrate.c: Likewise.
      	* loop.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload.h: Likewise.
      	* ssa.c: Likewise.
      
      From-SVN: r57188
      Kazu Hirata committed
  28. 23 Jul, 2002 1 commit
    • defaults.h (obstack_chunk_alloc, [...]): Default definition. · 4fa31c2a
      	* defaults.h (obstack_chunk_alloc, obstack_chunk_free):
      	Default definition.
      	* gcse.c: Don't define obstack_chunk_free.
      	* collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
      	flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
      	integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
      	reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
      	Don't define obstack macros.
      cp:
      	* class.c, method.c, pt.c, search.c: Similarly.
      
      From-SVN: r55665
      Neil Booth committed
  29. 24 Jun, 2002 1 commit
  30. 11 Jun, 2002 1 commit
    • Delete SEQUENCE rtl usage outside of reorg and ssa passes. · 2f937369
      2002-06-05  David S. Miller  <davem@redhat.com>
      
      	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
      	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
      	emit_insns_before_scope, emit_insns_after,
      	emit_insns_after_scope): Delete declaration.
      	* ada/misc.c (insert_code_for): Use emit_insn* instead of
      	emit_insns_foo.
      	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
      	(alpha_set_memflags): Fix comment.
      	(set_frame_related_p): Use get_insns instead of gen_sequence.
      	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
      	emitting no insns.
      	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
      	gen_sequence.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
      	* config/fr30/fr30.c (fr30_move_double): Likewise.
      	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
      	Likewise.
      	* config/ia64/ia64.c (spill_restore_mem): Likewise.
      	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
      	no insns.
      	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
      	instead of gen_sequence.
      	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
      	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_need_epilogue): Likewise.
      	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
      	attributes.
      	(setjmp pattern and split): Use them to avoid splitter which emits
      	no RTL.
      	* genattrtab.c (main): Emit include of function.h
      	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
      	get_insns instead of gen_sequence.
      	* config/cris/cris.c (cris_split_movdx): Likewise.
      	* emit-rtl.c (emit_insns*): Kill.
      	(try_split): Expect insn list instead of SEQUENCE.
      	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
      	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
      	Make them abort if a SEQUENCE is given and RTL checking is
      	enabled.
      	(emit_*_scope): Don't forget to set scope on final insn.
      	(gen_sequence): Move from here...
      	* ssa.c (gen_sequence): To here as private function.
      	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
      	comments.
      	(expand_builtin_return, expand_builtin_mathfn): Likewise.
      	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
      	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
      	(expand_builtin_expect_jump): Use get_insns and fix comments.
      	* calls.c (try_to_integrate): Use emit_insn_foo.
      	(expand_call, emit_library_call_value_1): Likewise.
      	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
      	(emit_move_insn_1): Use get_insns instead of gen_sequence.
      	(expand_expr): Use emit_insn_foo.
      	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
      	* except.c (build_post_landing_pads): Likewise.
      	* flow.c (attempt_auto_inc): Likewise.
      	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
      	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
      	* function.c (fixup_var_refs_insn): Use get_insns instead of
      	gen_sequence.
      	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
      	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
      	(fixup_stack_1, purge_addressof_1, expand_main_function,
      	get_arg_pointer_save_area): Likewise.
      	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
      	expand_function_end): Use emit_insn_foo.
      	(record_insns, keep_stack_depressed): Work with insn list instead
      	of SEQUENCE, fix comments.
      	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
      	noce_try_store_flag_constants, noce_try_store_flag_inc,
      	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
      	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
      	(noce_process_if_block): Use get_insns instead of gen_sequence.
      	* optabs.c (add_equal_note): Work with insn list, fix comments.
      	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
      	(expand_unop, expand_complex_abs, expand_unop_insn,
      	expand_no_conflict_block): Likewise.
      	(gen_move_insn): Use get_insns instead of gen_sequence.
      	(gen_cond_trap): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	(emit_initial_value_sets): Use emit_insn_foo.
      	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
      	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
      	now that RTL generators give insn lists.
      	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
      	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
      	instead of gen_sequence.
      	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
      	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
      	instead of gen_sequence.
      	* loop.c (move_movables, emit_prefetch_instructions,
      	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
      	Likewise.
      	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
      	(product_cheap_p): Likewise, and add commentary about RTL wastage
      	here.
      	* lcm.c (optimize_mode_switching): Use get_insns instead of
      	gen_sequence.
      	* profile.c (gen_edge_profiler): Likewise.
      	* regmove.c (copy_src_to_dest): Likewise.
      	* reg-stack.c (compensate_edge): Likewise and fix comment.
      	* gcse.c (process_insert_insn): Likewise.
      	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
      	* jump.c (delete_prior_computation): Update comment.
      	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
      	of gen_sequence, update comments to match.
      	* recog.c (peephole2_optimize): Work with insn lists instead of
      	SEQUENCE rtl.
      	* sched-vis.c (print_pattern): Abort on SEQUENCE.
      	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
      	Use get_insns instead of gen_sequence.
      	(copy_loop_body): Likewise and don't emit dummy NOTE.
      	* genrecog.c: Don't mention SEQUENCE rtl in comments.
      	* combine.c (try_combine): Expect insn lists from split generator.
      	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
      	hand.
      
      From-SVN: r54497
      David S. Miller committed
  31. 08 Jun, 2002 1 commit
    • emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx. · e50126e8
      	* emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
      	* combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
      	than creating a new register.
      	(distribute_notes): Likewise.
      	* df.c (df_reg_use_gen): Likewise.
      	(df_reg_clobber_gen): Likewise.
      	(df_ref_record): Likewise.
      	* expr.c (use_regs): Likewise.
      	* flow.c (propagate_one_insn): Likewise.
      	(mark_set_1): Likewise.
      	(mark_used_reg): Likewise.
      	* reload.c (emit_reload_insns): Likewise.
      
      From-SVN: r54358
      Jeff Law committed
  32. 02 Jun, 2002 1 commit
    • loop.c (emit_prefetch_instructions): Properly place the address computation. · ba4f7968
      
      	* loop.c (emit_prefetch_instructions): Properly place the address computation.
      
      
      	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
      	(set_block_for_insn): Turn into macro.
      	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
      	* cfglayout.c (insn_scopes): Kill.
      	(scope_to_insns_initialize): Do not use insn_scopes.
      	(scope_to_insns_finalize): Likewise.
      	(duplicate_insn_chain): Likewise.
      	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
      	* cfgrtl.c (basic_block_for_insn): Kill.
      	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
      	(create_basic_block_structure): Use reorder_insns.
      	(compute_bb_for_insn): Do not use basic_block_for_insn.
      	(merge_blocks_nomove): Likewise.
      	(update_bb_for_insn): Likewise.
      	(verify_flow_info): Likewise.
      	(set_block_for_insn): Kill.
      	* combine.c (try_combine): Update gen_rtx_INSN call.
      	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
      	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
      	scopes and BBs.
      	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
      	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
      	Clear BB.
      	(emit_insns_after): Simplify.
      	(emit_copy_of_insn_after): Copy scope.
      	* final.c (final_start_function): Lower scopes.
      	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
      	* integrate.c (copy_insn_list): Cope scopes.
      	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
      	* loop.c (loop_optimize): Do not care block notes.
      	* print-rtl.c (print_rtx): Print BB.
      	* recog.c (apply_change_group): Simplify.
      	* rtl.c (copy_rtx): Handle 'B'.
      	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
      	* rtl.h (Field accessors): Update indexes.
      	* sched-ebb.c (schedule_ebbs): Do not lower notes.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* toplev.c (rest_of_compilation): Lower notes.
      	* unroll.c (unroll_loop): Do not care scoping notes.
      	(copy_loop_body): Copy scopes.
      
      From-SVN: r54188
      Jan Hubicka committed
  33. 30 May, 2002 1 commit
  34. 29 May, 2002 2 commits
  35. 28 May, 2002 1 commit