1. 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
  2. 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
  3. 22 Nov, 2001 1 commit
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 10 Sep, 2001 2 commits
  13. 31 Aug, 2001 1 commit
  14. 28 Aug, 2001 1 commit
  15. 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
  16. 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
  17. 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
  18. 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
  19. 08 Aug, 2001 1 commit
    • calls.c (ECF_ALWAYS_RETURN): New constant. · 9d98f8f9
      	* calls.c (ECF_ALWAYS_RETURN): New constant.
      	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
      	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
      	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
      	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
      	* rtl.c (reg_note_name): New name.
      	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
      
      From-SVN: r44722
      Jan Hubicka committed
  20. 07 Aug, 2001 2 commits
    • calls.c (expand_call): Do not emit INSN_SETJMP note. · 570a98eb
      	* calls.c (expand_call): Do not emit INSN_SETJMP note.
      	(emit_library_call_value_1): Likewise.
      	(emit_call_1): Emit REG_SETJMP note.
      	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
      	of INSN_SETJMP
      	* cselib.c (cselib_process_insn): Likewise.
      	* flow.c (propagate_block): Likewise.
      	* loop.c (find_and_verify_loops): Likewise.
      	* reload.c (find_equiv_regs): Likewise.
      	* reload1.c (reload): Likewise.
      	* resource.c (mark_referenced_resources,
      	mark_set_resources): Likewise.
      	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
      	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	(reemit_notes): Likewise.
      	* sched-ebb.c (sched_ebb): Likewise.
      	* sched-rgc.c (sched_region): Likewise.
      	* rtl.c (note_insn_name): Likewise.
      	(reg_note_name): Add REG_SETJMP
      	* rtl.h (reg_note): Add REG_SETJMP.
      	(insn_note): Remove NOTE_INSN_SETJMP.
      
      	* profile.c (branch_prob): Add fake edges for setjmp.
      
      From-SVN: r44700
      Jan Hubicka committed
    • alias.c (nonlocal_mentioned_p): Rename CONST_CALL_P to CONST_OR_PURE_CALL_P · 24a28584
      	* alias.c (nonlocal_mentioned_p):
      	Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
      	* calls.c (emit_call_1): Likewise.
      	* cse.c (cse_insn, invalidate_skipped_block): Likewise.
      	* cselib.c (cselib_process_insn): Likewise.
      	* df.c (df_insns_modify): Likewise.
      	* flow.c (need_fake_edge_p): Likewise.
      	(propagate_one_insn): Likewise.
      	* haifa-sched.c (reemit_notes): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* jump.c (delete_prior_computation): Likewise.
      	* local-alloc.c (validate_equiv_mem): Likewise.
      	* loop.c (scan_loop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* reload.c (reload): Likewise.
      	* sched-deps (sched_analyze): Likewise.
      	* rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
      	* gcse.c (compute_hash_table): Likewise.
      	(mark_call): Likewise.
      	(store_killed_in_insn): Likewise.
      
      From-SVN: r44688
      Jan Hubicka committed
  21. 01 Aug, 2001 1 commit
    • alias.c: Fix comment formatting. · ec5c56db
      	* alias.c: Fix comment formatting.
      	* bitmap.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-lex.c: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* conflict.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cppinit.c: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* cppspec.c: Likewise.
      	* c-pragma.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-typeck.c: Likewise.
      
      From-SVN: r44547
      Kazu Hirata committed
  22. 18 Jul, 2001 1 commit
  23. 11 Jul, 2001 2 commits
    • alias.c (set_mem_alias_set): New function. · ba4828e0
      	* alias.c (set_mem_alias_set): New function.
      	* rtl.h (set_mem_alias_set): Declare it.
      	* builtins.c (expand_builtin_return_addr): Call it instead of
      	using MEM_ALIAS_SET accessor.
      	(expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
      	(get_memory_rtx, expand_builtin_va_arg): Likewise.
      	(expand_builtin_va_copy):Likewise.
      	* caller-save.c (setup_save_areas): Likewise.
      	* calls.c (compute_argument_addresses): Likewise.
      	* explow.c (set_mem_attributes): Likewise.
      	* expr.c (emit_single_push_insn, emit_push_insn): Likewise.
      	(expand_assignment, store_constructor_field, store_field): Likewise.
      	(expand_expr_unaligned): Likewise.
      	* function.c (assign_stack_temp_for_type): Likewise.
      	(put_reg_into_stack, gen_mem_addressof): Likewise.
      	* ifcvt.c (noce_try_cmove_arith): Likewise.
      	* reload1.c (reload, alter_reg): Likewise.
      	* config/alpha/alpha.c (get_aligned_mem): Likewise.
      	(alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
      	(alpha_expand_unaligned_store): Likewise
      	(alpha_expand_unaligned_load_words): Likewise.
      	(alpha_expand_unaligned_store_words): Likewise.
      	(alpha_expand_block_clear, alpha_expand_prologue): Likewise.
      	(alpha_expand_epilogue): Likewise.
      	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
      	* config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
      	* config/i386/i386.c (legitimize_pic_address): Likewise.
      	* config/i960/i960.c (setup_incoming_varargs): Likewise.
      	* config/ia64/ia64.c (spill_restore_mem): Likewise.
      	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
      	* config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
      	* config/mips/mips.c (mips_va_arg): Likewise.
      	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
      	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
      	(setup_incoming_varargs, rs6000_va_arg): Likewise.
      	(rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
      	(rs6000_emit_epilogue): Likewise.
      	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
      	* config/sparc/sparc.c (sparc_va_arg): Likewise.
      	* config/v850/v850.c (v850_va_arg): Likewise.
      
      From-SVN: r43951
      Richard Kenner committed
    • calls.c (emit_library_call_value_1): Fix a comment typo. · 0407c02b
      2001-07-10  Kazu Hirata  <kazu@hxi.com>
      
      	* calls.c (emit_library_call_value_1): Fix a comment typo.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	* config/i386/i386.c (ix86_expand_aligntest): Likewise.
      
      From-SVN: r43917
      Kazu Hirata committed
  24. 05 May, 2001 1 commit
  25. 21 Apr, 2001 1 commit
  26. 05 Apr, 2001 1 commit
    • function.h (virtuals_instantiated): Declare. · c39ada04
      * function.h (virtuals_instantiated): Declare.
      * function.c: (virtuals_instantiated): Make global.
      * calls.c (emit_library_call_value_1): Use
      virtual_outgoing_args_rtx only if it hasn't been instantiated.
      Otherwise, use the stack pointer directly.
      
      From-SVN: r41127
      DJ Delorie committed
  27. 04 Apr, 2001 1 commit
  28. 03 Apr, 2001 1 commit
    • Use byte offsets in SUBREGs instead of words. · ddef6bc7
      2001-04-03  Jakub Jelinek  <jakub@redhat.com>
      	    David S. Miller  <davem@pierdol.cobaltmicro.com>
                  Andrew MacLeod  <amacleod@redhat.com>
      
      	Use byte offsets in SUBREGs instead of words.
      
      	* alias.c (nonlocal_mentioned_p): Use subreg_regno function.
      	* caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
      	to pass new argument.
      	(add_stored_regs): Use subreg_regno_offset function.
      	* calls.c (expand_call): For non-paradoxical SUBREG take endianess
      	into account.
      	(precompute_arguments): Use gen_lowpart_SUBREG.
      	* combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
      	(combine_simplify_rtx): Rework to use SUBREG_BYTE.
      	(simplify_set): Rework to use SUBREG_BYTE.
      	(expand_field_assignment): Use SUBREG_BYTE.
      	(make_extraction): Use SUBREG_BYTE.
      	(if_then_else_cond): Use SUBREG_BYTE.
      	(apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
      	(gen_lowpart_for_combine): Compute full byte offset.
      	* cse.c (mention_regs): Use SUBREG_BYTE.
      	(remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
      	(canon_hash): Use SUBREG_BYTE.
      	(fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
      	(gen_lowpart_if_possible): Formatting.
      	* dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
      	correctly.
      	* dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
      	(mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
      	(loc_descriptor): Fixup explicit XEXP into SUBREG_REG
      	* dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
      	(output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
      	(output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
      	* emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
      	certain invariants about SUBREGs the compiler creates.
      	(gen_lowpart_SUBREG): New function.
      	(subreg_hard_regno): New function to get the final register number.
      	(gen_lowpart_common): Use SUBREG_BYTE.
      	(gen_imagpart): Spacing nits.
      	(subreg_realpart_p): Use SUBREG_BYTE.
      	(gen_highpart): Use SUBREG_BYTE.
      	(subreg_lowpart_p): Always compute endian corrected goal offset,
      	even at the byte level, then compare against that.
      	(constant_subword): New function, pulled out all constant cases
      	from operand_subword and changed second argument name to offset.
      	(operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
      	and call constant_subword to do the work.  Return const0_rtx if
      	looking for a word outside of OP.
      	(operand_subword_force): Change second arg name to offset.
      	* expmed.c (store_bit_field): Use SUBREG_BYTE.
      	(store_split_bit_field): Use SUBREG_BYTE.
      	(extract_bit_field): Use SUBREG_BYTE.
      	(extract_split_bit_field): Use SUBREG_BYTE.
      	(expand_shift): Use SUBREG_BYTE.
      	* expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
      	* final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
      	* flow.c (set_noop_p): Use SUBREG_BYTE.
      	(mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
      	* function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
      	(fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
      	correction code.
      	(optimize_bit_field): Use SUBREG_BYTE.
      	(purge_addressof_1): Use SUBREG_BYTE.
      	(purge_single_hard_subreg_set): Use subreg_regno_offset function.
      	(assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
      	actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
      	* gengenrtl.c (special_rtx): Add SUBREG.
      	* global.c (mark_reg_store): Use SUBREG_BYTE.
      	(set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
      	* ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
      	* integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
      	final byte offset is congruent to subreg's mode size.
      	(subst_constants): Use SUBREG_BYTE.
      	(mark_stores): Use subreg_regno_offset function.
      	* jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
      	function and SUBREG_BYTE.
      	* local-alloc.c (combine_regs): Use subreg_regno_offset function.
      	(reg_is_born): Use subreg_hard_regno.
      	* recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
      	endian correction code.  Don't combine subregs unless resulting
      	offset aligns with type.  Fix subreg constant extraction for DImode.
      	Simplify SUBREG of VOIDmode CONST_DOUBLE.
      	(general_operand): Remove dead mode_altering_drug code.
      	(indirect_operand): Use SUBREG_BYTE.
      	(constrain_operands): Use subreg_regno_offset function.
      	* reg-stack.c (get_true_reg): Use subreg_regno_offset function.
      	* regmove.c (regmove_optimize): Use SUBREG_BYTE.
      	(optimize_reg_copy_3): Use gen_lowpart_SUBREG.
      	* regs.h (REG_SIZE): Allow target to override.
      	(REGMODE_NATURAL_SIZE): New macro which target can override.
      	* reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
      	on the entire subreg rtx.
      	(push_reload): Use SUBREG_BYTE in comments and code.
      	(find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
      	for hard registers inside subregs.
      	(operands_match_p): Use subreg_regno_offset.
      	(find_reloads): Use SUBREG_BYTE and only advance offset for subregs
      	containing hard regs.
      	(find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
      	corrections when fixing up MEM subregs.
      	(find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
      	subreg_regno_offset where appropriate.
      	(find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
      	byte endian corrections when fixing up MEM subregs.
      	(subst_reloads): When combining two subregs, make sure final
      	offset is congruent to subreg's mode size.
      	(find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
      	(refers_to_regno_for_reload_p): Use subreg_regno.
      	(reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
      	* reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
      	correction code for memory subreg fixups.
      	(forget_old_reload_1): Use subreg_regno_offset.
      	(choose_reload_regs): Use subreg_regno.
      	(emit_input_reload_insns): Use SUBREG_BYTE.
      	(reload_combine_note_store): Use subreg_regno_offset.
      	(move2add_note_store): Use subreg_regno_offset.
      	* resource.c (update_live_status, mark_referenced_resources): Use
      	subreg_regno function.
      	(mark_set_resources): Use subreg_regno function.
      	* rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
      	(subreg_regno_offset, subreg_regno): Define prototypes.
      	(subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
      	(gen_lowpart_SUBREG): Add prototype.
      	* rtl.texi (subreg): Update to reflect new byte offset representation.
      	Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
      	* rtlanal.c (refers_to_regno_p): Use subreg_regno.
      	(reg_overlap_mentioned_p): Use subreg_regno.
      	(replace_regs); Make sure final offset of combined subreg is
      	congruent to size of subreg's mode.
      	(subreg_regno_offset): New function.
      	(subreg_regno): New function.
      	* sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
      	* sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
      	* stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
      	* tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
      	(SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
      	* config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
      	(a29k_get_reloaded_address): Use SUBREG_BYTE.
      	(print_operand): Use SUBREG_BYTE.
      	* config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
      	* config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
      	(arm_reload_out_hi): Use SUBREG_BYTE.
      	* config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
      	instead of SUBREG_WORD.
      	(d30v_print_operand_memory_reference): Use subreg_regno_offset.
      	* config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
      	SUBREG creation to use byte offset.
      	* config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
      	inverted load insns): Fix explicit rtl subregs to use byte
      	offsets.
      	* config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
      	udivsi3, umodsi3): Generate SUBREGs with byte offsets.
      	* config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
      	* config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
      	to use byte offsets.
      	(unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
      	* config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
      	offsets, also make sure it is congruent to SUBREG's mode size.
      	(extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
      	unnamed ldob insn): Generate SUBREGs with byte offset.
      	(zero_extendqihi2): SUBREG's are byte offsets.
      	* config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
      	(m68hc11_gen_highpart): Use SUBREG_BYTE.
      	* config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
      	zero-extendqisi2): Generate SUBREGs with byte offset.
      	(umulsidi3, mulsidi3, subreghi1ashrdi_const32,
      	subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
      	subregs in rtl to use byte offsets.
      	* config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
      	* config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
      	(mips_move_2words): Use subreg_regno_offset.
      	(mips_secondary_reload_class): Use subreg_regno_offset.
      	* config/mips/mips.md (DImode plus, minus, move, and logical op
      	splits): Fixup explicit subregs in rtl to use byte offsets.
      	* config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
      	* config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
      	* config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
      	rtl to use byte offsets.
      	* config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
      	* config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
      	subregs to use byte offsets.
      	* config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
      	Fixup explicit subregs in rtl to use byte offsets.
      	* config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
      	and remove byte endian correction code.
      	* config/sh/sh.c (output_movedouble): Use subreg_regno.
      	(gen_ashift_hi): Use SUBREG_BYTE.
      	(regs_used): Use subreg_regno_offset.
      	(machine_dependent_reorg): Use subreg_regno_offset.
      	* config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
      	* config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
      	(movdf_i4): Subregs are byte offsets now.
      	* config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
      	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
      	(REGMODE_NATURAL_SIZE): Override.
      	(REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
      	* config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
      	with byte offsets.
      	(zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
      	extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
      	extendqidi2): Generate SUBREGs with byte offsets, also make sure
      	it is congruent to SUBREG's mode size.
      	(smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
      	offsets.
      	(cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
      	cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
      	lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
      	SUBREG_BYTE offset for non-paradoxical subregs in patterns.
      	* config/v850/v850.c (print_operand, output_move_double): Use
      	subreg_regno function.
      
      Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
      Co-Authored-By: David S. Miller <davem@pierdol.cobaltmicro.com>
      
      From-SVN: r41058
      Jakub Jelinek committed
  29. 28 Mar, 2001 2 commits
  30. 22 Mar, 2001 1 commit
    • mkconfig.sh: Include insn-flags.h. · 5e7f4a4a
      	* mkconfig.sh: Include insn-flags.h.
      	* Makefile.in (CONFIG_H): Include insn-flags.h.
      	(lots of objects): Remove insn-codes.h and insn-flags.h.
      
      	* alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
      	integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
      	regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
      	avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
      	dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
      	i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
      	m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
      	mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
      	pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
      	v850/v850.c, vax/vax.c:
      	Don't include insn-flags.h.
      
      	* diagnostic.c, expr.h, reload.c, toplev.c:
      	Don't include insn-codes.h.
      
      	* builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
      	final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
      	c4x/c4x.c, i960/i960.c, mips/mips.c:
      	Don't include insn-codes.h or insn-flags.h.
      
      	* genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
      	or insn-flags.h in the generated code.
      	* genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
      	(main): Forward declare struct rtx_def.
      
      From-SVN: r40754
      Richard Henderson committed
  31. 18 Mar, 2001 1 commit
  32. 15 Mar, 2001 1 commit
    • varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME... · 19e7881c
      	* varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
      	contents of the RTL, to determine the name of the object.
      
      	* tree.h (DECL_RTL): Allocate RTL lazily.
      	(SET_DECL_RTL): New macro.
      	(DECL_RTL_SET_P): Likewise.
      	(COPY_DECL_RTL): Likewise.
      	(DECL_RTL_IF_SET): Likewise.
      	* varasm.c (make_decl_rtl): Add assertions about the kind of
      	declaration we are processing.
      	* c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
      	(start_decl): Likewise.
      	(finish_decl): Likewise.
      	* c-semantics.c (emit_local_var): Likewise.
      	* calls.c (expand_call): Likewise.
      	* dbxout.c (dbxout_symbol): Likewise.
      	* emit-rtl.c (unshare_all_rtl): Likewise.
      	(unshare_all_decls): Likewise.
      	(reset_used_decls): Likewise.
      	* expr.c (store_constructor): Likewise.
      	(safe_from_p): Likewise.
      	(expand_expr): Likewise.
      	* function.c (put_var_into_stack): Likewise.
      	(instantiate_decls_1): Likewise.
      	(assign_parms): Likewise.
      	(expand_function_start): Likewise.
      	(expand_function_end): Likewise.
      	* ggc-common.c (gcc_mark_trees): Likewise.
      	* integrate.c (function_cannot_inline_p): Likewise.
      	(copy_decl_for_inlining): Likewise.
      	(expand_inline_function): Likewise.
      	(integrate_parm_decls): Likewise.
      	(integrate_decl_tree): Likewise.
      	* print-tree.c (print_node): Likewise.
      	* reg-stack.c (stack_result): Likewise.
      	* stmt.c (label_rtx): Likewise.
      	(expand_return): Likewise.
      	(expand_decl): Likewise.
      	(expand_decl_cleanup): Likewise.
      	(expand_anon_union_decl): Likewise.
      	* toplev.c (check_global_declarations): Likewise.
      	(rest_of_decl_compilation): Likewise.
      	* tree.c (simple_cst_equal): Likewise.
      	* objc/objc-act.c (generate_static_references): Likewise.
      
      	* class.c (build_clone): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
      	* cp-tree.h (DECL_IN_MEMORY_P): Likewise.
      	* decl.c (duplicate_decls): Likewise.
      	(builtin_function): Likewise.
      	(build_library_fn): Likewise.
      	(build_cp_library_fn): Likewise.
      	(check_initializer): Likewise.
      	(cp_finish_decl): Likewise.
      	* decl2.c (grokfield): Likewise.
      	(grok_function_init): Remove #if 0'd code.
      	(finish_anon_union): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
      	* friend.c (do_friend): Likewise.
      	* init.c (get_temp_regvar): Likewise.
      	* method.c (make_thunk): Likewise.
      	* pt.c (tsubst_friend_function): Likewise.
      	(tsubst_decl): Likewise.
      	(regenerate_decl_from_template): Likewise.
      	* semantics.c (genrtl_named_return_value): Likewise.
      	(expand_body): Likewise.
      	(genrtl_finish_function): Likewise.
      	* tree.c (cp_tree_equal): Likewise.
      
      	* com.c (ffecom_member_phase_2): Use COPY_DECL_RTL,
      	DECL_RTL_SET_P, etc.
      	(duplicate_decls): Likewise.
      	(start_decl): Likewise.
      
      	* class.c (build_static_field_ref): Likewise.
      	(make_method_value): Likewise.
      	(get_dispatch_table): Likewise.
      
      	* decl.c (push_jvm_slot): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
      
      From-SVN: r40482
      Mark Mitchell committed
  33. 24 Jan, 2001 1 commit
  34. 12 Jan, 2001 1 commit
    • calls.c (emit_library_call_value_1): Add USEs and CLOBBERs to function usage for… · f474c6f8
      calls.c (emit_library_call_value_1): Add USEs and CLOBBERs to function usage for arguments passed by reference.
      
      * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
      to function usage for arguments passed by reference.  Optimize
      callee-copied arguments.
      * regmove.c (find_related_toplev): Find uses in function usage.
      (replace_in_call_usage): New function.
      (fixup_match_1): Call it.
      * cse.c (cse_insn): Canonicalize registers in function usage.
      * reload1.c (replace_pseudos_in_call_usage): New function.
      (reload): Call it.
      
      From-SVN: r38964
      Alexandre Oliva committed