aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/alpha
AgeCommit message (Collapse)AuthorFilesLines
2005-06-04re PR target/21888 (bootstrap failure with linker relaxation enabled)Richard Henderson1-1/+7
PR target/21888 * config/alpha/alpha.c (alpha_align_insns): Don't insert nops until we've passed initial ldgp. From-SVN: r100596
2005-06-01configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.Richard Henderson2-4/+18
* configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New. * config.in, configure: Rebuild. * config/alpha/alpha.c (print_operand): Add 'j'. * alpha.md (divmodsi_internal_er_1): Use it. (divmoddi_internal_er_1): Likewise. From-SVN: r100435
2005-05-26opt-functions.awk (var_type): New function.Richard Sandiford3-52/+8
* opt-functions.awk (var_type): New function. (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=, mmemory-latency=): Add Var()s. (mtls-size=): Likewise. Convert to a UInteger and initialize the variable to 32. * config/arc/arc.c (arc_cpu_string, arc_text_string) (arc_data_string, arc_rodata_string): Delete. (arc_handle_option): Don't set the above variables here. * config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s and initialize them. * config/arm/arm.c (target_fpu_name, target_fpe_name) (target_float_abi_name, target_abi_name, structure_size_string) (arm_pic_register_string): Delete. (arm_handle_option): Don't set the above variables here, except in the handling of -mhard-float and -msoft-float. * config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=) (mpic-register=, mstructure-size-boundary=): Add Var()s. * config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION) (avr_handle_option): Delete. * config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize them. * config/bfin/bfin.c (bfin_library_id): Delete. (bfin_handle_option): Don't set it. * config/bfin/bfin.opt (mshared-library-id=): Add Var(). * config/c4x/c4x.h (c4x_rpts_cycles): Delete. * config/c4x/c4x.c (c4x_rpts_cycles): Delete. (c4x_handle_option): Don't set c4x_rpts_cycles here. * config/c4x/c4x.opt (mrpts=): Add Var(). * config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set cris_elinux_stacksize_str here. * config/cris/aout.opt (melinux-stacksize=): Add Var(). * config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str) (cris_tune_str, cris_elinux_stacksize_str): Delete. * config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str) (cris_tune_str, cris_elinux_stacksize_str): Delete. (cris_handle_option): Don't set the above variables here. * config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=) (max-stackframe=): Add Var()s. * config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete. * config/i386/i386.c (ix86_cmodel_string, ix86_asm_string) (ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string) (ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string) (ix86_align_jumps_string, ix86_preferred_stack_boundary_string) (ix86_branch_cost_string, ix86_align_funcs_string): Delete. (ix86_handle_option): Don't set the above variables here. * config/i386/i386.opt (malign-functions=, malign-jumps=) (malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=) (mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add Var()s. * config/ia64/ia64.h (ia64_tls_size): Delete. * config/ia64/ia64.c (ia64_tls_size): Delete. (ia64_handle_option): Treat -mtls-size= as a UInteger option, reading the integer argument from the "value" parameter. Don't set ia64_tls_size here. * config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option. Add Var() and Init(). * config/m32r/m32r.h (m32r_cache_flush_func): Delete. (m32r_cache_flush_trap): Delete. * config/m32r/m32r.c (m32r_cache_flush_func): Delete. (m32r_cache_flush_trap): Delete. (m32r_handle_option): Don't set the above variables when handling -mflush-func= and -mflush-trap=. * config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s and Init()s. * config/mips/mips.h (mips_cache_flush_func): Delete. * config/mips/mips.c (mips_arch_string, mips_tune_string) (mips_cache_flush_func): Delete. (mips_handle_option): Don't set the above variables when handling -march=, -mtune= and -mflush-func=. * config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s. * config/s390/s390.c (s390_arch_string): Delete. (s390_handle_option): Don't set it here. * config/s390/s390.opt (march=): Add Var(). * config/sparc/sparc.h (sparc_cmodel_string): Delete. * config/sparc/sparc.c (sparc_cmodel_string): Delete. (sparc_handle_option): Don't set it here. * config/sparc/sparc.opt (mcmodel=): Add Var(). From-SVN: r100185
2005-05-19alpha.c (emit_unlikely_jump, [...]): Split out from ...Richard Henderson3-92/+111
* config/alpha/alpha.c (emit_unlikely_jump, emit_load_locked, emit_store_conditional): Split out from ... (alpha_split_atomic_op): ... here. (alpha_split_compare_and_swap): New; extract from .md file. (alpha_split_lock_test_and_set): Likewise. * config/alpha/alpha-protos.h: Update. * config/alpha/sync.md (sync_compare_and_swap<I48MODE>): Move split code into alpha.c. (sync_lock_test_and_set<I48MODE>): Likewise. From-SVN: r100005
2005-05-19re PR target/21390 (alphaev68-dec-osf5.1b long double optimization bug with ↵Richard Henderson1-56/+42
gcc-4.0.0) PR target/21390 * config/alpha/alpha.c (alpha_emit_conditional_branch): Move TFmode code swapping ... (alpha_emit_xfloating_compare): ... here. (alpha_emit_setcc): Update to match. (alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS. From-SVN: r99972
2005-05-09crtstuff.c, [...]: Update copyright.Kazu Hirata1-1/+1
* crtstuff.c, integrate.h, tree-scalar-evolution.h, config/alpha/unicosmk.h, config/arc/arc.md, config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h, config/arm/ieee754-df.S, config/arm/ieee754-sf.S, config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h, config/arm/semi.h, config/arm/uclinux-elf.h, config/arm/wince-pe.h, config/fr30/fr30.c, config/rs6000/altivec.h: Update copyright. From-SVN: r99447
2005-05-08* config/alpha/alpha.c (adjust_address): Fix typo last change.Richard Henderson1-1/+1
From-SVN: r99421
2005-05-08alpha.c (tls_symbolic_operand_1): Use gcc_assert and gcc_unreachable as ↵Nathan Sidwell6-181/+188
appropriate. * config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert and gcc_unreachable as appropriate. (get_aligned_mem, get_unaligned_address, alpha_emit_set_long_const, alpha_emit_conditional_branch, alpha_emit_setcc, alpha_emit_conditional_move, alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg, alpha_emit_xfloating_libcall, alpha_split_tfmode_pair, alpha_expand_unaligned_load, alpha_expand_block_move, alpha_expand_zap_mask, get_trap_mode_suffix, get_round_mode_suffix, get_some_local_dynamic_name, print_operand_address, function_arg, alpha_return_in_memory, function_value, alpha_expand_builtin, alpha_initial_elimination_offset, alpha_expand_epilogue, summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe, alphaev5_next_group, alpha_align_insns, unicosmk_initial_elimination_offset, unicosmk_unique_section, unicosmk_ssib_name): Likewise. * config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. * config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE, ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise. * config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. * config/alpha/alpha.md (*divmodsi_internal_er, *divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf, call_nt, call_umk, call_vms, call_value, sibcall_value, call_value_osf, call_value_nt, call_value_vms, call_value_umk, *call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise. * config/alpha/predicates.md (input_operand): Likewise. Co-Authored-By: Falk Hueffner <falk@debian.org> From-SVN: r99384
2005-04-27tree-complex.c (expand_vector_operation): New, extracted from ↵Paolo Bonzini1-3/+0
expand_vector_operations_1. gcc: 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: ---------------------------------------------------------------------- From-SVN: r98818
2005-04-23diagnostic.c (warning): Accept parameter to classify warning option.DJ Delorie1-10/+10
* diagnostic.c (warning): Accept parameter to classify warning option. (warning0): New, for when a pointer to an error() like function is needed. * errors.c (warning): Likewise. * errors.h (warning, warning0): Adjust prototypes. * toplev.h (warning, warning0): Likewise. * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c, c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c, c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c, fold-const.c, fortran/trans-decl.c, function.c, gcse.c, genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c, tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c, tree-ssa.c, tree.c, varasm.c: Adjust warning() callers. * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c, config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c, config/darwin.c, config/darwin.h, config/h8300/h8300.c, config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h, config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h, config/rs6000/aix52.h, config/rs6000/darwin.h, config/rs6000/rs6000-c.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sh/sh.h, config/sh/symbian.c, config/sol2-c.c, config/sol2.c, config/stormy16/stormy16.c, config/v850/v850-c.c, config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning() callers. * ada/misc.c: Adjust warning() callers. * cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c, cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c, cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c, cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers. * fortran/trans-decl.c: Adjust warning() callers. * java/class.c, java/decl.c, java/expr.c, java/jcf-io.c, java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning() callers. * objc/objc-act.c: Adjust warning() callers. * treelang/parse.y: Adjust warning() callers. From-SVN: r98633
2005-04-21sync.md (sync_new_nand<I48MODE>): Fix constraints on non-memory operand for ↵Richard Henderson1-1/+1
previous inversion. * config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints on non-memory operand for previous inversion. From-SVN: r98517
2005-04-19builtins.c (expand_builtin_sync_operation): Revert last change.Richard Henderson2-24/+17
* builtins.c (expand_builtin_sync_operation): Revert last change. * optabs.c (expand_bool_compare_and_swap): Compare vs old value, not vs new value. (expand_compare_and_swap_loop): Likewise. (expand_sync_operation): Remove fallback from NAND to AND; invert memory operand when expanding from cmpxchg. (expand_sync_fetch_operation): Likewise. * doc/extend.texi (Atomic Builtins): Fix docs for nand and compare-and-swap. * config/alpha/alpha.c (alpha_split_atomic_op): Invert memory operand when implementing NAND. Fix double-add for AFTER. * config/alpha/sync.md (sync_nand<I48MODE>): Invert memory operand. (sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise. (sync_compare_and_swap<I48MODE>): Fix compare vs zero. Return old memory value. (sync_lock_test_and_set<I48MODE>): Remove extra label and last memory barrier. * config/i386/sync.md (sync_compare_and_swap<IMODE>): Fix pattern to return old memory value. (sync_compare_and_swap_cc<IMODE>): Likewise. * config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Early return pre-reload. Don't consider output or anti dependencies. * config/ia64/sync.md (IMODE): New. (modesuffix): Add QI and HI. (memory_barrier): Simplify expansion. (sync_compare_and_swap<IMODE>): Use IMODE, not I48MODE. (cmpxchg_acq_<IMODE>): Likewise. (sync_lock_test_and_set<IMODE>): Likewise. (sync_lock_release<IMODE>): Likewise. From-SVN: r98436
2005-04-18alpha.c (alpha_split_atomic_op): New.Richard Henderson7-11/+493
* config/alpha/alpha.c (alpha_split_atomic_op): New. (alphaev5_insn_pipe): Add LD_L, ST_C, MB types. (alphaev4_insn_pipe): Likewise. Correct IST and LDSYM pipes. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New. (UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New. (attr type): Add ld_l, st_c, mb. (andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal, iornotsi3, xorsi_internal, xornotsi3): New. * config/alpha/ev4.md (ev4_ld): Add ld_l. (ev4_ist_c, ev4_mb): New. * config/alpha/ev5.md (ev5_st): Add st_c, mb. (ev5_ld_l): New. * config/alpha/ev6.md (ev6_ild): Add ld_l. (ev6_ist): Add st_c. (ev6_mb): New. * config/alpha/sync.md: New file. From-SVN: r98328
2005-04-17alpha.c (va_list_skip_additions): Only define if TARGET_ABI_OSF.Richard Henderson1-23/+45
* config/alpha/alpha.c (va_list_skip_additions): Only define if TARGET_ABI_OSF. (TARGET_STDARG_OPTIMIZE_HOOK): Likewise. (alpha_stdarg_optimize_hook): Likewise. Allow for one more round of indirection through ssa names while looking for the gpr counter field. (alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the saved va_list_gpr_size and va_list_fpr_size. From-SVN: r98286
2005-04-16re PR target/20375 (C++ ICE in assign_parm_find_entry_rtl)Richard Henderson1-18/+17
PR target/20375 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy of CUMULATIVE_ARGS past the last named argument. (alpha_va_start): Expect pretend_args_size only if strictly less than 6 named arguments. From-SVN: r98257
2005-04-09tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and ↵Jakub Jelinek1-0/+152
TI_VA_LIST_FPR_COUNTER_FIELD. * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. (va_list_gpr_counter_field, va_list_fpr_counter_field): Define. * tree-pass.h (pass_stdarg): Add. * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg. * tree-stdarg.c: New file. * tree-stdarg.h: New file. * Makefile.in (OBJS-common): Add tree-stdarg.o. (tree-stdarg.o): Add dependencies. * function.h (struct function): Add va_list_gpr_size and va_list_fpr_size fields. * function.c (allocate_struct_function): Initialize them. * target.h (struct gcc_target): Add stdarg_optimize_hook. * target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define. (TARGET_INITIALIZER): Add it. * config/i386/i386.c (ix86_build_builtin_va_list): Initialize va_list_{g,f}pr_counter_field. (ix86_setup_incoming_varargs): Don't do anything if reg_save area will not be used. Only save registers that tree-stdarg.c detected they need saving. (ix86_va_start): Don't set up fields that won't be used. * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize va_list_{g,f}pr_counter_field. (setup_incoming_varargs): Don't do anything if reg_save area will not be used. Only save registers that tree-stdarg.c detected they need saving. (rs6000_va_start): Don't set up fields that won't be used. * config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h. (alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field. (va_list_skip_additions, alpha_stdarg_optimize_hook): New functions. (TARGET_STDARG_OPTIMIZE_HOOK): Define. * gcc.dg/tree-ssa/stdarg-1.c: New test. * gcc.dg/tree-ssa/stdarg-2.c: New test. * gcc.dg/tree-ssa/stdarg-3.c: New test. * gcc.dg/tree-ssa/stdarg-4.c: New test. * gcc.dg/tree-ssa/stdarg-5.c: New test. * gcc.c-torture/execute/stdarg-4.c: New test. * gcc.dg/vmx/varargs-1.c (f1, f2, f3): Add missing va_end. From-SVN: r97916
2005-04-09dominance.c, [...]: Fix comment typos.Kazu Hirata1-2/+2
* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c, tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c, config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h, config/rs6000/predicates.md: Fix comment typos. From-SVN: r97904
2005-03-30final.c (final): Remove prescan parameter.Ian Lance Taylor1-1/+1
* final.c (final): Remove prescan parameter. Change all callers. (final_scan_insn): Remove prescan parameter. Change all callers. From-SVN: r97267
2005-03-20builtins.c (fold_builtin_1): Update a call to targetm.fold_builtin.Kazu Hirata1-3/+2
* builtins.c (fold_builtin_1): Update a call to targetm.fold_builtin. * hooks.c (hook_tree_tree_bool_null): Rename to hook_tree_tree_tree_bool_null. Take one more argument of type tree. * hooks.h: Update the prototype of hook_tree_tree_bool_null. * target-def.h (TARGET_FOLD_BUILTIN): Define it as hook_tree_tree_tree_bool_null. * target.h (gcc_target): Update the prototype of fold_builtin. * config/alpha/alpha.c (alpha_fold_builtin): Take decomposed arguments of CALL_EXPR. * doc/tm.texi (TARGET_FOLD_BUILTIN): Update. Mention the new prototype. From-SVN: r96762
2005-03-18hooks.c, [...]: Update copyright.Kazu Hirata8-8/+8
* hooks.c, hooks.h, intl.c, opts.h, prefix.c, tree-gimple.c, config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/osf5.h, config/alpha/vms.h, config/arc/arc.c, config/arc/arc.h, config/h8300/h8300-protos.h, config/h8300/h8300.c, config/h8300/h8300.h, config/ia64/unwind-ia64.c, doc/cppopts.texi: Update copyright. From-SVN: r96686
2005-03-17alpha.opt, [...]: Add copyright notices.Kazu Hirata1-0/+21
* config/alpha/alpha.opt, config/arc/arc.opt, config/h8300/h8300.opt, config/mips/mips.opt: Add copyright notices. From-SVN: r96618
2005-03-17alpha.opt: New file.Richard Henderson12-301/+304
* config/alpha/alpha.opt: New file. * config/alpha/alpha.c (alpha_tune): New. Rename all existing uses of alpha_cpu. (alpha_cpu_string, alpha_tune_string, alpha_tp_string, alpha_fprm_string, alpha_fptm_string): Make static. (alpha_tls_size_string): Remove. (alpha_handle_option): New. (override_options): Update for alpha_cpu/alpha_tune split. (alpha_file_start): Likewise. (TARGET_DEFAULT_TARGET_FLAGS): New. (TARGET_HANDLE_OPTION): New. * config/alpha/alpha.h (alpha_tune): Declare. (MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS, MASK_IEEE_CONFORMANT, TARGET_IEEE_CONFORMANT, MASK_IEEE, TARGET_IEEE, MASK_IEEE_WITH_INEXACT, TARGET_IEEE_WITH_INEXACT, MASK_BUILD_CONSTANTS, TARGET_BUILD_CONSTANTS, MASK_FLOAT_VAX, TARGET_FLOAT_VAX, MASK_BWX, TARGET_BWX, MASK_MAX, TARGET_MAX, MASK_FIX, TARGET_FIX, MASK_CIX, TARGET_CIX, MASK_EXPLICIT_RELOCS, TARGET_EXPLICIT_RELOCS, MASK_SMALL_DATA, TARGET_SMALL_DATA, MASK_TLS_KERNEL, TARGET_TLS_KERNEL, MASK_SMALL_TEXT, TARGET_SMALL_TEXT, MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128, MASK_CPU_EV5, TARGET_CPU_EV5, MASK_CPU_EV6, TARGET_CPU_EV6, MASK_SUPPORT_ARCH): Remove. (TARGET_SWITCHES, TARGET_OPTIONS): Remove. (TARGET_DEFAULT): Remove MASK_FP. (TARGET_FP): Redefined based on TARGET_SOFT_FP. (TARGET_SUPPORT_ARCH): Default on if HAVE_AS_EXPLICIT_RELOCS. (alpha_cpu_string, alpha_tune_string, alpha_fprm_string, alpha_fptm_string, alpha_tp_string, alpha_mlat_string, alpha_tls_size_string): Remove. * config/alpha/alpha.md (prefetch): Use alpha_cpu. (attribute tune): Rename from attribute cpu. * config/alpha/ev4.md: Update to match. * config/alpha/ev5.md, config/alpha/ev6.md: Likewise. * config/alpha/freebsd.h (TARGET_DEFAULT): Remove MASK_FP. * config/alpha/linux.h (TARGET_DEFAULT): Likewise. * config/alpha/netbsd.h (TARGET_DEFAULT): Likewise. * config/alpha/osf5.h (TARGET_DEFAULT): Likewise. * config/alpha/vms.h (TARGET_DEFAULT): Likewise. From-SVN: r96602
2005-03-16gcc-version.m4: Delete.Zack Weinberg1-1/+1
config: * gcc-version.m4: Delete. fastjar: * Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi. (BASEVER, DEVPHASE): New variables. (POD2MAN): Adjust setting of --release option. (fastjar.1, grepjar.1, gcc-vers.texi): New rules. * Makefile.in: Regenerate. * configure.ac: Do not invoke TL_AC_GCC_VERSION. * aclocal.m4, configure: Regenerate. gcc: * BASE-VER, DATESTAMP, DEV-PHASE: New files. * Makefile.in (gcc_version, gcc_version_trigger, ): Delete. (BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c) (BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables. (version): Define using $(BASEVER_c). (Makefile, config.status, build/gcov-iov.o): No longer depends on version.c. (version.o): Depend on version files; add custom generation command. (prefix.o): Define BASEVER on command line. (s-iov): Depend on version files; adjust command. (TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES): Add gcc-vers.texi. (gcc-vers.texi): New rule. (doc/%.info, doc/%.dvi): Add -I . to command line. (doc/gccinstall.dvi): Likewise. (PACKAGE): Delete. All uses replaced with "gcc". * aclocal.m4: Do not include gcc-version.m4. * configure.ac: Do not invoke TL_AC_GCC_VERSION. Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION. Set is_release based on contents of DEV-PHASE. Set gcc_version based on contents of BASE-VER. Define WIN32_REGISTRY_KEY only if the user overrode the default. * config.in, configure: Regenerate. * gccbug.in: Determine version of GCC in use at runtime. * gcov-iov.c: Get version number and development phase from command line, not by including version.c. * intl.c: Replace all uses of PACKAGE with "gcc". * libada-mk.in: Delete unused "gcc_version" variable. * prefix.c: Default WIN32_REGISTRY_KEY to BASEVER. * version.c: (VERSUFFIX): New hook for redistributors; adjust commentary to match. (version_string): Put together from pieces. * config/alpha/x-vms: Do not use $(gcc_version). * config/i386/t-nwld: Likewise. * doc/include/gcc-common.texi: Include gcc-vers.texi for version-GCC and DEVELOPMENT. gcc/ada: * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info) (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi to dependencies. gcc/fortran: * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi. gcc/java: * Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi. gcc/treelang: * Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi. libstdc++-v3: * include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc subdirectory. Generate #define of __GLIBCXX__ from contents of that file. * include/Makefile.in: Regenerate. * include/bits/c++config: Do not define __GLIBCXX__. maintainer-scripts: * README: Update. * gcc_release: Update gcc/DEV-PHASE if that file exists, instead of gcc/version.c. * update_version: Handle updating gcc/DATESTAMP. * update_web_docs: Generate gcc-vers.texi first. From-SVN: r96549
2005-03-14re PR target/20424 (Bootstrap failure on alphaev56)Falk Hueffner1-1/+1
PR bootstrap/20424 * config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo. From-SVN: r96431
2005-03-08alpha.c (code_for_builtin): Replace special-case builtin codes with ctzdi2, ↵Richard Henderson2-90/+548
clzdi2, popcountdi2. * config/alpha/alpha.c (code_for_builtin): Replace special-case builtin codes with ctzdi2, clzdi2, popcountdi2. (struct alpha_builtin_def): Add is_const. (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it. (alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New. (alpha_init_builtins): Init them. Set nothrow and const attributes on builtins. (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot, alpha_fold_builtin_extxx, alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh, alpha_fold_vector_minmax, alpha_fold_builtin_perr, alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb, alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw, alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz, alpha_fold_builtin_ctpop, alpha_fold_builtin): New. (TARGET_FOLD_BUILTIN): New. * config/alpha/alpha.md (UNSPEC_CTTZ): Remove. (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove. (ffsdi2): Use ctz. (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove. From-SVN: r96098
2005-02-28* config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpuxZack Weinberg1-1/+3
* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the installation directory first. From-SVN: r95656
2005-02-11linux-unwind.h: Add exception clause to copyright.David Daney1-1/+9
2005-02-10 David Daney <ddaney@avtrex.com> * config/alpha/linux-unwind.h: Add exception clause to copyright. * config/i386/linux-unwind.h: Likewise. * config/ia64/linux-unwind.h: Likewise. * config/mips/linux-unwind.h: Likewise. * config/pa/linux-unwind.h: Likewise. * config/rs6000/linux-unwind.h: Likewise. * config/s390/linux-unwind.h: Likewise. * config/sh/linux-unwind.h: Likewise. * config/sparc/linux-unwind.h: Likewise. From-SVN: r94868
2005-01-27builtins.c (expand_builtin_copysign): New.Richard Henderson1-0/+37
* builtins.c (expand_builtin_copysign): New. (expand_builtin): Call it. * genopinit.c (optabs): Add copysign_optab. * optabs.c (init_optabs): Initialize it. (expand_copysign): New. * optabs.h (OTI_copysign, copysign_optab): New. (expand_copysign): Declare. * config/alpha/alpha.md (UNSPEC_COPYSIGN): New. (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New. * config/i386/i386.c (ix86_build_signbit_mask): Split from ... (ix86_expand_fp_absneg_operator): ... here. (ix86_split_copysign): New. * config/i386/i386-protos.h: Update. * config/i386/i386.md (UNSPEC_COPYSIGN): New. (copysignsf3, copysigndf3): New. * config/ia64/ia64.md (UNSPEC_COPYSIGN): New. (copysignsf3, ncopysignsf3): New. (copysigndf3, ncopysigndf3): New. (copysignxf3, ncopysignxf3): New. * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN. From-SVN: r94357
2005-01-22genopinit.c (optabs): Use smin/smax for floating point too.Richard Henderson1-4/+4
* genopinit.c (optabs): Use smin/smax for floating point too. * doc/md.texi: Update to match. Clarify that floating point results are undefined for +0/-0 and NaN. * doc/rtl.texi: Likewise. * rtl.def (SMIN, SMAX): Likewise * tree.def (MIN_EXPR, MAX_EXPR): Likewise. * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add leading 's' to the name. * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3, smaxxf3, sminxf3): Likewise. * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3): Likewise. From-SVN: r94083
2005-01-22cfganal.c, [...]: Update copyright.Kazu Hirata4-4/+4
* cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c, config/alpha/alpha-protos.h, config/alpha/alpha.h, config/alpha/alpha.md, config/alpha/predicates.md, config/sparc/freebsd.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h: Update copyright. From-SVN: r94064
2005-01-19re PR target/19518 ([alpha] unrecognizable insn (set (reg:V4HI) ↵Richard Henderson5-143/+335
(const_vector:V4HI)) with builtins) PR target/19518 * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH. (alpha_preferred_reload_class): Handle CONST_VECTOR. (alpha_emit_set_const_1): Add no_output parameter; don't emit rtl if true. (alpha_emit_set_const): Likewise. Make static. (alpha_emit_set_long_const): Make static. (alpha_extract_integer): Split out from alpha_expand_mov. (alpha_split_const_mov): Likewise. (alpha_expand_mov): Use them. Handle CONST_VECTOR. (alpha_legitimate_constant_p): New. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost. (LEGITIMATE_CONSTANT_P): Re-implement with a function. * config/alpha/alpha.md (movsi): Add n alternative. (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise. (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative. (splitters for all of the above): Use alpha_split_const_mov. * config/alpha/predicates.md (non_add_const_operand): New. (non_zero_const_operand): New. (input_operand): Use alpha_legitimate_constant_p after reload. From-SVN: r93943
2005-01-18darwin.c, [...]: Update copyright.Kazu Hirata1-1/+1
* config/darwin.c, config/darwin.h, config/freebsd-spec.h, 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. From-SVN: r93829
2005-01-11* config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.Kazu Hirata1-1/+1
From-SVN: r93176
2004-12-29target.h (targetm.calls.arg_partial_bytes): New.Richard Henderson4-23/+27
* target.h (targetm.calls.arg_partial_bytes): New. * 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.h, config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/alpha/alpha.c (alpha_arg_partial_bytes): New. (TARGET_ARG_PARTIAL_BYTES): New. * config/alpha/alpha.h, config/alpha/unicosmk.h, config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... * config/arm/arm.c (arm_arg_partial_bytes): ... here. (TARGET_ARG_PARTIAL_BYTES): New. * config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... * config/cris/cris.c (cris_arg_partial_bytes): ... here. (TARGET_ARG_PARTIAL_BYTES): New. * config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from fr30_function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/fr30/fr30-protos.h: Update. * config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/frv/frv.c (frv_arg_partial_bytes): Rename from frv_function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/frv/frv-protos.h: Update. * config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from ia64_function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/ia64/ia64-protos.h: Update. * config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/iq2000/iq2000-protos.h: Update. * config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/m32r/m32r-protos.h: Update. * config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from mcore_function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/mcore/mcore-protos.h: Update. * config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/mips/mips.c (mips_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/mips/mips-protos.h: Update. * config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/mn10300/mn10300-protos.h: Update. * config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... * config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here. (TARGET_ARG_PARTIAL_BYTES): New. * config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/pa/pa.c (pa_arg_partial_bytes): Rename from function_arg_partial_nregs. Handle 32-bit. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/pa/pa-protos.h: Update. * config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/rs6000/rs6000-protos.h: Update. * config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... * config/sh/sh.c (sh_arg_partial_bytes): ... here. (TARGET_ARG_PARTIAL_BYTES): New. * config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/sparc/sparc-protos.h: Update. * config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. * config/v850/v850.c (v850_arg_partial_bytes): Rename from function_arg_partial_nregs. Adjust to return bytes. (TARGET_ARG_PARTIAL_BYTES): New. * config/v850/v850-protos.h: Update. From-SVN: r92726
2004-12-27Add memory barriers to the double-checked locking used for static ↵Jason Merrill1-0/+6
initialization. libstdc++: Add memory barriers to the double-checked locking used for static initialization. * libsupc++/guard.cc (__test_and_acquire): Define default. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release) (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise. (recursion_push, recursion_pop): New abstraction functions. (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE. (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE. * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename from _GLIBCXX_GUARD_ACQUIRE and reverse sense. (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE. * config/cpu/arm/cxxabi_tweaks.h: Likewise. * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER) (_GLIBCXX_WRITE_MEM_BARRIER): Define. * config/cpu/powerpc/atomic_word.h: Likewise. * config/cpu/sparc/atomic_word.h: Likewise. * config/cpu/generic/atomic_word.h: Define them, commented out. * include/bits/atomicity.h: Define defaults. * config/cpu/ia64/atomic_word.h (__test_and_acquire) (__set_and_release): New inlines. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define. (_GLIBCXX_GUARD_SET_AND_RELEASE): Define. * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of abort(); gcc: * doc/tm.texi (TARGET_RELAXED_ORDERING): Document. * target.h (struct gcc_target): Add relaxed_ordering field. * target-def.h (TARGET_RELAXED_ORDERING): Define default. (TARGET_INITIALIZER): Add it. * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define. * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define. * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define. * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define. * cp/decl.c (expand_static_init): Don't use shortcut if targetm.relaxed_ordering. From-SVN: r92659
2004-12-23alpha.md (one_cmpl<mode>2, [...]): New macroized vector operate patterns.Richard Henderson1-0/+55
* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3, ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized vector operate patterns. From-SVN: r92545
2004-12-23alpha.c (alpha_expand_mov): Split out ...Richard Henderson3-119/+51
* config/alpha/alpha.c (alpha_expand_mov): Split out ... (alpha_expand_movmisalign): ... misaligned vector support. (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (VEC): New macro. (movv8qi, movv4hi, movv2si): Compress with VEC. (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise. (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise. (movmisalign<mode>): New. From-SVN: r92538
2004-12-16re PR other/18508 ("basename: too few arguments" when building without ↵H.J. Lu1-1/+1
bootstrap) 2004-12-14 H.J. Lu <hongjiu.lu@intel.com> PR other/18508 * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix to back up the existing shared library. * config/arm/t-netbsd (SHLIB_LINK): Likewise. * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. * config/sh/t-linux (SHLIB_LINK): Likewise. * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. * config/t-slibgcc-sld (SHLIB_LINK): Likewise. * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary file. From-SVN: r92276
2004-12-05re PR target/18841 (setjmp and eh receivers can mis-schedule)Richard Henderson1-66/+53
PR target/18841 * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New. (builtin_setjmp_receiver_er_sl_1): Use it. (builtin_setjmp_receiver_er_1): Likewise. (builtin_setjmp_receiver_er, exception_receiver_er): Remove. (builtin_setjmp_receiver): Don't split for explicit relocs until after reload. (exception_receiver): Likewise. From-SVN: r91753
2004-12-04alpha.c (alpha_expand_unaligned_load): Don't forget to use ofs in BWX two ↵Richard Henderson1-4/+4
byte special case. * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to use ofs in BWX two byte special case. (alpha_expand_unaligned_store): Likewise. From-SVN: r91731
2004-11-24c-opts.c (c_common_post_options): Don't clear flag_inline_functions.Steven Bosscher1-35/+0
gcc/ * c-opts.c (c_common_post_options): Don't clear flag_inline_functions. * dojump.c (clear_pending_stack_adjust): Remove check on flag_inline_functions, it's always true. * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter that can never trigger. * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at flag_inline_trees, now that flag_inline_functions is never cleared. * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set flag_inline_functions at optimization levels greater than or equal to 3. This is already done by default. ada/ * misc.c (gnat_post_options): Don't clear flag_inline_functions. cp/ * decl.c (cxx_init_decl_processing): Don't clear flag_inline_functions. fortran/ * options.c (gfc_post_options): Don't clear flag_inline_functions. java/ * class.c (make_class_data): Don't check flag_inline_functions. * lang.c (flag_really_inline): Remove unused flag. (java_handle_option): Don't set it here. Remove special handling of flag_inline_functions for Java. (java_init): Don't set flag_inline_trees here. Already done... (java_post_options): ...here. Don't clear flag_inline_functions. From-SVN: r91190
2004-11-11linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ only if ↵Peter S. Mazinger1-0/+5
TARGET_ABICALLS. 2004-11-10 Peter S. Mazinger <ps.m@gmx.net> * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ only if TARGET_ABICALLS. (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__. (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass -KPIC only if not -mno-abicalls. * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h * config/sparc/linux.h, config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic. * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__. * config/pa/pa/linux.h (CPP_SPEC): Likewise. * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise. * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise. From-SVN: r90470
2004-11-09builtins.c, [...]: Avoid "`" as left quote, using "'" or %q, %< and %> as ↵Joseph Myers1-7/+7
appropriate. * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h, c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c, gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c, tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, config/darwin.c, config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c, config/iq2000/iq2000.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.c, config/rs6000/host-darwin.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sh/symbian.c, config/stormy16/stormy16.c, config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. Use %' as apostrophe in diagnostics where applicable. Use %< and %> in place of '' quotes where applicable. Use %qs in place of %<%s%>. Consistently quote __builtin function names. ada: * misc.c (gnat_handle_option): Use %< and %> for quoting in warning message. cp: * call.c, class.c, decl.c, decl2.c, error.c, mangle.c, parser.c, pt.c, search.c, semantics.c, typeck.c: Use %q, %< and %> for quoting in diagnostics. * parser.c (cp_parser_sizeof_operand): Use '' instead of `' for quoting in printf format. * decl.c (duplicate_decls, start_decl): Use %qD instead of unquoted %D. objc: * objc-act.c: Use %q, %< and %> for quoting in diagnostics. testsuite: * gcc.dg/builtin-prefetch-1.c: Adjust expected messages. From-SVN: r90337
2004-11-05alpha.c (alpha_expand_unaligned_load): Special case size 2 with BWX.Richard Henderson1-1/+52
* config/alpha/alpha.c (alpha_expand_unaligned_load): Special case size 2 with BWX. (alpha_expand_unaligned_store): Likewise. From-SVN: r90156
2004-10-28alpha.md (movqicc_internal): Allow exactly one zero in the conditional.Richard Henderson1-4/+4
* config/alpha/alpha.md (movqicc_internal): Allow exactly one zero in the conditional. (movhicc_internal, movsicc_internal, movdicc_internal): Likewise. From-SVN: r89766
2004-10-27dbxout.c: Include obstack.h.Zack Weinberg2-5/+7
* dbxout.c: Include obstack.h. (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in default definition. (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR): Default-define here. (DBX_CONTIN_LENGTH): Move definition with others. (DBX_FINISH_STABS): New target macro. (current_sym_code, current_sym_value, current_sym_addr) (current_sym_nchars, CHARS, dbxout_continue) (print_int_cst_octal, print_octal, print_wide_int) (dbxout_prepare_symbol, dbxout_finish_symbol): Delete. (stabstr_ob, stabstr_last_contin_point): New variables. (NUMBER_FMT_LOOP): New improper macro. (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label) (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label) (dbxout_stab_value_internal_label_diff, dbxout_stabd) (dbxout_begin_stabn, dbxout_begin_stabn_sline) (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc) (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs) (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O) (stabstr_continue, DECL_ACCESSIBILITY_CHAR) New functions and/or proper function-like macros. (CONTIN): Use stabstr_continue, unconditionally. (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED. (dbxout_init): Initialize stabstr_ob. Check NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label if it was used. Use the new interfaces. (dbxout_source_file): Remove file argument; always write to asm_out_file. Use the new interfaces. (dbxout_type_method_1): Remove second argument which is always DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces. (dbxout_type_methods): Remove write-only variables. Use the new interfaces. (dbxout_parms): Refactor to remove code duplicated in each of several successive if-else-if blocks. Use the new interfaces. (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file) (dbxout_source_line, dbxout_finish, dbxout_type_index) (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name) (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location) (dbxout_symbol_name, dbxout_reg_parms, dbxout_args) (dbx_output_lbrac, dbx_output_rbrac, dbxout_block): Use the new interfaces. * Makefile.in (dbxout.o): Update dependencies. * defaults.h: Don't define ASM_STABD_OP. * output.h: Prototype new dbxout_* interfaces. * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL. * varasm.c: Don't define ASM_STABS_OP. (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor): Use the new dbxout.c interfaces. Call sorry if neither DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined. * xcoffout.h: Don't define ASM_STABS_OP. (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS. (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete. (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define. (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to do { ... } while (0) idiom. * config/alpha/alpha.c (num_source_filenames): Export. * config/alpha/alpha.h (num_source_filenames): Declare. (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. (SDB_OUTPUT_SOURCE_LINE): Add missing newline. * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. Always use .debugsym. Update commentary. * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. (SDB_OUTPUT_SOURCE_LINE): Add missing newline. * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC): Use new interfaces. * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h. (macho_branch_islands): Use new interfaces. * doc/tm.texi: Update. From-SVN: r89623
2004-10-21dbxout.c (asmfile): Delete.Zack Weinberg4-39/+17
* dbxout.c (asmfile): Delete. All uses changed to asm_out_file. (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE): Default to 0. (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined. When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit an internal label and an N_SLINE .stabn whose value is the difference between that label and the function entry label. (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined, but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a label and an N_SO stab with an empty string referring to it. (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE. (dbxout_type_methods, dbxout_symbol): Remove #if 0 block. (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this macro is never defined. * sdbout.c (sdbout_source_line_counter): Delete. (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition. (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes only two arguments. * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE. * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs. * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro definitions (identical to default). * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h: Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not DBX_OUTPUT_MAIN_SOURCE_FILE_END. * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h: Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE. * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno. * config/alpha/alpha.c: Move declaration of num_source_filenames up. (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE. (sym_lineno): Delete. (alpha_output_filename): Do not emit N_SOL stabs here. Remove now-unused variable. (alpha_output_lineno): Delete. * config/mips/mips-protos.h: Don't prototype mips_output_lineno. * config/mips/mips.c (mips_output_filename): Don't use ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here. (mips_output_lineno): Delete. (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE. * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE. * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME. * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE. * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE. * config/mmix/mmix.h: Likewise. * config/mmix/mmix.c (mmix_asm_output_source_line): Delete. * config/mmix/mmix-protos.h: Don't prototype it. * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE; no need to #undef ASM_OUTPUT_SOURCE_LINE. * config/arm/aout.h: Remove RISCiX-specific definition of DBX_OUTPUT_MAIN_SOURCE_FILENAME. * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE. * config/rs6000/rs6000.h: (ASM_OUTPUT_SOURCE_LINE): Rename DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label. * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END. * doc/tm.texi: Update. From-SVN: r89357
2004-10-18re PR bootstrap/17684 (/usr/ccs/bin/ld: Can't create libgcc_s.sl)H.J. Lu1-1/+5
2004-11-18 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/17684 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?. (stage1-start): Remove and copy libunwind.a and libunwind*$(SHLIB_EXT) instead of libunwind*. (stage2-start): Likewise. (stage3-start): Likewise. (stage4-start): Likewise. (stageprofile-start): Likewise. (stagefeedback-start): Likewise. * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for the shared library to be created and don't remove the existing shared library. * config/arm/t-netbsd (SHLIB_LINK): Likewise. * config/i386/t-nwld (SHLIB_LINK): Likewise. * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. * config/sh/t-linux (SHLIB_LINK): Likewise. * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. * config/t-slibgcc-sld (SHLIB_LINK): Likewise. * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s" files. From-SVN: r89227
2004-10-17elfos.h, [...]: Update copyright.Kazu Hirata6-6/+7
* config/elfos.h, config/gofast.h, config/interix.h, config/netbsd.h, config/svr3.h, config/vxworks.h, config/alpha/alpha-modes.def, config/alpha/alpha-protos.h, config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md, config/alpha/netbsd.h, config/arm/arm-modes.def, config/arm/unknown-elf.h, config/c4x/c4x-modes.def, config/cris/aout.h, config/frv/frv-modes.def, config/i386/beos-elf.h, config/i386/gas.h, config/i386/i386-coff.h, config/i386/i386-modes.def, config/i386/linux.h, config/i386/linux64.h, config/i386/mingw32.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h, config/i386/sco5.h, config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md, config/ia64/ia64-modes.def, config/ia64/itanium1.md, config/ia64/itanium2.md, config/m68k/m68k-modes.def, config/mips/mips-modes.def, config/mips/sdb.h, config/mips/vr.h, config/mips/vxworks.h, config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa32-linux.h, config/rs6000/40x.md, config/rs6000/7450.md, config/rs6000/8540.md, config/rs6000/linuxspe.h, config/rs6000/power4.md, config/rs6000/rs6000-modes.def, config/rs6000/rtems.h, config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h, config/s390/s390-modes.def, config/sh/elf.h, config/sh/sh-modes.def, config/sh/sh64.h, config/sparc/ultra1_2.md, config/sparc/ultra3.md, config/stormy16/stormy16.md, config/v850/v850-protos.h, config/vax/vax.md: Update copyright. From-SVN: r89179
2004-09-30* config/alpha/qrnnd.asm: Mark for noexecstack.Richard Henderson1-0/+4
From-SVN: r88349