1. 16 Jun, 2003 1 commit
    • decl.c, [...]: Don't use the PTR macro. · fad205ff
      cp:
      	* cp/decl.c, cp/pt.c, cp/search.c, cp/tree.c: Don't use the PTR
      	macro.
      
      gcc:
      	* bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
      	config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
      	dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
      	function.c, gcc.c, genoutput.c, gensupport.c, global.c,
      	haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
      	loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
      	read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
      	stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
      	the PTR macro.
      
      From-SVN: r68043
      Kaveh R. Ghazi committed
  2. 15 Jun, 2003 1 commit
    • alloc-pool.c: Convert to ISO C90 prototypes. · 4682ae04
      	* alloc-pool.c: Convert to ISO C90 prototypes.
      	* alloc-pool.h: Likewise.
      	* alias.c: Likewise.
      	* attribs.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bitmap.h: Likewise.
      	* bitmap.c: Likewise.
      	* builtins.c: Likewise.
      
      	* tree.h: Convert prototypes of attribs.c to ISO C90.
      	* basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
      	* rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
      	* expr.h: Convert prototypes of builtins.c to ISO C90.
      
      From-SVN: r67975
      Andreas Jaeger committed
  3. 09 Jun, 2003 1 commit
    • expr.h (EXPAND_MEMORY): New. · 017e1b43
              * expr.h (EXPAND_MEMORY): New.
              * expr.c (expand_expr): Check it.
              * stmt.c (expand_asm_operands): Provide it when the constraint
              requires a memory.  Warn for memory input constraints without
              a memory operand.
      
              * gcc.dg/20011029-2.c: Fix the array reference.
              * gcc.dg/asm-7.c: New.
      
      From-SVN: r67645
      Richard Henderson committed
  4. 03 Jun, 2003 2 commits
    • function.c (assign_parms): Split complex arguments. · ded9bf77
      2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
      
              * function.c (assign_parms): Split complex arguments.
      
              * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
      
              * expr.h (SPLIT_COMPLEX_ARGS): Define.
              (split_complex_types): Protoize.
              (split_complex_values): Protoize.
      
              * calls.c (expand_call): Split complex arguments on architectures
              that require it.
              (split_complex_values): New.
              (split_complex_types): New.
      
              * config/rs6000/rs6000.c (rs6000_libcall_value): New.
              (rs6000_function_value): Handle complex values on AIX.
              (rs6000_complex_function_value): New.
      
              * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
      
              * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
              (SPLIT_COMPLEX_ARGS): New.
      
      From-SVN: r67367
      Aldy Hernandez committed
    • builtins.c (expand_builtin_memcpy): Remove endp argument and endp != 0 handling. · 8fd3cf4e
      	* builtins.c (expand_builtin_memcpy): Remove endp argument and endp
      	!= 0 handling.  Pass 0 to store_by_pieces.
      	(expand_builtin_mempcpy): Add endp argument.  Don't call
      	expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
      	directly.  If ignoring result, only do expand_call.
      	(expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
      	otherwise.
      	(expand_builtin_strncpy, expand_builtin_memset): Adjust
      	store_by_pices callers.
      	(expand_builtin): Adjust expand_builtin_memcpy and
      	expand_builtin_mempcpy callers.
      	* expr.c (can_move_by_pieces): New function.
      	(move_by_pieces): Add endp argument, return to resp. memory at end
      	or one byte earlier depending on endp.
      	(store_by_pieces): Likewise.
      	(emit_block_move): Adjust call to move_by_pieces.
      	(emit_push_insn): Adjust move_by_pieces caller.
      	* expr.h (can_move_by_pieces): New prototype.
      	(store_by_pieces): Adjust prototypes.
      	* rtl.h (move_by_pieces): Adjust prototype.
      	* config/mips/mips.c (expand_block_move): Adjust move_by_pieces
      	caller.
      
      	* gcc.c-torture/execute/builtins/string-4.c (main_test): Remove
      	mempcpy test with post-increments.
      	* gcc.c-torture/execute/string-opt-3.c: New test.
      	* gcc.dg/string-opt-1.c: New test.
      
      From-SVN: r67358
      Jakub Jelinek committed
  5. 12 May, 2003 1 commit
    • Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz> · 58e15542
      	* expr.h (assemble_static_space): Update prototype.
      	* output.h (assemble_zeros, output_constant): Likewise.
      	* elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
      	* alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
      	it 64bit clean.
      	* elf.h (ASM_OTUPUT_SKIP): Likewise.
      	* unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
      	* arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Expect HOST_WIDE_INT operand.
      	* aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Expect HOST_WIDE_INT operand.
      	* unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Expect HOST_WIDE_INT operand.
      	* avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
      	HOST_WIDE_INT operand.
      	* c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
      	ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
      	* aout.h (ASM_OTUPUT_SKIP): Likewise.
      	* cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
      	* darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
      	* dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
      	* frv.h (ASM_OTUPUT_SKIP): Likewise.
      	* h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
      	* 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
      	Make it 64bit
      	clean.
      	* att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
      	* bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
      	Make it 64bit clean.
      	* darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
      	* sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
      	HOST_WIDE_INT operand
      	* svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
      	Expect HOST_WIDE_INT operand
      	* sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
      	* i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
      	ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
      	* ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Likewise.
      	* m32r.h (ASM_OUTPUT_COMMON): Likewise.
      	* 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Likewise.
      	* amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
      	* crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
      	* hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
      	ASM_OUTPUT_SKIP): Likewise.
      	* m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
      	Likewise.
      	* m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
      	ASM_OUTPUT_SKIP): Likewise.
      	* m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
      	ASM_OUTPUT_SKIP): Likewise.
      	* mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
      	* netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
      	ASM_OUTPUT_SKIP): Likewise.
      	* sgs.h (ASM_OUTPUT_SKIP): Likewise.
      	* tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
      	ASM_OUTPUT_SKIP): Likewise.
      	* m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
      	Likewise.
      	* mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
      	* iris.h (ASM_OUTPUT_LOCAL): Likewise.
      	* mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
      	* ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
      	ASM_OUTPUT_SKIP): Make it 64bit clean.
      	* pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
      	Make it 64bit clean.
      	* pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
      	ASM_OUTPUT_SKIP): Make it 64bit clean.
      	* hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
      	64bit clean.
      	* romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
      	HOST_WIDE_INT argument
      	* s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
      	* sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
      	HOST_WIDE_INT argument
      	* sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
      	* sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
      	* svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
      	* vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
      	HOST_WIDE_INT argument
      	* vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
      	* xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
      	* varasm.c (asm_output_bss, asm_output_aligned_bss,
      	asm_emit_uninitialized, assemble_zeros, assemble_static_space):
      	HOST_WIDE_INT argument
      
      From-SVN: r66713
      Jan Hubicka committed
  6. 09 May, 2003 1 commit
    • expr.c (move_block_from_reg): Remove "size" parm. · c6b97fac
      	* expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
      	Move code handling pieces not larger than a word to..
      	* function.c (assign_parms): ..here, but use change_address instead
      	of adjust_address and operand_subword, and expand_binop instead of
      	expand_shift.  Adjust calls to move_block_from_reg.
      	* expr.h (move_block_from_reg): Update declaration.
      	(copy_blkmode_from_reg): Formatting.
      	* Makefile.in (function.o): Add $(OPTABS_H) to deps.
      	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
      	move_block_from_reg calls.
      	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
      	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
      	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
      	* config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
      	* config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
      	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
      	* config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
      
      From-SVN: r66623
      Alan Modra committed
  7. 07 May, 2003 1 commit
  8. 02 May, 2003 1 commit
    • calls.c (struct arg_data): Move offset, slot_offset, size and alignment_pad to… · e7949876
      calls.c (struct arg_data): Move offset, slot_offset, size and alignment_pad to struct locate_and_pad_arg_data.
      
      	* calls.c (struct arg_data): Move offset, slot_offset, size and
      	alignment_pad to struct locate_and_pad_arg_data.  Update all refs.
      	(initialize_argument_information): Adjust call to locate_and_pad_parm.
      	Delete alignment_pad var.  Don't calculate slot_offset here.
      	(emit_library_call_value_1): Delete alignment_pad, offset and size
      	vars.  Use struct locate_and_pad_arg_data instead.  Adjust refs.
      	Adjust call to locate_and_pad_parm.  Don't tweak arg size for
      	partial in-regs here.  Formatting fixes.
      	* expr.h (struct locate_and_pad_arg_data): New struct.
      	(locate_and_pad_parm): Adjust declaration.
      	* function.c (assign_parms): Localize vars.  Use "locate" instead of
      	other arg location vars.  Don't invoke FUNCTION_ARG or
      	FUNCTION_INCOMING_ARG unless pretend_named is different from
      	named_arg.  Heed MUST_PASS_IN_STACK and set up "partial" before
      	calling locate_and_pad_parm.  Adjust locate_and_pad_parm call.
      	Use slot_offset for stack home of reg parms.  Correct test for
      	parm passed in memory.  Formatting fixes.
      	(locate_and_pad_parm): Add "partial" to params.  Replace offset_ptr
      	arg_size_ptr and alignment pad with "locate".  Set slot_offset here.
      	Correct initial_offset_ptr handling.  Localize vars.  Always pad
      	locate->offset even when in_regs.
      
      From-SVN: r66383
      Alan Modra committed
  9. 28 Apr, 2003 1 commit
    • c-decl.c (finish_decl): When prototype with asmspec is found for built-in... · 9661b15f
      	* c-decl.c (finish_decl): When prototype with asmspec is found
      	for built-in, adjust built_in_decls as well as expr.c decls.
      	* expr.c (init_block_move_fn, init_block_clear_fn): New functions.
      	(emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
      	* expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
      
      	* gcc.c-torture/execute/string-opt-asm-1.c: New test.
      	* gcc.c-torture/execute/string-opt-asm-2.c: New test.
      
      From-SVN: r66181
      Jakub Jelinek committed
  10. 14 Apr, 2003 1 commit
  11. 13 Mar, 2003 1 commit
    • Makefile.in (dojump.o): New target. · 1cff8964
      2003-03-13  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
      
      	* Makefile.in (dojump.o): New target.
      
      	* dojump.c: New file.
      	(init_pending_stack_adjust): Moved here from expr.c.
      	(clear_pending_stack_adjust): Likewise.
      	(do_pending_stack_adjust): Likewise.
      	(jumpifnot): Likewise.
      	(jumpif): Likewise.
      	(do_jump): Likewise.
      	(do_jump_by_parts_greater): Likewise.
      	(do_jump_by_parts_greater_rtx): Likewise.
      	(do_jump_by_parts_equality): Likewise.
      	(do_jump_by_parts_equality_rtx): Likewise.
      	(compare_from_rtx): Likewise.
      	(do_compare_rtx_and_jump): Likewise.
      	(do_compare_and_jump): Likewise.
      
      	* expr.c (init_pending_stack_adjust): Removed to dojump.c.
      	(clear_pending_stack_adjust): Likewise.
      	(do_pending_stack_adjust): Likewise.
      	(jumpifnot): Likewise.
      	(jumpif): Likewise.
      	(do_jump): Likewise.
      	(do_jump_by_parts_greater): Likewise.
      	(do_jump_by_parts_greater_rtx): Likewise.
      	(do_jump_by_parts_equality): Likewise.
      	(do_jump_by_parts_equality_rtx): Likewise.
      	(compare_from_rtx): Likewise.
      	(do_compare_rtx_and_jump): Likewise.
      	(do_compare_and_jump): Likewise.
      	(placeholder_list): Made declaration extern.
      
      	* expr.h (placeholder_list): Declare.
      
      From-SVN: r64309
      Ansgar Esztermann committed
  12. 06 Mar, 2003 1 commit
  13. 23 Feb, 2003 1 commit
    • calls.c (store_one_arg): Revert 1999-02-16 change. · 8403445a
      	* calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
      	2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
      	* expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
      	(enum block_op_methods): Reorder for better store_expr optimization.
      	* expr.c (store_expr): Test bit 1 of "want_value" for call param
      	stores, test bit 0 for original want_value meaning.  Pass
      	BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
      	recursive calls, and calls to expand_param.
      	(expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
      	expected, set target to 0 rather than to subtarget.  Formatting.
      
      From-SVN: r63337
      Alan Modra committed
  14. 21 Jan, 2003 1 commit
  15. 20 Jan, 2003 1 commit
  16. 15 Jan, 2003 1 commit
  17. 08 Jan, 2003 1 commit
    • i386.md (adddi3_carry_rex64, [...]): Name pattern. · 7b52eede
      	* i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
      	(addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
      	(add??cc): New expanders.
      	* i386.c (expand_int_addcc): New function.
      	* i386-protos.h (expand_int_addcc): Declare.
      
      	* alias.c (memory_modified_1): New static function.
      	(memory_modified): New static varaible.
      	(memory_modified_in_insn_p): New global function.
      	* rtl.h (memory_modified_in_insn_p): Declare.
      	* rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
      	references.
      
      	* expr.h (emit_conditional_add): Declare.
      
      From-SVN: r61038
      Jan Hubicka committed
  18. 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
  19. 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
  20. 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
  21. 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
  22. 03 Aug, 2002 1 commit
  23. 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
  24. 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
  25. 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
  26. 04 Jun, 2002 1 commit
  27. 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
  28. 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
  29. 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
  30. 26 Mar, 2002 2 commits
  31. 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
  32. 20 Feb, 2002 1 commit
  33. 12 Dec, 2001 1 commit
  34. 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
  35. 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
  36. 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
  37. 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
  38. 13 Nov, 2001 1 commit