1. 21 Sep, 2011 1 commit
  2. 27 Aug, 2011 1 commit
    • rtl.texi (simple_return): Document. · 26898771
      	* doc/rtl.texi (simple_return): Document.
      	(parallel, PATTERN): Here too.
      	* doc/md.texi (return): Mention it's allowed to expand to simple_return
      	in some cases.
      	(simple_return): Document standard pattern.
      	* gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
      	* final.c (final_scan_insn): Use ANY_RETURN_P on body.
      	* reorg.c (function_return_label, function_simple_return_label):
      	New static variables, replacing...
      	(end_of_function_label): ... this.
      	(simplejump_or_return_p): New static function.
      	(optimize_skip, steal_delay_list_from_fallthrough,
      	fill_slots_from_thread): Use it.
      	(relax_delay_slots): Likewise.  Use ANY_RETURN_P on body.
      	(rare_destination, follow_jumps): Use ANY_RETURN_P on body.
      	(find_end_label): Take a new arg which is one of the two return
      	rtxs.  Depending on which, set either function_return_label or
      	function_simple_return_label.  All callers changed.
      	(make_return_insns): Make both kinds.
      	(dbr_schedule): Adjust for two kinds of end labels.
      	* function.c (emit_return_into_block): Set JUMP_LABEL properly.
      	* genemit.c (gen_exp): Handle SIMPLE_RETURN.
      	(gen_expand, gen_split): Use ANY_RETURN_P.
      	* df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
      	* rtl.def (SIMPLE_RETURN): New code.
      	* ifcvt.c (find_if_case_1): Be more careful about
      	redirecting jumps to the EXIT_BLOCK.
      	* jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
      	returnjump_p_1): Handle SIMPLE_RETURNs.
      	* print-rtl.c (print_rtx): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
      	* combine.c (simplify_set): Likewise.
      	* resource.c (find_dead_or_set_registers, mark_set_resources):
      	Likewise.
      	* emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
      	copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
      	(init_emit_regs): Initialize simple_return_rtx.
      	* cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
      	force_nonfallthru_and_redirect.
      	* rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
      	(GR_SIMPLE_RETURN): New enum value.
      	(simple_return_rtx): New macro.
      	* basic-block.h (force_nonfallthru_and_redirect): Adjust
      	declaration.
      	* cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
      	argument.  All callers changed.  Be careful about what kinds of
      	returnjumps to generate.
      	* config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
      	ix86_pad_short_function): Likewise.
      	* config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
      	of return.
      	* config/mips/mips.md (any_return): New code_iterator.
      	(optab): Add cases for return and simple_return.
      	(return): Expand to a simple_return.
      	(simple_return): New pattern.
      	(*<optab>, *<optab>_internal for any_return): New patterns.
      	(return_internal): Remove.
      	* config/mips/mips.c (mips_expand_epilogue): Make the last insn
      	a simple_return_internal.
      
      From-SVN: r178135
      Bernd Schmidt committed
  3. 01 Aug, 2011 1 commit
  4. 26 Jul, 2011 1 commit
  5. 09 Jul, 2011 1 commit
    • Move ASM_COMMENT_START to defaults.h. · ded49a7f
      Note the extreme silliness in dwarf2out.c with 3 (three) copies.
      
              * defaults.h (ASM_COMMENT_START): Move here...
              * dwarf2asm.c: ... from here.
              * dwarf2out.c, final.c, vmsdbgout.c: Remove duplicates.
              * toplev.c: Remove ifndef tests of ASM_COMMENT_START.
              * varasm.c: Likewise.
      
      From-SVN: r176093
      Richard Henderson committed
  6. 08 Jul, 2011 1 commit
    • dwarf2: Extract cfi creation to a new pass. · 7644b3c7
              * tree-pass.h (pass_dwarf2_frame): Declare.
              * passes.c (init_optimization_passes): Add it.
              * dwarf2cfi.c (dwarf2out_frame_debug): Make static.
              (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
              make static, do not call add_cfis_to_fde.
              (dwarf2out_frame_debug_init, dwarf2cfi_function_init,
              dwarf2out_frame_init): Merge into...
              (execute_dwarf2_frame): ... here.  New function.
              (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean.  Change
              saved_do_cfi_asm to a tri-state variable.
              (gate_dwarf2_frame, pass_dwarf2_frame): New.
              * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
              if it has yet to be done.  Don't call dwarf2cfi_function_init.
              * dwarf2out.h, debug.h: Update decls.
              * final.c (final_start_function): Don't call
              dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
              * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
              * toplev.c (lang_dependent_init): Likewise.
      
      From-SVN: r176019
      Richard Henderson committed
  7. 07 Jul, 2011 2 commits
    • dwarf2out: Emit NOTE_INSN_CFI_* both with and without cfi-asm. · 89e25f95
      This patch is essentially Bernd's 006-cfilabel patch, updated
      for all the other changes to dwarf2out.
      
      The patch reduces the difference between the cfi-asm and non-cfi-asm
      code paths.  We now emit the CFI notes in all cases.  Later, after we're
      done producing the CFI insns we need, another pass over the rtl adds
      the necessary labels and set_loc/advance_loc CFIs.  One consequence of
      this is that def_cfa_1 can no longer use lookup_cfa, so it just compares
      to an old_cfa variable instead.
      
      The major change since Bernd's patch is that all the target-specific
      changes are no longer necessary.
      
              * dwarf2cfi.c (add_cfi): Remove.
              (dwarf2out_cfi_label): Remove force argument.  Only generate the
              label name.
              (add_fde_cfi): Simplify the different code paths.
              (add_cie_cfi): New.
              (old_cfa, old_cfa_remember): New.
              (def_cfa_1, reg_save): Remove label, add for_cie parameter.
              (last_reg_save_label): Remove.
              (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
              dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
              dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
              dwarf2out_frame_debug_cfa_expression,
              dwarf2out_frame_debug_cfa_restore,
              dwarf2out_frame_debug_cfa_window_save,
              dwarf2out_frame_debug_expr): Remove label parameter.
              (cfi_label_required_p, add_cfis_to_fde): New.
              (dwarf2out_frame_debug_after_prologue): New.
              (dwarf2cfi_frame_init): Initialize old_cfa.
              (dwarf2out_frame_debug_restore_state): Likewise.
              * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
              (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
              * final.c (final_start_function): Call
              dwarf2out_frame_debug_after_prologue.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r176017
      Bernd Schmidt committed
    • dwarf2out: Move insn scanning out of final.c. · bc5612ed
      This patch is essentially Bernd's 005-scanfirst patch, updated for
      the introduction of the dwarf2cfi.c file.
      
      We introduce NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL to hold the dwarf2
      info during the bulk of final.  The actual construction of these notes
      still happens during final, right at the very beginning of the pass,
      via the dwarf2out_frame_debug_init hook.
      
              * dwarf2cfi.c (cfi_insn): New.
              (dwarf2out_cfi_label): Don't emit cfi label here.
              (add_fde_cfi): Create a NOTE_INSN_CFI.
              (dwarf2out_frame_debug): Setup cfi_insn.
              (dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
              (dwarf2out_cfi_begin_epilogue): Make static.
              (dwarf2out_frame_debug_restore_state): Make static.
              * dwarf2out.c (output_cfi_directive): Make static.
              (dwarf2out_emit_cfi): New.
              * dwarf2out.h: Update.
              * final.c (final): Remove CFI notes.
              (final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
              dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
              Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
              * insn-notes.def (NOTE_INSN_CFI): New.
              (NOTE_INSN_CFI_LABEL): New.
              * rtl.h (union rtunion_def): Add rt_cfi member.
              (XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r176016
      Bernd Schmidt committed
  8. 30 Jun, 2011 1 commit
  9. 14 Jun, 2011 1 commit
  10. 06 Jun, 2011 1 commit
    • tree-pretty-print.c (dump_function_header): Add flags. · 6d8402ac
      * tree-pretty-print.c (dump_function_header): Add flags.
      Don't dump decl_uid with nouid.
      * tree-pretty-print.h (dump_function_header): Adjust.
      * final.c (rest_of_clean_state): Pass dump_flags on, with nouid.
      * passes.c (pass_init_dump_file): Pass dump_flags on.
      * tree-cfg.c (gimple_dump_cfg): Pass flags on.
      
      From-SVN: r174698
      Alexandre Oliva committed
  11. 01 Jun, 2011 1 commit
  12. 28 Apr, 2011 1 commit
  13. 18 Apr, 2011 1 commit
  14. 11 Apr, 2011 1 commit
    • except.c (set_nothrow_function_flags): Call cgraph_get_node instead of cgraph_node. · 581985d7
      2011-04-11  Martin Jambor  <mjambor@suse.cz>
      
      	* except.c (set_nothrow_function_flags): Call cgraph_get_node instead
      	of cgraph_node.
      	* final.c (rest_of_clean_state): Likewise.
      	* gimple-iterator.c (update_call_edge_frequencies): Likewise.
      	* passes.c (pass_init_dump_file): Likewise.
      	(execute_all_ipa_transforms): Likewise.
      	(function_called_by_processed_nodes_p): Likewise.
      	* predict.c (maybe_hot_frequency_p): Likewise.
      	(probably_never_executed_bb_p): Likewise.
      	(compute_function_frequency): Likewise.
      	* tree-nested.c (check_for_nested_with_variably_modified): Likewise.
      	(unnest_nesting_tree_1): Likewise.
      	(lower_nested_functions): Likewise.
      	* tree-optimize.c (execute_fixup_cfg): Likewise.
      	(tree_rest_of_compilation): Likewise.
      	* tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
      	* tree-sra.c (ipa_early_sra): Likewise.
      	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
      	* config/i386/i386.c (ix86_compute_frame_layout): Likewise.
      	* ipa.c (record_cdtor_fn): Likewise.
      	* ipa-inline.c (cgraph_early_inlining): Likewise.
      	(compute_inline_parameters_for_current): Likewise.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
      	* ipa-pure-const.c (local_pure_const): Likewise.
      	* ipa-split.c (split_function): Likewise.
      	(execute_split_functions): Likewise.
      	* cgraphbuild.c (build_cgraph_edges): Likewise.
      	(rebuild_cgraph_edges): Likewise.
      	(cgraph_rebuild_references): Likewise.	
      	(remove_cgraph_callee_edges): Likewise.
      	* cgraphunit.c (cgraph_mark_if_needed): Likewise.
      	(verify_cgraph_node): Likewise.
      	(cgraph_analyze_functions): Likewise.
      	(cgraph_preserve_function_body_p): Likewise.
      	(save_inline_function_body): Likewise.
      	(save_inline_function_body): Likewise.
      	* tree-inline.c (copy_bb): Likewise.
      	(optimize_inline_calls): Likewise.
      
      From-SVN: r172257
      Martin Jambor committed
  15. 08 Apr, 2011 1 commit
  16. 05 Apr, 2011 1 commit
    • debug.h (debug_flush_symbol_queue, [...]): Delete. · 1ed13f83
      	* debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
      	(debug_free_queue, debug_nesting, symbol_queue_index): Delete.
      	* final.c (debug_flush_symbol_queue, debug_queue_symbol):
      	Move these...
      	(debug_free_queue, debug_nesting, symbol_queue_index):
      	...and these...
      	* dbxout.c: ...to here.  Make static.
      
      From-SVN: r171981
      Nathan Froyd committed
  17. 01 Apr, 2011 1 commit
    • dwarf2out.h (dwarf2out_frame_debug_init): Declare. · 722279e4
      	* dwarf2out.h (dwarf2out_frame_debug_init): Declare.
      	* dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
      	out of ...
      	(dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
      	* final.c (final_start_function): Call the new function rather
      	than using a NULL argument for dwarf2out_frame_debug.
      
      From-SVN: r171839
      Bernd Schmidt committed
  18. 16 Mar, 2011 2 commits
    • emit-rtl.c (try_split): Don't call copy_call_info debug hook. · c2969d8e
      	* emit-rtl.c (try_split): Don't call copy_call_info debug hook.
      	* calls.c: Remove debug.h include.
      	(emit_call_1): Don't call virtual_call_token debug hook.
      	* dwarf2out.c (debug_dcall_section, debug_vcall_section,
      	dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
      	vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
      	size_of_dcall_table, output_dcall_table, size_of_vcall_table,
      	output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
      	vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
      	dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
      	dwarf2out_virtual_call): Remove.
      	(dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
      	copy_call_info and virtual_call hooks.
      	(dwarf2out_init): Don't initialize vcall_insn_table,
      	debug_dcall_section and debug_vcall_section.
      	(prune_unused_types): Don't mark nodes from dcall_table.
      	(dwarf2out_finish): Don't output dcall or vcall tables.
      	* final.c (final_scan_insn): Don't call direct_call or
      	virtual_call debug hooks.
      	* debug.h (struct gcc_debug_hooks): Remove direct_call,
      	virtual_call_token, copy_call_info and virtual_call hooks.
      	(debug_nothing_uid): Remove prototype.
      	* sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
      	copy_call_info and virtual_call hooks.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	(debug_nothing_uid): Remove.
      	* doc/invoke.texi (-fenable-icf-debug): Remove.
      	* common.opt (-fenable-icf-debug): Likewise.
      
      	* g++.dg/debug/dwarf2/icf.C: Adjust for -fenable-icf-debug removal.
      
      From-SVN: r171037
      Jakub Jelinek committed
    • final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION. · 2b1c5433
      	* final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
      	Call var_location debug hook even on CALL_INSNs.
      	(rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
      	* rtl.def (ENTRY_VALUE): New.
      	* dwarf2out.c: Include cfglayout.h.
      	(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
      	output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
      	(struct call_arg_loc_node): New type.
      	(call_arg_locations, call_arg_loc_last, block_map, call_site_count,
      	tail_call_site_count): New variables.
      	(dwarf_tag_name): Handle DW_TAG_GNU_call_site and
      	DW_TAG_GNU_call_site_parameter.
      	(dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
      	DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
      	DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
      	DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
      	and DW_AT_GNU_all_source_call_sites.
      	(mem_loc_descriptor): Handle ENTRY_VALUE.
      	(add_src_coords_attributes): Don't add enything if
      	DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
      	(dwarf2out_abstract_function): Save and clear call_arg_location,
      	call_site_count and tail_call_site_count around dwarf2out_decl call.
      	(gen_call_site_die): New function.
      	(gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
      	(gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
      	(dwarf2out_function_decl): Clear call_arg_locations,
      	call_arg_loc_last, set call_site_count and tail_call_site_count
      	to -1 and free block_map.
      	(dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
      	CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
      	followed by any real instructions.
      	(dwarf2out_begin_function): Set call_site_count and
      	tail_call_site_count to 0.
      	(resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
      	is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
      	attempt to force a DIE for it and worst case remove the attribute.
      	(resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
      	check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
      	the decl itself.
      	* var-tracking.c: Include tm_p.h.
      	(vt_stack_adjustments): For calls call note_register_arguments.
      	(argument_reg_set): New variable.
      	(add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
      	ensure the VALUE is resolved.
      	(call_arguments): New variable.
      	(prepare_call_arguments): New function.
      	(add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
      	(struct expand_loc_callback_data): Add ignore_cur_loc field.
      	(vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
      	always use the best expression.
      	(vt_expand_loc): Add ignore_cur_loc argument.
      	(vt_expand_loc_dummy): Clear ignore_cur_loc field.
      	(emit_note_insn_var_location): Adjust vt_expand_loc callers.
      	(emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
      	note for all calls.
      	(vt_add_function_parameter): Use cselib_lookup_from_insn.
      	If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
      	argument.  Don't call cselib_preserve_only_values and
      	cselib_reset_table.
      	(note_register_arguments): New function.
      	(vt_initialize): Compute argument_reg_set.  Call
      	vt_add_function_parameters before processing basic blocks instead of
      	afterwards.  For calls call prepare_call_arguments before calling
      	cselib_process_insn.
      	* print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
      	* Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
      	(var-tracking.o): Depend on $(TM_P_H).
      	* cfglayout.h (insn_scope): New prototype.
      	* gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
      	* cfglayout.c (insn_scope): No longer static.
      	* insn-notes.def (CALL_ARG_LOCATION): New.
      	* calls.c (expand_call, emit_library_call_value_1): Put USEs for
      	MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
      	* integrate.c (set_block_origin_self, set_block_abstract_flags): Do
      	nothing for DECL_EXTERNAL BLOCK_VARS.
      cp/
      	* cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
      	DECL_LANG_SPECIFIC is NULL.
      include/
      	* dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter,
      	DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
      	DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered,
      	DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites,
      	DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites,
      	DW_OP_GNU_entry_value): New.
      
      From-SVN: r171033
      Jakub Jelinek committed
  19. 28 Feb, 2011 1 commit
    • re PR debug/28047 (DWARF output_file_names should really understand DOS pathnames) · 94369251
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	PR debug/28047
      	* dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
      	(lookup_filename): Likewise.
      	* final.c (remap_debug_filename): Use filename_ncmp instead of
      	strncmp.
      
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	* filename_cmp.c (filename_ncmp): New function.
      	* functions.texi: Regenerated.
      
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	* filenames.h (filename_ncmp): New prototype.
      
      From-SVN: r170570
      Kai Tietz committed
  20. 02 Feb, 2011 1 commit
    • re PR debug/47498 (-fcompare-debug failure with -fsched2-use-superblocks) · a59d15cf
      gcc/ChangeLog:
      PR debug/47498
      PR debug/47501
      PR debug/45136
      PR debug/45130
      * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
      debug insns.
      (no_real_insns_p, schedule_block, set_priorities): Drop special
      treatment of boundary debug insns.
      * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
      insns.
      * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
      * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
      (BOUNDARY_DEBUG_INSN_P): Likewise.
      (SCHEDULE_DEBUG_INSN_P): Likewise.
      * sched-rgn.c (init_ready_list): Drop special treatment of
      boundary debug insns.
      * final.c (rest_of_clean_state): Clear notes' BB.
      gcc/testsuite/ChangeLog:
      PR debug/47498
      PR debug/47501
      PR debug/45136
      PR debug/45130
      * debug/pr47498.c: New.
      * debug/pr47501.c: New.
      
      From-SVN: r169513
      Alexandre Oliva committed
  21. 31 Jan, 2011 1 commit
    • revert: re PR debug/45136 (-fcompare-debug failure with -Os -fschedule-insns) · ef591d3f
      Reverted:
      2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
      PR debug/45136
      PR debug/45130
      * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
      debug insns.
      (no_real_insns_p, schedule_block, set_priorities): Drop special
      treatment of boundary debug insns.
      * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
      insns.
      * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
      * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
      (BOUNDARY_DEBUG_INSN_P): Likewise.
      (SCHEDULE_DEBUG_INSN_P): Likewise.
      * sched-rgn.c (init_ready_list): Drop special treatment of
      boundary debug insns.
      * final.c (rest_of_clean-state): Clear notes' BB.
      
      From-SVN: r169429
      Alexandre Oliva committed
  22. 25 Jan, 2011 1 commit
    • re PR debug/45136 (-fcompare-debug failure with -Os -fschedule-insns) · 9bdbdcef
      PR debug/45136
      PR debug/45130
      * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
      debug insns.
      (no_real_insns_p, schedule_block, set_priorities): Drop special
      treatment of boundary debug insns.
      * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
      insns.
      * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
      * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
      (BOUNDARY_DEBUG_INSN_P): Likewise.
      (SCHEDULE_DEBUG_INSN_P): Likewise.
      * sched-rgn.c (init_ready_list): Drop special treatment of
      boundary debug insns.
      * final.c (rest_of_clean-state): Clear notes' BB.
      
      From-SVN: r169260
      Alexandre Oliva committed
  23. 07 Jan, 2011 1 commit
    • allow the target to label code fragments generated by partitioning. · 14d11d40
      	* target.def (function_switched_text_sections): New Hook.
      	* doc/tm.texi Regenerated.
      	* doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS)
      	New.
      	* final.c (default_function_switched_text_sections): New.
      	(final_scan_insn): Call function_switched_text_sections when a mid-function section
      	change occurs.
      	* output.h (default_function_switched_text_sections): Declare.
      	* config/darwin-protos.h (darwin_function_switched_text_sections) : Likewise.
      	* config/darwin.c (darwin_function_switched_text_sections): New.
      	* config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS)
      	New.
      
      From-SVN: r168571
      Iain Sandoe committed
  24. 01 Dec, 2010 1 commit
    • common.opt (main_input_filename, [...]): New Variable entries. · a803773f
      	* common.opt (main_input_filename, main_input_basename,
      	main_input_baselength): New Variable entries.  From toplev.c.
      	* final.c (output_quoted_string): Move from toplev.c.
      	* output.h (output_quoted_string): Move from toplev.h.
      	* opts-global.c (read_cmdline_options): Use gcc_options pointer to
      	access main_input_filename, main_input_baselength and
      	main_input_basename.
      	* targhooks.c: Include intl.h and opts.h.
      	(option_affects_pch_p, default_get_pch_validity): Move from
      	toplev.c.
      	* targhooks.h (option_affects_pch_p, default_get_pch_validity):
      	Move from toplev.h.
      	* toplev.c (main_input_filename, main_input_basename,
      	main_input_baselength): Move to common.opt.
      	(output_quoted_string): Move to final.c.
      	(warn_deprecated_use): Move to tree.c.
      	(option_affects_pch_p, default_get_pch_validity,
      	pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
      	* toplev.h (skip_leading_substring): Move to tree-dump.c.
      	(warn_deprecated_use): Move to tree.h.
      	(output_quoted_string): Move to output.h.
      	(main_input_filename, main_input_basename, main_input_baselength):
      	Move to common.opt.
      	(default_get_pch_validity, default_pch_valid_p): Move to
      	targhooks.c.
      	* tree-dump.c (skip_leading_substring): Move from toplev.h.
      	* tree.c (warn_deprecated_use): Move from toplev.c.
      	* tree.h (warn_deprecated_use): Move from toplev.h.
      	* c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
      	config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
      	config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
      	config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
      	config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
      	config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
      	config/mcore/mcore.c, config/mep/mep.c,
      	config/microblaze/microblaze.c, config/mips/mips.c,
      	config/mmix/mmix.c, config/mn10300/mn10300.c,
      	config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
      	config/picochip/picochip.c, config/s390/s390.c,
      	config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
      	config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
      	config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
      	graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
      	varasm.c, xcoffout.c: Don't include toplev.h.
      	* Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
      	gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
      	varasm.o, xcoffout.o): Update dependencies.
      	* config/arm/t-arm (arm.o): Update dependencies.
      	* config/spu/t-spu-elf (spu.o): Update dependencies.
      
      cp:
      	* cp-objcp-common.c, lex.c, typeck.c: Don't include toplev.h.
      	* Make-lang.in (cp/lex.o, cp/cp-objcp-common.o, cp/typeck2.o):
      	Update dependencies.
      
      java:
      	* jcf-parse.c: Don't include toplev.h.
      	* Make-lang.in (java/jcf-parse.o): Don't depend on toplev.h.
      
      From-SVN: r167329
      Joseph Myers committed
  25. 12 Nov, 2010 1 commit
  26. 04 Nov, 2010 1 commit
    • final.c (compute_alignments): Compute/free loop info all the time. · 58082ff6
      	* final.c (compute_alignments): Compute/free loop info all the time.
      	* config/rs6000/rs6000.h (LOOP_ALIGN): Define.
      	* config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
      	* config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
      	* config/rs6000/rs6000.c (cfgloop.h): Include.
      	(can_override_loop_align): New.
      	(rs6000_option_override_internal): Set it.
      	(TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
      	(rs6000_loop_align): New function.
      	(rs6000_loop_align_max_skip): Likewise.
      
      	* gcc.target/powerpc/loop_align.c: New.
      
      From-SVN: r166329
      Pat Haugen committed
  27. 19 Oct, 2010 1 commit
    • tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New. · ad0c4c36
      * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
      (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
      (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
      (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
      * doc/tm.texi: Regenerate.
      * targhooks.h (default_label_align_after_barrier_max_skip,
      default_loop_align_max_skip, default_label_align_max_skip,
      default_jump_align_max_skip): Declare.
      * target.def (label_align_after_barrier_max_skip): New.
      (loop_align_max_skip): New.
      (label_align_max_skip): New.
      (jump_align_max_skip): New.
      * system.h (poison): Add those macros to the list.
      * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
      (LOOP_ALIGN_MAX_SKIP): Remove.
      (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
      (JUMP_ALIGN_MAX_SKIP): Remove.
      (default_label_align_after_barrier_max_skip): New.
      (default_loop_align_max_skip): New.
      (default_label_align_max_skip): New.
      (default_jump_align_max_skip): New.
      (compute_alignments): Use the new hooks.
      (shorten_branches): Likewise.
      
      From-SVN: r165707
      DJ Delorie committed
  28. 30 Sep, 2010 1 commit
    • opt-functions.awk (static_var): Update comment. · 46625112
      	* opt-functions.awk (static_var): Update comment.
      	(var_ref): Return offsetof expression or -1, not variable address.
      	* optc-gen.awk: Generate structure field initializers instead of
      	static variables.  Expect -1 for missing variables instead of null
      	pointer.  Add gcc_options parameters to generated functions.
      	* opth-gen.awk: Generate structure fields for static variables.
      	Add gcc_options parameters to generated functions.
      	* common.opt (optimize, optimize_size): Add variables.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Pass
      	&global_options to cl_target_option_restore.
      	* config/i386/i386.c (ix86_valid_target_attribute_p): Pass
      	&global_options to cl_optimization_restore, cl_target_option_save
      	and cl_target_option_restore.
      	(ix86_set_current_function): Pass &global_options to
      	cl_target_option_restore.
      	* config/pdp11/pdp11.h (optimize): Remove.
      	* config/rs6000/rs6000.h (optimize): Remove.
      	* config/sh/sh.h (optimize): Remove.
      	* config/xtensa/xtensa.h (optimize): Remove.
      	* coretypes.h (struct gcc_options): Declare.
      	* diagnostic.c (diagnostic_initialize): Initialize
      	context->option_state.
      	(diagnostic_report_diagnostic): Pass option_state to
      	option_enabled hook.
      	* diagnostic.h (diagnostic_context.option_enabled): Add void *
      	parameter.
      	(diagnostic_context.option_state): New field.
      	* final.c (final_start_function, final, final_scan_insn): Rename
      	optimize parameter to optimize_p.
      	* flags.h (optimize, optimize_size): Remove.
      	* function.c (invoke_set_current_function_hook): Pass
      	&global_options to cl_optimization_restore.
      	* gcc.c (driver_handle_option): Take gcc_options parameter.
      	Assert that it is &global_options.
      	(process_command): Pass &global_options to read_cmdline_option.
      	* ipa-pure-const.c (suggest_attribute): Pass &global_options to
      	option_enabled.
      	* lto-opts.c (lto_reissue_options): Use option_flag_var.  Pass
      	&global_options to set_option.
      	* opts-common.c (handle_option, handle_generated_option,
      	read_cmdline_option, set_option): Take explicit gcc_options
      	parameters.  Use option_flag_var.
      	(option_flag_var): New.
      	* opts.c (common_handle_option, lang_handle_option,
      	target_handle_option): Take gcc_options parameter.  Assert that it
      	is &global_options.
      	(read_cmdline_options): Pass &global_options to
      	read_cmdline_option.
      	(print_filtered_help): Use option_flag_var.  Pass &global_options
      	to option_enabled.
      	(common_handle_option): Use option_flag_var.
      	(option_enabled): Take opts parameter.  Use option_flag_var.
      	(get_option_state): Take gcc_options parameter.  Use
      	option_flag_var.  Pass gcc_options parameter to option_enabled.
      	(enable_warning_as_error): Pass &global_options to
      	handle_generated_option.
      	* opts.h (struct cl_option): Change flag_var to flag_var_offset.
      	(cl_option_handler_func.handler): Take gcc_options parameter.
      	(option_enabled, get_option_state, set_option, handle_option,
      	handle_generated_option, read_cmdline_option): Take gcc_options
      	parameters.
      	* toplev.c (optimize, optimize_size): Remove.
      	(print_switch_values): Pass &global_options to option_enabled.
      	(option_affects_pch_p): Use option_flag_var.  Pass &global_options
      	to get_option_state.
      	(general_init): Initialize global_dc->option_state.
      	* tree.c (build_optimization_node): Pass &global_options to
      	cl_optimization_save.
      	(build_target_option_node): Pass &global_options to
      	cl_target_option_save.
      
      c-family:
      	* c-common.c (handle_optimize_attribute): Pass &global_options to
      	cl_optimization_save and cl_optimization_restore.
      	* c-opts.c (c_common_handle_option): Pass &global_options to
      	handle_generated_option.
      	* c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
      	(handle_pragma_pop_options, handle_pragma_reset_options): Pass
      	&global_options to cl_optimization_restore.
      
      From-SVN: r164751
      Joseph Myers committed
  29. 28 Sep, 2010 1 commit
  30. 24 Sep, 2010 1 commit
    • lto-symtab.c (lto_symtab_entry_def): Add guessed field. · 051f8cc6
      	* lto-symtab.c (lto_symtab_entry_def): Add guessed field.
      	(lto_symtab_resolve_symbols): Set it.
      	(lto_symtab_merge_decls_1): Do not compute used_from_object_file;
      	store resolution field in cgraph/varpool.
      	* cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
      	(cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
      	(cgraph_dump_node): Drop used_from_object_file.
      	(cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
      	(cgraph_function_body_availability): Use decl_replaceable_p.
      	(cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
      	(cgraph_can_remove_if_no_direct_calls_and_refs): Use
      	cgraph_used_from_object_file_p.
      	(cgraph_will_be_removed_from_program_if_no_direct_calls): Use
      	cgraph_used_from_object_file_p.
      	(resolution_used_from_other_file_p): New functoin.
      	(cgraph_used_from_object_file_p): New predicate.
      	* cgraph.h: Include plugin-api.h
      	(struct cgraph_local_info): Remove used_from_object_file.
      	(struct cgraph_node): Add resolution field.
      	(struct varpool_node): Likewise; remove used_from_object_file;
      	reove const_value_known.
      	(cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
      	cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
      	(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
      	varpool_used_from_object_file_p): Declare.
      	(varpool_get_node, varpool_extra_name_alias): Update prototype.
      	* tree.h (DECL_REPLACEABLE_P): Remove.
      	(decl_replaceable_p, decl_binds_to_current_def_p): Declare.
      	* final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
      	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
      	input_overwrite_node, input_node, input_varpool_node): Stream
      	resolution.
      	* expr.c (expand_expr_real_1): Use const_value_known_p
      	* ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
      	const_value_known.
      	(cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
      	(function_and_variable_visibility): Set resolution for local vars
      	and functions.
      	use varpool_used_from_object_file_p.
      	* varasm.c (resolution_to_local_definition_p, resolution_local_p): New
      	static functions.
      	(default_binds_local_p_1): Use resolutoin info.
      	(decl_binds_to_current_def_p, decl_replaceable_p): New functions.
      	* varpool.c (varpool_get_node): Constify.
      	(const_value_known_p): Do not use vnode->const_value_known;
      	use decl_replaceable_p.
      	(varpool_finalize_decl): Do not set const_value_known.
      	(cgraph_variable_initializer_availability): Use decl_replaceable_p
      	(varpool_extra_name_alias): Return new node.
      	(varpool_used_from_object_file_p): New function.
      
      	* decl.c (finish_function): Use decl_replaceable_p
      	* method.c (make_alias_for_thunk): Update call of cgraph_same_body_alias.
      
      	* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
      
      From-SVN: r164610
      Jan Hubicka committed
  31. 07 Sep, 2010 2 commits
  32. 11 Aug, 2010 1 commit
    • target.def (output_addr_const_extra): New hook. · 6cbd8875
      	* target.def (output_addr_const_extra): New hook.
      	* doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
      	* doc/tm.texi: Regenerate.
      	* targhooks.c (default_asm_output_addr_const_extra): New function.
      	* targhooks.h (default_asm_output_addr_const_extra): Declare.
      	* final.c: (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
      	target hook.
      
      	* config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
      	* config/i386/i386-protos.h (output_addr_const_extra): Remove.
      	* config/i386/i386.h (output_addr_const_extra): Rename to...
      	(i386_asm_output_addr_const_extra): ...this. Make static.
      	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
      
      From-SVN: r163104
      Anatoly Sokolov committed
  33. 02 Aug, 2010 1 commit
    • final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally. · 906668bb
      	* final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
      	* config/arm/arm.c (thumb1_code): New variable.
      	(arm_override_options): Set it.
      	(thumb1_final_prescan_insn): Keep track of condition code status.
      	(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
      	jumps that depend on them.
      	* config/arm/arm.h (thumb1_code): Declare variable.
      	(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
      	members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
      	thumb1_cc_mode.
      	(CC_STATUS_INIT): New macro.
      	* config/arm/constraints.md (Pd): New constraint.
      	* config/arm/predicates.md (noov_comparison_operator): New predicate.
      	* config/arm/arm.md (is_thumb1): New define_attr.
      	(conds): Set default to "clob" when generating Thumb1 code.
      	(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
      	code are set.  Use two-operand assembly syntax.
      	(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
      	pattern.
      	(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
      	codes are set.  Use two-operand assembly syntax.
      	(zero_extendhisi splitter): Remove constraints.
      	(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
      	thumb1_movsf_insn): Set conds attribute as appropriate.
      	(cbranchsi4_insn): Use condition code status from struct
      	machine_function to determine whether the comparison can be eliminated.
      	Discourage the alternative using high registers.
      	(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
      	orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
      	bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
      	subsi3_cbranch): Delete.
      	(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
      	one subtract and one cbranch insn.
      
      From-SVN: r162813
      Bernd Schmidt committed
  34. 28 Jul, 2010 1 commit
    • i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New. · 3c5273a9
      2010-07-28  Kai Tietz  <kai.tietz@onevision.com>
      
              * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
              * config/i386/i386.c (ix86_profile_before_prologue): New.
              (override_options): Add special handling for -mfentry.
              (ix86_function_regparm): Likewise.
              (ix86_function_sseregparm): Likewise.
              (ix86_frame_pointer_required): Likewise.
              (ix86_expand_prologue): Check for ms_hook_prologue.
              (x86_function_profiler): Adjust mcount output.
              (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
              * config/i386/i386.opt (mfentry): New.
              * doc/invoke.texi (mfentry): Add documentation.
              * doc/tm.texi: Regenerated..
              * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
              * final.c (final_start_function): Replace macro
              PROFILE_BEFORE_PROLOGUE by target hook.
              * function.c (thread_prologue_and_epilogue_insns): Likewise.
              * target.def (profile_before_prologue): New hook.
              * targhooks.c (default_profile_before_prologue): New.
              * targhooks.h (default_profile_before_prologue): New.
      
      From-SVN: r162651
      Kai Tietz committed
  35. 08 Jul, 2010 1 commit
  36. 30 Jun, 2010 1 commit
    • toplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h. · 0cbd9993
      2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
      	to rtl.h.
      	(error_for_asm,	warning_for_asm): Move declarations to rtl-error.h.
      	* rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations
      	here.
      	* rtl-error.h: New.
      	* regrename.c: Do not include toplev.h. Include rtl-error.h.
      	* rtl-error.c: Likewise.
      	* reload.c: Likewise.
      	* recog.c:  Likewise.
      	* sel-sched.c: Likewise.
      	* function.c: Likewise.
      	* reg-stack.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* reload1.c: Likewise.
      	* final.c: Include rtl-error.
      	* Makefile.in: Adjust dependencies.
      
      From-SVN: r161617
      Manuel López-Ibáñez committed
  37. 16 Jun, 2010 1 commit
    • This patch adds the end prologue and begin epilogue markers in Dwarf2 · 67ad2ae7
      that are needed by the VMS debugger on I64.
      
      	* config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
      	(ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
      	* dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
      	* debug.c: Likewise.
      	* sdbout.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
      	* doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
      	* dwarf2asm.c (dw2_asm_output_vms_delta): New function.
      	(ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
      	* dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
      	* dwarf2out.c (dw_fde_struct): New fields
      	dw_fde_vms_{end,begin}_prologue.
      	(PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
      	(dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
      	(dwarf2out_vms_end_prologue): New function.
      	(dwarf2out_vms_begin_epilogue): New function.
      	(dw_val_struct): New value dw_val_class_vms_delta.
      	(gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
      	begin_epilogue for VMS.
      	(AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
      	new static functions.
      	(dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
      	(AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New 
      	static functions.
      	(print_die): New case dw_val_class_vms_delta.
      	(attr_checksum): Likewise.
      	(same_dw_val_p: Likewise.
      	(size_of_die): Likewise.
      	(value_format): Likewise.
      	(output_die): Likewise.
      	(gen_subprogram_die): Call add_AT_vms_delta on VMS.
      	(dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
      	* dwarf2out.h (dwarf2out_begin_epilogue): Rename to
      	dwarf2out_cfi_begin_epilogue
      	* final.c (final_scan_insn): Likewise. Call begin_epilogue.
      
      From-SVN: r160858
      Douglas B Rupp committed