1. 08 Jun, 2005 2 commits
    • ebotcazou's avatar
      PR target/21889 · 40af64cc
      ebotcazou authored
      	* target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel.
      	* target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro.
      	(TARGET_ASM_OUT): Add it.
      	* doc/tm.texi (Debugging Info): Document it.
      	* dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>:
      	Test it instead of ASM_OUTPUT_DWARF_DTPREL.
      	(loc_descriptor_from_tree_1) <VAR_DECL>: Likewise.
      	* system.h: Poison ASM_OUTPUT_DWARF_DTPREL.
      	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete.
      	* config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused.
      	(gen_inlined_tls_plt): Remove unused variable MEM.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel.
      	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete.
      	* config/i386/i386.c (i386_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel.
      	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete.
      	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel.
      	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete.
      	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel
      	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete.
      	* config/s390/s390.c (s390_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel.
      	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      	* config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0.
      	(TARGET_GNU_TLS): Define to 1.
      	* config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete.
      	* config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and
      	unused.
      	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel
      	if TARGET_GNU_TLS only.
      	* config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
      
      	* config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last.
      	(sparc-*-solaris2*): Likewise on Solaris 7 and up.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100742 138bc75d-0d04-0410-961f-82ee72b054a4
      40af64cc
    • echristo's avatar
      2005-06-07 Eric Christopher <echristo@redhat.com> · fefe3807
      echristo authored
      	* system.h: Poison EXTRA_CC_MODES.
      	* config/frv/frv.h (SELECT_CC_MODE): Rewrite comment.
      	* config/ia64/ia64.h (SELECT_CC_MODE): Ditto.
      	* doc/md.texi (Jump Patterns): Replace reference to
      	EXTRA_CC_MODES with machine-modes.def.
      	* doc/rtl.texi (Machine Modes): Ditto.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100737 138bc75d-0d04-0410-961f-82ee72b054a4
      fefe3807
  2. 26 May, 2005 1 commit
    • rsandifo's avatar
      * opt-functions.awk (var_type): New function. · 0fe44c73
      rsandifo authored
      	(var_set): Use CLVC_STRING if var_type returns "const char *".
      	* opth-gen.awk: Use var_type to find out the types of variables.
      	Don't print comments above each "extern" definition.
      	* optc-gen.awk: Use var_type in the same way.
      	* opts.h (cl_var_cond): Rename to...
      	(cl_var_type): ...this.  Add CLVC_STRING.
      	(cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
      	with "var_type".
      	* opts.c (handle_option, option_enabled): Update after above name
      	change.  Cast flag_var before using it.  Handle CLVC_STRING.
      
      	* config/alpha/alpha.h (alpha_tls_size): Delete.
      	* config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
      	(alpha_tune_string, alpha_tp_string, alpha_fprm_string)
      	(alpha_fptm_string, alpha_mlat_string): Delete.
      	(alpha_handle_option): Don't set the above variables here.  Use the
      	integer argument to check the validity of -mtls-size=.
      	* config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
      	(mfp-trap-mode=, mtrap-precision=, mmemor...
      0fe44c73
  3. 11 May, 2005 1 commit
    • rth's avatar
      PR target/21412 · 3ec3c84f
      rth authored
              * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
              (ia64_cannot_force_const_mem): New.
              (tls_symbolic_operand_type): New.
              (ia64_legitimate_constant_p): New.
              (ia64_expand_load_address): Return true on success.  Improve
              checks for when we should not split.
              (ia64_expand_tls_address): New addend operand.  Distribute it
              as appropriate to the tls_kind.  Delay referencing gp.
              (ia64_expand_move): Split symbolic addend as necessary.  Handle
              tls symbols with addends.
              * config/ia64/ia64-protos.h: Update.
              * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
              p0, f0, f1, and r13.
              (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
              * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
              (symbolic_operand splitter): Pass everything through
              ia64_expand_load_address and FAIL or DONE as appropriate.
              (load_fptr): Only accept after reload.
            ...
      3ec3c84f
  4. 27 Apr, 2005 2 commits
    • bonzini's avatar
      gcc: · a0d5cf71
      bonzini authored
      2004-04-27  Paolo Bonzini  <bonzini@gnu.org>
      
      	* tree-complex.c (expand_vector_operation): New, extracted from
      	expand_vector_operations_1.
      	(tree_vec_extract): Build a NOP_EXPR.
      	(expand_vec_parallel): Do not care about returning the correct type.
      	(expand_vector_operations_1): Call expand_vector_operation.
      	Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
      
      	* tree-complex.c (gate_expand_vector_operations): New.
      	(pass_lower_vector_ssa): Use it.
      	* tree-optimize.c (init_tree_optimization_passes): Include
      	pass_lower_vector_ssa.
      	* tree-vect-transform.c (vect_min_worthwhile_factor): New.
      	(vectorizable_operation): Use it.
      	* tree-vectorizer.c (get_vectype_for_scalar_type): Accept
      	integer modes for the vector type.
      
      	* defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
      	* tree-vect-analyze.c (vect_enhance_data_refs_alignment):
      	Do not cope with UNITS_PER_SIMD_WORD == 0.
      	* tree-vectorizer.c (get_vectype_for_scalar_type): Check
      	if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
      	(vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
      	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
      	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
      
      	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
      	* config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
      	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
      
      	* doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
      	(UNITS_PER_SIMD_WORD): New.
      
      gcc/testsuite:
      2004-04-27  Paolo Bonzini  <bonzini@gnu.org>
      
              * gcc.dg/tree-ssa/gen-vect-11.c, gcc.dg/tree-ssa/gen-vect-11a.c,
              gcc.dg/tree-ssa/gen-vect-11b.c, gcc.dg/tree-ssa/gen-vect-11c.c,
              gcc.dg/tree-ssa/gen-vect-2.c, gcc.dg/tree-ssa/gen-vect-25.c,
              gcc.dg/tree-ssa/gen-vect-26.c, gcc.dg/tree-ssa/gen-vect-28.c,
              gcc.dg/tree-ssa/gen-vect-32.c: New.
              * gcc.dg/vect/vect-82.c, gcc.dg/vect/vect-83.c: Fix dg-final.
              * gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83_64.c: Remove xfail,
              don't run on PPC32.
      
      CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
      CVS:
      CVS: Committing in .
      CVS:
      CVS: Modified Files:
      CVS: 	tree-complex.c tree-optimize.c tree-vect-analyze.c defaults.h
      CVS: 	tree-vect-transform.c tree-vectorizer.c ChangeLog
      CVS: 	testsuite/ChangeLog config/alpha/alpha.h config/bfin/bfin.h
      CVS: 	config/i386/i386.h config/ia64/ia64.h config/mips/mips.h
      CVS: 	config/rs6000/rs6000.h
      CVS: 	config/sparc/sparc.h doc/tm.texi
      CVS: 	testsuite/gcc.dg/vect/vect-82.c
      CVS: 	testsuite/gcc.dg/vect/vect-82_64.c
      CVS: 	testsuite/gcc.dg/vect/vect-83.c
      CVS: 	testsuite/gcc.dg/vect/vect-83_64.c
      CVS: Added Files:
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-11.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-11a.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-11b.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-11c.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-2.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-25.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-26.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-28.c
      CVS: 	testsuite/gcc.dg/tree-ssa/gen-vect-32.c
      CVS: ----------------------------------------------------------------------
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98818 138bc75d-0d04-0410-961f-82ee72b054a4
      a0d5cf71
    • nathan's avatar
      * config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and · c5c17bca
      nathan authored
      	gcc_unreachable as appropriate.
      	(ia64_expand_load_address, ia64_expand_tls_address,
      	ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
      	ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
      	next_scratch_gr_reg, ia64_initial_elimination_offset,
      	ia64_expand_prologue, ia64_expand_epilogue,
      	ia64_output_dwarf_dtprel, ia64_print_operand,
      	ia64_register_move_cost, first_instruction, rws_access_regno,
      	update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
      	ia64_sched_init, ia64_variable_issue,
      	ia64_first_cycle_multipass_dfs_lookahead_guard,
      	ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
      	ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
      	process_for_unwind_directive, ia64_hpux_file_end): Likewise.
      	* config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
      	* config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
      	* config/ia64/predicates.md (got_symbolic_operand,
      	sdata_symbolic_operand): Likewise.
      	* config/ia64/vect.md (vcondv2sf): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98817 138bc75d-0d04-0410-961f-82ee72b054a4
      c5c17bca
  5. 14 Apr, 2005 1 commit
    • rth's avatar
      * config/ia64/ia64.h (enum fetchop_code): Remove. · 7c1e874f
      rth authored
              (enum ia64_builtins): Move ...
              * config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
              members except BSP and FLUSHRS.
              (ia64_init_builtins): Remove __sync builtins.
              (ia64_expand_builtin): Likewise.
              (ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
              (ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
              (ia64_expand_lock_release): Remove.
              * config/ia64/ia64.md (mf): Move to sync.md.
              (mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
              cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
              * config/ia64/sync.md: New file.
              (memory_barrier): Rename from mf.
              (fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
              (cmpxchg_acq_<I48MODE>): Likewise.
              (sync_lock_test_and_set<I48MODE>): Likewise.
      
              * config/ia64/ia64intrin.h: Define nothing for C; limit #defines
              to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98156 138bc75d-0d04-0410-961f-82ee72b054a4
      7c1e874f
  6. 17 Mar, 2005 1 commit
    • rth's avatar
      * config.gcc (ia64*-*-hpux*): Add extra_options. · b1c7573c
      rth authored
              * config/ia64/hpux.h (SUBTARGET_SWITCHES): Remove.
              (TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
              * config/ia64/ia64.c (ia64_fixed_range_string): Remove.
              (ia64_tls_size_string, ia64_tune_string): Remove.
              (ia64_tune): Init to PROCESSOR_ITANIUM2.
              (TARGET_DEFAULT_TARGET_FLAGS): New.
              (TARGET_HANDLE_OPTION): New.
              (ia64_override_options): Move options parsing ...
              (ia64_handle_option): ... here.  New.
              * config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
              MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
              MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
              MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
              MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
              MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
              MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
              TARGE...
      b1c7573c
  7. 19 Feb, 2005 1 commit
    • wilson's avatar
      Remove obsolete IA-64 -mb-step option. · fbf428be
      wilson authored
      * doc/invoke.texi (IA-64 Options): Delete -mb-step.
      * config/ia64/ia64.c (last_group, group_idx): Delete variables.
      (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
      functions.
      (ia64_reorg): Delete fixup_errata call.
      * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
      (TARGET_SWITCHES): Delete -mb-step entry.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95257 138bc75d-0d04-0410-961f-82ee72b054a4
      fbf428be
  8. 18 Feb, 2005 1 commit
    • jsm28's avatar
      PR target/19886 · 16f1c81b
      jsm28 authored
      	* config/ia64/ia64.h (struct machine_function): Add state_num.
      	* config/ia64/ia64.c (process_epilogue,
      	process_for_unwind_directive): Use new unwind state numbers each
      	time rather than state 1.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95234 138bc75d-0d04-0410-961f-82ee72b054a4
      16f1c81b
  9. 18 Jan, 2005 1 commit
    • kazu's avatar
      * config/darwin.c, config/darwin.h, config/freebsd-spec.h, · 2be1b07e
      kazu authored
      	config/alpha/alpha.c, config/arm/vfp.md,
      	config/i386/emmintrin.h, config/i386/i386-modes.def,
      	config/i386/i386-protos.h, config/i386/i386.h,
      	config/i386/pmmintrin.h, config/i386/ppro.md,
      	config/i386/predicates.md, config/i386/xmmintrin.h,
      	config/i860/i860.c, config/ia64/ia64-modes.def,
      	config/ia64/ia64-protos.h, config/ia64/ia64.h,
      	config/ia64/ia64.md, config/ia64/itanium1.md,
      	config/ia64/itanium2.md, config/ia64/predicates.md,
      	config/iq2000/iq2000.h, config/mips/linux64.h,
      	config/rs6000/aix41.h, config/rs6000/aix43.h,
      	config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
      	config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
      	config/sparc/linux64.h, config/sparc/litecoff.h,
      	config/sparc/sp64-elf.h, config/sparc/sparc.c,
      	config/sparc/sparc.h, config/sparc/sparc.md,
      	config/sparc/sysv4-only.h: Update copyright.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93829 138bc75d-0d...
      2be1b07e
  10. 03 Jan, 2005 1 commit
    • rth's avatar
      * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New. · a5c5f9d3
      rth authored
              (ia64_const_ok_for_letter_p): New.
              (ia64_const_double_ok_for_letter_p): New.
              (ia64_extra_constraint): New.
              (ia64_expand_vecint_compare): New.
              (ia64_expand_vcondu_v2si): New.
              (ia64_expand_vecint_cmov): New.
              (ia64_expand_vecint_minmax): New.
              (ia64_print_operand): Add 'v'.
              (ia64_preferred_reload_class): New.
              (ia64_vector_mode_supported_p): New.
              * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
              (PREFERRED_RELOAD_CLASS): Move to function.
              (CONST_OK_FOR_LETTER_P): Move to function.
              (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
              (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
              (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
              (EXTRA_CONSTRAINT): Move to function.
              * config/ia64/ia64.md: Include vect.md.
              (itanium_class): Add mmalua.
              (type): Handle it.
              * config/ia64/itanium1.md (1_mmalua): New.  Add it to bypasses.
              (1b_mmalua): New.
              * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
              * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
              CONST0_RTX.
              (const_int_2bit_operand): New.
              (fr_reg_or_0_operand): New.
              * config/ia64/ia64-modes.def: Add vector modes.
              * config/ia64/ia64-protos.h: Update.
              * config/ia64/vect.md: New file.
      
              * gcc.dg/vect/vect.exp: Enable for ia64.
              * lib/target-supports.exp (check_effective_target_vect_int): Likewise.
              (check_effective_target_vect_float): Likewise.
              (check_effective_target_vect_no_align): Likewise.
              * gcc.dg/vect/vect-30.c: XFAIL for vect_no_align.
              * gcc.dg/vect/vect-8.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92862 138bc75d-0d04-0410-961f-82ee72b054a4
      a5c5f9d3
  11. 30 Dec, 2004 1 commit
    • rth's avatar
      * target.h (targetm.calls.arg_partial_bytes): New. · f054eb3c
      rth authored
      	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
      	* calls.c (store_unaligned_arguments_into_pseudos): Update for
      	partial in bytes.
      	(load_register_parameters): Likewise.
      	(store_one_arg): Likewise.
      	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
      	(emit_library_call_value_1): Likewise.
      	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
      	(emit_push_insn): Update for partial in bytes.
      	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* function.c (assign_parm_find_entry_rtl): Use
      	targetm.calls.arg_partial_bytes.  Update for result in bytes.
      	(locate_and_pad_parm): Update for partial in bytes.
      	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
      	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
      	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
      	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
      	FUNCTION_ARG_PARTIAL_NREGS.
      
      	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386....
      f054eb3c
  12. 11 Nov, 2004 1 commit
  13. 06 Oct, 2004 1 commit
  14. 12 Aug, 2004 1 commit
    • zack's avatar
      * genpreds.c: Add capability to generate predicate bodies as · cbf464bd
      zack authored
      	well as function prototypes.  Write function prototypes for
      	the generic predicates too.
      	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
      	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
      	(write_match_code, write_predicate_expr, write_one_predicate_function)
      	(parse_option): New functions.
      	(output_predicate_decls): Delete.
      	(main): Read the machine description, process DEFINE_PREDICATE or
      	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
      	as appropriate.
      
      	* genrecog.c (struct decision_test): Replace index with
      	struct pred_data pointer.
      	(next_index): Remove, unused.
      	(pred_table, preds, special_mode_pred_table): Delete.
      	(compute_predicate_codes, process_define_predicate): New functions.
      	(validate_pattern, add_to_sequence, write_switch): Update for
      	new data structures.
      	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
      	Check both error_count and have_error.
      
      	* gensupport.c (in_fname, first_predicate): New globals.
      	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
      	(predicate_table, last_predicate, old_pred_table)
      	(old_special_pred_table): New statics.
      	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
      	(add_predicate, init_predicate_table): New functions.
      	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
      	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
      	it or max_include_len.  Call init_predicate_table.
      	(read_rtx): Run the predicate queue after the attribute queue
      	but before all the others.
      	* gensupport.h (in_fname, struct pred_data, first_predicate)
      	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
      	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
      	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
      	* dummy-conditions.c: Don't include bconfig.h, system.h,
      	coretypes.h, tm.h, or system.h.  Do include stddef.h.
      	Duplicate declaration of struct c_test from gensupport.h.
      
      	* Makefile.in (OBJS-common): Add insn-preds.o.
      	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
      	(insn-preds.c, insn-preds.o): New rules.
      	(s-preds): Also generate insn-preds.c.
      	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
      	Update dependencies.
      	(print-rtl.o, print-rtl1.o): Correct dependencies.
      
      	* recog.h: Delete prototypes of predicate functions.
      
      	* doc/md.texi (Predicates): New section with complete
      	documentation of operand/operator predicates.  Remove some
      	incomplete documentation of predicates from other places.
      	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
      	PREDICATE_CODES; indicate that both are deprecated in favor
      	of define_predicate/define_special_predicate.
      
      	* config/ia64/ia64.c: All predicate function definitions moved
      	to ia64.md, except
      	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
      	(ia64_expand_load_address, ia64_expand_move):
      	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
      
      	* config/ia64/ia64.md: All predicates now defined here.
      	(symbolic_operand): Is now a special predicate.
      
      	* config/ia64/ia64.h: Declare ia64_section_threshold.
      	(PREDICATE_CODES): Delete.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85855 138bc75d-0d04-0410-961f-82ee72b054a4
      cbf464bd
  15. 29 Jul, 2004 1 commit
  16. 27 Jul, 2004 1 commit
    • zack's avatar
      * libgcc2.c: Change all conditionals testing · 77d98cfe
      zack authored
      	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
      	* libgcc2.h: Likewise.
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
      	TYPE_PRECISION of float80_type to 80.
      	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
      	of fpreg_type and float80_type to 80.
      	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
      	* config/m68k/netbsd-elf.h:
      	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
      	to evaluate to 80 whenever they would formerly have evaluated to 96.
      	* config/i386/sco5.h: Remove unnecessary redefinition of
      	LONG_DOUBLE_TYPE_SIZE.
      	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
      	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
      	XFmode, with a bitsize of 80.  Update commentary.
      	* config/ia64/ia64-modes.def: Likewise.
      	* config/m68k/m68k-modes.def: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85232 138bc75d-0d04-0410-961f-82ee72b054a4
      77d98cfe
  17. 25 Jul, 2004 1 commit
    • zack's avatar
      2004-07-24 Zack Weinberg <zack@codesourcery.com> · cc14bb75
      zack authored
      	* config/ia64/ia64.c (general_xfmode_operand)
      	(destination_xfmode_operand): Delete.
      	* config/ia64/ia64.h (PREDICATE_CODES): Remove them.
      	* config/ia64/ia64.md (*movxf_internal): Use general_operand
      	and destination_operand.
      
      2004-07-24  Alexander Kabaev  <kan@freebsd.org>
      
      	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
      	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85141 138bc75d-0d04-0410-961f-82ee72b054a4
      cc14bb75
  18. 16 Jul, 2004 1 commit
    • rth's avatar
      * builtins.c (std_expand_builtin_va_arg): Remove. · 2799a2b7
      rth authored
              (expand_builtin_va_arg): Remove.
              * expr.h: Don't declare them.
              * gimplify.c (mark_decls_volatile_r): Remove.
              (copy_if_shared_r): Don't call it.
              * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
              * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
              * gimple-low.c (lower_stmt): Likewise.
              * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
              * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
              * tree-ssa-operands.c (get_expr_operands): Likewise.
              * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
              EXPAND_BUILTIN_VA_ARG.
              * system.h (EXPAND_BUILTIN_VA_ARG): Poison.
              * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
              config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
              config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84842 138bc75d-0d04-0410-961f-82ee72b054a4
      2799a2b7
  19. 15 Jul, 2004 1 commit
    • pbrook's avatar
      * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO · 8ec87476
      pbrook authored
      	to TARGET_UNWIND_INFO.
      	* except.c (output_function_exception_table): Ditto.
      	* except.h: Ditto.
      	* opts.c (decode_options): Ditto.
      	* passes.c (rest_of_handle_final): Ditto.
      	* final.c (final_start_function): Ditto.
      	(final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
      	target hook.
      	* targhooks.h (default_unwind_emit): Declare.
      	* targhooks.c (default_unwind_emit): New function.
      	* target-def.h: Define and use TARGET_UNWIND_EMIT.
      	* target.h (struct gcc_target): Add unwind_emit.
      	* config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
      	* config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
      	Remove IA64_UNWIND_EMIT.
      	* doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84734 138bc75d-0d04-0410-961f-82ee72b054a4
      8ec87476
  20. 14 Jul, 2004 1 commit
    • rth's avatar
      * target.h (struct gcc_target): Add calls.pass_by_reference. · b981d932
      rth authored
      	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
      	* function.c (pass_by_reference): Use the hook.
      	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
      	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
      	(hook_pass_by_reference_must_pass_in_stack): New.
      	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
      	(alpha_pass_by_reference): New.
      	(TARGET_PASS_BY_REFERENCE): New.
      	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/arc/arc.c (arc_pass_by_reference): New.
      	(TARGET_PASS_BY_REFERENCE): New.
      	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): True.
      	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
      	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
      	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
      	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/cris/cris.c (cris_pass_by_reference): New.
      	(TARGET_PASS_BY_REFERENCE): New.
      	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
      	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
      	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
      	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
      	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
      	(frv_function_arg_pass_by_reference): Remove.
      	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
      	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
      	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
      	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
      	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
      	(ia64_pass_by_reference): Rename from
      	ia64_function_arg_pass_by_reference.
      	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
      	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
      	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
      	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
      	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
      	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
      	(m32r_pass_by_reference): Adjust prototype.  Make static.
      	Handle mode sizes correctly.
      	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
      	(m68hc11_function_arg_pass_by_reference): Remove.
      	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
      	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
      	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
      	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
      	(mips_va_arg): Use pass_by_reference.
      	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
      	Handle mode sizes correctly.
      	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
              (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
      	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
      	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
      	(mmix_pass_by_reference): Rename from
      	mmix_function_arg_pass_by_reference.
      	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): True.
      	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
      	(mn10300_pass_by_reference): New.
      	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): True.
      	* config/pa/pa.c (pa_pass_by_reference): New.
      	(TARGET_PASS_BY_REFERENCE): New.
      	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
              (FUNCTION_ARG_CALLEE_COPIES): True.
      	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
      	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
      	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
      	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
      	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
      	(s390_pass_by_reference): Rename from
      	s390_function_arg_pass_by_reference.
      	(s390_function_arg_advance): Don't query pass-by-ref.
      	(s390_function_arg): Likewise.
      	(s390_gimplify_va_arg): Use pass_by_reference.
      	(s390_call_saved_register_used): Likewise.
      	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
      	(shcompact_byref, sh_pass_by_reference): New.
      	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(SHCOMPACT_BYREF): Remove.
      	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
      	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
      	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
      	(sparc_gimplify_va_arg): Use pass_by_reference.
      	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
      	(v850_pass_by_reference): New.
      	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
      	(FUNCTION_ARG_CALLEE_COPIES): True.
      	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
      	FUNCTION_ARG_PASS_BY_REFERENCE docs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84672 138bc75d-0d04-0410-961f-82ee72b054a4
      b981d932
  21. 13 Jul, 2004 1 commit
    • rth's avatar
      * target-def.h (TARGET_MUST_PASS_IN_STACK): New. · 0336f0f0
      rth authored
      	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
      	* expr.h (MUST_PASS_IN_STACK): Remove.
      	* system.h (MUST_PASS_IN_STACK): Poison.
      	* tree.h (must_pass_in_stack_var_size): Declare.
      	(must_pass_in_stack_var_size_or_pad): Declare.
      	* calls.c (must_pass_in_stack_var_size): New.
      	(must_pass_in_stack_var_size_or_pad): Rename from
      	default_must_pass_in_stack.
      	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
      	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
      	* config/frv/frv.c (frv_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
      	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
      	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
      	(ix86_must_pass_in_stack): Make static.
      	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
      	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
      	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
      	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
      	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
      	(mcore_must_pass_on_stack): Remove.
      	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
      	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
      	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
      	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
      	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
      	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
      	MUST_PASS_IN_STACK.
      
      	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
      	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
      	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
      	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
      	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
      	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
      	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
      	config/xtensa/xtensa.c: Use target hook.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84606 138bc75d-0d04-0410-961f-82ee72b054a4
      0336f0f0
  22. 05 Jul, 2004 1 commit
    • jsm28's avatar
      * c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check · f896c932
      jsm28 authored
      	TARGET_MEM_FUNCTIONS.
      	* system.h: Poison TARGET_MEM_FUNCTIONS.
      	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
      	bcmp_libfunc, bzero_libfunc): Remove.
      	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
      	bzero_libfunc.
      	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
      	* doc/standards.texi: Don't mention calling BSD string functions.
      	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
      	* config/vax/t-memfuncs: New.
      	* config/memcmp.c, config/memcpy.c, config/memmove.c,
      	config/memset.c: New.
      	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
      	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
      	vax/t-memfuncs.
      	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
      	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
      	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
      	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
      	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
      	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
      	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
      	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
      	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
      	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84130 138bc75d-0d04-0410-961f-82ee72b054a4
      f896c932
  23. 11 Jun, 2004 1 commit
    • jason's avatar
      * config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort. · 3864ad30
      jason authored
              * config/i386/i386.c (ix86_va_arg): Remove.
              * config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
              * config/rs6000/rs6000.c (rs6000_va_arg): Remove.
              * config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
              * config/alpha/alpha.c (alpha_va_arg): Remove.
              * config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
              * config/sparc/sparc.c (sparc_va_arg): Remove.
      
              * tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
              assignment might throw.
              * tree-eh.c (tree_could_throw_p): Support non-call exceptions in
              expressions.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82992 138bc75d-0d04-0410-961f-82ee72b054a4
      3864ad30
  24. 25 May, 2004 1 commit
  25. 13 May, 2004 1 commit
  26. 11 Mar, 2004 1 commit
  27. 07 Mar, 2004 1 commit
    • kazu's avatar
      * defaults.h (LEGITIMIZE_ADDRESS): Provide a default · 16fd8669
      kazu authored
      	definition.
      	* config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
      	config/h8300/h8300.h, config/ia64/ia64.h,
      	config/mcore/mcore.h, config/mmix/mmix.h,
      	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
      	config/stormy16/stormy16.h, config/v850/v850.h,
      	config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
      	* doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
      	definition.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79066 138bc75d-0d04-0410-961f-82ee72b054a4
      16fd8669
  28. 03 Mar, 2004 1 commit
    • bonzini's avatar
      2004-02-07 Paolo Bonzini <bonzini@gnu.org> · 6720e96c
      bonzini authored
      	* alias.c (rtx_equal_for_memref_p): Use predicates
      	to test rtx classes and new rtx class codes, possibly
      	splitting conditionals that tested against '<' and 'o'.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* combine.c (contains_muldiv, find_split_point, subst,
      	combine_simplify_rtx, simplify_if_then_else,
      	simplify_set, simplify_logical, expand_compound_operation,
      	make_compound_operation, if_then_else_cond, known_cond,
      	apply_distributive_law, cached_nonzero_bits,
      	cached_num_sign_bit_copies, simplify_shift_const,
      	gen_binary, simplify_comparison, update_table_tick,
      	record_value_for_reg, get_lsat_value_validate): Likewise.
      	* cse.c (mention_regs, find_best_addr, find_comparison_args,
      	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
      	Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* expr.c (force_operand): Likewise.
      	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
      	and_reg_cond, elim_reg_cond): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* genattrtab.c (attr_rtx_1): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* integrate.c (subst_constants): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, delete_related_insns,
      	rtx_renumbered_equal_p): Likewise.
      	* local-alloc.c (block_alloc): Likewise.
      	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
      	canonicalize_condition): Likewise.
      	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
      	Likewise.
      	* optabs.c (add_equal_node, expand_binop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
      	* recog.c (validate_replace_rtx_1, comparison_operator,
      	offsettable_address_p, constrain_operands): Likewise.
      	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
      	Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
      	* regrename.c (kill_autoinc_value): Likewise.
      	* reload.c (find_reusable_reload, find_reloads,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtl.h (CONSTANT_P, INSN_P): Likewise.
      	* rtlanal.c (commutative_operand_precedence): Likewise.
      	* sched-deps.c (conditions_mutex_p): Likewise.
      	* sched-rgn.c (is_cfg_nonregular): Likewise.
      	* simplify-rtx.c (simplify_gen_binary,
      	simplify_gen_relational, simplify_replace_rtx,
      	simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation, simplify_rtx): Likewise.
      	* unroll.c (reg_dead_after_loop): Likewise.
      	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
      	print_operand): Likewise.
      	* config/arc/arc.c (proper_comparison_operator): Likewise.
      	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
      	Likewise.
      	* config/avr/avr.c (_reg_unused_after): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests,
      	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
      	* config/i386/i386.c (ix86_comparison_operator,
      	ix86_carry_flag_operator, fcmov_comparison_operator,
      	arith_or_logical_operator, print_operand,
      	ix86_expand_binary_operator, ix86_binary_operator_ok):
      	Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/ia64/ia64.c (not_postinc_memory_operand,
      	ia64_print_operand, update_set_flags, errata_emit_nops):
      	Likewise.
      	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
      	CONSTRAINT_OK_FOR_S): Likewise.
      	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
      	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
      	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
      	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
      	Likewise.
      	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
      	eqne_comparison_operator, signed_comparison_operator):
      	Likewise.
      	* config/mips/mips.c (cmp_op, symbolic_expression_p):
      	Likewise.
      	* config/mmix/mmix (mmix_foldable_comparison_operator,
      	mmix_comparison_operator): Likewise.
      	* config/pa/pa.c (hppa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (stmw_operation,
      	branch_comparison_operator, trap_comparison_operator,
      	ccr_bit): Likewise.
      	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
      	* config/s390/s390.c (s390_alc_comparison,
      	s390_slb_comparison):L Likewise.
      	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
      	Likewise.
      	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
      	noov_compare_op, noov_compare64_op, v9_regcmp_op,
      	emit_hard_tfmode_operation, reg_unused_after)
      	* doc/md.texi, doc/rtl.texi: Likewise.
      
      	* ra-debug.c: Add 2004 to list of copyright years.
      	* unroll.c: Likewise.
      
      	* combine.c (simplify_logical): Remove dummy test,
      	(apply_distributive_law): Fix typo in comment.
      	GET_CODE (x) == AND so x is a commutative binary op.
      	* jump.c (delete_related_insns): simplify loop
      	condition, move testing of RTX codes inside the loop.
      	(rtx_renumbered_equal_p): do not use RTX_CODE.
      	* rtl.c (rtx_class): Declare as enum rtx_class.
      	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
      	Move to RTX_COMM_COMPARE class.
      	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
      	Move to RTX_CONST_OBJ class.
      	* rtl.h (enum rtx_class): New declaration,
      	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
      	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
      	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
      	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
      	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
      	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
      	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
      	OBJECT_P): New macros.
      	* config/sparc/sparc.c (noov_compare_op): Remove register
      	from parameter.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78824 138bc75d-0d04-0410-961f-82ee72b054a4
      6720e96c
  29. 27 Feb, 2004 1 commit
  30. 19 Feb, 2004 1 commit
  31. 07 Feb, 2004 1 commit
    • kazu's avatar
      * config.gcc: Don't mention MAX_LONG_TYPE_SIZE. · d8372058
      kazu authored
      	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
      	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
      	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
      	config/ia64/ia64.h, config/ip2k/ip2k.h,
      	config/iq2000/iq2000.h, config/mips/iris5.h,
      	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
      	config/rs6000/aix51.h, config/rs6000/aix52.h,
      	config/rs6000/darwin.h, config/rs6000/rs6000.h,
      	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
      	config/sparc/linux.h, config/sparc/linux64.h,
      	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
      	config/xtensa/xtensa.h: Remove the definitions of
      	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
      	MAX_WCHAR_TYPE_SIZE.
      	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
      	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77460 138bc75d-0d04-0410-961f-82ee72b054a4
      d8372058
  32. 06 Feb, 2004 1 commit
    • amodra's avatar
      * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco. · 30c70355
      amodra authored
      	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
      	(emit_library_call_value_1): Likewise pass nargs.
      	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
      	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
      	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
      	parameter instead of scanning TYPE_ARGS_TYPES to count args.
      	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
      	prototype.
      	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
      	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
      	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
      	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
      	INIT_CUMULATIVE_ARGS.
      	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
      	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
      	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
      	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
      	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
      	config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
      	config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
      	config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
      	config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
      	config/pa/pa.h, config/pdp11/pdp11.h config/s390/s390.h,
      	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
      	config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77380 138bc75d-0d04-0410-961f-82ee72b054a4
      30c70355
  33. 04 Feb, 2004 1 commit
    • kazu's avatar
      * config/darwin.c, config/darwin.h, config/freebsd-spec.h, · 1d60d981
      kazu authored
      	config/arm/arm.c, config/arm/arm.md,
      	config/cris/cris-protos.h, config/fr30/fr30.c,
      	config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
      	config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
      	config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
      	config/ip2k/ip2k.md, config/ip2k/libgcc.S,
      	config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
      	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
      	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
      	config/ns32k/netbsd.h, config/ns32k/ns32k.c,
      	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
      	config/rs6000/darwin-ldouble.c, config/s390/s390.h,
      	config/s390/s390.md, config/sparc/netbsd-elf.h,
      	config/sparc/openbsd.h, config/sparc/sparc.c,
      	config/xtensa/lib2funcs.S: Fix comment formatting.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77268 138bc75d-0d04-0410-961f-82ee72b054a4
      1d60d981
  34. 03 Feb, 2004 1 commit
  35. 30 Jan, 2004 1 commit
    • kazu's avatar
      * config/alpha/alpha.c: Remove mentions of deprecates macros · 6644435d
      kazu authored
      	in comments, remove some target-independent comments about target
      	macros, and/or add minimal function comments for target hook
      	implementations.
      	* config/avr/avr.c: Likewise.
      	* config/ia64/ia64.h: Likewise.
      	* config/ip2k/ip2k.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/m32r/m32r.h: Likewise.
      	* config/m68hc11/m68hc11.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rs6000/rs6000.h: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh.h: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/sparc/sparc.h: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77005 138bc75d-0d04-0410-961f-82ee72b054a4
      6644435d
  36. 26 Jan, 2004 1 commit
    • kazu's avatar
      * config/ia64/ia64-protos.h: Remove the prototype for · ac9a2599
      kazu authored
      	ia64_setup_incoming_varargs and ia64_return_in_memory.
      	* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
      	(TARGET_RETURN_IN_MEMORY): Likewise.
      	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
      	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
      	(ia64_setup_incoming_varargs): Adjust the arguments to meet
      	the requirement of TARGET_SETUP_INCOMING_VARARGS.
      	(ia64_return_in_memory): Make it static.  Change the return
      	type to bool from int.  Add an argument.
      	(ia64_struct_value_rtx): New.
      	* config/ia64/ia64.h: Remove commented-out definitions of
      	PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
      	PROMOTE_PROTOTYPES.
      	(RETURN_IN_MEMORY): Remove.
      	(STRUCT_VALUE_REGNUM): Likewise.
      	(STRICT_ARGUMENT_NAMING): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76635 138bc75d-0d04-0410-961f-82ee72b054a4
      ac9a2599
  37. 06 Dec, 2003 1 commit
  38. 04 Dec, 2003 1 commit