Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r56078
|
|
2002-08-04 Geoffrey Keating <geoffk@redhat.com>
* Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
* collect2.h (permanent_obstack): Delete declaration.
* collect2.c (permanent_obstack): Delete definition.
(main): Don't initialise permanent_obstack. Use xstrdup instead.
* expr.c: Don't include obstack.h.
(permanent_obstack): Delete declaration.
* function.c: Don't include obstack.h.
(permanent_obstack): Delete declaration.
* integrate.c: Don't include obstack.h.
(function_maybepermanent_obstack): Delete declaration.
* print-tree.c (debug_tree): Use x*alloc not permalloc.
* sdbout.c (gen_fake_label): Use x*alloc not permalloc.
* tlink.c (pfgets): Use xstrdup not permanent_obstack.
* toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
* tree.h: Rename init_obstacks to init_ttree. Remove declarations
of permalloc, expralloc, perm_calloc.
* tree.c (permanent_obstack): Delete definition.
(init_ttree): Rename from init_obstacks.
(permalloc): Delete.
(perm_calloc): Delete.
(dump_tree_statistics): Don't print information about
permanent_obstack.
* varasm.c (assemble_start_function): Use xstrdup instead of
permalloc/strcpy.
(assemble_variable): Likewise.
* config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
permalloc.
(unicosmk_add_extern): Likewise.
* config/c4x/c4x.c (c4x_external_ref): Likewise.
(c4x_global_label): Likewise.
* config/frv/frv.c (frv_encode_section_info): Likewise.
* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
(i386_pe_record_exported_symbol): Likewise.
* config/mips/mips.c (mips_output_external): Likewise.
(mips_output_external_libcall): Likewise.
* config/pa/pa.c: (permanent_obstack): Delete declaration.
(output_call): Use ggc_strdup instead of allocating on
permanent_obstack.
* config/romp/romp.c: Include ggc.h.
(get_symref): Don't declare permanent_obstack, use ggc_strdup
intead of permanent_obstack.
* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
instead of permalloc.
* config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
instead of permalloc
* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
instead of permalloc.
* config/vax/vax.c (vms_check_external): Use xmalloc instead of
permalloc.
Index: cp/ChangeLog
2002-08-04 Geoffrey Keating <geoffk@redhat.com>
* cvt.c (ocp_convert): Delete obsolete code.
* parse.y (permanent_obstack): Delete declaration.
* pt.c (permanent_obstack): Delete declaration.
* repo.c (permanent_obstack): Delete declaration.
(open_repo_file): Use xmalloc instead of permanent_obstack.
(init_repo): Use xstrdup instead of permanent_obstack.
Index: java/ChangeLog
2002-08-04 Geoffrey Keating <geoffk@redhat.com>
* class.c: (permanent_obstack): Delete declaration.
* constants.c: (permanent_obstack): Delete declaration.
* except.c: (permanent_obstack): Delete declaration.
* expr.c: (permanent_obstack): Delete declaration.
* jcf-parse.c: (permanent_obstack): Delete declaration.
(saveable_obstack): Delete declaration.
* parse.h: (permanent_obstack): Delete declaration.
* typeck.c: (permanent_obstack): Delete declaration.
From-SVN: r56035
|
|
* function.c (assign_parms): Handle frontend-directed pass by
invisible reference.
cp/
* call.c (build_over_call): Likewise.
(cp_convert_parm_for_inlining): New fn.
(convert_for_arg_passing): New fn.
(convert_default_arg, build_over_call): Use it.
(type_passed_as): New fn.
* pt.c (tsubst_decl): Use it.
* decl2.c (cp_build_parm_decl): New fn.
(build_artificial_parm): Use it.
(start_static_storage_duration_function): Likewise.
* decl.c (start_cleanup_fn, grokdeclarater): Likewise.
(grokparms): Don't mess with DECL_ARG_TYPE.
* typeck.c (convert_arguments): Use convert_for_arg_passing.
* cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
Define.
* cp-tree.h: Declare new fns.
From-SVN: r55781
|
|
* gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
* function.c (SYMBOL__MAIN): Remove definition.
* global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
* predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
* profile.c (GCOV_INDEX_TO_BB): Remove.
* sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
* simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
From-SVN: r55631
|
|
* ginclude/varargs.h: Replace with stub which issues #error.
* ginclude/stdarg.h: __builtin_stdarg_start is renamed
__builtin_va_start.
* builtins.def (BUILT_IN_VARARGS_START): Delete.
(BUILT_IN_VA_START): New.
* builtins.c (expand_builtin_va_start): Eliminate first
argument and code to implement pre-ISO varargs.
(std_expand_builtin_va_start): Ignore first argument; it is
always 1.
(expand_builtin): Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* function.c (assign_parms): Delete hide_last_arg and all
its uses.
(mark_varargs): Delete function.
* function.h (struct function): Delete 'varargs' bit.
(current_function_varargs): Delete macro.
* tree.h: Don't declare mark_varargs.
* c-decl.c (c_function_varargs, c_mark_varargs): Delete.
(c_expand_body): Don't call mark_varargs.
* c-objc-common.c: Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* c-tree.h: Don't declare c_mark_varargs.
* c-parse.in: Remove grammar rules for '&...' (which has been
commented out since before 2.7.2) and for '...' in K+R
argument declarations.
* builtins.c, function.c, integrate.c, sibcall.c,
config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
config/stormy16/stormy16.c: Delete all references to
current_function_varargs, and code predicated on that flag.
* config/alpha/alpha.c (alpha_va_start),
config/arc/arc.c (arc_va_start),
config/i386/i386.c (ix86_va_start),
config/mips/mips.c (mips_va_start),
config/mn10300/mn10300.c (mn10300_va_start),
config/rs6000/rs6000.c (rs6000_va_start),
config/s390/s390.c (s390_va_start),
config/sh/sh.c (sh_va_start),
Ignore first argument; it is always 1.
* config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
* config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
Delete m68hc11_va_start.
* config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
No need to define EXPAND_BUILTIN_VA_START.
* doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
testsuite:
* c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c,
c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c,
c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c,
c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c:
Convert to use <stdarg.h>.
* c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x:
Delete.
* gcc.dg/va-arg-2.c: New.
* lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS.
From-SVN: r55472
|
|
PR middle-end/6963
* function.c (assign_stack_temp_for_type): Do not return
the same MEM rtx for multiple uses of a stack slot.
From-SVN: r54912
|
|
* 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
|
|
sibcall epilogue.
* function.c (epilogue_done): Correctly build a sequence of insns for
a sibcall epilogue.
From-SVN: r54702
|
|
* alias.c (argument_registers): Remove.
(init_alias_once): Initialize static_reg_base_value here. Remove
initialization of argument_registers.
(init_alias_once_per_function): Remove.
(init_alias_analysis): Copy all the entries from static_reg_base_value
into new_reg_base_value all at once.
* rtl.h (init_alias_once_per_function): Remove declaration.
* function.c (prepare_function_start): Do not call
init_alias_once_per_function.
* caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
starting a sequence and emitting an INSN.
From-SVN: r54582
|
|
2002-06-05 David S. Miller <davem@redhat.com>
Delete SEQUENCE rtl usage outside of reorg and ssa passes.
* rtl.h (gen_sequence, emit_insns, emit_insns_before,
emit_insns_before_scope, emit_insns_after,
emit_insns_after_scope): Delete declaration.
* ada/misc.c (insert_code_for): Use emit_insn* instead of
emit_insns_foo.
* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
(alpha_set_memflags): Fix comment.
(set_frame_related_p): Use get_insns instead of gen_sequence.
* config/alpha/alpha.md (setjmp receiver splitter): Avoid
emitting no insns.
* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
gen_sequence.
(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
* config/fr30/fr30.c (fr30_move_double): Likewise.
* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
Likewise.
* config/ia64/ia64.c (spill_restore_mem): Likewise.
* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
no insns.
* config/m32r/m32r.c (gen_split_move_double): Use get_insns
instead of gen_sequence.
* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
* config/sh/sh.c (sh_need_epilogue): Likewise.
* config/sparc/sparc.md (current_function_calls_alloca, flat): New
attributes.
(setjmp pattern and split): Use them to avoid splitter which emits
no RTL.
* genattrtab.c (main): Emit include of function.h
* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
get_insns instead of gen_sequence.
* config/cris/cris.c (cris_split_movdx): Likewise.
* emit-rtl.c (emit_insns*): Kill.
(try_split): Expect insn list instead of SEQUENCE.
(make_jump_insn_raw, make_call_insn_raw): Fix comments.
(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
Make them abort if a SEQUENCE is given and RTL checking is
enabled.
(emit_*_scope): Don't forget to set scope on final insn.
(gen_sequence): Move from here...
* ssa.c (gen_sequence): To here as private function.
* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
comments.
(expand_builtin_return, expand_builtin_mathfn): Likewise.
(expand_builtin_strlen): Use get_insns instead of gen_sequence.
(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
(expand_builtin_expect_jump): Use get_insns and fix comments.
* calls.c (try_to_integrate): Use emit_insn_foo.
(expand_call, emit_library_call_value_1): Likewise.
* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
(emit_move_insn_1): Use get_insns instead of gen_sequence.
(expand_expr): Use emit_insn_foo.
* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
* except.c (build_post_landing_pads): Likewise.
* flow.c (attempt_auto_inc): Likewise.
* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
* function.c (fixup_var_refs_insn): Use get_insns instead of
gen_sequence.
(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
(fixup_memory_subreg): Use get_insns instead of gen_sequence.
(fixup_stack_1, purge_addressof_1, expand_main_function,
get_arg_pointer_save_area): Likewise.
(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
expand_function_end): Use emit_insn_foo.
(record_insns, keep_stack_depressed): Work with insn list instead
of SEQUENCE, fix comments.
* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
noce_try_store_flag_constants, noce_try_store_flag_inc,
noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
noce_try_minmax, noce_try_abs): Use emit_insn_foo.
(noce_process_if_block): Use get_insns instead of gen_sequence.
* optabs.c (add_equal_note): Work with insn list, fix comments.
(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
(expand_unop, expand_complex_abs, expand_unop_insn,
expand_no_conflict_block): Likewise.
(gen_move_insn): Use get_insns instead of gen_sequence.
(gen_cond_trap): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
(emit_initial_value_sets): Use emit_insn_foo.
* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
now that RTL generators give insn lists.
* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
instead of gen_sequence.
(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
instead of gen_sequence.
* loop.c (move_movables, emit_prefetch_instructions,
gen_add_mult, check_dbra_loop, gen_load_of_final_value):
Likewise.
(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
(product_cheap_p): Likewise, and add commentary about RTL wastage
here.
* lcm.c (optimize_mode_switching): Use get_insns instead of
gen_sequence.
* profile.c (gen_edge_profiler): Likewise.
* regmove.c (copy_src_to_dest): Likewise.
* reg-stack.c (compensate_edge): Likewise and fix comment.
* gcse.c (process_insert_insn): Likewise.
(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
* jump.c (delete_prior_computation): Update comment.
* genemit.c (gen_expand, gen_split, main): Use get_insns instead
of gen_sequence, update comments to match.
* recog.c (peephole2_optimize): Work with insn lists instead of
SEQUENCE rtl.
* sched-vis.c (print_pattern): Abort on SEQUENCE.
* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
Use get_insns instead of gen_sequence.
(copy_loop_body): Likewise and don't emit dummy NOTE.
* genrecog.c: Don't mention SEQUENCE rtl in comments.
* combine.c (try_combine): Expect insn lists from split generator.
* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
hand.
From-SVN: r54497
|
|
per function for the aliasing code.
* alias.c (static_reg_base_value): New to hold RTL for
items allocated once per function for the aliasing code.
(init_alias_once_per_function): Initialize static_reg_base_value.
(init_alias_analysis): Avoid throw-away allocations of RTL by
using pre-computed values in static_reg_base_value.
* function.c (prepare_function_start): Call
init_alias_once_per_function appropriately.
* rtl.h (init_alias_once_per_function): Declare.
* caller-save (init_caller_save): Restructure slightly to
avoid lots of silly RTL generation.
* expr.c (init_expr_once): Likewise.
* reload1.c (reload_cse_regs_1): Allocate throw-away register
RTL object here. Pass it into children.
(reload_cse_simplify_operands): Use passed-in register RTL
object.
(reload_cse_simplify): Pass through throw-away register
RTL object.
From-SVN: r54442
|
|
From-SVN: r54232
|
|
* 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: 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
|
|
* invoke.texi (-malign-double): Re-add lost warning.
* i386-protos.h (x86_output_mi_thunk): Declare.
* unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
* i386.c (x86_output_mi_thunk): ... here; handle 64bits.
* dwarf2out.c (output_call_frame_info): Do not skip unwind info
when flag_asynchronous_unwind_tables is set.
* flags.h (flag_reorder_functions): Declare.
* function.c (prepare_function_start): Initialize frequnecy.
* params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New paramters.
* Makefile.in (predict.o): Add dependency on target.h and params.h
* defaults.h (HOT_TEXT_SECTION_NAME,
UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
* predict.c (choose_function_section): New function.
(estimate_bb_frequencies): Use it.
* toplev.c (flag_reorder_functions): New global variable.
(lang_independent_options): New.
(parse_options_and_default_flags): Set.
* varasm.c (assemble_start_function): Bypass functdion alignment
for never executed functions.
* invoke.texi (-freorder-blocks, -freorder-functions): Document.
(param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
* tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
Document.
Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
* predict.c: Inlude profile.h
(MIN_COUNT): Rename to MIN_COUNT_FRACTION
(maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
Use the information about maximal counter in the program.
Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
* basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
probably_never_executed_bb_p): New functions.
* cfgcleanup.c (outgoing_edges_match): Use them.
* predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
(maybe_hot_bb_p, probably_cold_bb_p,
probably_never_executed_bb_p): New functions.
* function.h (function): Add new field function_frequency.
* predict.c (compute_function_frequency): New function.
(estimate_probability): Call it.
From-SVN: r53478
|
|
* 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
|
|
From-SVN: r53075
|
|
* cpplex.c: Fix comment formatting.
* function.c: Likewise.
* integrate.c: Likewise.
* regrename.c: Likewise.
* sibcall.c: Likewise.
* simplify-rtx.c: Likewise.
* tree-inline.c: Likewise.
From-SVN: r52972
|
|
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
|
|
PR f/6138.
* function.c (fixup_memory_subreg): Add promoted_mode parameter.
(walk_fixup_memory_subreg): Likewise.
(fixup_var_refs_insn): Adjust accordingly.
(fixup_var_refs_1): Likewise.
From-SVN: r52631
|
|
* Makefile.in: Update.
* decl.c (push_c_function_context, pop_c_function_context,
mark_c_function_context): Rename for consistency.
* c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
* c-tree.h (push_c_function_context, pop_c_function_context,
mark_c_function_context): Rename for consistency.
* c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
* function.c (init_lang_status, save_lang_status,
restore_lang_status, mark_lang_status, free_lang_status):
Move to langhooks.h.
(push_function_context_to, pop_function_context_from,
free_after_parsing, prepare_function_start, ggc_mark_struct_function):
Update.
* function.h (init_lang_status, save_lang_status,
restore_lang_status, mark_lang_status, free_lang_status):
Move to langhooks.h.
* langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
LANG_HOOKS_FUNCTION_INITIALIZER): New.
(LANG_HOOKS_INITIALIZER): Update.
(lhd_do_nothing_f): New.
* langhooks.h (struct lang_hooks_for_functions): New.
(struct lang_hooks): New hooks.
* langhooks.c (lhd_do_nothing_f): New.
cp:
* cp-lang.c (LANG_HOOKS_FUNCTION_INIT,
LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_MARK): Redefine.
* cp-tree.h (cxx_push_function_context, cxx_pop_function_context,
cxx_mark_function_context): New.
* decl.c (push_cp_function_context, pop_cp_function_context,
mark_cp_function_context): Rename for consistency.
(cxx_init_decl_processing): Don't set old hooks.
objc:
* objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
From-SVN: r52551
|
|
PR c/6358
* function.c: Reapply patch for c/6358.
(expand_function_end): Copy decl_rtl's mode, not
current_function_return_rtx mode.
From-SVN: r52538
|
|
From-SVN: r52511
|
|
PR c/6358
* function.c (assign_parms): Assign hard current_function_return_rtx
register here...
(expand_function_end): ...not here.
* gcc.c-torture/compile/20020418-1.c: New test.
From-SVN: r52485
|
|
don't try the subreg.
* function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
For paradoxical (subreg VAR), replace VAR, don't try the subreg.
From-SVN: r52217
|
|
* function.c (assign_temp): Accept either type or decl argument.
Detect variables whose size is too large to fit into an integer.
* stmt.c (expand_decl): Pass the decl, not the type.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r51788
|
|
* Makefile.in (convert.o, calls.o, expmed.o): Update.
* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
Use new hooks.
* builtin-types.def (BT_PTRMODE): Update.
* c-common.c (type_for_size): Rename c_common_type_for_size.
(type_for_mode): Similarly.
(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
Use new hook.
* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
* c-decl.c (finish_enum, build_enumerator): Use new hooks.
* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* c-typeck.c (common_type, comptypes, default_conversion):
Use new hooks.
* calls.c: Include langhooks.h.
(emit_library_call_value_1): Use new hooks. Avoid redundant
calls.
* convert.c: Include langhooks.h
(convert_to_pointer, convert_to_integer): Use new hooks.
* except.c (init_eh): Similarly.
* expmed.c: Include langhooks.h.
(expand_mult_add): Use new hooks.
* expr.c (store_expr, store_constructor, expand_expr, do_jump,
try_casesi): Similarly.
* fold-const.c (optimize_bit_field_compare, make_range,
decode_field_reference, fold_truthop, fold): Similarly.
* function.c (assign_stack_local_1, assign_stack_temp_for_type,
put_var_into_stack): Similarly.
* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
LANG_HOOKS_TYPE_FOR_SIZE): New.
(LANG_HOOKS_TYPES_INITIALIZER): Update.
* langhooks.h (lang_hooks_for_types): New hooks.
* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
* tree.c (get_unwidened, get_narrower): Similarly.
* tree.h (type_for_mode, type_for_size): Remove.
* varasm.c (force_const_mem): Use new hooks.
ada:
* gigi.h (type_for_size, type_for_mode): Rename.
* misc.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* trans.c (tree_transform): Update.
* utils.c (gnat_init_decl_processing, init_gigi_decls,
builtin_function, float_type_for_size, signed_or_unsigned_type,
build_vms_descriptor, unchecked_convert): Update.
(type_for_mode, type_for_size): Rename.
* utils2.c (nonbinary_modular_operation): Update.
cp:
* cp-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* cvt.c (cp_convert_to_pointer, type_promotes_to): Use new hooks.
* decl.c (finish_enum): Similarly.
* error.c (dump_type): Similarly.
* lex.c (cxx_init): Similarly.
* mangle.c (write_builtin_type): Similarly.
* typeck.c (comptypes): Similarly.
f:
* com.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
(type_for_mode, type_for_size): Rename.
(signed_or_unsigned_type, signed_type, truthvalue_conversion,
unsigned_type): Use new hooks.
java:
* Make-lang.in (builtins.o): Update.
* boehm.c (get_boehm_type_descriptor): Update.
* builtins.c: Include langhooks.h.
* decl.c (java_init_decl_processing): Update.
* java-tree.h (java_type_for_mode, java_type_for_size): New.
* lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
Redefine.
* typeck.c (type_for_mode, type_for_size): Update.
objc:
* objc-act.c (handle_impent): Update.
* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
Redefine.
From-SVN: r51571
|
|
* Makefile.in: Update.
* c-common.c: Include langhooks.h.
(inline_forbidden_p): Use new hook.
* diagnostic.c: Include langhooks.h.
(format_with_decl, announce_function,
default_print_error_function): Use new hook.
* dwarf2out.c (dwarf2_name): Use new hook.
* function.c: Include langhooks.h.
(init_function_start): Use new hook.
* langhooks-def.h (lhd_decl_printable_name): New.
(LANGHOOKS_DECL_PRINTABLE_NAME): New.
(LANGHOOKS_INITIALIZER): Update.
* langhooks.c (lhd_decl_printable_name): New.
* langhooks.h (struct lang_hooks): New hook.
* toplev.c (decl_name, decl_printable_name): Remove.
(open_dump_file): Use new hook.
(process_options): Remove old hook.
* tree.h (decl_printable_name): Remove.
ada:
* misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
(gnat_init): Remove old hook.
cp:
* cp-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
* cp-tree.h (lang_printable_name): Rename.
* error.c (lang_decl_name): Use new hook.
* lex.c (cxx_init): Remove old hook.
* pt.c (tsubst_expr): Use new hook.
* tree.c (lang_printable_name): Rename.
f:
* com.c (lang_printable_name): Rename.
(LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
(ffe_init): Don't use old hook.
java:
* decl.c (start_java_method): Use new hook.
* lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
(java_init): Remove old hook.
objc:
* objc-act.c (objc_init): Remove old hook.
(objc_printable_name): Export.
* objc-act.h (objc_printable_name): New.
* objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
From-SVN: r51066
|
|
PR optimization/5901
* function.c (reposition_prologue_and_epilogue_notes): Position
the markers after/before the last/first insn not deleted.
From-SVN: r50715
|
|
* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
* function.c (fixup_var_refs): Add MAY_SHARE parameter.
(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
(pop_function_context): Compute MAY_SHARE parameter for
fixup_var_refs.
(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
(gen_mem_addressof): Call fixup_var_refs with new parm.
From-SVN: r50493
|
|
into account as third type of extension.
* doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
to take ptr_extend into account as third type of extension.
(SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
fields used by SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
(SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
* calls.c (precompute_arguments): Use new macro.
(expand_call): Ditto.
* combine.c (nonzero_bits): Ditto.
(record_promoted_value): Ditto.
* expr.c (store_expr): Ditto.
(expand_expr): Ditto.
* function.c (assign_parms): Ditto.
From-SVN: r50174
|
|
2002-02-19 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
("mmx_uavgv4hi3"): Same.
("pmulhrwv4hi3"): Same.
* tree-inline.c (walk_tree): Handle vectors.
* c-common.c (constant_expression_warning): Handle vectors.
(overflow_warning): Same.
* sched-deps.c (sched_analyze_2): Handle vectors.
* rtlanal.c (rtx_unstable_p): Handle vectors.
(rtx_varies_p): Same.
(count_occurrences): Same.
(regs_set_between_p): Same.
(modified_between_p): Same.
(modified_in_p): Same.
(volatile_insn_p): Same.
(volatile_refs_p): Same.
(side_effects_p): Same.
(may_trap_p): Same.
(inequality_comparisons_p): Same.
(replace_regs): Same.
(computed_jump_p_1): Same.
* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
argument.
(inner_mode_array): New.
(copy_rtx): Handle vectors.
(copy_most_rtx): Same.
(rtx_equal_p): Same.
(get_mode_alignment): Adjust for vectors.
* resource.c (mark_referenced_resources): Handle vectors.
(mark_set_resources): Same.
* reload1.c (eliminate_regs): Handle vectors.
(elimination_effects): Same.
(scan_paradoxical_subregs): Same.
* reload.c (subst_reg_equivs): Handle vectors.
* regrename.c (scan_rtx): Handle vectors.
* regclass.c (reg_scan_mark_refs): Handle vectors.
* recog.c (find_single_use_1): Handle vectors.
* local-alloc.c (equiv_init_varies_p): Handle vectors.
(contains_replace_regs): Same.
(memref_referenced_p): Same.
* integrate.c (copy_rtx_and_substitute): Handle vectors.
(subst_constants): Same.
* genattrtab.c (attr_copy_rtx): Handle vectors.
(encode_units_mask): Same.
(clear_struct_flag): Same.
(count_sub_rtxs): Same.
* gcse.c (want_to_gcse_p): Handle vectors.
(oprs_unchanged_p): Same.
(hash_expr_1): Same.
(oprs_not_set_p): Same.
(expr_killed_p): Same.
(compute_transp): Same.
(store_ops_ok): Same.
* function.c (purge_addressof_1): Do not allow paradoxical subregs
of vectors.
(fixup_var_refs_1): Same.
(instantiate_virtual_regs_1): Same.
* fold-const.c (operand_equal_p): Handle vectors.
(fold): Same.
(rtl_expr_nonnegative_p): Same.
* flow.c (mark_used_regs): Handle vectors.
* df.c (df_uses_record): Handle vectors.
* cselib.c (cselib_subst_to_values): Handle vectors.
(cselib_mem_conflict_p): Same.
(hash_rtx): Same.
* cse.c (canon_reg): Handle vectors.
(fold_rt): Same.
(cse_process_notes): Same.
(count_reg_usage): Same.
(canon_hash): Same.
* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
(gen_rtx): Handle CONST_VECTOR.
(gen_const_vector_0): New.
(copy_rtx_if_shared): CONST_VECTORs can be shared.
(reset_used_flags): Same.
(copy_insn_1): Same.
(initializer_constant_valid_p): Handle VECTOR_CST.
* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
* doc/rtl.texi (Constants): Document const_vector.
(CONST0_RTX): Update for vectors.
(RTL sharing): Same.
* print-tree.c (print_node): Add case for VECTOR_CST.
* tree.h (TREE_VECTOR_CST_ELTS): New.
(struct tree_vector): New.
(union tree_node): Add vector node.
(build_vector): Add prototype.
* tree.def (VECTOR_CST): New.
* tree.c (build_vector): New.
* expmed.c (make_tree): Handle CONST_VECTOR.
* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
(CONST_VECTOR_ELT): New.
(CONST_VECTOR_NUNITS): New.
* machmode.h (GET_MODE_INNER): New.
(DEF_MACHMODE): Accept 8th arg.
* machmode.def: Add 8th argument for vector inner mode.
Add inner vector modes for vectors.
* rtl.def (VEC_CONST): Remove.
(CONST_VECTOR): New.
* expr.c (clear_storage): Allow vectors.
(is_zeros_p): Handle VECTOR_CST.
* varasm.c (output_constant_pool): Handle vectors.
(rtx_const): Add veclo and vechi fields.
(kind): Add RTX_VECTOR.
(decode_rtx_const): Add case for vector.
* config/rs6000/rs6000-protos.h: Add zero_constant.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
constants. Force easy vector constants into memory.
(easy_vector_constant): New.
(emit_easy_vector_constant): New.
(rs6000_legitimize_reload_address): Do not generate bad reloads on
darwin.
* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
instruction does.
("altivec_lvxl"): Same.
(altivec_lvebx): Same.
(altivec_lvehx): Same.
(altivec_lvewx): Same.
("*movv4si_const0"): New.
("*movv4sf_const0"): New.
("*movv8hi_const0"): New.
("*movv16qi_const0"): New.
From-SVN: r49853
|
|
reference.
* function.c (assign_parms): Demote promoted argument passed by
transparent reference.
From-SVN: r49774
|
|
when not optimizing.
* function.c (assign_parms): Don't put args of inline functions
into registers when not optimizing.
* cp/decl2.c (grokclassfn): Don't set DECL_REGISTER on 'this'.
From-SVN: r49131
|
|
* doc/tm.texi: Remove STARTING_FRAME_PHASE.
* config/rs6000/rs6000.h: Same.
* function.c (instantiate_virtual_regs): Remove
STARTING_FRAME_PHASE.
(assign_stack_local_1): Same.
Calculate frame phase.
From-SVN: r49063
|
|
2002-01-18 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/20020118-1.c: New.
* tm.texi (STARTING_FRAME_PHASE): Document.
* function.c (assign_stack_local_1): Adjust x_frame_offset with
STARTING_FRAME_PHASE.
(STARTING_FRAME_PHASE): New.
(instantiate_virtual_regs): Check saneness of
STARTING_FRAME_PHASE.
* rs6000.h (STARTING_FRAME_PHASE): New.
From-SVN: r49006
|
|
* bitmap.h: Fix comment formatting.
* combine.c: Likewise.
* cppfiles.c: Likewise.
* c-pragma.h: Likewise.
* c-typeck.c: Likewise.
* df.c: Likewise.
* dwarf2out.c: Likewise.
* function.c: Likewise.
* gcc.c: Likewise.
* genattrtab.c: Likewise.
* gthr-win32.h: Likewise.
* haifa-sched.c: Likewise.
* predict.c: Likewise.
* rtlanal.c: Likewise.
* rtl.h: Likewise.
* unwind-dw2-fde.h: Likewise.
* unwind-pe.h: Likewise.
* vmsdbgout.c: Likewise.
From-SVN: r48987
|
|
* cse.c: Fix formatting.
* dwarf2asm.c: Likewise.
* dwarf2out.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* function.c: Likewise.
* gcov.c: Likewise.
* gencheck.c: Likewise.
* genrecog.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* global.c: Likewise.
From-SVN: r48570
|
|
* 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
|
|
* haifa-sched.c (reemit_other_notes): New.
(schedule_block): Use it.
* sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
* sched-rgn.c (schedule_insns): Likewise.
* cfglayout.c (remove_scope_notes): Handle removing note at
the end of the insn chain.
* function.c (debug_find_var_in_block_tree): New.
* gcc.dg/debug-1.c, gcc.dg/debug-2.c: New.
From-SVN: r48333
|
|
sjlj exception setup.
* function.c (expand_main_function): Make sure stack adjustments
happen before sjlj exception setup.
From-SVN: r48316
|
|
* expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
SAVE_EXPR.
* function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
(put_addressof_into_stack): Clarify code in setting of used_p.
From-SVN: r48268
|
|
* 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
|
|
from FP in same insn.
* function.c (handle_epilogue_set): Check for FP setting case when
SP is set from FP in same insn.
From-SVN: r47719
|
|
* function.c (assing_parms): Fix typo in last change.
* config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
* config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
* config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
From-SVN: r47715
|
|
for temp register and verify it isn't...
* function.c (keep_stack_depressed): Check global_live_at_start
of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
From-SVN: r47706
|
|
* attribs.c (handle_no_check_memory_usage_atribute): Deleted.
(c_com): Delete its reference.
* builtins.c: Delete memory checking code.
* calls.c, expr.c, function.c, stmt.c: Likewise.
* builtins.c (expand_builtin_arg_info): Remove reference to
EXPAND_MEMORY_USE_* modifiers.
* explow.c (expr_size): Likewise.
* expr.c (expand_expr, expand_increment): Likewise.
* expr.h (ARGS_SIZE_RTX): Likewise.
* function.c (assign_parms, expand_pending_sizeso): Likewise.
* c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
* expr.c (in_check_memory_usage): Delete.
(get_push_address, get_memory_usage_from_modifier): Delete.
(expand_assigment): Use EXPAND_WRITE on destination.
(expand_expr): Delete ro_modifier.
* expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
add EXPAND_WRITE.
(memory_use_mode): Delete.
* flags.h (flag_check_memory_usage): Deleted.
(flag_prefix_function_name): Likewise.
* function.c (expand_function_start): Don't set
current_function_check_memory_usage.
* function.h (check_memory_usage): Delete.
* libfuncs.h, optabs.c: Delete chkr_* stuff.
* stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
EXPAND_WRITE.
* toplev.c (flag_check_memory_usage): Deleted.
(flag_prefix_function_name): Likewise.
(f_options, process_options): Delete references to above.
* tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
* varasm.c (CHKR_PREFIX): Deleted.
(make_decl_rtl): Remove flag_prefix_function_name handling.
(assemble_name): Likewise.
* doc/extend.texi: Remove no_check_memory_usage attribute.
* doc/invoke.texi: Remove -fcheck-memory-usage
and -fprefix-function-name.
* cp/decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE.
From-SVN: r47697
|
|
call.
* function.c (keep_stack_depressed): Refine check for register
clobbered over call.
From-SVN: r47664
|