Age | Commit message (Collapse) | Author | Files | Lines |
|
insns before emitting a delayed...
* final.c (final_scan_insn): Apply the effects of frame-related
delay slot insns before emitting a delayed branch.
From-SVN: r66774
|
|
initial lengths and addresses.
* final.c (shorten_branches): Align the address of code label
when computing initial lengths and addresses.
From-SVN: r61803
|
|
* emit-rtl.c (reg_attrs_htab): New static variable.
(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
functions.
(reg_rtx): Do not maintain regno_decl.
(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
set_mem_attrs_from_reg): New global function.
(init_emit): Do not initialize regno_decl.
(init_emit_once): initialize reg_attrs_htab.
* final.c (alter_subreg): Do not replace REG by SUBREG.
(gen_mem_expr_from_op): Improve output.
(output_asm_operands): Likewise.
* function.c (assign_params): Do not set REGNO_DECL.
* function.h (struct function): Kill regno_decl.
(REGNO_DECL): Kill.
* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
* print_rtl.c (print_rtx): Output REG information.
* regclass.c (reg_scan_mark_refs): Update attrs.
* reload1.c (alter_reg): Likewise.
* simplify_rtx.c (simplify_subreg): Likewise.
* stmt.c (expand_decl): Likewise.
* rtl.def (REG): Add new field.
* rtl.h (struct reg_attrs): New.
(rtunion_def): At rtreg.
(X0MEMATTR): Add checking.
(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
Declare.
* tree.h (SET_DECL_RTL): Call set_decl_rtl.
From-SVN: r61741
|
|
* params.def (tracer-min-branch-probability-feedback): Fix default.
* final.c (compute_alignments): Use profile to avoid code bloat.
From-SVN: r60413
|
|
From-SVN: r60174
|
|
* 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
|
|
* i386.md (movv2di_internal): New pattern.
(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
(movv2di): New expander.
* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
* i386.c (ix86_expand_timode_binop_builtin): Delete.
(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
(ix86_expand_builtin): Likewise.
* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
sse_andti3,
sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
sse_andnti3,
sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
sse_orti3,
sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
sse_xorti3): Kill.
(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
*sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
*sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
* xmmintrin.h (__m128i): Define as __v2di.
PR c/7344
* predict.c (can_predict_insn_p): New function.
(estimate_probability): Avoid unnecesary work.
(process_note_prediction): Likewise.
* toplev.c (rest_of_compilation): Account early branch prediction pass
as TV_BRANCH_PROB.
PR c++/6419
(expand_expr): Use DECL_RTL_SET_P.
From-SVN: r58156
|
|
* final.c (final): Use symbol name as function name for profiling.
* profile.c (get_exec_counts): Likewise.
(branch_prob): Likewise.
From-SVN: r57790
|
|
From-SVN: r57261
|
|
* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* arm.c (aof_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* c4x.c (c4x_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* darwin-protos.h (darwin_globalize_label): Declare.
* darwin.c (darwin_globalize_label): New function.
* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
(ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
* dsp16xx.c (asm_output_common): Use target hook.
* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
* frv.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* i370.c (i370_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
* i370.h (ASM_GLOBALIZE_LABEL): Delete.
* i386.c (ix86_asm_file_end): Use target hook.
* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* ia64.c (ia64_asm_output_external): Likewise.
* ia64/sysv4.h: Update comment.
* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
* mmix-protos.h (mmix_asm_globalize_label): Delete.
* mmix.c (mmix_asm_globalize_label): Likewise.
* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* ns32k.c (ns32k_globalize_label): New function.
* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
(ASM_GLOBALIZE_LABEL): Delete.
* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
* pa.c (pa_globalize_label): New function.
* pa.h (ASM_GLOBALIZE_LABEL): Delete.
(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
(TARGET_ASM_GLOBALIZE_LABEL): Undef.
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* v850.c (v850_output_aligned_bss): Use target hook.
* vax.c (vms_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
* doc/tm.texi: Update docs.
* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
target hook.
* final.c (output_alternate_entry_point): Likewise.
* hooks.c (hook_FILEptr_constcharptr_void): New function.
* hooks.h (hook_FILEptr_constcharptr_void): Declare.
* output.h (assemble_global): Delete.
(default_globalize_label): Declare.
* system.h (ASM_GLOBALIZE_LABEL): Poison.
* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
* target.h (gcc_target): Add globalize_label member.
* varasm.c (asm_output_bss, asm_output_aligned_bss,
globalize_decl): Use target hook.
(assemble_global): Delete.
(default_globalize_label): New function.
From-SVN: r56478
|
|
* dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
(xcoff_debug_hooks): Update end_prologue.
* debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
* debug.h (end_prologue): Add file arg.
(end_epilogue): Add line and file args.
(dwarf2out_end_epilogue): Add line and file args.
(vmsdbgout_after_prologue): Remove.
* dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
(dwarf2_debug_hooks): Update end_prologue.
* dwarfout.c (dwarfout_end_epilogue): Add line and file args.
(dwarfout_end_prologue): Add file arg.
* final.c (vmsdbgout_after_prologue): Remove
(final_end_function): Update end_epilogue call.
(final_scan_insn): Update end_prologue call.
* sdbout.c (sdbout_end_epilogue): Add line and file args.
(sdbout_end_prologue): Add file arg.
(sdb_debug_hooks): Update end_prologue.
(sdb_begin_prologue): Update sdbout_end_prologue call.
* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
vmsdbgout_end_function.
(vmsdbgout_end_prologue): New function renamed from
vmsdbgout_after_prologue. Call vmsdbgout_source_line.
(vmsdbgout_end_function): New function.
(vmsdbgout_end_epilogue): Add line and file args. Call
vmsdbgout_source_line.
(write_pclines): Write only valid line numbers.
(write_srccorr): Don't write source correlation records if 0 lines.
* xcoffout.c (xcoffout_end_epilogue): Add line and file args.
From-SVN: r56356
|
|
* gcc.c (cc1_options): Pass output file as auxbase when
appropriate.
* profile.c (init_branch_prob): FILENAME has already had ending
stripped.
* final.c (end_final): Likewise.
* toplev.c (aux_base_name): New global.
(compile_file): Pass aux_base_name to init init_branch_prob and
end_final.
(independent_decode_option, case 'a'): New auxinfo options.
(case 'd'): Protect against mising basename.
(do_compile): Initialize aux_base_name.
* toplev.h (aux_base_name): New global.
* doc/invoke.texi: Adjust documentation.
From-SVN: r56025
|
|
defined, use it.
* final.c (output_alternate_entry_point):
If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
From-SVN: r55939
|
|
* rtl.def (CODE_LABEL): Remove slot 8.
* rtl.h (struct rtx_def): Document new uses of jump and call fields.
(LABEL_ALTERNATE_NAME): Delete.
(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
* final.c (output_alternate_entry_point): New.
(final_scan_insn): Use it instead of
ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
of a case label being an alternate entry point.
* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
(field deleted).
* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
* doc/tm.texi: Delete documentation of
ASM_OUTPUT_ALTERNATE_LABEL_NAME.
From-SVN: r55597
|
|
* function.h (struct function) [funcdef_no]: Rename profile_label_no.
(current_function_funcdef_no): Similarly.
* function.c (funcdef_no): Similarly.
(prepare_function_start): Set current_function_funcdef_no.
(expand_function_start): Don't set current_function_profile_label_no.
* dwarf2out.h (current_funcdef_number): Remove.
* dwarf2out.c (current_funcdef_number): Remove. Replace with
current_function_funcdef_no throughout.
* dwarfout.c, vmsdbgout.c: Similarly.
* except.c (sjlj_funcdef_number): Remove.
(sjlj_emit_function_enter): Use current_function_funcdef_no instead.
(output_function_exception_table): Likewise.
* final.c (profile_function): Use current_function_funcdef_no
instead of current_function_profile_label_no.
From-SVN: r54709
|
|
* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
* final.c (final_scan_insn): Likewise.
* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
* haifa-sched.c (unlink_other_notes): Likeewise.
(reemit_notes): Likewise.
* print-rtl.c (print_rtx): Likewise.
* sched-deps (sched-analyze): Likewise.
* rtl.c (note_insn_name): Likewise.
* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
(RANGE_*): Kill.
From-SVN: r54250
|
|
From-SVN: r54232
|
|
needed STACK_REGS ifdef.
* final.c (final): Allow notes to not have computed addresses;
kill no longer needed STACK_REGS ifdef.
From-SVN: r54190
|
|
* 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
|
|
PR other/6782
* final.c (get_mem_expr_from_op): Return 0 if op is NULL.
* gcc.dg/verbose-asm.c: New test.
From-SVN: r53856
|
|
over basic block chain.
* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
Use FOR_EACH_BB macros to iterate over basic block chain.
* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
Likewise.
* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
find_unreachable_blocks, create_edge_list, verify_edge_list,
remove_fake_edges, add_noreturn_fake_exit_edges,
flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
Likewise.
* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
find_sub_basic_blocks): Likewise.
* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
Likewise.
* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
Likewise.
* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
Likewise.
* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
commit_edge_insertions, commit_edge_insertions_watch_calls,
print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
* combine.c (combine_instructions, reg_dead_at_p): Likewise.
* conflict.c (conflict_graph_compute): Likewise.
* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
df_modified_p, df_refs_unlink, df_dump): Likewise.
* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
* final.c (compute_alignments): Likewise.
* flow.c (update_life_info, update_life_info_in_dirty_blocks,
delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
count_or_remove_death_notes): Likewise.
* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
classic_gcse, compute_transp, cprop, compute_pre_data,
compute_transpout, invalidate_nonnull_info,
delete_null_pointer_checks_1, delete_null_pointer_checks,
compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
compute_store_table, build_store_vectors, store_motion): Likewise.
* global.c (global_conflicts, mark_elimination): Likewise.
* graph.c (print_rtl_graph_with_bb): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ifcvt.c (if_convert): Likewise.
* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
compute_available, compute_nearerout, compute_rev_insert_delete,
optimize_mode_switching): Likewise.
* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
* predict.c (estimate_probability, note_prediction_to_br_prob,
propagate_freq, counts_to_freqs, expensive_function_p,
estimate_bb_frequencies): Likewise.
* profile.c (instrument_edges, get_exec_counts,
compute_branch_probabilities, compute_checksum, branch_prob,
find_spanning_tree): Likewise.
* recog.c (split_all_insns, peephole2_optimize): Likewise.
* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
Likewise.
* regclass.c (scan_one_insn, regclass): Likewise.
* regmove.c (mark_flags_life_zones, regmove_optimize,
record_stack_memrefs): Likewise.
* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
* resource.c (find_basic_block): Likewise.
* sched-ebb.c (schedule_ebbs): Likewise.
* sched-rgn.c (is_cfg_nonregular, build_control_flow,
find_single_block_region, find_rgns, schedule_insns)
* sibcall.c (optimize_sibling_and_tail_recursive_call)
* ssa-ccp.c (optimize_unexecutable_edges,
ssa_ccp_df_delete_unreachable_insns): Likewise.
* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
* ssa.c (find_evaluations, compute_dominance_frontiers_1,
rename_block, convert_to_ssa, compute_conservative_reg_partition,
compute_coalesced_reg_partition, rename_equivalent_regs,
convert_from_ssa): Likewise.
* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
process_for_unwind_directive): Likewise.
* df.c (FOR_ALL_BBS): Removed.
* gcse.c (struct null_pointer_info): Type of current_block field
changed.
(struct reg_avail_info): Type of last_bb field changed.
* config/ia64/ia64.c (block_num): Removed.
(need_copy_state): Type changed.
(last_block): New.
From-SVN: r53804
|
|
* bb-reorder.c (make_reorder_chain_1): Modified.
* cfganal.c (can_fallthru, flow_call_edges_add,
flow_preorder_transversal_compute): Modified.
* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
find_sub_basic_blocks): Modified.
* cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Modified.
* cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Modified.
* cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Modified.
* combine.c (this_basic_block): Type changed to basic_block.
(combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
nonzero_bits, num_sign_bit_copies, get_last_value_validate,
get_last_value, distribute_notes, distribute_links): Modified.
* final.c (compute_alignments): Modified.
* flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Modified.
* function.c (thread_prologue_and_epilogue_insns): Modified.
* gcse.c (compute_code_hoist_vbeinout): Modified.
* global.c (build_insn_chain): Modified.
* ifcvt.c (find_if_block, find_cond_trap): Modified.
* predict.c (last_basic_block_p, note_prediction_to_br_prob): Modified.
* regmove.c (regmove_optimize): Modified.
* resource.c (find_basic_block): Modified.
* sched-ebb.c (schedule_ebbs): Modified.
* ssa-dce.c (find_control_dependence, find_pdom): Modified.
From-SVN: r53695
|
|
* final.c (HAVE_READONLY_DATA_SECTION): New.
(shorten_branches): Use it instead of ifdefs.
* varasm.c (enum in_section): Add in_readonly_data.
(text_section, data_section): Tidy.
(readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
* config/darwin.h, config/nextstep.h, config/h8300/elf.h,
config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
(READONLY_DATA_SECTION): Don't undef.
* config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
* config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
* config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
* config/elfos.h, config/netware.h, config/1750a/1750a.h,
config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h, config/sparc/litecoff.h
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
* config/elfos.h, config/netware.h, config/svr3.h,
config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
config/h8300/h8300.h, config/i386/i386-interix.h,
config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
* config/elfos.h, config/netware.h, config/svr3.h,
config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
* config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
config/rs6000/sysv4.h, config/v850/v850.h
(EXTRA_SECTIONS): Remove in_const/in_rdata.
(EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
* config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
* config/alpha/alpha.c (alpha_start_function): Likewise.
(alpha_write_linkage): Likewise.
* config/m32r/m32r.c (m32r_select_section): Likewise.
* config/m88k/m88k.c (m88k_select_section): Likewise.
* config/mips/mips.c (mips_select_rtx_section): Likewise.
* config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
(rs6000_elf_select_section): Likewise.
* config/v850/v850.c (v850_select_section): Likewise.
* config/1750a/1750a.h, config/i860/sysv3.h
(READONLY_DATA_SECTION_ASM_OP): New.
READONLY_DATA_SECTION_ASM_OP.
* config/i386/interix.c, config/i386/winnt.c
(i386_pe_unique_section): Always use .rdata prefix.
* config/pa/som.h (readonly_data): Always switch to read-only section.
(READONLY_DATA_SECTION): Predicate on flag_pic.
* config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
* doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
(READONLY_DATA_SECTION): Update.
From-SVN: r53593
|
|
* final.c: Fix formatting.
* fix-header.c: Likewise.
* flow.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
From-SVN: r53563
|
|
From-SVN: r53537
|
|
From-SVN: r53522
|
|
functions are instrumented.
* final.c (end_final): Do not output profile_arcs constructor, when
no functions are instrumented.
From-SVN: r53455
|
|
* final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
Convert integers constants as needed. Replace "nwords" field with
"sizeof_bb".
(final): Save profile data if cfun->arc_profile, not profile_arc_flag.
* function.h: Fix typo in comment.
* libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
From-SVN: r53374
|
|
* final.c (end_final): Use C trees to output data structures for profiling.
* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
(profile.o): New dependency profile.h
(final.o): New dependency profile.h
* profile.h: New file. New global structure profile_info.
* final.h (count_edges_instrumented_now): Declare.
(current_function_cfg_checksum): Declare.
(function_list): New structure.
(functions_head, functions_tail): New static variables.
(end_final): Emits more data, removed some -ax stuff.
(final): Stores function names and chcksums.
* gcov-io.h (__write_gcov_string): New function.
(__read_gcov_string): New function.
* gcov.c (read_profile): New function.
(create_program_flow_graph): Uses read_profile instead of reading
da_file.
(read_files): Removed da_file checking, it's done by read_profile now.
* libgcc2.c (bb_function_info): New structure.
(bb): New field in structure, removed some -ax stuff.
(__bb_exit_func): Changed structure of da_file.
* profile.c (count_edges_instrumented_now): New global variable.
(current_function_cfg_checksum): New global variable.
(max_counter_in_program): New global variable.
(get_exec_counts): New function.
(compute_checksum): New function.
(instrument_edges): Sets count_edges_instrumented_now.
(compute_branch_probabilities): Uses get_exec_counts instead of
reading da_file.
(branch_prob): Calls compute_checksum and writes extra data to bbg_file.
(init_branch_prob): Removed da_file checking, done in get_exec_counts
now.
(end_branch_prob): Removed da_file checking, done in get_exec_counts
now.
* gcov.texi: Updated information about gcov file format.
Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
From-SVN: r53326
|
|
PR target/6413
* function.h: (struct function): Add profile_label_no field.
(current_function_profile_label_no): Define.
* function.c: (profile_label_no): New static var.
(expand_function_start): Increment it, and copy to
current_function_profile_label_no.
* output.h (profile_label_no): Delete.
* final.c (profile_label_no): Delete.
(profile_function): Use current_function_profile_label_no.
(final_end_function): Don't increment profile_label_no here.
* config/i386/i386.c (ix86_osf_output_function_prologue): Replace
profile_label_no with current_function_profile_label_no.
* config/pa/pa.c (current_function_number): Delete.
(pa_output_function_prologue): Don't output profile label here.
(hppa_profile_hook): Use label_no param rather than
current_function_number.
(FUNC_BEGIN_PROLOG_LABEL): Move to ..
* config/pa/pa.h: .. here.
(FUNCTION_PROFILER): Output profile label here.
From-SVN: r52656
|
|
* rtl.h (RTX_FLAG): New macro.
* emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
* final.c (alter_subreg): Use macro to access rtx flag.
* integrate.c (copy_rtx_and_substitute): Use new access macro.
* print-rtl.c (print_rtx): Use new access macro.
* cse.c (insert): Check rtx code before accessing flag.
* genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
(attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
convert_const_symbol_ref, make_canonical, make_alternative_compare,
evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
simplify_test_exp, optimize_attrs, simplify_by_exploding,
find_and_mark_used_attributes, unmark_used_attributes,
add_values_to_cover, simplify_with_current_value,
simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
copy_rtx_unchanging, main): Use new access macros.
From-SVN: r52645
|
|
w/-fpic|-fPIC)
PR c++/6119
* final.c (final_start_function): Don't bump profile_label_no here...
(final_end_function): ...but here.
From-SVN: r51872
|
|
PR opt/190
* final.c (this_is_asm_operands): Export.
* output.h (this_is_asm_operands): Declare.
* config/i386/i386.c (print_operand): Error odd asm operands.
From-SVN: r51741
|
|
* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
java/jcf-parse.c, java/lex.c:
Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
REAL_ARITHMETIC blocks unconditional. Delete some further
#ifdef blocks predicated on REAL_ARITHMETIC.
* flags.h, toplev.c: Delete remaining references to
flag_pretend_float.
* doc/invoke.texi: Remove documentation of -fpretend-float.
* doc/tm.texi: Describe the various REAL_* macros as provided by
real.h, not by the target configuration files.
* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/xtensa/xtensa.h:
Do not define, undefine, or mention in comments any of
REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
From-SVN: r50263
|
|
From-SVN: r50099
|
|
2002-02-17 Philipp Thomas <pthomas@suse.de>
* final.c (output_operand_lossage): Changed to accept
printf style arguments. Change calls where necessary.
* output.h (output_operand_lossage): Change declaration
accordingly. Update copyright.
* config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
Update copyright date where necessary.
* config/i386/i386.c (print_operand): Likewise. Remove use of
sprintf.
* config/cris/cris.c (cris_operand_lossage): Likewise.
Rename parameter so that exgettext recognizes it as
translatable message.
(LOSE_AND_RETURN): Rename parameter to msgid.
* po/gcc.pot: Regenerate.
From-SVN: r49820
|
|
* expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
* final.c (output_addr_const): Accept and discard SUBREG.
* varasm.c (decode_addr_const): Don't abort on unknown expressions --
mark them unknown instead.
(simplify_subtraction): Handle RTX_UNKNOWN.
(initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
* gcc.c-torture/compile/labels-3.c: New.
From-SVN: r49622
|
|
From-SVN: r49503
|
|
* function.h (struct function): Add profile.
(current_function_profile): New.
doc/extend.texi: Update documentation.
* final.c (final_start_function): Use current_function_profile
instead of profile_flag.
(profile_after_prologue): Likewise.
* function.c (expand_function_start): Likewise.
(expand_function_start): Likewise.
* config/alpha/alpha.c (direct_call_operand):
(alpha_does_function_need_gp): Likewise.
(alpha_expand_prologue): Likewise.
* config/arm/arm.c (arm_expand_prologue): Likewise.
thumb_expand_prologue: Likewise.
* config/d30v/d30v.c (d30v_stack_info): Likewise.
* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
(fr30_expand_prologue): Likewise.
* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
* config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
* config/i386/i386.h (FINALIZE_PIC): Likewise.
* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
* config/i960/i960.c (i960_output_function_prologue): Likewise.
* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
(m32r_expand_prologue): Likewise.
* config/m88k/m88k.c (m88k_layout_frame): Likewise.
(m88k_expand_prologue): Likewise.
* config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
* config/mips/mips.c (compute_frame_size): Likewise.
(mips_expand_prologue): Likewise.
(mips_can_use_return_insn): Likewise.
* config/pa/elf.h (ASM_FILE_START): Likewise.
* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
* config/pa/som.h (ASM_FILE_START): Likewise.
* config/romp/romp.c (romp_using_r14): Likewise.
* config/rs6000/rs6000.c (first_reg_to_save): Likewise.
(rs6000_stack_info): Likewise.
* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/rs6000/xcoff.h (toc_section): Likewise.
* config/v850/v850.c (compute_register_save_size): Likewise.
From-SVN: r48515
|
|
2002-01-02 Eric Christopher <echristo@redhat.com>
* final.c (final_scan_insn): Change 0 -> NULL_RTX in
FIND_REG_INC_NOTE call. Update copyright.
* loop.c (canonicalize_condition): Ditto.
* reorg.c (delete_scheduled_jump): Ditto.
From-SVN: r48506
|
|
From-SVN: r48432
|
|
* final.c (struct bb_list): Delete.
(struct bb_str): Likewise.
From-SVN: r48408
|
|
* target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
asm_out.integer): New fields.
* target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
the individual initialisers together.
(TARGET_ASM_OUT): Add the new initialisers.
* output.h (assemble_integer): Return bool.
(integer_asm_op): Declare.
(default_assemble_integer): Declare.
(assemble_aligned_integer): New interface to assemble_integer.
* varasm.c (integer_asm_op): New function to select pseudo-op.
(default_assemble_integer): Default implementation of asm_out.integer.
(assemble_integer): Use the new target hook. Split objects into
words or bytes if the target hook fails. Return bool.
* doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
Document new target hooks.
* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
* dwarf2asm.c (unaligned_integer_asm_op): Remove.
(dw2_assemble_integer): New.
(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
dw2_asm_output_encoded_addr_rtx): Use it.
(dw2_asm_output_nstring): Use assemble_integer for the null terminator.
(dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
integer_asm_op to get the byte pseudo-op. Use assemble_integer
if it returns NULL.
* dwarf2asm.h (dw2_assemble_integer): Declare.
* dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the
default implementation of most macros.
(output_unsigned_leb128): Use dw2_asm_output_data.
(output_signed_leb128, dwarfout_source_line): Likewise.
(output_reg_number): Use dw2_assemble_integer.
(generate_macinfo_entry): Separate the type and offset arguments.
Use assemble_integer to write the value.
(dwarfout_start_source_file): Update generate_macinfo_entry usage.
(dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
* final.c (output_addr_const): Don't put brackets round a subtracted
symbol value or ".".
* halfpic.c (half_pic_finish): Use assemble_aligned_integer.
* config/1750a/1750a.c (assemble_integer_1750a): New,
* config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
* config/arc/arc.c (arc_assemble_integer): New.
* config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/arm/arm.c (arm_poke_function_name): Likewise.
(arm_assemble_integer): New, extracted from...
* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
(ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
(ARM_FUNCTION_PROFILER): Likewise.
* config/avr/avr-protos.h (asm_output_byte): Remove.
(asm_output_char, asm_output_short): Remove.
* config/avr/avr.c (avr_assemble_integer): New.
(asm_output_byte, asm_output_char, asm_output_short): Remove.
* config/clipper/clipper.h (ASM_LONG): Remove.
* config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
* config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
* config/elxsi/elxsi.c (elxsi_assemble_integer): New.
* config/i370/i370.c (i370_hlasm_assemble_integer): New.
* config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
(ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
* config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
* config/i860/i860.c (i860_output_function_epilogue): Likewise.
* config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_SHORT, ASM_LONG): Undefine.
* config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
* config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/ia64/ia64.c (ia64_assemble_integer): New.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
(ASM_OUTPUT_DWARF_PCREL): Likewise.
* config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
(ASM_SHORT, ASM_LONG): Remove.
* config/m68k/m68k.h (INT_OP_GROUP): New macro.
(INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
macros, the allowed values for INT_OP_GROUP.
* config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
* config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/dpx2.h (ASM_LONG): Undefine.
(INT_OP_GROUP): Define to INT_OP_DC.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/lynx.h (ASM_LONG): Undefine.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
(TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
* config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
for GAS and INT_OP_NO_DOT otherwise.
(ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_STANDARD.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
(ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
* config/m68k/tower-as.h (ASM_LONG): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
* config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
* config/mips/iris5.h (TARGET_IRIX5): Define.
* config/mips/mips.c (mips_assemble_integer): New.
* config/mips/sni-svr4.h (ASM_LONG): Undefine.
* config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
* config/mmix/mmix.c (mmix_assemble_integer): New.
(mmix_asm_output_double_int): Remove.
(mmix_print_operand): Call mmix_output_octa directly.
* config/mmix/mmix.h (ASM_LONG): Remove.
* config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/pa/pa.c (pa_assemble_integer): New.
(pa_override_options): Only use aligned DI ops on 64-bit targets.
Only use the unaligned ops if TARGET_GAS.
* config/pdp11/pdp11.c (pdp11_assemble_integer): New.
* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
* config/pj/pj.h (ASM_LONG): Undefine.
* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
* config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section()
and in_toc_section() rather than the in_section variable.
(rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
* config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
(RELOCATABLE_NEEDS_FIXUP): Define.
* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
* config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
to get the word directive.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/s390/s390.c (s390_assemble_integer): New.
* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
integer_asm_op to get the word directive.
* config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
* config/sparc/sparc-protos.h (output_double_int): Remove.
* config/sparc/sparc.c (output_double_int): Move to...
(sparc_assemble_integer): ...this new function.
(sparc_override_options): Only use .uaxword if TARGET_ARCH64.
* config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
* config/sparc/sysv4.h (ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
ASM_LONG.
* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
* config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
* config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
(TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
appropriate.
* config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
From-SVN: r48101
|
|
* ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
config/i370/i370.c, config/i386/i386.c,
config/i386/i386-interix.h, config/i386/i386.md,
config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
config/m32r/m32r-protos.h, config/mcore/mcore.h,
config/rs6000/rs6000.h, config/sparc/linux64.h,
config/sparc/sparc.c, config/v850/v850-protos.h,
config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
spelling errors.
From-SVN: r47815
|
|
* 1750a.md: Add default case in switch.
* alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
if-else statement.
* dsp16xx.c (print_operand_address): Likewise.
* i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
* ia64.md: Add missing braces.
* rs6000-protos.h (s8bit_cint_operand): Prototype.
* s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
if-else statement.
* stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
* v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
* dbxout.c (dbxout_source_file): Move a variable into the scope
where it is used.
* final.c (profile_function): Mark parameter with
ATTRIBUTE_UNUSED.
* genemit.c (gen_expand): Likewise for generated file.
* insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
From-SVN: r47812
|
|
subreg.
* final.c (cleanup_subreg_operands): Use recog_data.operand_loc
in test for a subreg.
From-SVN: r47788
|
|
* final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
Deleted; were used only by BB profiler code.
(sbb_head, sbb_tail, sbb_label_num): Likewise.
(end_final): Delete now-unused vars I, PTR, and SPTR.
From-SVN: r47755
|
|
* final.c (count_basic_block, add_bb, add_bb_string):
Kill.
(end_final, final_start_function, final, final_scan_insn,
leaf_function_p): Kill BB profiler related code.
* flags.h (profile_block_flag): Kill.
* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
__bb_init_trace_func): Kill.
* toplev.c (profile_block_flag): Kill.
(indepdendent_decode_option, process_options): Kill -a related code.
* alpha.c (direct_call_operand): Likewise.
* arm.c (arm_expand_prologue, thumb_expand_prologue,
thumb_expand_epilogue): Likewise.
* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
code.
(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i960.c (i960_output_function_prologue): Kill BB profiler related
code.
* ia64.c (ia64_compute_frame_size): Likewise.
* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
Kill BB profiler related code.
* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* mips.c (mips_expand_prologue): Kill BB profiler related code.
* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* rs6000.c (rs6000_override_options): Kill BB profiler related code.
* s960.c (s390_function_prologue): Kill BB profiler related code.
* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
sparc_nonflat_function_epilogue): Kill BB profiler related code.
(sparc_function_block_profiler, sparc_block_profiler,
sparc_function_block_profiler_exit): Kill.
* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* doc/invoke.texi: Kill documentation of -a and -ax.
* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
From-SVN: r47712
|
|
* c-decl.c (grokdeclarator): Use ISO word.
* cppinit.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* diagnostic.c: Similarly.
* emit-rtl.c: Similarly.
* final.c: Similarly.
* gcc.c: Similarly.
* tradcpp.c: Similarly.
* config/arm/arm.c: Similarly.
* config/arm/arm.h: Similarly.
* config/avr/avr.c: Similarly.
* config/avr/avr.h: Similarly.
* config/c4x/c4x.c: Similarly.
* config/cris/cris.c: Similarly.
* config/cris/cris.h: Similarly.
* config/d30v/d30v.c: Similarly.
* config/dsp16xx/dsp16xx.c: Similarly.
* config/dsp16xx/dsp16xx.h: Similarly.
* config/h8300/h8300.c: Similarly.
* config/i386/i386.c: Similarly.
* config/i386/xm-djgpp.h: Similarly.
* config/i960/i960.h: Similarly.
* config/m32r/m32r.c: Similarly.
* config/m68hc11/m68hc11.c: Similarly.
* config/m88k/m88k.c: Similarly.
* config/m88k/m88k.h: Similarly.
* config/mcore/mcore.c: Similarly.
* config/mcore/mcore.h: Similarly.
* config/mips/mips.c: Similarly.
* config/mmix/mmix.c: Similarly.
* config/pa/pa.c: Similarly.
* config/rs6000/rs6000.c: Similarly.
* config/rs6000/sysv4.h: Similarly.
* config/s390/s390.c: Similarly.
* config/sparc/sparc.c: Similarly.
* config/v850/v850-c.c: Similarly.
* config/v850/v850.c: Similarly.
ch:
* actions.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* decl.c: Similarly.
* expr.c: Similarly.
* inout.c: Similarly.
* lang.c: Similarly.
* loop.c: Similarly.
* nloop.c: Similarly.
* parse.c: Similarly.
* satisfy.c: Similarly.
* tasking.c: Similarly.
* tree.c: Similarly.
* typeck.c: Similarly.
cp:
* typeck2.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
f:
* com.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* g77spec.c: Similarly.
* lex.c: Similarly.
java:
* expr.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* jcf-io.c: Similarly.
* jcf-parse.c: Similarly.
* jv-scan.c: Similarly.
* jvspec.c: Similarly.
* mangle.c: Similarly.
From-SVN: r47558
|
|
* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
(MEM_EXPR): Rename from MEM_DECL; adjust all users.
* emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
* expr.h, final.c, reload1.c: Adjust users.
* alias.c (nonoverlapping_component_refs_p): New.
(decl_for_component_ref, adjust_offset_for_component_ref): New.
(nonoverlapping_memrefs_p): Use them.
* emit-rtl.c (component_ref_for_mem_expr): New.
(set_mem_attributes): Use it.
(set_mem_offset): New.
* expr.c (expand_assignment): Call set_mem_attributes for
inner references; adjust the memory offset as needed.
* print-rtl.c (print_mem_expr): New.
(print_rtx): Use it.
From-SVN: r47534
|