1. 29 Aug, 2002 1 commit
    • expr.h (enum block_op_methods): New. · 44bb111a
              * expr.h (enum block_op_methods): New.
              (emit_block_move): Update prototype.
              * expr.c (block_move_libcall_safe_for_call_parm): New.
              (emit_block_move_via_loop): New.
              (emit_block_move): Use them.  New argument METHOD.
              (emit_push_insn): Always respect the given alignment.
              (expand_assignment): Update call to emit_block_move.
              (store_expr, store_field, expand_expr): Likewise.
              * builtins.c (expand_builtin_apply): Likewise.
              (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
              * function.c (expand_function_end): Likewise.
              * config/sh/sh.c (sh_initialize_trampoline): Likewise.
              * config/sparc/sparc.c (sparc_va_arg): Likewise.
              * calls.c (expand_call, emit_library_call_value_1): Likewise.
              (save_fixed_argument_area): Use emit_block_move with
              BLOCK_OP_CALL_PARM instead of move_by_pieces.
              (restore_fixed_argument_area): Likewise.
              (store_one_arg): Fix alignment parameter to emit_push_insn.
      
      From-SVN: r56661
      Richard Henderson committed
  2. 15 Aug, 2002 1 commit
    • calls.c: Include target.h. · 23626154
              * calls.c: Include target.h.
              * Makefile.in (calls.o): Update.
      
              * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
              * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
      
      From-SVN: r56335
      Richard Henderson committed
  3. 23 Jul, 2002 1 commit
  4. 11 Jun, 2002 1 commit
    • Delete SEQUENCE rtl usage outside of reorg and ssa passes. · 2f937369
      2002-06-05  David S. Miller  <davem@redhat.com>
      
      	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
      	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
      	emit_insns_before_scope, emit_insns_after,
      	emit_insns_after_scope): Delete declaration.
      	* ada/misc.c (insert_code_for): Use emit_insn* instead of
      	emit_insns_foo.
      	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
      	(alpha_set_memflags): Fix comment.
      	(set_frame_related_p): Use get_insns instead of gen_sequence.
      	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
      	emitting no insns.
      	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
      	gen_sequence.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
      	* config/fr30/fr30.c (fr30_move_double): Likewise.
      	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
      	Likewise.
      	* config/ia64/ia64.c (spill_restore_mem): Likewise.
      	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
      	no insns.
      	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
      	instead of gen_sequence.
      	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
      	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_need_epilogue): Likewise.
      	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
      	attributes.
      	(setjmp pattern and split): Use them to avoid splitter which emits
      	no RTL.
      	* genattrtab.c (main): Emit include of function.h
      	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
      	get_insns instead of gen_sequence.
      	* config/cris/cris.c (cris_split_movdx): Likewise.
      	* emit-rtl.c (emit_insns*): Kill.
      	(try_split): Expect insn list instead of SEQUENCE.
      	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
      	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
      	Make them abort if a SEQUENCE is given and RTL checking is
      	enabled.
      	(emit_*_scope): Don't forget to set scope on final insn.
      	(gen_sequence): Move from here...
      	* ssa.c (gen_sequence): To here as private function.
      	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
      	comments.
      	(expand_builtin_return, expand_builtin_mathfn): Likewise.
      	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
      	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
      	(expand_builtin_expect_jump): Use get_insns and fix comments.
      	* calls.c (try_to_integrate): Use emit_insn_foo.
      	(expand_call, emit_library_call_value_1): Likewise.
      	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
      	(emit_move_insn_1): Use get_insns instead of gen_sequence.
      	(expand_expr): Use emit_insn_foo.
      	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
      	* except.c (build_post_landing_pads): Likewise.
      	* flow.c (attempt_auto_inc): Likewise.
      	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
      	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
      	* function.c (fixup_var_refs_insn): Use get_insns instead of
      	gen_sequence.
      	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
      	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
      	(fixup_stack_1, purge_addressof_1, expand_main_function,
      	get_arg_pointer_save_area): Likewise.
      	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
      	expand_function_end): Use emit_insn_foo.
      	(record_insns, keep_stack_depressed): Work with insn list instead
      	of SEQUENCE, fix comments.
      	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
      	noce_try_store_flag_constants, noce_try_store_flag_inc,
      	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
      	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
      	(noce_process_if_block): Use get_insns instead of gen_sequence.
      	* optabs.c (add_equal_note): Work with insn list, fix comments.
      	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
      	(expand_unop, expand_complex_abs, expand_unop_insn,
      	expand_no_conflict_block): Likewise.
      	(gen_move_insn): Use get_insns instead of gen_sequence.
      	(gen_cond_trap): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	(emit_initial_value_sets): Use emit_insn_foo.
      	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
      	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
      	now that RTL generators give insn lists.
      	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
      	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
      	instead of gen_sequence.
      	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
      	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
      	instead of gen_sequence.
      	* loop.c (move_movables, emit_prefetch_instructions,
      	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
      	Likewise.
      	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
      	(product_cheap_p): Likewise, and add commentary about RTL wastage
      	here.
      	* lcm.c (optimize_mode_switching): Use get_insns instead of
      	gen_sequence.
      	* profile.c (gen_edge_profiler): Likewise.
      	* regmove.c (copy_src_to_dest): Likewise.
      	* reg-stack.c (compensate_edge): Likewise and fix comment.
      	* gcse.c (process_insert_insn): Likewise.
      	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
      	* jump.c (delete_prior_computation): Update comment.
      	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
      	of gen_sequence, update comments to match.
      	* recog.c (peephole2_optimize): Work with insn lists instead of
      	SEQUENCE rtl.
      	* sched-vis.c (print_pattern): Abort on SEQUENCE.
      	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
      	Use get_insns instead of gen_sequence.
      	(copy_loop_body): Likewise and don't emit dummy NOTE.
      	* genrecog.c: Don't mention SEQUENCE rtl in comments.
      	* combine.c (try_combine): Expect insn lists from split generator.
      	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
      	hand.
      
      From-SVN: r54497
      David S. Miller committed
  5. 24 Apr, 2002 1 commit
  6. 12 Apr, 2002 1 commit
  7. 04 Apr, 2002 1 commit
  8. 01 Apr, 2002 1 commit
    • c-decl.c (grokdeclarator): Update. · dffd7eb6
      	* c-decl.c (grokdeclarator): Update.
      	* c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* c-tree.h (c_mark_addressable): New.
      	* c-typeck.c (default_function_array_conversion, build_unary_op,
      	build_array_ref, convert_for_assignment): Update.
      	(mark_addressable): Rename.
      	* calls.c (try_to_integrate, expand_call): Use langhook.
      	* expr.c (expand_expr): Use langhook.
      	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): New hook.
      	* stmt.c (expand_asm_operands): Use langhook.
      	* tree.h (mark_addressable): Remove.
      ada:
      	* decl.c (gnat_to_gnu_entity): Update.
      	* gigi.h (mark_addressable): Rename.
      	* misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* trans.c (tree_transform): Update.
      	* utils.c (create_var_decl): Update.
      	* util2.c (build_binary_op, build_unary_op,
      	fill_vms_descriptor): Update.
      	(mark_addressable): Rename, update.
      cp:
      	* call.c (build_addr_func): Update.
      	* class.c (resolve_address_of_overloaded_function): Update.
      	* cp-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* cp-tree.h (cxx_mark_addressable): New.
      	* decl.c (register_dtor_fn, cxx_maybe_build_cleanup): Update.
      	* decl2.c (build_cleanup): Update.
      	* except.c (build_throw): Update.
      	* init.c (resolve_offset_ref): Update.
      	* pt.c (convert_nontype_argument): Update.
      	* semantics.c (finish_asm_stmt, simplify_affr_init_exprs_r): Update.
      	* typeck.c (decay_conversion, build_array_ref, build_unary_op,
      	unary_complex_lvalue): Update.
      	(mark_addressable): Rename.
      f:
      	* com.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	(mark_addressable): Rename.
      	(ffecom_arrayref_, ffecom_1): Update.
      java:
      	* java-tree.h (java_mark_addressable): New.
      	* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* typeck.c (mark_addressable): Rename, update.
      objc:
      	* objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      
      From-SVN: r51705
      Neil Booth committed
  9. 29 Mar, 2002 1 commit
    • Makefile.in (convert.o, [...]): Update. · b0c48229
      	* 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
      Neil Booth committed
  10. 18 Mar, 2002 1 commit
  11. 01 Mar, 2002 1 commit
    • rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition to take ptr_extend into… · 7879b81e
      rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition to take ptr_extend 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
      Steve Ellcey committed
  12. 11 Feb, 2002 1 commit
  13. 09 Feb, 2002 1 commit
    • Contribute sh64-elf. · fa5322fa
      2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
      (sh_cannot_modify_jumps_p): New function.
      2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
      (sh_ms_bitfield_layout_p): New function.
      2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
      	    Zack Weinberg  <zack@codesourcery.com>
      * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
      expand_simple_binop instead of expand_binop.
      2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
      use of .quad and .uaquad.
      * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
      TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
      2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (movdi_const, movdi_const_32bit,
      movdi_const_16bit): Make sure all CONSTs have modes.
      (sym2PIC): Ditto, but by adjusting all callers.
      * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
      if the prologue calls the SHmedia argument decoder or register
      saver.
      2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
      (TARGET_ASM_ALIGNED_DI_OP): Likewise.
      (sh_expand_epilogue): Don't emit USE of return target register.
      (prepare_move_operands): Legitimize DImode PIC addresses.
      (sh_media_register_for_return): Skip tr0, used to initialize the
      PIC register.
      (sh_expand_prologue): Remove explicit USE of return register.
      (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
      CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
      * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
      (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
      (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
      EXTRA_CONSTRAINT_T.
      (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
      (MOVI_SHORI_BASE_OPERAND_P): New.
      (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
      (EXTRA_CONSTRAINT_T): Define in terms of them.
      (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
      * config/sh/sh.md (movsi_media, movsi_media_nofpu,
      movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
      alternatives supporting TARGET_REGS.
      (UNSPEC_GOTPLT): New constant.
      (movdi split): Move incrementing of LABEL_NUSES...
      (movdi_const, movdi_const_32bit): Here.  Use
      MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
      (movdi_const_16bit): New.
      (call, call_value) [flag_pic]: Use GOTPLT.
      (call_pop, call_value_pop): New expands.
      (call_pop_compact, call_pop_rettramp): New insns.
      (call_value_pop_compact, call_value_pop_rettramp): New insns.
      (sibcall) [flag_pic]: Use GOT.
      (builtint_setjmp_receiver): Remove bogus, unused expand.
      (GOTaddr2picreg): Implement for SHcompact and SHmedia.
      (*pt, *ptb, ptrel): New insns.
      (sym2GOT): Handle DImode GOT.
      (sym2GOTPLT, symGOTPLT2reg): New expands.
      (sym2PIC): New expand.
      (shcompact_return_tramp): Use GOTPLT to return trampoline.
      (shcompact_return_tramp_i): Use return register explicitly.
      * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
      disable flag_reorder_blocks.
      2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (sibcall_compact): Reorder return, uses and
      clobbers, for clarity.
      (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
      restoring of r0 in macl as MAYBE_DEAD.
      2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
      * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
      alter_subreg all over.
      (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
      reload, instead of emitting instructions that would require
      reloading.
      (casesi_load_media): Add missing modes.
      2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
      as used if the argument decoder is called.
      2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
      Pmode, then extend it to DImode if necessary.
      2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
      * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
      constants in FPU-enabled SHmedia, let them be loaded from memory.
      2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
      Adjust whitespace in assembly output templates.
      2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
      * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
      mode of if_then_else.
      2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
      sh.h.
      2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
      	    Joern Rennecke <amylaar@redhat.com>
      * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
      (SUBTARGET_CPP_PTR_SPEC): New.
      (SUBTARGET_CPP_SPEC): Remove.
      2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
      * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
      Fix typo in previous checkin.
      2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
      * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
      2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
      	    Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
      what single FP register can hold for SHmedia target.
      2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
      	    Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
      Do not split into SUBREG.
      2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
      and added new functions as specified in SH5 ABI r9.
      2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
      8-byte boundary.
      2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (dump_table): Add const0_rtx in calls of
      gen_consttable_4 and gen_consttable_8.  Emit multiple labels
      and consttable_window_ends.
      2001-06-03  Graham Stott  <grahams@redhat,com>
      * config/sh/sh.md (movdi split): Remove unused variable last_insn.
      2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (print_operand): Handle floating-point pair,
      vector and matrix registers.
      * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
      vector modes into account.
      * config/sh/sh.md (movv2sf): Split move between registers into
      movdf.
      (movv4sf, movv16sf): Introduce insns that get split only after
      reload.
      * config/sh/shmedia.h: Fix Copyright dates.
      * config/sh/ushmedia.h: Likewise.  Move loop counter
      declarations into conditionals that uses them.
      (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
      loop boundary.
      * config/sh/sshmedia.h: Fix Copyright dates.
      (sh_media_PUTCFG): Fix constraints.
      2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
      ptrmemfunc_vbit_in_delta for SH5.
      2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
      * invoke.texi: Likewise.
      2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
      GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
      GCC_pop_shmedia_regs_nofpu): New global symbols.
      * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
      * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
      * config/sh/sh.c (calc_live_regs): Account for PR's saving in
      compact function with nonlocal labels.
      (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
      (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
      (initial_elimination_offset): Account for their stack space.
      * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
      * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
      movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
      movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
      least one of the operands to be a register.
      (movv2sf): Likewise.  Renamed to movv2sf_i.
      (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
      prepare_move_operands() before emitting SHmedia insns.
      2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
      Don't save nor initialize r12.  Don't mis-align the stack.
      Pad the code with a nop.
      * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
      stack.
      2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
      * gcc/longlong.h (__umulsidi3, count_leading_zeros)
      [__SHMEDIA__]: Implement.
      2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md: Set latency of `pt' closer to reality.
      (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
      movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
      Set move, load and store type attributes.
      * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
      * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
      profiling.
      * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
      * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
      * config/sh/sh.c (sh_media_register_for_return): New function.
      (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
      branch-target register.
      (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
      * config/sh/sh.md (return_media_i): Use any call-clobbered
      branch-target register.
      (return_media): If r18 wasn't copied in the prologue, copy it
      here.
      * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
      Clear class FP0_REGS.
      * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
      from elf.h.
      2001-03-08  DJ Delorie  <dj@redhat.com>
      * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
      2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
      2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
      2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
      return value correctly for call_cookie.
      2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/crt1.asm (start): Modified so as to call
      ___setup_argv_and_call_main.
      2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
      SHmedia mode.
      2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
      (STRIP_NAME_ENCODING): Use it.
      (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
      2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
      prepare_scc_operands().
      * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
      (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
      2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
      2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
      * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
      used in shcompact_incoming_args.
      * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
      change.
      * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
      mode.
      * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
      Adjust accordingly.
      * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
      Simplify.  Adjust.  Add sanity check.
      * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
      FPU_SINGLE_BIT.
      * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
      TARGET_SHCOMPACT.
      (udivsi3, divsi3): Use them.
      (force_mode_for_call): New insn.
      (call, call_value, sibcall_value): Emit it before SHcompact
      calls.
      2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (call, call_value, sibcall): Make sure the
      call cookie is non-NULL before taking its value.
      2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
      * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
      2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (shcompact_incoming_args): Set argument memory
      block.
      * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
      * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
      temporary for stack adjusts.  Use MACL and MACH to pass
      arguments to shcompact_incoming_args.
      * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
      clobber r1.
      * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
      (nested_trampoline): Load static chain address into r1.
      * config/sh/sh.md (movdi_media splits): Fix sign-extension.
      2001-01-07  Alexandre Oliva  <aoliva@redhat.com
      * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
      fp_arith_reg_operand().
      2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (casesi): Sign-extend the first two operands,
      and use signed compares for them.
      * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
      4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
      ones properly aligned.
      (find_barrier): Account for extra alignment needed for 8-byte wide
      constants.
      (machine_dependent_reorg): Require a label for the second 4-byte
      constant after an 8-byte one.
      * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
      change.
      2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
      last_float when switching float modes.
      * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
      auto-increment for general-purpose registers.
      * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
      result.
      * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
      for stack adjust.
      * config/sh/sh.c (sh_builtin_saveregs): Support using all
      registers for varargs.
      2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
      * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
      CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
      (CALL_COOKIE_INT_REG_SHIFT): Adjust.
      (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
      call_cookie accordingly.
      (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
      (SHCOMPACT_BYREF): Likewise.
      (SHCOMPACT_FORCE_ON_STACK): New macro.
      * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
      (sh_builtin_saveregs): Likewise.
      * config/sh/lib1funcs.asm (shcompact_call_trampoline,
      shcompact_incoming_args): Use new shift values.  Support
      sequences of consecutive and non-consecutive pushes/pops.
      * config/sh/sh.md (return): Don't explicitly use PR_REG.
      2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
      * config/sh/sh.h (TEXT_SECTION): Define.
      * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
      2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
      * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
      return values on FPU-enabled SHmedia.
      (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
      FPU-enabled SHmedia.
      (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
      value is returned in a non-FP reg and is not returned by
      reference.
      * config/sh/sh.md (shcompact_return_tramp_i): Change type to
      jump_ind.
      2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
      (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
      quad-aligned to be passed by callee-copy reference.
      2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
      * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
      2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
      copying low-numbered FP regs to r7 and r8.
      * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
      FP regs to general-purpose regs only if the copy was passed on the
      stack.
      * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
      copying FP reg to r9.
      * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
      copy FP regs to general-purpose regs only in outgoing calls.
      * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
      change from 	2000-10-30.  Adjust for 64-bit (or 32-bit)
      HOST_WIDE_INT.
      * config/sh/sh.h (struct sh_args): Document all fields.
      (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
      passed partially on the stack should not consider making
      sibcalls.
      * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
      stack_regs only for incoming calls.  When passing FP args,
      make sure there are FP regs available before modifying
      call_cookie.
      (SHCOMPACT_BYREF): Pass double args in general-purpose
      registers by reference.
      2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
      attempt to generate sibcalls if the caller got any arguments
      by reference.
      * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
      * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
      to 8-byte boundaries.
      * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
      * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
      * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
      stored in the stack.
      * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
      for the offsets to have the ISA bit set.
      (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
      invocation.  Use beq instead of bgt to mark end of sequence of
      loads.
      (shcompact_incoming_args): Fix store of r2.  Use beq instead of
      bgt to mark end of sequence of stores.
      * config/sh/sh.c (arith_operand): Don't check whether
      CONST_OK_FOR_J for now.
      * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
      instead of long for conversion.
      2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (print_operand_address): Convert INTVAL to int
      before passing it to fprintf.
      2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
      Call set_fpscr before reading/writing SR.
      * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
      Call set_fpscr.
      * config/sh/lib1funcs.asm: Add `.align 2' directives before
      SHmedia code.
      (FMOVD_WORKS): Define on SH5 with FPU.
      (set_fpscr): Define on SH5.  Remove separate _fpscr_values
      setting.
      * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
      _fpscr_values.
      2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
      * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
      address.
      (ia_main_table): Ditto.
      2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
      * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
      the definitions from sh.h.
      * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
      TARGET_SH5.
      (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
      * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
      * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
      2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
      Increment LABEL_NUSES.
      
      From-SVN: r49630
      Alexandre Oliva committed
  14. 16 Jan, 2002 1 commit
    • calls.c (try_to_integrate): Use "(size_t)" intermediate cast and when casting an… · 60e8b9f0
      calls.c (try_to_integrate): Use "(size_t)" intermediate cast and when casting an integer literal to "rtx"...
      
      
              * calls.c (try_to_integrate): Use "(size_t)" intermediate
              cast and when casting an integer literal to "rtx" pointer.
              (expand_call): Likewise.
              * flow.c (try_pre_increment): Likewise.
              (find_use_as_address): Likewise.
              * integrate.c (expand_iline_function): Likewise.
              * regmove.c (try_auto_increment): Likewise.
      
      From-SVN: r48906
      Graham Stott committed
  15. 23 Dec, 2001 2 commits
  16. 22 Dec, 2001 1 commit
  17. 18 Dec, 2001 1 commit
    • C++ ABI change: destroy value arguments in caller. · f21add07
              * calls.c (initialize_argument_information): Pass the address of
              the TARGET_EXPR temporary rather than storing it into another.
              * semantics.c (genrtl_start_function, genrtl_finish_function): Don't
              create an extra binding level for the parameters.
              * decl.c (store_parm_decls): Don't do parameter cleanups.
      
      From-SVN: r48154
      Jason Merrill committed
  18. 15 Dec, 2001 1 commit
  19. 11 Dec, 2001 1 commit
    • tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. · 0d7839da
      2001-12-11  Steve Ellcey  <sje@cup.hp.com>
      
      	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
      	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
      	* calls.c (store_unaligned_arguments_into_pseudos): Check
      	FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
      	are passed/returned.
      	* expr.c (move_block_from_reg): Ditto.
      	(move_block_from_reg): Ditto.
      	(copy_blkmode_from_reg): Ditto.
      	* stmt.c (expand_return): Ditto.
      	* stor-layout.c (compute_record_mode): If
      	FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
      	MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
      	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
      	so that Structures of one field are still treated as structures.
      	(FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
      	(FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
      	(PAD_VARARGS_DOWN): Modify from default to not pad structures down.
      	* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
      	* config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
      	to special case handling of structure padding.
      
      From-SVN: r47904
      Steve Ellcey committed
  20. 05 Dec, 2001 1 commit
    • attribs.c (handle_no_check_memory_usage_atribute): Deleted. · 37a08a29
      	* 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
      Richard Kenner committed
  21. 22 Nov, 2001 1 commit
  22. 21 Nov, 2001 1 commit
    • explow.c (probe_stack_range): Use LCT_NORMAL as second argument to emit_library_call. · 1258ee80
      	* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
      	to emit_library_call.
      	* function.c (expand_main_function, expand_function_start,
      	expand_function_end): Likewise.
      	* profile.c (output_func_start_profiler): Likewise.
      	* stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
      	second argument to emit_library_call.
      	* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
      	as second argument to emit_library_call.
      	* calls.c (emit_library_call): Update fn_type description.
      
      From-SVN: r47241
      Jakub Jelinek committed
  23. 11 Nov, 2001 1 commit
    • expmed.c (extract_bit_field): No longer pass in alignment. · 04050c69
      	* expmed.c (extract_bit_field): No longer pass in alignment.
      	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
      	(store_bit_field, store_fixed_bit_field, store_split_bit_field):
      	Likewise.
      	* expr.c (store_constructor, store_constructor_field): Likewise.
      	(store_field, emit_group_load, emit_group_store): Likewise.
      	* expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
      	(store_bit_field, extract_bit_field): Likewise.
      	* calls.c, expr.c, function.c: Change calls to above functions.
      	* ifcvt.c, stmt.c: Likewise.
      
      From-SVN: r46926
      Richard Kenner committed
  24. 04 Nov, 2001 1 commit
    • ChangeLog.2, [...]: Fix spelling errors. · f5143c46
      	* ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
      	FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
      	caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
      	cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
      	sched-int.h, toplev.c, config/alpha/alpha.c,
      	config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
      	config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
      	config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
      	config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
      	config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
      	config/ns32k/ns32k.md, config/rs6000/rs6000.c,
      	config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
      
      From-SVN: r46760
      Joseph Myers committed
  25. 23 Oct, 2001 3 commits
    • builtins.c (expand_builtin_setjmp): Only call convert_memory_address if needed. · 4b6c1672
      	* builtins.c (expand_builtin_setjmp): Only call convert_memory_address
      	if needed.
      	(expand_builtin_longjmp, expand_builtin_alloca): Likewise.
      	* except.c (expand_builtin_frob_return_addr): Likewise.
      	(expand_builtin_eh_return): Likewise.
      	* stmt.c (expand_computed_goto): Likewise.
      	* explow.c (memory_address): Likewise.
      	(allocate_dynamic_stack_space): Clean up predicate testing.
      	(probe_stack_range): Convert SIZE to Pmode.
      	* calls.c (rtx_for_function_call): Only call convert_memory_address
      	if needed.
      	Pass function call operand as ptr_mode, not Pmode.
      	* expr.c (expand_assignment): Clean up calls to convert_memory
      	address by only doing so when needed and making offsets Pmode.
      	(store_constructor, expand_expr, expand_expr_unaligned): Likewise.
      	* function.c (assign_parms): Ensure address in MEM for RESULT_DECL
      	is in Pmode, not ptr_mode.
      
      From-SVN: r46448
      Richard Kenner committed
    • Correct typo in last change · 71106234
      From-SVN: r46441
      Richard Kenner committed
    • alias.c (can_address_p): Compnonents are not addressable if the containing type has alias set 0. · 8ac61af7
      	* alias.c (can_address_p): Compnonents are not addressable if
      	the containing type has alias set 0.
      	(get_alias_set): Rework to use STRIP_NOPS.
      	Only call front-end routine on object, type, or object with
      	NOPs stripped, not inner values.
      	Use language hook to call front-end routine.
      	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
      	(expand_builtin_apply): Call set_mem_align on MEMs we make.
      	Don't pass alignment to emit_block_move.
      	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
      	(expand_builtin_memset): Likewise, but for clear_storage.
      	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
      	and remove C++ specific parts.
      	* c-common.h (c_common_get_alias_set): Add declaration.
      	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
      	(save_fixed_argument_area): Call set_mem_align.
      	Remove alignment in call to emit_block_move.
      	(emit_library_call_value_1, store_one_arg): Likewise.
      	(target_for_arg): Remove; disabled long ago.
      	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
      	once and similar cleanups.
      	(offset_address): Use proper introductory comment.
      	* expr.c (emit_block_move): Use alignment from that of MEM args, not
      	from explicit operand; all callers changed.
      	(clear_storage): Likewise.
      	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
      	(store_field): Remove kludge on alias set used for to_rtx.
      	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
      	(expand_expr_unaligned): Call set_mem_attributes instead of
      	set_mem_alias_set.
      	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
      	* function.c (assign_stack_temp_for_type): Set MEM alignment.
      	(expand_function_end): Track MEM attributes of trampolines.
      	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
      	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
      	attributes from original.
      	* langhooks.c (lang_hook_default_get_alias_set): New function.
      	(hook_get_alias_set_0): New function.
      	* langhooks.h (hook_get_alias_set_0): New declaration.
      	(lang_hook_default_get_alias_set): Likewise.
      	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
      	* reload1.c (alter_reg): Use adjust_address_nv.
      	* rtl.c (get_mode_alignment): Moved to here.
      	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
      	change default if unknown from 1 to BITS_PER_UNIT.
      	* stor-layout.c (get_mode_alignment): Remove from here.
      	* toplev.h (struct lang_hoks): Add get_alias_set field.
      	* tree.h (lang_get_alias_set): Delete declaration.
      	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
      	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
      	(ix86_va_arg): Likewise.
      	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
      	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
      	* config/sparc/sparc.c (sparc_va_arg): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(expand_block_move_mem): Remove dead code.
      	* cp/cp-lang.c (cxx_get_alias_set): New function.
      	Point LANG_HOOKS_GET_ALIAS_SET to it.
      	* f/com.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	(lang_get_alias_set): Delete.
      	* java/lang.c (lang_get_alias_set): Deleted.
      
      From-SVN: r46440
      Richard Kenner committed
  26. 19 Oct, 2001 1 commit
    • calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. · 6894579f
      	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
      	* 1750a.c (print_operand): Fix format specifier warning.
      	* 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
      	* 1750a.md: Likewise.
      	* gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
      	* genemit.c (output_add_clobbers): Mark parameter with
      	ATTRIBUTE_UNUSED.
      	* genrecog.c (write_subroutine): Likewise.
      	* integrate.c (expand_inline_function): Delete unused variable.
      	* varasm.c (remove_from_pending_weak_list): Wrap with
      	ASM_WEAKEN_LABEL.
      
      From-SVN: r46358
      Kaveh R. Ghazi committed
  27. 11 Oct, 2001 1 commit
    • alias.c: Remove uses of "register" specifier in declarations of arguments and local... · b3694847
      2001-10-10  Stan Shebs  <shebs@apple.com>
      
              * alias.c: Remove uses of "register" specifier in declarations
              of arguments and local variables.
              * c-common.c: Ditto.
              * c-convert.c: Ditto.
              * c-decl.c: Ditto.
              * c-format.c: Ditto.
              * c-semantics.c: Ditto.
              * c-typeck.c: Ditto.
              * caller-save.c: Ditto.
              * calls.c: Ditto.
              * cfg.c: Ditto.
              * cfgbuild.c: Ditto.
              * cfgrtl.c: Ditto.
              * collect2.c: Ditto.
              * combine.c: Ditto.
              * convert.c: Ditto.
              * cppexp.c: Ditto.
              * cppfiles.c: Ditto.
              * cse.c: Ditto.
              * dbxout.c: Ditto.
              * defaults.h: Ditto.
              * df.c: Ditto.
              * dwarf2out.c: Ditto.
              * dwarfout.c: Ditto.
              * emit-rtl.c: Ditto.
              * explow.c: Ditto.
              * expmed.c: Ditto.
              * expr.c: Ditto.
              * final.c: Ditto.
              * fix-header.c: Ditto.
              * floatlib.c: Ditto.
              * flow.c: Ditto.
              * fold-const.c: Ditto.
              * function.c: Ditto.
              * gcc.c: Ditto.
              * gcse.c: Ditto.
              * gen-protos.c: Ditto.
              * genattrtab.c: Ditto.
              * gencheck.c: Ditto.
              * genconfig.c: Ditto.
              * genemit.c: Ditto.
              * genextract.c: Ditto.
              * genflags.c: Ditto.
              * gengenrtl.c: Ditto.
              * genoutput.c: Ditto.
              * genpeep.c: Ditto.
              * genrecog.c: Ditto.
              * gensupport.c: Ditto.
              * global.c: Ditto.
              * gmon.c: Ditto.
              * graph.c: Ditto.
              * haifa-sched.c: Ditto.
              * hard-reg-set.h: Ditto.
              * hash.c: Ditto.
              * integrate.c: Ditto.
              * jump.c: Ditto.
              * lists.c: Ditto.
              * local-alloc.c: Ditto.
              * loop.c: Ditto.
              * mips-tdump.c: Ditto.
              * mips-tfile.c: Ditto.
              * optabs.c: Ditto.
              * prefix.c: Ditto.
              * print-rtl.c: Ditto.
              * read-rtl.c: Ditto.
              * real.c: Ditto.
              * recog.c: Ditto.
              * reg-stack.c: Ditto.
              * regclass.c: Ditto.
              * regmove.c: Ditto.
              * reload.c: Ditto.
              * reload1.c: Ditto.
              * reorg.c: Ditto.
              * resource.c: Ditto.
              * rtl.c: Ditto.
              * rtlanal.c: Ditto.
              * scan.c: Ditto.
              * sched-deps.c: Ditto.
              * sched-rgn.c: Ditto.
              * sdbout.c: Ditto.
              * simplify-rtx.c: Ditto.
              * stmt.c: Ditto.
              * stor-layout.c: Ditto.
              * toplev.c: Ditto.
              * tradcif.y: Ditto.
              * tradcpp.c: Ditto.
              * tree.c: Ditto.
              * unroll.c: Ditto.
              * varasm.c: Ditto.
              * xcoffout.c: Ditto.
      
      From-SVN: r46173
      Stan Shebs committed
  28. 10 Oct, 2001 1 commit
    • calls.c: Fix formatting. · 6d2f8887
      	* calls.c: Fix formatting.
      	* c-decl.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* ggc-page.c: Likewise.
      	* integrate.c: Likewise.
      	* libgcc2.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sdbout.c: Likewise.
      	* stmt.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r46145
      Kazu Hirata committed
  29. 21 Sep, 2001 1 commit
    • rtl.h (LCT_RETURNS_TWICE): New. · 9defc9b7
              * rtl.h (LCT_RETURNS_TWICE): New.
              * calls.c (emit_call_1): Set current_function_calls_setjmp for
              ECF_RETURNS_TWICE.
              (emit_library_call_value_1): Map LCT_RETURNS_TWICE
              to ECF_RETURNS_TWICE.
              * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
              call to setjmp.
      
              * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
      
              * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
              (JMP_BUF_SIZE): New.
      
      From-SVN: r45736
      Richard Henderson committed
  30. 10 Sep, 2001 2 commits
  31. 31 Aug, 2001 1 commit
  32. 28 Aug, 2001 1 commit
  33. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  34. 13 Aug, 2001 1 commit
    • expr.h: Split out optab- and libfunc-related code to... · e78d8e51
      	* expr.h: Split out optab- and libfunc-related code to...
      	* optabs.h, libfuncs.h: ... these new headers.
      
      	* Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
      	(OPTABS_H): New.
      	(various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
      	dependencies.
      	* mkconfig.sh: Don't include insn-codes.h from config.h.
      
      	* reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
      	enum insn_code is available.  Move reload_in_optab and
      	reload_out_optab array declarations to optabs.h.
      	* regmove.c (gen_add3_insn): Move to optabs.c, export from
      	there, prototype in expr.h.
      	* gencodes.c: Cleanup: zap global variables, don't use
      	printf where puts will do, don't bother defining MAX_INSN_CODE
      	which nothing uses, let CODE_FOR_nothing get its value implicitly.
      
      	* genemit.c, genopinit.c: Include optabs.h in generated file.
      	* genoutput.c: Include insn-codes.h in generated file.
      	* builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
      	expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
      	reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
      	config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
      	config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
      	config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
      	Include optabs.h.
      	* builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
      	optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
      	config/m88k/m88k.c, config/sparc/sparc.c:
      	Include libfuncs.h.
      	* reload.c: Include expr.h and optabs.h before reload.h.
      	* config/alpha/alpha.c: Include tree.h before reload.h.
      	* config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
      	and reload.h in that order.
      	* config/sparc/sparc.c: Include debug.h.
      	* recog.c: Include insn-codes.h.
      
      cp:
      	* Make-lang.in (cp/except.o): Add libfuncs.h to dependencies.
      	* except.c: Include libfuncs.h.
      java:
      	* Make-lang.in (java/decl.o): Update dependencies.
      	* decl.c: Include libfuncs.h, don't include toplev.h.
      
      From-SVN: r44858
      Zack Weinberg committed
  35. 12 Aug, 2001 1 commit
    • defaults.h: Define PREFERRED_STACK_BOUNDARY to STACK_BOUNDARY if not already defined. · 31cdd499
      	* defaults.h: Define PREFERRED_STACK_BOUNDARY to
      	STACK_BOUNDARY if not already defined.
      
      	* calls.c, function.c, reload1.c, explow.c: Don't default
      	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
      	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
      
      	* explow.c (allocate_dynamic_stack_space): Change unsafe #if
      	to run-time test.
      
      	* doc/tm.texi: Document that STACK_BOUNDARY is required;
      	clarify difference between it and PREFERRED_STACK_BOUNDARY.
      
      From-SVN: r44814
      Zack Weinberg committed
  36. 10 Aug, 2001 1 commit
    • calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY if not already defined. · 19652adf
      	* calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
      	if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
      	this macro is now required.
      
      	* cselib.c (cselib_process_insn), flow.c (propagate_block),
      	loop.c (find_and_verify_loops), reload.c (reload): Check
      	for rtx code of CALL_INSN, not CALL, when deciding if we
      	need to check for REG_SETJMP note.
      
      	* gcse.c (compute_hash_table, compute_store_table): Update
      	the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
      	logic.
      
      	* config/avr/avr.c: Fix typo.
      	* config/convex/convex.c (expand_movstr): Use adjust_address.
      	* config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
      	variable.
      	* config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
      	* config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
      	Fix typo.
      	* config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
      	Do define STACK_BOUNDARY.
      	* config/i370/i370.c: Include expr.h.
      	* config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
      	config/pa/som.h, config/v850/v850.h: Take in_ctors and
      	in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
      	and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
      	* config/m88k/m88k.c: Include c-tree.h after expr.h.
      	* config/pdp11/pdp11.c: Include expr.h and toplev.h.
      	* config/romp/romp.c: Include expr.h after tree.h.
      	Include toplev.h.
      	(output_fpop): Use xmalloc, not oballoc.
      	* config/we32k/we32k.c: Include expr.h.
      
      From-SVN: r44768
      Zack Weinberg committed