Age | Commit message (Collapse) | Author | Files | Lines |
|
PR target/21888
* config/alpha/alpha.c (alpha_align_insns): Don't insert nops
until we've passed initial ldgp.
From-SVN: r100596
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
From-SVN: r99421
|
|
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
|
|
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
|
|
* 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
|
|
previous inversion.
* config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints
on non-memory operand for previous inversion.
From-SVN: r98517
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|
|
* final.c (final): Remove prescan parameter. Change all callers.
(final_scan_insn): Remove prescan parameter. Change all callers.
From-SVN: r97267
|
|
* 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
|
|
* 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
|
|
* config/alpha/alpha.opt, config/arc/arc.opt,
config/h8300/h8300.opt, config/mips/mips.opt: Add copyright
notices.
From-SVN: r96618
|
|
* 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
|
|
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
|
|
PR bootstrap/20424
* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
From-SVN: r96431
|
|
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
|
|
* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
installation directory first.
From-SVN: r95656
|
|
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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
(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
|
|
* 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
|
|
From-SVN: r93176
|
|
* 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
|
|
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
|
|
* 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
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
* config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
size 2 with BWX.
(alpha_expand_unaligned_store): Likewise.
From-SVN: r90156
|
|
* config/alpha/alpha.md (movqicc_internal): Allow exactly one
zero in the conditional.
(movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
From-SVN: r89766
|
|
* 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
|
|
* 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-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
|
|
* 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
|
|
From-SVN: r88349
|