1. 18 Oct, 2003 1 commit
    • rtl.h (rtl_size): Declare. · e1de1560
      	* rtl.h (rtl_size): Declare.
      	(rtunion): Remove rtwint.
      	(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
      	(RTX_HDR_SIZE, RTX_SIZE): New macros.
      	(RTL_CHECK1): Adjust for new rtx_def layout.
      	(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
      	(XWINT, XCWINT): Likewise.  Access the rtx structure directly.
      	(X0WINT): Remove.
      	(X0ANY): New macro.
      	* rtl.def: Adjust comments for new rtx_def layout.
      	* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
      	number of slots.
      	* rtl.c (rtx_size): New array.
      	(rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
      	(copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	(shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
      	* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
      	* emit-rtl.c (copy_most_rtx): Likewise.
      	(copy_rtx_if_shared): Use RTX_SIZE.
      	(copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
      	* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
      	(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
      	an array.  Adjust output for new rtx_def layout.
      	* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
      	* reload1.c (eliminate_regs): Use RTX_SIZE.
      	* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
      	* gdbinit.in (pi): Likewise.
      
      From-SVN: r72647
      Richard Sandiford committed
  2. 11 Oct, 2003 1 commit
    • Makefile.in (web.o): New. · 62551c66
      	* Makefile.in (web.o): New.
      	* web.c: New file.
      	* rtl.h (web_main): Declare.
      	* timervar.def (TV_WEB): New.
      	* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
      	(rest_of_hanle_web): New.
      	(flag_web): New static variable.
      	(lang_independent_options): Add "web".
      	(rest_of_compilation): Call rest_of_handle_web.
      	* invoke.texi (-fweb): Document.
      	* common.opt (fweb): New.
      	* flags.h (flag_web): New.
      	* opts.c (decode_options): Set flag_web at -O3.
      
      	* passes.texi (web construction):  Document.
      	* invoke.texi (-O3): Document that -fweb is enabled.
      
      	* regrename.c (regrename_optimize): Deal better with situation when
      	replacement failed.
      
      	* sched-ebb.c: Include params.h and profile.h
      	(schedule_ebbs):  Use tracer parameters to discover superblocks
      	* Makefile.in (sched-ebb.o):  Add dependencies.
      
      From-SVN: r72383
      Jan Hubicka committed
  3. 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
  4. 04 Sep, 2003 1 commit
    • targhooks.c: New file. · 61f71b34
      	* targhooks.c: New file.
      	* targhooks.h: New file.
      	* Makefile.in: Add targhooks.o support.
      	(function.o): Depend on$(TARGET_H).
      	(stmt.o): Likewise.
      	(combine.o): Depend on $(TREE_H) and $(TARGET_H).
      	* builtins.c (apply_args_size, expand_builtin_apply_args_1,
      	expand_builtin_apply): Convert to calls.struct_value_rtx hook.
      	(expand_builtin_saveregs): Convert to
      	calls.expand_builtin_saveregs hook.
      	* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
      	here, instead of ...
      	(get_parm_info) ... here.
      	(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
      	hook.
      	(finish_function): Handle calls.promote_prototypes hook here too.
      	* c-typeck.c (convert_arguments): Convert to
      	calls.promote_prototypes hook.
      	(c_convert_parm_for_inlining): Likewise.
      	* calls.c (initialize_argument_information): Convert to
      	calls.promote_function_args hook.
      	(expand_call): Convert to calls.struct_value_rtx,
      	calls.strict_argument_naming,
      	calls.pretend_outgoing_varargs_named, and
      	calls.promote_function_return hooks.  Pass fndecl to
      	aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
      	hooks, so they can use that.
      	(emit_library_call_value_1): Likewise.
      	* combine.c (setup_incoming_promotions): Convert to
      	calls.promote_function_args hook.
      	* emit-rtl.c: Convert to calls.struct_value_rtx hook.
      	* expr.c (expand_assignment): Pass call to aggregate_value_p.
      	(expand_expr): Likewise.
      	* expr.h: Remove support for SETUP_INCOMING_VARARGS,
      	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
      	RETURN_IN_MEMORY macro defaults.
      	* final.c (profile_function): Convert to calls.struct_value_rtx
      	hook.
      	* function.c (aggregate_value_p): Accept function type tree as
      	second parameter; try to deduce fntype from it.  Convert to
      	calls.return_in_memory hook.
      	(assign_parms): Convert to calls.setup_incoming_varargs,
      	calls.strict_argument_naming, calls.promote_function_args,
      	calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
      	aggregate_value_p.
      	(expand_function_start): Likewise.  Convert to
      	calls.struct_value_rtx hook.
      	(expand_function_end): Convert to calls.promote_function_return hook.
      	(allocate_struct_function): Pass fndecl to aggregate_value_p.
      	* hard-reg-set.h: Update comments to new hook names.
      	* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
      	* reg-stack.c (stack_result): Likewise.
      	* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
      	* stmt.c (expand_value_return): Convert to
      	calls.promote_function_return hook.
      	* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
      	TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
      	TARGET_STRICT_ARGUMENT_NAMING,
      	TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
      	* target.h: Likewise.
      	* tree.h (aggregate_value_p): Also takes a tree to deduce function
      	attributes from (for target hooks).
      	* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
      	PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
      	STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
      	EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
      	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
      	to hooks.
      
      	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
      	to aggregate_value_p.
      	* config/arm/arm.c (arm_init_cumulative_args,
      	arm_output_mi_thunk): Likewise.
      	* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
      	Likewise.
      	* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
      	mips_can_use_return_insn): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
      	aggregate_value_p.
      	* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
      	function to aggregate_value_p.
      	* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
      	aggregate_value_p.
      
      	* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
      	(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
      	sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
      	(sh_handle_renesas_attribute, sh_promote_prototypes,
      	sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
      	sh_setup_incoming_varargs, sh_strict_argument_naming,
      	sh_pretend_outgoing_varargs_named): New decls.
      	(targetm): Add new hooks.
      	(calc_live_regs): Save MACL and MACH if the function has the
      	renesas attribute.
      	(sh_expand_prologue): Support renesas attribute.
      	(sh_builtin_saveregs): Make static.
      	(sh_build_va_list): Support renesas attribute.
      	(sh_va_start): Likewise.
      	(sh_va_arg): Likewise.
      	(sh_promote_prototypes): New.
      	(sh_function_arg): New, moved from sh.h.  Support renesas
      	attribute.
      	(sh_function_arg_advance): Likewise.
      	(sh_return_in_memory): Likewise.
      	(sh_strict_argument_naming): Likewise.
      	(sh_pretend_outgoing_varargs_named): Likewise.
      	(sh_struct_value_rtx): New.
      	(sh_attribute): Add renesas attribute.
      	(sh_handle_renesas_attribute): New.
      	(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
      	(sh_ms_bitfield_layout_p): Support renesas attribute also.
      	(sh_output_mi_thunk): Pass function to aggregate_value_p.  *
      	config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
      	-mhitachi.
      	(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
      	target hooks.
      	(sh_args): Add renesas_abi flag.
      	(INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
      	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
      	(PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
      	stack for the renesas abi.
      	(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
      	SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
      	PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
      	call cookie to indicate renesas calls.
      
      	* decl.c (finish_function): Pass fndecl to aggregate_value_p.
      
      	* misc.c (default_pass_by_ref): Convert to calls.return_in_memory
      	hook.
      
      From-SVN: r71048
      DJ Delorie committed
  5. 14 Aug, 2003 1 commit
    • regclass.c (init_reg_modes): Make non-static. · 28420116
      	* regclass.c (init_reg_modes):  Make non-static.
      	Rename to init_reg_modes_once per new naming convention.
      	(init_regs):  Don't call init_reg_modes here.
      	* emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
      	* rtl.h (init_reg_modes_once):  New declaration.
      	* toplev.c (backend_init):  Call init_regs after init_emit_once.
      
      From-SVN: r70426
      Per Bothner committed
  6. 01 Aug, 2003 1 commit
    • system.h: Poison ASM_SIMPLIFY_DWARF_ADDR. · 75c20980
              * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
      
              * varasm.c (lookup_constant_def): New function.
              * rtl.h (lookup_constant_def): Declare it.
              * dwarf2out.c (loc_descriptor_from_tree): Use it.
              Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
      
      From-SVN: r70072
      Richard Henderson committed
  7. 30 Jul, 2003 1 commit
    • combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes. · 6e885ee3
      	* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
      	* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
      	GCOV_N_VALUE_COUNTERS): New.
      	* profile.c (compute_value_histograms): New static function.
      	(branch_prob): Read back the value histograms.
      	* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
      	* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
      	* value-prof.c: Add comment on reading the profile.
      	* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
      	* doc/invoke.texi (-fprofile-values): Document behavior with
      	-fbranch-probabilities.
      
      From-SVN: r69969
      Zdenek Dvorak committed
  8. 14 Jul, 2003 1 commit
  9. 11 Jul, 2003 1 commit
  10. 07 Jul, 2003 2 commits
    • rtl.h (emit_line_note): Take a location_t. · 0cea056b
      	* rtl.h (emit_line_note): Take a location_t.
      	(emit_line_note_force): Remove.
      	(set_file_and_line_for_statement): Take a location_t.
      	* tree.g (emit_line_note): Take a location_t.
      	* emit-rtl.c (emit_line_note): Take a location_t.
      	(emit_line_note_force): Remove.
      	* function.c (init_function_start): Adjust emit_line_note call.
      	(expand_function_end): Use force_next_line_note, not
      	emit_line_note_force.
      	* c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
      	* c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
      	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
      	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
      	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
      	genrtl_continue_stmt, genrtl_switch_stmt,
      	genrtl_asm_stmt): Likewise.
      	* expr.c (expand_expr): Likewise.
      	* integrate.c (expand_inline_function): Likewise.
      	* stmt.c (set_file_and_line_for_stmt): Take a location_t.
      	(expand_decl_init): Adjust emit_line_note call.
      
      	* ada/trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
      	calls.
      
      	* cp/semantics.c: (genrtl_try_block) Adjust emit_line_note
      	calls.
      
      	* f/com.c (bison_rule_pushlevel_, bison_rule_compstmt_): Adjust
      	emit_line_note calls.
      	* f/ste.c (ffeste_emit_line_note_): Likewise.
      
      	* java/expr.c (expand_byte_code):
      
      	* treelang/treetree.c (tree_code_if_start, tree_code_if_else,
      	tree_code_if_end, tree_code_create_function_initial,
      	tree_code_create_function_wrapup, tree_code_generate_return,
      	tree_code_output_expression_statement): Adjust emit_line_note
      	calls.
      
      From-SVN: r69047
      Nathan Sidwell committed
    • re PR rtl-optimization/9812 ([m68k] ICE in extract_insn, at recog.c:2148) · 8338d44d
      PR optimization/9812
      * rtl.h (mem_for_const_double): Delete prototype.
      * varasm.c (mem_for_const_double): Delete function.
      * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
      config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
      (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
      * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
      (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
      * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
      comment about confused support for XFmode constants.
      
      From-SVN: r69027
      James E Wilson committed
  11. 06 Jul, 2003 1 commit
    • jump.c: Convert prototypes to ISO C90. · 0c20a65f
      	* 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
      Andreas Jaeger committed
  12. 03 Jul, 2003 2 commits
  13. 01 Jul, 2003 2 commits
    • rtl.h (emit_line_note_after): Remove. · 5f2fc772
      	* rtl.h (emit_line_note_after): Remove.
      	(emit_note_copy_after, emit_note_copy): New.
      	* emit-rtl.c (reorder_insns_with_line_notes): Replace
      	emit_line_note_after with emit_note_copy_after.
      	(emit_insn_after_with_line_notes): Likewise.
      	(emit_line_note_after): Kill.
      	(emit_note_copy_after): New.
      	(emit_note_copy): New.
      	* function.c (emit_return_into_block): Use emit_note_copy_after.
      	(thread_prologue_and_epilogue_insns): Likewise.
      	* integrate.c (expand_inline_function): Use emit_note_copy.
      	(copy_insn_list): Likewise.
      	* unroll.c (copy_loop_body): Likewise.
      	* cfglayout.c (duplicate_insn_chain): Likewise.
      
      From-SVN: r68767
      Nathan Sidwell committed
    • combine.c (distribute_notes): Don't bother REG_WAS_0. · 6001794d
      	* combine.c (distribute_notes): Don't bother REG_WAS_0.
      	* cse.c (cse_insn): Likewise.
      	* final.c (final_scan_insn): Likewise.
      	* jump.c (duplicate_loop_exit_test): Likewise.
      	* rtl.c (reg_note_name): Remove REG_WAS_0.
      	* rtl.h (REG_WAS_0): Remove.
      	* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
      	* config/avr/avr.c (output_movqi): Don't use reg_was_0.
      	(output_movhi): Likewise.
      	(output_movsisf): Likewise.
      	(reg_was_0): Remove.
      	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
      	REG_WAS_0.
      	(m68hc11_gen_movqi): Likewise.
      	* config/vax/vax-protos.h: Remove the prototype for
      	reg_was_0_p.
      	* config/vax/vax.c (follows_p): Remove.
      	(reg_was_0_p): Likewise.
      	* config/vax/vax.md (movsi): Don't use reg_was_0_p.
      	(movhi): Likewise.
      	(movqi): Likewise.
      	* doc/rtl.texi (REG_WAS_0): Remove.
      
      From-SVN: r68753
      Kazu Hirata committed
  14. 28 Jun, 2003 1 commit
  15. 27 Jun, 2003 1 commit
    • rtl.h (emit_note): Remove FILE parameter. · 2e040219
      	* 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
      Nathan Sidwell committed
  16. 25 Jun, 2003 1 commit
  17. 19 Jun, 2003 1 commit
    • c-tree.h: Remove declaration of poplevel. · e295f317
      	* c-tree.h: Remove declaration of poplevel.
      
      	* tree.h: Remove declaration of approx_sqrt.
      
      	* c-lex.c: Remove redundant declaration of asm_out_file.
      
      	* flags.h: Remove declaration of warn_unknown_pragma and
      	main_input_filename.
      
      	* rtl.h: Remove functions from fold-const.c since they're already
      	declared in tree.h.
      
      	* regs.h: Remove redundant declaration of reg_names.
      
      cp:
      
      	* cp-tree.h: Remove duplicated declarations.
      
      From-SVN: r68193
      Andreas Jaeger committed
  18. 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
  19. 17 Jun, 2003 1 commit
    • rtl.h: Remove declarations from coverage.h. · 5b0e2409
      	* rtl.h: Remove declarations from coverage.h.
      	* toplev.c: Include coverage.h.
      	* Makefile.in (toplev.o): Depend on coverage.h.
      
      	* toplev.h: Remove extra declaration of print_time.
      
      	* gengtype.c (close_output_files): Remove duplicated declaration.
      
      From-SVN: r68066
      Andreas Jaeger committed
  20. 16 Jun, 2003 2 commits
    • convert.c, [...]: Replace overly specific references to "GNU C" and "GNU C Compiler" with... · 5e6908ea
      	* convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
      	lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
      	stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
      	ssa.h, tree.def: Replace overly specific references to "GNU C"
      	and "GNU C Compiler" with references to "GCC".
      
      From-SVN: r68004
      Nathanael Nerode committed
    • function.h (struct emit_status): Remove x_last_linenum, x_last_filename. · fd3acbb3
      	* function.h (struct emit_status): Remove x_last_linenum,
      	x_last_filename. Add x_last_location.
      	* rtl.h: #include "input.h".
      	(NOTE_DATA): New.
      	* cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
      	number notes.
      	* emit-rtl.c (last_linenum, last_filename): Remove.
      	(last_location): New.
      	(emit_line_note_after): LINE must always be >= 0.
      	(emit_line_note): Likewise. Check not duplicate here...
      	(emit_note): ... rather than here.
      	(emit_line_note_force, force_next_line_note, init_emit): Adjust.
      	* integrate.c (expand_inline_function): Use emit_line_note for
      	line number notes.
      	(copy_insn_list): Likewise.
      	* unroll.c (copy_loop_body): Likewise.
      	* Makefile.in (RTL_H): Add input.h.
      
      From-SVN: r68002
      Nathan Sidwell committed
  21. 15 Jun, 2003 1 commit
    • alloc-pool.c: Convert to ISO C90 prototypes. · 4682ae04
      	* alloc-pool.c: Convert to ISO C90 prototypes.
      	* alloc-pool.h: Likewise.
      	* alias.c: Likewise.
      	* attribs.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bitmap.h: Likewise.
      	* bitmap.c: Likewise.
      	* builtins.c: Likewise.
      
      	* tree.h: Convert prototypes of attribs.c to ISO C90.
      	* basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
      	* rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
      	* expr.h: Convert prototypes of builtins.c to ISO C90.
      
      From-SVN: r67975
      Andreas Jaeger committed
  22. 14 Jun, 2003 1 commit
    • rtl.h (STORE_FLAG_VALUE): Remove default definition from here. · 06f31100
      	* rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
      	* defaults.h (STORE_FLAG_VALUE): Move default definition to here.
      	* doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
      
      	* config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
      	* config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
      	* config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
      	* config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
      	* config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
      	* config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
      	* config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
      	* config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
      	* config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
      	* config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
      	* config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
      	* config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
      	* config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
      	* config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
      	* config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
      	* config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
      	* config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
      	* config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
      	* config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
      	* config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
      
      Co-Authored-By: Zack Weinberg <zack@codesourcery.com>
      
      From-SVN: r67957
      Roger Sayle committed
  23. 12 Jun, 2003 1 commit
  24. 08 Jun, 2003 2 commits
    • cfglayout.c (insn_scope): New static function · 0435312e
      	* cfglayout.c (insn_scope): New static function
      	(block_locators_*, line_locators*, file_locators*): New static varrays.
      	(scope_to_insns_initialize): Use them.
      	(insn_line, insn_file): New functions.
      	(scope_to_insns_finalize): Use insn_scope.
      	(prologue_locator, epilogue_locator): New global variables.
      	* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
      	make_call_insn_raw, emit_copy_of_insn_after): Use locators.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	use locators.
      	* final.c (notice_source_line): Use locators.
      	(final_start_function): Set initial source file and line.
      	(final_scan_insn): Use locators.
      	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
      	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
      	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
      	noce_process_if_block, find_cond_trap): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* jump.c (duplicate_loop_exit_test): LIkewise.
      	* print-rtl.c (print_rtx): Print locators.
      	* recog.c (peephole2_optimize): Likewise.
      	* rtl.h (INSN_SCOPE): Remove.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
      	* unroll.c (copy_loop_body): Use locators.
      	* function.c (set_insn_locators): New function.
      	(thread_prologue_and_epilogue_insns): Set the locators accordingly.
      
      From-SVN: r67637
      Jan Hubicka committed
    • predict.h: Convert to ISO C90 prototypes. · 79a490a9
      	* predict.h: Convert to ISO C90 prototypes.
      	* predict.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-dump.c: Likewise.
      	* diagnostic.h: Likewise.
      	* diagnostic.c: Likewise.
      	* combine.c: Likewise.
      
      	* rtl.h: Convert prototypes of combine.c to ISO C90.
      
      From-SVN: r67626
      Andreas Jaeger committed
  25. 06 Jun, 2003 1 commit
    • function.c (FLOOR_ROUND, CEIL_ROUND): Fix. · 9ee634e3
      	* function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
      	* i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic stack frames.
      	(pro_epilogue_adjust_stack_rex64_2): New pattern
      
      	* cfghooks.h, cfghooks.c: New files.
      	* Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
      	(OBJS): Add cfghooks.o.
      	(cfghooks.o): New rule.
      	* basic-block.h (split_edge): Rename to rtl_split_edge.
      	(verify_flow_info): Rename to rtl_verify_flow_info.
      	(cfghooks.h): Included here.
      	* cfgrtl.c (split_edge): Renamed rtl_split_edge.
      	(verify_flow_info): Renamed rtl_verify_flow_info.
      	* toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
      
      	* basic-block.h (split_block, split_edge, flow_delete_block,
      	redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
      	(flow_delete_block_noexpunge):  Return void.
      	* cfg.c (verify_flow_info): New function.
      	* cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
      	try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
      	Use delete_block.
      	* cfglayout.c (function_footer): Rename to...
      	(cfg_layout_function_footer): ... this variable
      	(unlink_insn_chain): Make global.
      	(fixup_reorder_chain, record_effective_endpoints): Update.
      	(cleanup_unconditional_jumps): Use delete_block.
      	(cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
      	(cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
      	(cfg_layout_initialize, cfg_layout_finalize): Update hooks.
      	* cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
      	(cfg_layout_function_footer): Declare.
      	* cfgloopmanip (split_loop_bb): Do not update RBI.
      	(remove_bbs): Use delete_block.
      	(loop_reidrect_edge, loop_delete_branch_edge): Use
      	redirect_edge_and_branch.
      	(create_preheader): Use split_block and redirect_edge_and_branch_force.
      	(split_edge_with): Likewise.
      	* cfgrtl.c: Include cfglayout.h
      	(split_edge): Rename to ...
      	(rtl_split_edge) ... this one; make local.
      	(redirect_edge_and_branch): Rename to ...
      	(rtl_redirect_edge_and_branch) ... this one; make local.
      	(redirect_edge_and_branch_force): Rename to ...
      	(rtl_redirect_edge_and_branch_force) ... this one; make local.
      	(cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
      	(cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
      	cfglayout.c; update to directly call RTL counterparts.
      	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
      	* ifcvt.c (find_cond_trap): Use delete_block.
      	(find_if_case_1): Use delete_block.
      	(find_if_case_2): Use delete_block.
      	* rtl.h (unlink_insn_chain): Declare.
      	* toplev.c (rtl_reigster_cfg_hooks): New.
      
      From-SVN: r67535
      Jan Hubicka committed
  26. 03 Jun, 2003 1 commit
    • builtins.c (expand_builtin_memcpy): Remove endp argument and endp != 0 handling. · 8fd3cf4e
      	* builtins.c (expand_builtin_memcpy): Remove endp argument and endp
      	!= 0 handling.  Pass 0 to store_by_pieces.
      	(expand_builtin_mempcpy): Add endp argument.  Don't call
      	expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
      	directly.  If ignoring result, only do expand_call.
      	(expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
      	otherwise.
      	(expand_builtin_strncpy, expand_builtin_memset): Adjust
      	store_by_pices callers.
      	(expand_builtin): Adjust expand_builtin_memcpy and
      	expand_builtin_mempcpy callers.
      	* expr.c (can_move_by_pieces): New function.
      	(move_by_pieces): Add endp argument, return to resp. memory at end
      	or one byte earlier depending on endp.
      	(store_by_pieces): Likewise.
      	(emit_block_move): Adjust call to move_by_pieces.
      	(emit_push_insn): Adjust move_by_pieces caller.
      	* expr.h (can_move_by_pieces): New prototype.
      	(store_by_pieces): Adjust prototypes.
      	* rtl.h (move_by_pieces): Adjust prototype.
      	* config/mips/mips.c (expand_block_move): Adjust move_by_pieces
      	caller.
      
      	* gcc.c-torture/execute/builtins/string-4.c (main_test): Remove
      	mempcpy test with post-increments.
      	* gcc.c-torture/execute/string-opt-3.c: New test.
      	* gcc.dg/string-opt-1.c: New test.
      
      From-SVN: r67358
      Jakub Jelinek committed
  27. 01 Jun, 2003 1 commit
    • genrecog.c: Use ISO C90 prototypes. · 3d7aafde
      	* genrecog.c: Use ISO C90 prototypes.
      	(nodes_identical): Correct declaration to match prototype.
      	(maybe_both_true): Likewise.
      	(merge_trees): Likewise.
      
      	* genpeep.c (gen_peephole): Remove #if 0 code.
      	Use ISO C90 prototypes.
      
      	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
      	Remove #if 0'ed function simplify_by_alternatives.
      	(optimize_attrs): Remove #if 0'ed code.
      	Remove ^L.
      	Use ISO C90 prototypes.
      	(make_canonical): Remove #if 0'ed code.
      	(convert_const_symbol_ref): Remove #if 0'ed function.
      
      	* gen-protos.c (main): Check for argument.
      
      	* rtl.h: Use ISO C90 prototypes for functions from lists.c.
      
      	* params.h: Use ISO C90 prototypes.
      	* params.c: Likewise.
      	* intl.c: Likewise.
      	* intl.h: Likewise.
      	* lists.c: Likewise.
      	* errors.c: Likewise.
      	* errors.h: Likewise.
      	* gencodes.c: Likewise.
      	* genpreds.c: Likewise.
      	* genattr.c: Likewise.
      	* gen-protos.c: Likewise.
      	* genflags.c: Likewise
      	* genconditions.c: Likewise.
      	* genautomata.c: Likewise.
      	* gencheck.c: Likewise.
      	* genconfig.c: Likewise.
      	* genconstants.c: Likewise.
      	* genemit.c: Likewise.
      	* genextract.c: Likewise.
      	* gengenrtl.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c: Likewise.
      	* gensupport.c: Likewise.
      	* gensupport.h: Likewise.
      
      From-SVN: r67296
      Andreas Jaeger committed
  28. 14 May, 2003 1 commit
    • rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from DEFERRED_CONSTANT_P. · 2adb9af1
              * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
              DEFERRED_CONSTANT_P.
              * integrate.c (copy_rtx_and_substitute): Update use.
              * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
              to the copy generated.
              (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
              of the constant to see if we should emit.
              (mark_constant): Similarly.
              (output_constant_def_contents): Set TREE_ASM_WRITTEN.
      
      From-SVN: r66807
      Richard Henderson committed
  29. 13 May, 2003 1 commit
  30. 05 May, 2003 1 commit
    • rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P. · 10b6a274
      	* rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
      	* varasm.c (struct varasm_status): Add deferred_constants field.
      	(n_deferred_strings): Delete variable.
      	(n_deferred_constants): New #define.
      	(struct constant_descriptor_tree): Kill next and label fields.
      	(const_hash_table, MAX_HASH_TABLE): Delete.
      	(const_desc_htab): New static variable.
      	(const_hash): Rename const_desc_hash, and make it fit the
      	hashtab.h interface.
      	(const_desc_eq): New.
      	(const_hash_1, compare_constant): Const-ify arguments.
      	(build_constant_desc): Set DEFERRED_CONSTANT_P on all new
      	SYMBOL_REFs.  Clarify comments.  Don't set desc->label.
      	(output_constant_def): Do the lookup/insert using the
      	hashtab.h interface.  Don't muck with n_deferred_constants or
      	DEFERRED_CONSTANT_P here.
      	Always call maybe_output_constant_def_contents.
      	(maybe_output_constant_def_contents): Take a pointer to the
      	descriptor, not the EXP and RTL separately.  Return
      	immediately if this constant is not deferred.  Defer output of
      	everything, except writable string constants.  Update
      	n_deferred_constants here.
      	(output_constant_def_contents): Now takes just one argument,
      	an rtx.  Clear DEFERRED_CONSTANT_P here.
      	(mark_constant_pool): Update for rename of n_deferred_strings.
      	(mark_constant): Don't clear DEFERRED_CONSTANT_P here.
      
      	(init_varasm_status): Clear p->deferred_constants.
      	(init_varasm_once): Call htab_create_ggc for const_desc_htab.
      
      	* gcc.dg/const-elim-1.c, gcc.dg/const-elim-2.c: New testcases.
      
      From-SVN: r66505
      Zack Weinberg committed
  31. 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
  32. 27 Apr, 2003 1 commit
    • varasm.c (const_str_htab_hash, [...]): Kill. · 32a61907
      	* varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
      	struct deferred_string, const_str_htab): Kill.
      	(n_deferred_strings): New static variable.
      	(build_constant_desc): Set SYMBOL_REF_DECL of the new
      	symbol_ref to point to the constant.
      	(output_constant_def): When a deferred string is forced out,
      	just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
      	(mark_constant): Likewise.
      	(maybe_output_constant_def_contents): When deferring a string
      	constant, just set STRING_POOL_ADDRESS_P and increment
      	n_deferred_strings.
      	(mark_constant_pool): Check n_deferred_strings, not the size
      	of const_str_htab.
      	(init_varasm_once): No need to create const_str_htab.
      
      	* rtl.def, rtl.h, doc/rtl.texi: Document possibility that
      	SYMBOL_REF_DECL points to a constant.
      
      From-SVN: r66133
      Zack Weinberg committed
  33. 22 Apr, 2003 1 commit
  34. 21 Apr, 2003 1 commit
    • Break out coverage routines to new file. · ca29da43
              * Makefile.in (COVERAGE_H): New variable
              (C_OBJS): Add coverage.o
              (coverage.o): New target.
              (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
              dependencies.
              (GTFILES): Adjust.
              (gt-coverage.h): New target.
              (gt-profile.h): Remove.
              * profile.h: Remove. Move to ...
              * coverage.h: ... here. New. #include gcov-io.h.
              * gcov-io.h: Move function definitions to ...
              * gcov-io.c: ... here. New.
              * profile.c: Move coverage routines to coverage.c.
              (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
              end_branch_prob): Adjust.
              * coverage.c: New. Coverage routines from profile.c
              (coverage_counter_ref, coverage_init, coverage_finish,
              coverage_end_function, coverage_begin_output,
              coverage_counter_ref, get_coverage_counts): Define.
              * gcov-dump.c, gcov.c: #include gcov-io.c.
              * libgcov.c: Likewise. Adjust.
              * loop-init.c: Don't #include profile.h
              * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
              * rtl.h: Add coverage prototypes.
              * toplev.c (compile_file): Init coverage, not branch_prob.
              Always call coverage_finish.
              (rest_of_compilation): Call coverage_end_function.
      
      From-SVN: r65897
      Nathan Sidwell committed
  35. 17 Apr, 2003 1 commit
    • emit-rtl.c (subreg_hard_regno): Check that register is representable. · 04c5580f
      
      	* 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
      Jan Hubicka committed