1. 27 Nov, 2002 1 commit
    • expr.c (gen_group_rtx, [...]): New functions. · 084a1106
      	* expr.c (gen_group_rtx, emit_group_move): New functions.
      	* expr.h (gen_group_rtx, emit_group_move): Prototype.
      	* function.c (expand_function_start): Use gen_group_rtx to create a
      	PARALLEL rtx to hold the return value when the real return rtx is a
      	PARALLEL.
      	(expand_function_end): Use emit_group_move to move the return value
      	from a PARALLEL to the real return registers.
      	* rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
      	in PARALLELs.
      
      From-SVN: r59554
      John David Anglin committed
  2. 22 Sep, 2002 1 commit
    • dbxout.c: Follow spelling conventions. · cc2902df
      	* dbxout.c: Follow spelling conventions.
      	* defaults.h: Likewise.
      	* df.c: Likewise.
      	* diagnostic.h: Likewise.
      	* doloop.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* flags.h: Likewise.
      	* flow.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genconfig.c: Likewise.
      	* genrecog.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc.h: Likewise.
      	* global.c: Likewise.
      	* gthr-win32.h: Likewise.
      	* integrate.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* line-map.h: Likewise.
      	* local-alloc.c: Likewise.
      	* longlong.h: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise.
      
      From-SVN: r57406
      Kazu Hirata committed
  3. 12 Sep, 2002 1 commit
    • emit-rtl.c (set_mem_size): New function. · 35aff10b
      	* emit-rtl.c (set_mem_size): New function.
      	* expr.h (set_mem_size): Declare.
      	* config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
      	(expand_block_move): Instead, use adjust_address and
      	replace_equiv_address to generate proper aliasing info.
      	Move common code out of conditionals.  Localize vars.
      
      From-SVN: r57047
      Alan Modra committed
  4. 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
  5. 03 Aug, 2002 1 commit
  6. 29 Jul, 2002 1 commit
    • emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from set_mem_attributes and… · 6f1087be
      emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from set_mem_attributes and add BITPOS argument.
      
              * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
              set_mem_attributes and add BITPOS argument.  Subtract it from
              OFFSET when same is adjusted.
              (set_mem_attributes): New wrapper function.
              * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
              remove offset adjustment hack.
              * expr.h (set_mem_attributes_minus_bitpos): Declare.
      
      From-SVN: r55846
      Richard Henderson committed
  7. 16 Jul, 2002 1 commit
    • builtins.c (std_expand_builtin_va_start): Remove unused first argument. · e5faf155
      	* builtins.c (std_expand_builtin_va_start): Remove unused
      	first argument.
      	(expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
      	std_expand_builtin_va_start with just two arguments.
      	* expr.h: Update prototypes.
      
      	* alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
      	arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
      	i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
      	m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
      	mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
      	rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
      	s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
      	sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
      	xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
      	argument from all implementations of EXPAND_BUILTIN_VA_START
      	and all uses of std_expand_builtin_va_start.
      
      From-SVN: r55495
      Zack Weinberg committed
  8. 18 Jun, 2002 1 commit
    • simd-1.c: New. · cb2a532e
      2002-06-16  Aldy Hernandez  <aldyh@redhat.com>
      
      	* gcc.c-torture/execute/simd-1.c: New.
      
      	* gcc.dg/simd-1.c: New.
      
      	* doc/extend.texi (Vector Extensions): Document that we can
      	specify simd types not specifically supported by the hardware.
      	Document that simd types can be used as function arguments.
      	Document that signness does make a difference in SIMD types.
      	Misc cleanups and revisions to the "vector extensions" section.
      
      	* simplify-rtx.c (simplify_subreg): Simplify subregs of vector
      	constants.
      
      	* expr.c (vector_mode_valid_p): New.
      
      	* expr.h: Add vector_mode_valid_p.
      
      	* defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
      
      	* emit-rtl.c (immed_double_const): Do not abort on vectors.
      
      	* c-common.c (type_for_mode): Always build vector nodes regardless
      	of VECTOR_MODE_SUPPORTED_P.
      	(handle_mode_attribute): Error if we can't emulate a nonexisting
      	vector mode.
      	(handle_vector_size_attribute): Same.
      
      	* optabs.c (expand_binop): Open-code vector operations.
      	(expand_unop): Open-code vector unops.
      	(expand_vector_binop): New.
      	(expand_vector_unop): New.
      
      	* c-typeck.c (build_binary_op): Allow vectors in binops.
      	Allow vectors in conditional operatiors.
      	(build_unary_op): Allow vectors in unary minus.
      
      	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
      	TARGET_ALTIVEC.
      
      From-SVN: r54727
      Aldy Hernandez committed
  9. 04 Jun, 2002 1 commit
  10. 03 Jun, 2002 1 commit
    • emit-rtl.c: Likewise. · 0fb7aeda
      	* emit-rtl.c: Likewise.
      	* errors.h: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      
      From-SVN: r54197
      Kazu Hirata committed
  11. 30 May, 2002 1 commit
    • expmed.c (const_mult_add_overflow_p): New. · ce60bf25
              * expmed.c (const_mult_add_overflow_p): New.
              * expr.h: Declare it.
              * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
              Don't eliminate the biv if the giv has a constant multiplier and
              the rhs argument of the comparison does satisfy the predicate.
              Use expand_mult_add to compute the replacement constant.
      
      From-SVN: r54075
      Eric Botcazou committed
  12. 31 Mar, 2002 1 commit
    • builtins.c (expand_builtin_va_arg): Give warnings not errors for promoted… · 9602f5a0
      builtins.c (expand_builtin_va_arg): Give warnings not errors for promoted argument types; build trap.
      
              * builtins.c (expand_builtin_va_arg): Give warnings not errors for
              promoted argument types; build trap.
              (expand_builtin_trap): New.
              (expand_builtin): Use it.
              * stmt.c (expand_nl_goto_receivers): Likewise.
              * expr.h (expand_builtin_trap): Declare.
              * libfuncs.h (LTI_abort, abort_libfunc): New.
              * optabs.c (init_optabs): Init abort_libfunc.
      
              * gcc.dg/va-arg-1.c: Expect warnings, not errors.
      
      From-SVN: r51643
      Richard Henderson committed
  13. 26 Mar, 2002 2 commits
  14. 21 Feb, 2002 1 commit
    • re PR c++/4574 (Internal compiler error in `expand_and', at expmed.c:4055) · 22273300
      	PR c++/4574
      	* expr.h (expand_and): Add mode argument.
      	* expmed.c (expand_and): Add mode argument.
      	(expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
      	* expr.c (store_field, expand_expr, do_store_flag): Likewise.
      	* except.c (expand_builtin_extract_return_addr): Likewise.
      	* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
      	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
      	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
      	Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
      	* config/c4x/c4x.md: Use GEN_INT (x) instead of
      	gen_rtx (CONST_INT, VOIDmode, x).
      
      	* gcc.dg/20020220-1.c: New test.
      
      From-SVN: r49938
      Jakub Jelinek committed
  15. 20 Feb, 2002 1 commit
  16. 12 Dec, 2001 1 commit
  17. 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
  18. 02 Dec, 2001 1 commit
    • rtl.h (mem_attrs): Rename decl to expr; adjust all users. · 998d7deb
              * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
              (MEM_EXPR): Rename from MEM_DECL; adjust all users.
              * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
              * expr.h, final.c, reload1.c: Adjust users.
      
              * alias.c (nonoverlapping_component_refs_p): New.
              (decl_for_component_ref, adjust_offset_for_component_ref): New.
              (nonoverlapping_memrefs_p): Use them.
              * emit-rtl.c (component_ref_for_mem_expr): New.
              (set_mem_attributes): Use it.
              (set_mem_offset): New.
              * expr.c (expand_assignment): Call set_mem_attributes for
              inner references; adjust the memory offset as needed.
              * print-rtl.c (print_mem_expr): New.
              (print_rtx): Use it.
      
      From-SVN: r47534
      Richard Henderson committed
  19. 27 Nov, 2001 1 commit
    • Makefile.in (c-lang.o): Depends on langhooks-def.h. · ac79cd5a
      	* Makefile.in (c-lang.o): Depends on langhooks-def.h.
      	(expr.o, varasm.o): Depends on langhooks.h.
      	* c-common.c (c_safe_from_p): Always declare.
      	(c_expand_expr): Refine when declared.
      	* c-lang.c (c-common.h): Now include.
      	(LANG_HOOKS_SAFE_FROM_P): Define new hook.
      	(c_init): Don't set lang_safe_from_expr.
      	* expr.c (langhooks.h): Now include.
      	(lang_safe_from_p): No longer define.
      	(safe_from_p): Use lang hook.
      	(expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
      	(expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
      	* expr.h (lang_expand_constant, lang_safe_from_p): Delete.
      	* langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
      	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
      	* langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
      	* langhooks.h (struct lang_hooks): New fields expand_constant
      	and safe_from_p.
      	* output.h (output_constant): Size arg is HOST_WIDE_INT.
      	* stmt.c (expand_decl_init): No longer need to expand constant
      	for CONST_DECL.
      	* stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
      	* toplev.c (lang_expand_constant): Delete var.
      	* tree.c (save_expr): Don't put another SAVE_EXPR around simple
      	operations on SAVE_EXPR.
      	* varasm.c (langhooks.h): Now include.
      	(compare_constant_1): Use lang_hooks, not lang_expand_constant.
      	(record_constant_1, output_addressed_constants): Likewise.
      	(initializer_constant_valid_p, output_constant): Likewise.
      	(output_constant_def): Process no-defer of string constant.
      	(output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
      	(output_constant): Strip more conversions.
      	Track our size and pad for the rest.
      	(array_size_for_constructor): Remove code for non-byte STRING_CST.
      	(output_constructor): SIZE now HOST_WIDE_INT.
      	* cp/Make-lang.in (cp-lang.o): Depends on c-common.h.
      	* cp/cp-lang.c (c-common.h): Include.
      	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
      	* cp/decl.c (cxx_init_decl_processing): Don't set lang_safe_from_p.
      	* cp/expr.c (init_cplus_expand): Don't set lang_expand_constant.
      
      From-SVN: r47376
      Richard Kenner committed
  20. 15 Nov, 2001 1 commit
    • alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P. · a06ef755
      	* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
      	* emit-rtl.c (change_address): Fix typo in default alignment.
      	(adjust_address_1): Use mode of NEW, not MODE, when setting size.
      	* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
      	* rtl.h (REGNO_PTR_FRAME_P): New macro.
      
      	* expr.c (store_field): Pass tree instead of max size; callers changed.
      	Change handling of alignment.
      	Only copy to_rtx if is TARGET.
      	(expand_expr_unaligned): Delete; callers now use expand_expr.
      	(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
      	(expand_assignment): Change handling of alignment.
      	Only copy to_rtx if was original.
      	(get_inner_reference): No longer return alginment; callers changed.
      	(expand_expr, case COMPONENT_REF): Change handling of alignment.
      	(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
      	(compare_from_rtx): Delete ALIGN parm; all callers changed.
      	(do_compare_rtx_and_jump): Likewise.
      	* expr.h: Reflect above changes.
      	* tree.h: Likewise.
      	* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
      	to get_inner_reference.
      	* except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns.
      	* explow.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	(prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
      	(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
      	* fold-const.c: Remove PALIGN in calls to get_inner_reference.
      	* function.c (assign_stack_temp_for_type): No longer static.
      	* optabs.h (emit_cmp_insn): Remove ALIGN parm.
      	(prepare_cmp_insn): Delete declaration.
      	* rtl.h (assign_stack_temp_for_type): Add declaration.
      	* config/d30v/d30v.c: Reflect above changes.
      	* config/i860/i860.c, config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
      	* ada/trans.c, ada/utils2.c: Remove PALIGN parameter to
      	get_inner_reference.
      
      From-SVN: r47075
      Richard Kenner committed
  21. 13 Nov, 2001 1 commit
  22. 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
  23. 03 Nov, 2001 1 commit
  24. 25 Oct, 2001 1 commit
    • alias.c (can_address_p): No longer static. · 10b76d73
      	* alias.c (can_address_p): No longer static.
      	* emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
      	Return 0 if all parameters are default values.
      	(set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
      	(adjust_address_1): Try harder to compute a size.
      	* expr.c (expand_assignment, store_constructor): If can't address,
      	set MEM_KEEP_ALIAS_SET_P.
      	(store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
      	(store_field): Likewise.
      	(store_constructor): Simplify call to store_constructor_field.
      	* expr.h (can_address_p): New declaration.
      	* gensupport.c (gen_rtx_CONST_INT): New function.
      	* rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
      	(MEM_SIZE): Get size from mode, if not set and not BLKmode.
      	(MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
      
      From-SVN: r46487
      Richard Kenner committed
  25. 23 Oct, 2001 1 commit
    • 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. 20 Oct, 2001 1 commit
  27. 18 Oct, 2001 1 commit
    • emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array. · 0d4903b8
      	* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
      	(offset_address): New function.
      	(free_emit_status): Free regno_decl.
      	(init_emit): Pass proper number of elements to xcalloc.
      	Allocate regno_decl.
      	(mark_emit_status): Mark regno_decl values.
      	* expr.c (highest_pow2_factor): New function.
      	(expand_assigment): Use it and offset_address.
      	Properly handle ptr_mode vs. Pmode in offset calculation.
      	(store_constructor, expand_expr_unaligned): Likewise.
      	(expand_expr, case COMPONENT_EXPR): Likewise.
      	* expr.h (offset_address): New decl.
      	* function.h (struct emit_status): Add regno_decl.
      	(REGNO_DECL): New macro.
      	* final.c (output_asm_name): Move in file and don't conditionalize
      	on flag_print_asm_name.
      	(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
      	Output names of operands, if known.
      	* function.c (assign_parms): Set REGNO_DECL.
      	* integrate.c (integrate_decl_tree): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
      
      From-SVN: r46337
      Richard Kenner committed
  28. 17 Oct, 2001 1 commit
    • Makefile.in (print-rtl.o): Depend on TREE_H. · 738cc472
      	* Makefile.in (print-rtl.o): Depend on TREE_H.
      	* alias.c (get_alias_set): Make two passes over objects to first
      	see if inner object is access via restricted pointer.
      	Defer allocating alias set for restricted pointer until here.
      	Call find_placeholder with second arg nonzero.
      	Minor cleanups.
      	* emit-rtl.c (set_mem_attributes): Set more attributes.
      	(set_mem_align, change_address, adjust_address_1): New functions.
      	(change_address_1): Now static.
      	(adjust_address, adjust_address_nv): Deleted.
      	(replace_equiv_address): Call change_address_1.
      	* expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
      	(find_placeholder): Get starting point from PLIST arg.
      	(expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
      	* expr.h (set_mem_align, change_address, adjust_address_1): New decls.
      	(adjust_address, adjust_address_nv): New macros.
      	* print-rtl.c (tree.h): New include.
      	(print_rtx, case MEM): Print all memory attributes.
      
      From-SVN: r46313
      Richard Kenner committed
  29. 09 Oct, 2001 1 commit
    • acconfig.h: Fix comment formatting. · 19eb1ad7
      	* acconfig.h: Fix comment formatting.
      	* c-dump.h: Likewise.
      	* c-tree.h: Likewise.
      	* conditions.h: Likewise.
      	* expr.h: Likewise.
      	* function.h: Likewise.
      	* gthr.h: Likewise.
      	* hwint.h: Likewise.
      	* integrate.h: Likewise.
      	* intl.h: Likewise.
      	* loop.h: Likewise.
      	* optabs.h: Likewise.
      
      From-SVN: r46131
      Kazu Hirata committed
  30. 01 Oct, 2001 2 commits
    • alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR. · f47e9b4e
      	* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
      	Loop through NOPs, placeholders, and components.
      	Don't go through NOPs if change mode.
      	(record_alias_subset): Do nothing if SUBSET and SET are the same.
      	* emit-rtl.c (set_mem_alias_set): Enable check.
      	* expr.c (find_placeholder): New function.
      	(expand_expr, case PLACEHOLDER_EXPR): Use it.
      	(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
      	to modify it and avoid unneeded copies.
      	* expr.h (expand_expr): Always define.
      	(find_placeholder): New declaration.
      
      From-SVN: r45931
      Richard Kenner committed
    • function.c (keep_stack_depressed): Don't use delete_insn. · 173b24b9
      	* function.c (keep_stack_depressed): Don't use delete_insn.
      
      	* expr.h (set_mem_alias_set): Move decl to here.
      	* rtl.h (mem_attrs): New typedef and struct.
      	(union rtunion_def): Add field for mem_attrs.
      	(X0MEMATTR, MEM_ATTRS): New macros.
      	(MEM_ALIAS_SET): Use MEM_ATTRS.
      	(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
      	(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
      	(set_mem_alias_set): Delete decl from here.
      
      	* alias.c (set_mem_alias_set): Delete from here.
      	* emit-rtl.c (mem_attrs_htab): New variable.
      	(rtx_htab_mark, rtx_htab_mark_1): Deleted.
      	(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
      	(mem_attrs_mark, get_mem_attrs): Likewise.
      	(gen_rtx_MEM): Clear MEM_ATTRS.
      	(set_mem_attributes): Move to here.
      	(set_mem_alias_set): Likewise, and call get_mem_attrs.
      	(init_emit_once): const_int_htab now deletable htab.
      	Initialize mem_attrs_htab.
      	* explow.c (set_mem_attributes): Delete from here.
      	* function.c (put_var_into_stack): Clear MEM_ATTRS.
      	(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
      	* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
      	* reload1.c (reload): Rework changing REG to MEM.
      
      From-SVN: r45922
      Richard Kenner committed
  31. 22 Aug, 2001 2 commits
    • 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
    • expmed.c (mode_for_extraction): New function. · da920570
      	* expmed.c (mode_for_extraction): New function.
      	(store_bit_field, extract_bit_field): Use it.
      	* expr.h: Prototype it and provide an enum for its first argument.
      
      	* combine.c, function.c, recog.c: Don't include insn-codes.h.
      	Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
      	and digging through the insn_data tables.
      	* Makefile.in: Update dependencies.
      
      From-SVN: r45086
      Zack Weinberg committed
  32. 21 Aug, 2001 1 commit
    • stmt.c: Don't include insn-codes.h. · ad82abb8
      	* stmt.c: Don't include insn-codes.h.
      	(expand_end_case): Machine specific logic moved to expr.c.
      	No need to worry about __builtin_classify_type.
      	(check_for_full_enumeration_handling, emit_case_nodes):
      	Kill #if 0 blocks.
      
      	* builtins.o (expand_builtin_classify_type): Split up so code
      	can be shared with fold_builtin_classify_type.
      	(type_to_class, fold_builtin_classify_type): New functions.
      	(fold_builtins): Handle __builtin_classify_type.
      
      	* expr.c (do_tablejump): Now static.
      	(case_values_threshold, try_casesi, try_tablejump): New;
      	code mostly from stmt.c (expand_end_case).
      	(expr.h): Update prototypes.
      
      	* Makefile.in (stmt.o): Update dependencies.
      
      From-SVN: r45078
      Zack Weinberg committed
  33. 18 Aug, 2001 1 commit
    • optabs.h (OTI_flodiv, [...]): Kill. · ef89d648
      	* optabs.h (OTI_flodiv, flodiv_optab): Kill.
      	* genopinit.c: Put floating point divide insns in sdiv_optab.
      	* expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
      	* config/gofast.h, config/c4x/c4x.h,
      	config/ia64/hpux_longdouble.h, config/mips/mips.h,
      	config/pa/long_double.h, config/rs6000/sysv4.h,
      	config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
      	* optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
      	(init_optabs): Use init_optabv for overflow-trapping optabs.
      	Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
      	cmp_optab RTX codes so have_insn_for can find them.
      
      	* optabs.c (expand_simple_binop, expand_simple_unop,
      	have_insn_for, gen_sub3_insn): New interfaces.
      	* expr.h: Prototype new functions.
      	(enum optab_methods): Move here from optabs.h.
      
      	* builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
      	loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
      	Use new	functions instead of working directly with optabs.
      	* doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
      	unroll.c: Don't include optabs.h.
      	* caller-save.c, combine.c, function.c, stmt.c: Just include
      	insn-codes.h, not optabs.h.
      	* Makefile.in: Update dependencies.
      
      	* combine.c (make_compound_operation, simplify_comparison):
      	Fix typos testing for this or that instruction.
      
      From-SVN: r45008
      Zack Weinberg 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. 20 Jul, 2001 1 commit
    • rtlanal.c (set_noop_p): Return true for noop jumps. · 371b8fc0
      	* rtlanal.c (set_noop_p): Return true for noop jumps.
      
      	* expr.c (emit_single_push_insn): Add call to push expander.
      	* expr.h (optab_index): Add OTI_push
      	(push_optab): New constant.
      	* genopinit.c (optabs): Add push_optab.
      	* optabs.c (init_optab): Init push optab.
      	* md.texi (push??1): Document
      
      From-SVN: r44210
      Jan Hubicka committed
  36. 18 Jul, 2001 1 commit
  37. 10 Jul, 2001 1 commit
    • target.h (struct gcc_target): New fields init_builtins and expand_builtin. · f6155fda
      	* target.h (struct gcc_target): New fields init_builtins and
      	expand_builtin.
      	* target-def.h (TARGET_INIT_BUILTINS): New macro.
      	(TARGET_EXPAND_BUILTIN): New macro.
      	(TARGET_INITIALIZER): Add them.
      	* builtins.c: Include target.h.
      	(expand_builtin): Use targetm.expand_builtin.
      	(default_init_builtins): New function.
      	(default_expand_builtin): New function.
      	* expr.h (default_init_builtins): Declare.
      	(default_expand_builtin): Declare.
      	* c-common.c (c_common_nodes_and_builtins): Use
      	targetm.init_builtins.
      	* defaults.h (MD_INIT_BUILTINS): Remove.
      	* Makefile.in (builtins.o): Depend on target.h.
      
      	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
      	(TARGET_EXPAND_BUILTIN): Define.
      	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
      	(MD_EXPAND_BUILTIN): Remove.
      
      	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
      	(TARGET_EXPAND_BUILTIN): Define.
      	(c4x_init_builtins): Make endlink arg a local.
      	(c4x_print_operand): Fix typos in adjust_address usages.
      	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
      	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
      	(MD_EXPAND_BUILTIN): Remove.
      
      	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
      	(TARGET_EXPAND_BUILTIN): Define.
      	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
      	(ix86_init_builtins): Call new function only if TARGET_MMX.
      	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
      	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
      	(MD_EXPAND_BUILTIN): Remove.
      
      	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
      	(TARGET_EXPAND_BUILTIN): Define.
      	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
      	(MD_EXPAND_BUILTIN): Remove.
      
      	* doc/tm.texi: Document these changes.
      
      From-SVN: r43888
      Stan Shebs committed