platform/upstream/linaro-gcc.git
17 years ago PR libfortran/33386
fxcoudert [Tue, 11 Sep 2007 14:53:02 +0000 (14:53 +0000)]
PR libfortran/33386
* runtime/select.c (select_string): Initialize default_jump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128379 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/m68k/predicates.md (movsi_const0_operand,
mkuvyrkov [Tue, 11 Sep 2007 13:56:30 +0000 (13:56 +0000)]
* config/m68k/predicates.md (movsi_const0_operand,
non_symbolic_call_operand): New predicates.

* config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
New constraints.
* doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
CW, CZ, CS, Ap and Ac.

* config/m68k/m68k.md (UNSPEC_IB): New constant.
(constraints.md): New include.
(cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access,
opx_mem, opy_mem, op_mem, guess, split): New attributes.
(movdf_internal): Name pattern.  Fix to use alternatives.  Add split.
Specify attributes.
(pushdi): Add split.
(tstsi_internal): Name pattern.  Fix to use alternatives.  Specify
attributes.  Split tstsi_internal_68020_cf from it.
(tstsi_internal_68020_cf): New pattern.
(tsthi_internal, tstqi_internal): Name pattern.  Specify attributes.
(tst<mode>_cf): Specify attributea.
(cmpsi_cf): Name pattern.  Specify attributes.
(cmp<mode>_68881, cmp<mode>_cf): Specify type attribute.
(pushexthisi_const): Fix to use alternatives.  Specify
attributes.
(movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60
from it.  Fix to use alternatives.  Specify attributes.
(movsi_const0_68040_10, movsi_const0_68040_60): New patterns.
(movsi_cf, movstrictqi_cf): Fix to use alternatives.  Specify
attributes.
(movsf_cf_soft): Specify attributes.
(movdf_cf_soft): Add split.
(pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4,
cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2,
68k_extendqisi2, truncdfsf2_cf): Specify attributes.
(truncdfsf2_68881): Name pattern.  Specify attributes.
(floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf,
floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf,
fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32):
Specify attributes.
(addsi3_5200): Fix to use alternatives.  Specify attributes.
Add splits.
(add<mode>3_cf, subdi_dishl32): Specify attributes.
(subsi3): Add alternative for subq.l.  Specify attributes.
(sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes.
(mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern.  Specify
attributes.
(umulhisi3): Specify attributes.
(mulhisisi3_z): Name pattern.  Specify attributes.
(fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200,
sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32,
subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3,
bsetmemqi): Specify attributes.
(bsetmemqi_ext): Name pattern.  Specify attributes.
(bclrmemqi): Specify attributes.
(bclrmemqi_ext, scc, sls): Name pattern.  Specify attributes.
(beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify
attributes.
(beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name
pattern.  Specify attributes.
(jump): Specify attributes.
(tablejump_internal): Name pattern.  Specify attributes.
(call_value): Split into non_symbolic_call_value,
symbolic_call_value_jsr, symbolic_call_value_bsr.  Fix to use
alternatives.  Specify attributes.
(non_symbolic_call_value, symbolic_call_value_jsr,
symbolic_call_value_bsr): New patterns.
(nop, return, unlink, indirect_jump): Specify attributes.
(trap): Fix condition.  Specify attributes.
(ib): New pattern.

* config/m68k/m68k.c (m68k_symbolic_call_var): New variable.
(override_options): Initialize it.  Initialize m68k_sched_cpu.
(CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h.
(const_method): Make global, rename to m68k_const_method.
(const_int_cost, output_move_const_into_data_reg): Update.
(output_move_double): Parametrize to emit rtl code, rename to
handle_move_double.
(output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi,
emit_movsi): New static functions.
(output_move_double): New function with semantics of old
output_move_double.
(m68k_emit_move_double): New function.
(m68k_sched_cpu): New variable.
(attr_op_type): New enum.
(sched_guess_p): New variable.
(sched_address_type, sched_operand_type, sched_attr_op_type):
New static functions.
(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions.
(sched_branch_type): New static variable.
(m68k_sched_branch_type): New function.
* config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum.
(m68k_symbolic_call_var): Declare.
(M68K_CONST_METHOD): Rename from CONST_METHOD.  Move here from m68k.c.
(m68k_const_method, m68k_emit_move_double, m68k_sched_cpu,
m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type):
Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128377 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
jakub [Tue, 11 Sep 2007 13:40:14 +0000 (13:40 +0000)]
* builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
* builtins.c (expand_builtin) <case BUILT_IN_VA_ARG_PACK_LEN>: Issue
error if __builtin_va_arg_pack_len () wasn't optimized out during
inlining.
* tree-inline.c (copy_bb): Replace __builtin_va_arg_pack_len ()
with the number of inline's anonymous arguments.
* doc/extend.texi: Document __builtin_va_arg_pack_len ().

* gcc.dg/va-arg-pack-len-1.c: New test.
* g++.dg/va-arg-pack-len-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128376 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * fold-const.c (extract_muldiv_1): Do not simplify
rakdver [Tue, 11 Sep 2007 13:38:08 +0000 (13:38 +0000)]
* fold-const.c (extract_muldiv_1): Do not simplify
var * c * c to var.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128375 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoPut back previous change, the random failure was caused by a makefile bug,
charlet [Tue, 11 Sep 2007 13:31:51 +0000 (13:31 +0000)]
Put back previous change, the random failure was caused by a makefile bug,
causing the Ada run-time not to be recompiled by the new compiler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128374 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoTemporarily undo previous change, which seems to be causing random
charlet [Tue, 11 Sep 2007 12:13:12 +0000 (12:13 +0000)]
Temporarily undo previous change, which seems to be causing random
failures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128372 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoResync.
charlet [Tue, 11 Sep 2007 11:56:01 +0000 (11:56 +0000)]
Resync.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128371 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.
matz [Tue, 11 Sep 2007 11:45:05 +0000 (11:45 +0000)]
    * gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128370 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
hubicka [Tue, 11 Sep 2007 11:38:05 +0000 (11:38 +0000)]
* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
(TARGET_INTER_UNIT_CONVERSIONS): New.
* i386.md (floatsi expanders): Remove redundant check for SImode
source; offload to memory when asked for.
(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
Update conditions;
(floatsisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory
floatdisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128369 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-11 Javier Miranda <miranda@adacore.com>
charlet [Tue, 11 Sep 2007 11:03:53 +0000 (11:03 +0000)]
2007-09-11  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
in library level record type entities if we are generating statically
allocated dispatch tables.

* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
importing/exporting the _tag declaration by new code
importing/exporting the dispatch table wrapper. This change allows us
to statically allocate of the TSD.
(Make_DT.Export_DT): New procedure.
(Build_Static_DT): New function.
(Has_DT): New function.

* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
True_Constant and Current_Value. Required to statically
allocate the dispatch tables.
(Check_Allocator): Make function iterative instead of recursive.
  Also return inner allocator node, when present, so that we do not have
  to look for that node again in the caller.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128368 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * decl.c (java_expand_body): Kill.
hubicka [Tue, 11 Sep 2007 10:39:53 +0000 (10:39 +0000)]
* decl.c (java_expand_body): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

* toplev.c (process_options): all frontends now do unit-at-a-time.
* cgraphunit.c: update comments.
(cgraph_expand_function): call passmanager dirrectly; emit thunks.
* c-decl.c (finish_function): use cgraph_add_new_function.

* method.c (use_thunk): Use tree_rest_of_compilation
* cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
(LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define.
* cp-tree.h (expand_body): Kill.
(emit_associated_thunks): Declare.
* semantics.c (emit_associated_thunks): Export.
(expand_body): Kill.

* misc.c (gnat_expand_body): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

* f95-lang.c (gfc_expand_function): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

* function.c (expand_function_end): We are always unit-at-a-time.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128367 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Tue, 11 Sep 2007 10:18:35 +0000 (10:18 +0000)]
gcc/
* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
settings for MIPS16.
(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128366 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Tue, 11 Sep 2007 09:51:17 +0000 (09:51 +0000)]
gcc/
* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
SYMBOL_FORCE_TO_MEM constants.
(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
(mips16_rewrite_pool_refs_info): New structure.
(mips16_rewrite_pool_constant): New function, split out from...
(mips16_rewrite_pool_refs): ...here.  Take a pointer to a
mips16_rewrite_pool_refs_info structure rather than a pointer
to a constant pool.  Force force_to_mem_operands into memory.
(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
* config/mips/predicates.md (force_to_mem_operand): New predicate.
* config/mips/constraints.md (kf): New constraint.
* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
(*movsi_mips16): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128365 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Tue, 11 Sep 2007 09:24:59 +0000 (09:24 +0000)]
gcc/
2007-09-11  Richard Sandiford  <richard@codesourcery.com>
    Nigel Stephens  <nigel@mips.com>
    David Ung  <davidu@mips.com>

* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
(mips_zero_extend_cost): New functions.
(mips_rtx_costs): Treat COMPARE constants as having zero cost.
Use the new functions.  Tweak many cost estimates, both here
and in the new subroutines.  Return false when the cost of the
operands has not been calculated.  Check for *clear_upper32.
Check for floating-point multiply-add, reciprocal and rsqrt
patterns.  Handle comparison and rotation codes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128364 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd a missing blank line to separate the two most recent entries.
bje [Tue, 11 Sep 2007 03:30:24 +0000 (03:30 +0000)]
Add a missing blank line to separate the two most recent entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128363 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
dannysmith [Tue, 11 Sep 2007 01:38:40 +0000 (01:38 +0000)]
* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
override default.
* config/i386/i386.c (get_dllimport_decl): Don't strip
FASTCALL_PREFIX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128362 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
janis [Tue, 11 Sep 2007 01:11:16 +0000 (01:11 +0000)]
gcc/
PR c/30013
* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
declarations to top.
(DFP_TO_BFP): Use for either XFmode or TFmode.
(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
of BFP_VIA_TYPE.
* config/dfp-bit.h: Include float.h.
(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
which doesn't mean the same thing.
(BFP_KIND): Use 4 to mean TFmode.
(BFP_FMT): Specify the number of decimal digits based on the
number of mantissa digits.
(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
(STR_TO_BFP): Use strtold for XFmode or TFmode.
(TFtype): Define if TFmode is supported.
* doc/libgcc.texi (Decimal float library routines): Document
TF conversion functions.

gcc/testsuite/
* gcc.dg/dfp/convert-bfp.c: Replace SKIP_LONG_DOUBLE with runtime
checks for size of long double.
* gcc.dg/dfp/convert.h: New file.
* gcc.dg/dfp/convert-bfp-2.c: New test.
* gcc.dg/dfp/convert-bfp-3.c: Ditto.
* gcc.dg/dfp/convert-bfp-4.c: Ditto.
* gcc.dg/dfp/convert-bfp-5.c: Ditto.
* gcc.dg/dfp/convert-bfp-6.c: Ditto.
* gcc.dg/dfp/convert-bfp-7.c: Ditto.
* gcc.dg/dfp/convert-bfp-8.c: Ditto.
* gcc.dg/dfp/convert-bfp-9.c: Ditto.
* gcc.dg/dfp/convert-bfp-10.c: Ditto.
* gcc.dg/dfp/convert-bfp-11.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128361 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
chaoyingfu [Tue, 11 Sep 2007 01:04:08 +0000 (01:04 +0000)]
* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
(mips_emit_compare): Process fixed-point modes.
(mips_pad_arg_upward): Support fixed-point types.
(override_options): Allow fixed-point modes in accumulators.
(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
(mips_scalar_mode_supported_p): New function to accept fixed-point
modes if the width is not greater than two BITS_PER_WORD.
* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
LONG_LONG_ACCUM_TYPE_SIZE): Define.
* config/mips/mips.md ("d"): Update mode attribute for fixed-point
modes.
("IMODE"): New mode attribute.
(mips-fixed.md): Include.
* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
ACCUM, UACCUM.
* config/mips/mips-fixed.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128360 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/spu/spu.md: Formatting fixes.
bje [Tue, 11 Sep 2007 00:41:19 +0000 (00:41 +0000)]
* config/spu/spu.md: Formatting fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128359 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/dfp-bit.c (dfp_unary_func): Delete.
janis [Tue, 11 Sep 2007 00:25:18 +0000 (00:25 +0000)]
* config/dfp-bit.c (dfp_unary_func): Delete.
(dfp_unary_op): Delete.
(dfp_binary_op): Use decFloat functions instead of decNumber
functions for binary operations.
(d32_binary_op): Convert 32-bit operands to 64 bits for evaluation.
(dnn_binary_op): Call dfp_binary_op with decFloat rather than
DFP_C_TYPE.
(dfp_compare_op): Use decFloat functions insteadof decNumber
functions for comparisons.
(d32_compare_op): Convert 32-bit operands to 64 bits for evaluation.
(dnn_binary_op): Call dfp_compare_op with decFloat rather than
DFP_C_TYPE.
(DFP_ADD, DFP_SUB, DFP_MULTIPLE, DFP_DIVIDE): Use macros for
call to dxx_binary_op and decFloat function.
(DFP_EQ, DFP_NE, DFP_LT, DFP_GT, DFP_LE, DFP_GE): Use macros for
calls to dxx_binary_op and decFloat function.
* config/dfp-bit.h: Include decFloat header files.
(decFloat, DFP_BINARY_OP, DFP_COMPARE_OP, DEC_FLOAT_ADD,
DEC_FLOAT_SUBTRACT, DEC_FLOAT_MULTIPLY, DEC_FLOAT_DIVIDE,
DEC_FLOAT_COMPARE, DEC_FLOAT_IS_ZERO, DEC_FLOAT_IS_NAN,
DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128358 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Tue, 11 Sep 2007 00:16:53 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128356 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agorsha Jagasia <harsha.jagasia@amd.com>
hjagasia [Tue, 11 Sep 2007 00:13:47 +0000 (00:13 +0000)]
rsha Jagasia <harsha.jagasia@amd.com>
            Jan Sjodin <jan.sjodin@amd.com>

        * tree-vect-analyze.c (vect_analyze_operations): Change
        comparison of loop iterations with threshold to less than
        or equal to instead of less than. Reduce
        min_scalar_loop_bound by one.
        * tree-vect-transform.c (vect_estimate_min_profitable_iters):
        Change prologue and epilogue iterations estimate to vf/2,
        when unknown at compile-time. Change versioning guard
        cost to taken_branch_cost. If peeling for alignment is
        unknown at compile-time, change peel guard costs to one
        taken branch and one not-taken branch per peeled loop.
        If peeling for alignment is known but number of scalar loop
        iterations is unknown at compile-time, change peel guard
        costs to one taken branch per peeled loop. Change the cost
        model equation to consider vector iterations as the loop
        iterations less the prologue and epilogue iterations.
        Change outside vector cost check to less than or equal to
        zero instead of equal to zero.
        (vect_do_peeling_for_loop_bound): Reduce
        min_scalar_loop_bound by one.
        * tree-vectorizer.h: Add TARG_COND_TAKEN_BRANCH_COST and
        TARG_COND_NOT_TAKEN_BRANCH_COST.
        * config/i386/i386.h (processor_costs): Add
        scalar_stmt_cost, scalar_load_cost, scalar_store_cost,
        vec_stmt_cost, vec_to_scalar_cost, scalar_to_vec_cost,
        vec_align_load_cost, vect_unalign_load_cost,
        vec_store_cost, cond_taken_branch_cost,
        cond_not_taken_branch_cost.
        Define macros for x86 costs.
        * config/i386/i386.c:
        (size_cost): Set scalar_stmt_cost, scalar_load_cost,
        scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
        scalar_to_vec_cost, vec_align_load_cost,
        vect_unalign_load_cost, vec_store_cost,
        cond_taken_branch_cost, cond_not_taken_branch_cost to one.
        (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
        geode_cost, k6_cost, athlon_cost, pentium4_cost, nocona_cost,
        core2_cost, generic64_cost, generic32_cost): Set to default
        untuned costs.
        (k8_cost, amdfam10_cost): Costs for vectorization tuned.
        (x86_builtin_vectorization_cost): New.

2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>

        * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c:
        Change dg-final to expect 1 non-profitable loop and
        3 profitable loops.
        * gcc.dg/vect/costmodel/x86-64/costmodel-vect-31.c:
        Change dg-final to expect 1 non-profitable loop and
        3 profitable loops.
        * gcc.dg/vect/costmodel/x86-64/costmodel-fast-math-vect-pr29925.c:
        Change dg-final to expect 1 profitable loop.
        * gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
        Change dg-final to expect 1 profitable loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128353 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Janis Johnson <janis187@us.ibm.com>
janis [Mon, 10 Sep 2007 20:44:08 +0000 (20:44 +0000)]
2007-09-10  Janis Johnson  <janis187@us.ibm.com>
    Ben Elliston  <bje@au.ibm.com>

libdecnumber/
* Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
(dependencies): Add Symbols headers.
* decContext.c: Upgrade to decNumber 3.53.
* decContext.h: Ditto.
* decDPD.h: Ditto.
* decNumber.c: Ditto.
* decNumber.h: Ditto.
* decNumberLocal.h: Ditto.
* decBasic.c: New file from decNumber 3.53.
* decCommon.c: Ditto.
* decDouble.c: Ditto.
* decDouble.h: Ditto.
* decQuad.c: Ditto.
* decQuad.h: Ditto.
* decSingle.c: Ditto.
* decSingle.h: Ditto.
* decPacked.c: Ditto.
* decPacked.h: Ditto.
* dpd/decimal128.c: Upgrade to decNumber 3.53.
* dpd/decimal128.h: Ditto.
* dpd/decimal32.c: Ditto.
* dpd/decimal32.h: Ditto.
* dpd/decimal64.c: Ditto.
* dpd/decimal64.h: Ditto.
* decLibrary.c (__dec_byte_swap): Remove.
* decContextSymbols.h: New file.
* decDoubleSymbols.h: New file.
* decNumberSymbols.h: New file.
* decPackedSymbols.h: New file.
* decQuadSymbols.h: New file.
* decSingleSymbols.h: New file.
* decUtility.c: Delete file.
* decUtility.h: Delete file.
* bid/decimal128Symbols.h: New file.
* bid/decimal128Local.h: New file.
* bid/decimal32Symbols.h: New file.
* bid/decimal64Symbols.h: New file.
* bid/host-ieee128.c (__swap128): Remove.
(__host_to_ieee_128, __ieee_to_host_128): Don't handle endianness.
* bid/host-ieee32.c (__dec_type_swap): Remove.
(__host_to_ieee_32, __ieee_to_host_32): Don't handle endianness.
* bid/host-ieee64.c (__swap64): Remove.
(__host_to_ieee_64, __ieee_to_host_64): Don't handle endianness.
* dpd/decimal32Symbols.h: New file.
* dpd/decimal64Symbols.h: New file.
* dpd/decimal128Symbols.h: New file.
* dpd/decimal128Local.h: New file.

libgcc/
* Makefile.in (dfp-filenames): Remove decUtility, add
decDouble, decPacked, decQuad, decSingle.

gcc/
* dfp.c: Include decimal128Local.h;
(dfp_byte_swap): Remove.
(encode_decimal32, decode_decimal32): Don't handle endianness.
(encode_decimal64, decode_decimal64): Ditto.
(encode_decimal128, decode_decimal128): Ditto.
* config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
(__swap64): Remove.
(host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
         (__swap128): Remove
(host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
* Makefile.in (DECNUM_H): Add decimal128Local.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128350 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
daney [Mon, 10 Sep 2007 18:23:27 +0000 (18:23 +0000)]
* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
define_constants.
(memory_barrier): Rewrote as an insn that clobbers memory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128349 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Mon, 10 Sep 2007 15:21:18 +0000 (15:21 +0000)]
gcc/
* config/mips/mips.c (mips_global_pointer): Check
call_really_used_regs instead of call_used_regs.
(mips_save_reg_p): Likewise.  Save all call-saved registers
if current_function_saves_all_registers.  Fix indentation.
No longer treat $18 as a special case.
(compute_frame_size): Guard FPR loop with TARGET_HARD_FLOAT.

gcc/testsuite/
* gcc.target/mips/call-saved-1.c: New test.
* gcc.target/mips/call-saved-2.c: Likewise.
* gcc.target/mips/call-saved-3.c: Likewise.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_gp64
instead of mips_mips64.  Set mips_fp64 too.
(is_gp32_flag): Return true for -mips1 and -mips2.
(dg-mips-options): Use mips_gp64 instead of mips_mips64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128347 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Mon, 10 Sep 2007 14:51:48 +0000 (14:51 +0000)]
gcc/
* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
* config/mips/mips.c (mips_cpu_info_table): Mention it in the
the introductory comment.
(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
(override_options): Don't test for it.
* config/mips/sde.h (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
(DRIVER_SELF_SPECS): Add MIPS_ARCH_FLOAT_SPEC.
* config/mips/vr.h: As for config/mips/sde.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128346 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * g++.dg/ext/va-arg-pack-1.C: New test.
jakub [Mon, 10 Sep 2007 14:28:13 +0000 (14:28 +0000)]
* g++.dg/ext/va-arg-pack-1.C: New test.
* g++.dg/ext/va-arg-pack-2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128345 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR other/32154
rask [Mon, 10 Sep 2007 14:20:10 +0000 (14:20 +0000)]
PR other/32154
* configure.ac: For libgloss targets, point the linker to the linker
script, startup code and simulator library.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128344 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoNew target hook to calculate MII
revitale [Mon, 10 Sep 2007 13:16:38 +0000 (13:16 +0000)]
New target hook to calculate MII

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128343 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Mon, 10 Sep 2007 13:10:57 +0000 (13:10 +0000)]
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.c (s390_dump_pool): Create copy of constant
pool entries since they might hold values that must not be shared.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128342 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
rkidd [Mon, 10 Sep 2007 12:49:46 +0000 (12:49 +0000)]
2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>

* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
RTL level tracer pass.
* passes.c (init_optimization_passes): Move pass_tracer from
after pass_rtl_ifcvt to after pass_dce.
* tracer.c: Update copyright.
(layout_superblocks): Remove function.
(mark_bb_seen): New.
(bb_seen_p): New.
(count_insns): Change to estimate instructions in a Tree-SSA
statement.
(find_trace): Use bb_seen_p.
(tail_duplicate): Use bb_seen_p.  Call add_phi_args_after_copy
after duplicate_block.
(tracer): Change prototype to match that of a pass execute
callback.
(gate_tracer): Rename from gate_handle_tracer.
(rest_of_handle_tracer): Remove function.
* rtl.h: Remove prototype for tracer.
* testsuite/gcc.dg/tree-prof/tracer-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128341 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoResync.
charlet [Mon, 10 Sep 2007 12:49:41 +0000 (12:49 +0000)]
Resync.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128340 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
charlet [Mon, 10 Sep 2007 12:49:21 +0000 (12:49 +0000)]
* vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option

* gnat_ugn.texi: Add description of the new '-lratio' option
Update 7.3.1 section about availability of the feature.

* exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
inserted node.

* Makefile.in: (mips-irix section): Activate build of libgmem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128339 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 10 Sep 2007 12:49:04 +0000 (12:49 +0000)]
2007-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Build_Local_Package): A formal package with no
associations is legal if all formals have defaults. It is not
equivalent to a formal declared with a box.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128338 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 10 Sep 2007 12:48:54 +0000 (12:48 +0000)]
2007-09-10  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
given a box association, the type of the component is discriminated,
and the value of the discriminant is the discriminant of the enclosing
type, retrieve its value from the aggregate itself, where it must have
been supplied.

* sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
to remove other spurious ambiguities on arithmetic operations involving
literals and addresses, on systems where Address is a visible integer
type, when the operator is called in functional notation.
(Try_Primitive_Operation): Within an instance, a call in prefixed form
is legal when the types match, even if the operation is currently
hidden.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128337 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Vincent Celier <celier@adacore.com>
charlet [Mon, 10 Sep 2007 12:48:44 +0000 (12:48 +0000)]
2007-09-10  Vincent Celier  <celier@adacore.com>

* prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
parameter Runtime_Project.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128336 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 10 Sep 2007 12:48:35 +0000 (12:48 +0000)]
2007-09-10  Gary Dismukes  <dismukes@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
create an abstract subprogram in the case of 'Input. For 'Output we now
create a real spec/body when the type is abstract, since it can
potentially be called.
(Predefined_Primitive_Bodies): Now allow the creation of a predefined
body for 'Output when the type is abstract (only the creation of the
body for 'Input is excluded when the type is abstract).
(Stream_Operation_OK): Add an additional condition in the return
statement, so that False will be returned for TTS_Stream_Input if the
associated tagged type is an abstract extension. Add comments for
return statement.
(Expand_N_Object_Declaration): For the case of a shared passive
variable, insert init proc call only after the shared variable
procedures have been processed, because the IP call needs to undergo
shared passive variable reference expansion, which requires these
procedures to be available (and elaborated).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128335 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Mon, 10 Sep 2007 12:48:24 +0000 (12:48 +0000)]
2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>

* adaint.c (__gnat_translate_vms): new function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128334 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Emmanuel Briot <briot@adacore.com>
charlet [Mon, 10 Sep 2007 12:47:36 +0000 (12:47 +0000)]
2007-09-10  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
classes ("[]").

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128333 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Robert Dewar <dewar@adacore.com>
charlet [Mon, 10 Sep 2007 12:47:10 +0000 (12:47 +0000)]
2007-09-10  Robert Dewar  <dewar@adacore.com>

* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
types.h, uintp.h, urealp.h, usage.adb, usage.ads,
validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
mlib-tgt-vms.ads: Replace headers with GPL v3 headers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128332 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 10 Sep 2007 12:09:17 +0000 (12:09 +0000)]
2007-09-10  Tobias Burnus  <burnus@net-b.de>

PR fortran/31547
* gfortran.texi: Document when CPP is called.

* intrinsic.texi (IOR): Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128331 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoUpdate copyright notice.
charlet [Mon, 10 Sep 2007 10:14:16 +0000 (10:14 +0000)]
Update copyright notice.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128330 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
ebotcazou [Mon, 10 Sep 2007 10:10:58 +0000 (10:10 +0000)]
* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
x87 registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128329 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/33369
uros [Mon, 10 Sep 2007 09:10:00 +0000 (09:10 +0000)]
PR target/33369
* gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
Use 'N' operand constraint for op2.
(lshr<mode>3): Ditto.
(ashl<mode>3): Ditto.
(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
(vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.

* gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.

testsuite/ChangeLog:

PR target/33369
* gcc.dg/vect/pr33369.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128328 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
ebotcazou [Mon, 10 Sep 2007 08:52:53 +0000 (08:52 +0000)]
* decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
a debug renaming declaration specially.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128327 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Mon, 10 Sep 2007 08:40:04 +0000 (08:40 +0000)]
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
Change mode macro in the last real_2expN parameter to uppercase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128326 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-10 Paul Thomas <pault@gcc.gnu.org>
pault [Mon, 10 Sep 2007 07:54:17 +0000 (07:54 +0000)]
2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/33370
* trans-expr.c (copyable_array_p):  Add tests that expression
is a variable, that it has no subreferences and that it is a
full array.
(gfc_trans_assignment): Change conditions to suit modifications
to copyable_array_p.

2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/33370
* gfortran.dg/array_memcpy_5.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128325 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-pass.h (pass_cselim): Declare new pass.
matz [Mon, 10 Sep 2007 07:40:30 +0000 (07:40 +0000)]
    * tree-pass.h (pass_cselim): Declare new pass.
        * passes.c (init_optimization_passes): Link in pass_cselim.
        * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
        tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
        cond_store_replacement.
        (condstoretemp): New static variable.
        (cond_store_replacement): New function.
        (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
        tree_ssa_phiopt_worker.
        (struct name_to_bb): New.
        (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
        nt_init_block, nt_fini_block): New static functions.
        (seen_ssa_names, nontrap_set): New static variables.
        (gate_cselim, pass_cselim): Define new pass.
        * common.opt (ftree-cselim): New flag.
        * toplev.c (process_options): Set flag_tree_cselim if required.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128324 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * simplify-rtx.c (simplify_relational_operation_1): For recent
hp [Mon, 10 Sep 2007 07:30:16 +0000 (07:30 +0000)]
* simplify-rtx.c (simplify_relational_operation_1): For recent
canonicalization, don't recurse if op1 equals both PLUS arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128323 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * optabs.c (expand_sync_operation): Use plus insn if minus
daney [Mon, 10 Sep 2007 03:18:30 +0000 (03:18 +0000)]
* optabs.c (expand_sync_operation):  Use plus insn if minus
CONST_INT_P(val).
(expand_sync_fetch_operation):  Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128322 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mingw32/proc.c: New file.
dannysmith [Mon, 10 Sep 2007 02:27:29 +0000 (02:27 +0000)]
* config/mingw32/proc.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128321 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Mon, 10 Sep 2007 00:49:11 +0000 (00:49 +0000)]
2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

* i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
of cvtpq2ps.
(*floatsisf2_sse_vector): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128320 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
kristerw [Mon, 10 Sep 2007 00:22:54 +0000 (00:22 +0000)]
* config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128319 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Mon, 10 Sep 2007 00:17:03 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128317 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/tree-ssa/ssa-fre-4.c: Skip for cris-*-* and mmix-*-*.
hp [Sun, 9 Sep 2007 23:41:50 +0000 (23:41 +0000)]
* gcc.dg/tree-ssa/ssa-fre-4.c: Skip for cris-*-* and mmix-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128314 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sun, 9 Sep 2007 23:37:42 +0000 (23:37 +0000)]
2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.h (ix86_tune_indices): Rename
X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
(TARGET_USE_VECTOR_CONVERTS): Updated.
* config/i386/i386.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128313 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/33324
daney [Sun, 9 Sep 2007 23:31:35 +0000 (23:31 +0000)]
PR c++/33324
* init.c (build_new_1):  Use POINTER_PLUS_EXPR instead of MINUS_EXPR
to calculate cookie_ptr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128312 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoput entry for last commit in correct ChangeLog
sandra [Sun, 9 Sep 2007 22:31:02 +0000 (22:31 +0000)]
put entry for last commit in correct ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128309 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 9 Sep 2007 22:29:24 +0000 (22:29 +0000)]
2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
            Nigel Stephens <nigel@mips.com>

gcc/
* doc/invoke.texi (Overall Options):  Add .sx file extension
as a synonym for .S.
* cppspec.c (known_suffixes): Likewise.
* gcc.c (default_compilers): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128308 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
sayle [Sun, 9 Sep 2007 21:47:04 +0000 (21:47 +0000)]
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
* configure: Regenerate.
* config/os/generic/error_constants.h: Guard.
* testsuite/19_diagnostics/headers/system_error/
types_std_c++0x.cc: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128307 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/30315
rask [Sun, 9 Sep 2007 19:21:59 +0000 (19:21 +0000)]
PR target/30315
* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
* simplify-rtx.c (simplify_relational_operation_1): Add the
canonicalization from i386.h.
* doc/md.texi (Canonicalization of Instructions): Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128305 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Sun, 9 Sep 2007 18:56:00 +0000 (18:56 +0000)]
2007-09-09  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/25_algorithms/binary_search.cc: Move...
* testsuite/25_algorithms/binary_search/2.cc: ...here.

* testsuite/25_algorithms/sort.cc: Move...
* testsuite/25_algorithms/sort/1.cc: ...here.
* testsuite/25_algorithms/partial_sort_copy/2.cc: ...here.
* testsuite/25_algorithms/nth_element/3.cc: ...here.
* testsuite/25_algorithms/partial_sort/2.cc: ...here.
* testsuite/25_algorithms/stable_sort/2.cc: ...here.

* testsuite/25_algorithms/min_max.cc: Move...
* testsuite/25_algorithms/min/1.cc: ...here.
* testsuite/25_algorithms/min/2.cc: ...here.
* testsuite/25_algorithms/max/1.cc: ...here.
* testsuite/25_algorithms/max/2.cc: ...here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128303 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Andreas Tobler <a.tobler@schweiz.org>
andreast [Sun, 9 Sep 2007 18:40:36 +0000 (18:40 +0000)]
2007-09-09  Andreas Tobler  <a.tobler@schweiz.org>

PR libgcj/33326
* testsuite/lib/libjava.exp (libjava_arguments): Append the test spec
only for linux targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128302 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
hubicka [Sun, 9 Sep 2007 17:39:28 +0000 (17:39 +0000)]
* i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
(TARGET_USE_VECTOR_CONVERTS): New.
* i386.md: New post-reload splitters for converting SF to DF and DF to
SF.
(floatsi* expander): Special case vector conversions.
(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
Disable when doing vector converts.
(floatsi<mode>2_i387): Disable when
* sse.md (vec_dupv2df): Export.
* i386.c (ix86_tune_features): Enable SSE conversions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128301 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 9 Sep 2007 16:23:26 +0000 (16:23 +0000)]
2007-09-09  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.c (add_virtual_operand): Only mark
stores as has_volatile_ops if alias information is not available.

* gcc.c-torture/compile/20070906-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128300 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd myself to doc/contrib.texi
revitale [Sun, 9 Sep 2007 15:12:51 +0000 (15:12 +0000)]
Add myself to doc/contrib.texi

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128299 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * interpret-run.cc (invokevirtual_resolved): Nullcheck object on
aph [Sun, 9 Sep 2007 14:55:45 +0000 (14:55 +0000)]
    * interpret-run.cc (invokevirtual_resolved): Nullcheck object on
        TOS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128298 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add
irar [Sun, 9 Sep 2007 12:32:18 +0000 (12:32 +0000)]
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add
noinline attribute.
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c,
gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c,
gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128297 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gnat.dg/specs/uc1.ads: Compile with -gnatws.
ebotcazou [Sun, 9 Sep 2007 11:31:42 +0000 (11:31 +0000)]
* gnat.dg/specs/uc1.ads: Compile with -gnatws.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128296 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gnat.dg/addr2_p.ads: Bump size of array to 9.
ebotcazou [Sun, 9 Sep 2007 11:22:30 +0000 (11:22 +0000)]
    * gnat.dg/addr2_p.ads: Bump size of array to 9.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128295 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
irar [Sun, 9 Sep 2007 11:22:24 +0000 (11:22 +0000)]
* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
stmt_vinfo_set_outside_of_loop_cost): New functions.
* tree-vect-transform.c (vect_get_cost_fields): Remove.
(vect_model_simple_cost): Call
stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
field instead of calling vect_get_cost_fields.
(vect_model_store_cost, vect_model_load_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128294 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoFix two warnings in rs6000.c cause by bdesc_paired_preds
revitale [Sun, 9 Sep 2007 09:29:30 +0000 (09:29 +0000)]
Fix two warnings in rs6000.c cause by bdesc_paired_preds

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128293 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoUse new debug counter
revitale [Sun, 9 Sep 2007 09:25:32 +0000 (09:25 +0000)]
Use new debug counter

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128292 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * ChangeLog: Fix cut'n'pasto.
uros [Sun, 9 Sep 2007 09:19:19 +0000 (09:19 +0000)]
* ChangeLog: Fix cut'n'pasto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128291 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Uros Bizjak <ubizjak@gmail.com>
uros [Sun, 9 Sep 2007 09:04:59 +0000 (09:04 +0000)]
2007-09-09  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
        Substitute all uses with ...
        (MODEF): New mode iterator.

        (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc
        define_insn_and_split splitter pattern.
        (fix_trunc<mode>_fisttp_i387_1): Ditto.
        (*fix_trunc<mode>_i387_1): Ditto.
        (*fistdi2_1): Ditto.
        (*fist<mode>2_1): Ditto.
        (frndintxf2_floor): Ditto.
        (*fist<mode>2_floor_1): Ditto.
        (frndintxf2_ceil): Ditto.
        (*fist<mode>2_ceil_1): Ditto.
        (frndintxf2_trunc): Ditto.
        (frndintxf2_mask_pm): Ditto.

        (prologue): Use (const_int 0) as never generated filler insn.
        (epilogue): Ditto.
        (sibcall_epilogue): Ditto.
        (eh_return_si): Ditto.
        (eh_return_di): Ditto.

        (add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
        using MODEF mode iterator.
        (sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
        using MODEF mode iterator.
        (mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
        using MODEF mode iterator.
        (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
        Macroize expander using MODEF mode iterator.

        (zero_extendsidi2): Remove operand constraints from expander.
        (smuldi3_highpart): Ditto.
        (indirect_jump): Ditto.
        (tablejump): Ditto.
        (rsqrtsf2): Ditto.
        * config/i386/sse.md (storentv4sf): Ditto.
        (storentv2df): Ditto.
        (storentv2di): Ditto.
        (storentsi): Ditto.
        (sse2_cvtpd2ps): Ditto.
        (vec_interleave_highv16qi): Ditto.
        (vec_interleave_lowv16qi): Ditto.
        (vec_interleave_highv8hi): Ditto.
        (vec_interleave_lowv8hi): Ditto.
        (vec_interleave_highv4si): Ditto.
        (vec_interleave_lowv4si): Ditto.
        (vec_interleave_highv2di): Ditto.
        (vec_interleave_lowv2di): Ditto.
        (sse2_maskmovdqu): Ditto.
        * config/i386/mmx.md (mmx_maskmovq): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128290 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
irar [Sun, 9 Sep 2007 08:46:12 +0000 (08:46 +0000)]
* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
(struct _slp_tree, struct _slp_instance): Define new data structures
along macros for their access.
(struct _loop_vec_info): Define new fields: strided_stores,
slp_instances, and slp_unrolling_factor along macros for their access.
(enum slp_vect_type): New.
(struct _stmt_vec_info): Define new field, slp_type, and macros for its
access.
(STMT_VINFO_STRIDED_ACCESS): New macro.
(vect_free_slp_tree): Declare.
(vectorizable_load): Add an argument of type slp_tree.
(vectorizable_store, vectorizable_operation, vectorizable_conversion,
vectorizable_assignment): Likewise.
(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
Declare (make extern).
* tree-vectorizer.c (new_stmt_vec_info): Initiliaze the new field.
(new_loop_vec_info): Likewise.
(destroy_loop_vec_info): Free memory allocated for SLP structures.
* tree-vect-analyze.c: Include recog.h.
(vect_update_slp_costs_according_to_vf): New.
(vect_analyze_operations): Add argument for calls to vectorizable_ ()
functions. For not pure SLP stmts with strided access check that the
group size is power of 2. Update the vectorization factor according to
SLP. Call vect_update_slp_costs_according_to_vf.
(vect_analyze_group_access): New.
(vect_analyze_data_ref_access): Call vect_analyze_group_access.
(vect_free_slp_tree): New functions.
(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
vect_detect_hybrid_slp): Likewise.
(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
and vect_detect_hybrid_slp.
* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
SLP costs into account.
(vect_get_cost_fields): New function.
(vect_model_simple_cost): Make extern, add SLP parameter and handle
SLP.
(vect_model_store_cost, vect_model_load_cost): Likewise.
(vect_get_constant_vectors): New function.
(vect_get_slp_vect_defs, vect_get_slp_defs,
vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
vect_get_vec_defs): Likewise.
(vectorizable_reduction): Don't handle SLP for now.
(vectorizable_call): Don't handle SLP for now. Add argument to
vect_model_simple_cost.
(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
get SLPed and vectorized defs). Fix indentation and spacing.
(vectorizable_assignment): Handle SLP.
(vectorizable_induction): Don't handle SLP for now.
(vectorizable_operation): Likewise.
(vectorizable_type_demotion): Add argument to
vect_model_simple_cost.
(vectorizable_type_promotion): Likewise.
(vectorizable_store, vectorizable_load): Handle SLP.
(vectorizable_condition): Don't handle SLP for now.
(vect_transform_stmt): Add a new argument for SLP. Check that there is
no SLP transformation required for unsupported cases. Add SLP
argument for supported cases.
(vect_remove_stores): New function.
(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
(vect_transform_loop): Schedule SLP instances.
* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128289 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
aph [Sun, 9 Sep 2007 08:10:24 +0000 (08:10 +0000)]
    * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
        signed optab.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128288 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
hp [Sun, 9 Sep 2007 04:41:58 +0000 (04:41 +0000)]
Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
Similar for what label_refs can go in the JUMP_TARGET field.  Split
REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
REG_LABEL when replacing an operand with a LABEL_REF for a
non-jump insn.
(subst_reloads): When replacing a LABEL_REG with a register,
instead of generating a REG_LABEL note, assert that there already
is one or that the label is a known target for the insn.
* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
note, check the JUMP_LABEL field.  Remove "else" after return.
* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
insns.  Iterate over all notes; don't assume there's only one.
* cse.c (recorded_label_ref): Adjust comment to refer to
REG_LABEL_OPERAND.
(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
insns, not just NONJUMP_INSN_P.
(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
isn't a jump target.
* jump.c (rebuild_jump_labels): Adjust head comment.
(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
(mark_all_labels): For JUMP_P insns without a target, check if the
the target is noted on the previous nonjump insn.
(mark_jump_label_1): New function, guts from mark_jump_label.
<case IF_THEN_ELSE>: Handle first operand as a non-target when
marking jump target labels.
<case LABEL_REF>: Adjust for whether to generate a
REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
For 'E' format rtl, iterate in descending element order.
(delete_related_insns): Handle both REG_LABEL_TARGET and
REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
reference count, delete and fallthrough.  Move finding-next-
non-deleted insn last in the function.  Look at all INSN_P insns
for REG_LABEL_OPERAND notes.
(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
JUMP.
* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
JUMP_LABEL, output the INSN_UID of it.
* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
and/or REG_LABEL_TARGET.
(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
with jump.c copy by only adding notes for labels actually
referenced in the insn.
* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
usage count increment; handle all INSN_P trial insns.
(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
notes.
* rtl.h (struct rtx_def) <volatil>: Adjust to mention
REG_LABEL_TARGET and REG_LABEL_OPERAND.
(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
REG_LABEL_OPERAND.
* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
JUMP_P insns and REG_LABEL_OPERAND everywhere.
* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
on all INSN_P insns.
* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
REG_LABEL_OPERAND notes.
* reload1.c (calculate_needs_all_insns): Adjust comments.
(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
* config/alpha/alpha.md (split for load of an address into a
four-insn sequence on Unicos/Mk): Adjust to use
REG_LABEL_OPERAND.
* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128287 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/33342
jason [Sun, 9 Sep 2007 04:30:44 +0000 (04:30 +0000)]
    PR c++/33342
        * pt.c (most_specialized_class): Set processing_template_decl
        while tsubsting partial spec args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128286 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/33342
jason [Sun, 9 Sep 2007 03:28:08 +0000 (03:28 +0000)]
    PR c++/33342
        * pt.c (most_specialized_class): Set processing_template_decl
        while tsubsting partial spec args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128285 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Revert:
hp [Sun, 9 Sep 2007 02:23:47 +0000 (02:23 +0000)]
Revert:
2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
FOR_BB_INSNS_SAFE instead of for loop.
* cse.c (cse_extended_basic_block): Likewise.
* postreload.c (reload_cse_regs_1): New variable next. Make sure
that the for loop does not invoke NEXT_INSN on a deleted insn.
* function.c (instantiate_virtual_regs): Likewise.
* lower-subreg.c (remove_retval_note): Likewise.
(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
FOR_BB_INSNS.
* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
a deleted insn.
* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
insn, if it's a jump.
(try_redirect_by_replacing_jump): New variable jump_p. Call
tablejump_p before delete_insn_chain.
* reload1.c (reload): New variable next. Make sure that the for
loop does not invoke NEXT_INSN on a deleted insn.
(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
(delete_output_reload): New variable prev. Make sure the the for
loops do not invoke PREV_INSN on a deleted insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128284 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/testsuite:
jsm28 [Sun, 9 Sep 2007 01:10:17 +0000 (01:10 +0000)]
gcc/testsuite:
* lib/file-format.exp (gcc_target_object_format): Use remote_exec
to call objdump.
* lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not):
Use remote_exec to call c++filt.
* lib/target-supports-dg.exp (dg-require-host-local): New.
* gcc.misc-tests/options.exp: Allow .exe in command paths.
* g++.dg/parse/repo1.C: Use dg-require-host-local.
* g++.dg/rtti/repo1.C: Likewise.
* g++.dg/template/repo1.C: Likewise.
* g++.dg/template/repo2.C: Likewise.
* g++.dg/template/repo3.C: Likewise.
* g++.dg/template/repo4.C: Likewise.
* g++.dg/template/repo5.C: Likewise.
* g++.old-deja/g++.pt/instantiate4.C: Likewise.
* g++.old-deja/g++.pt/instantiate6.C: Likewise.
* g++.old-deja/g++.pt/repo1.C: Likewise.
* g++.old-deja/g++.pt/repo2.C: Likewise.
* g++.old-deja/g++.pt/repo3.C: Likewise.
* g++.old-deja/g++.pt/repo4.C: Likewise.
* gcc.dg/cpp/trad/builtins.c: Likewise.

libstdc++-v3:
* testsuite/lib/libstdc++.exp (v3-build-support): Specify output
file for preprocessing.  Use remote_exec to call ar and ranlib.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128283 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sun, 9 Sep 2007 00:17:08 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128281 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Sun, 9 Sep 2007 00:05:13 +0000 (00:05 +0000)]
2007-09-08  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/functional_hash.h: Add ext/numeric_traits.h.
* include/tr1/functional_hash.h Same.
* include/tr1/functional: Remove string, ext/type_traits.h includes.
* include/tr1_impl/functional_hash.h: Move string, wstring
definitions for std::<hash>::operator into separate file.
* include/std/functional
* src/hash.cc: New, move definitions here.
* src/hash_c++0x.cc: Same.
* src/Makefile.am: Add new source files.
* configure: Regenerate.
* Makefile.in: Same.
* src/Makefile.in: Same.
* po/Makefile.in: Same.
* libmath/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* config/abi/pre/gnu.ver: Add symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Same, fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128278 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * pa/constraints.md: Remove 'X' from unused letters comment.
danglin [Sat, 8 Sep 2007 16:21:50 +0000 (16:21 +0000)]
* pa/constraints.md: Remove 'X' from unused letters comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128277 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-08 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 8 Sep 2007 15:09:25 +0000 (15:09 +0000)]
2007-09-08  Richard Guenther  <rguenther@suse.de>

* tree-tailcall.c (find_tail_calls): If we don't have aliases
computed check stmt_ann->references_memory instead of counting
virtual operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128276 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-09 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sat, 8 Sep 2007 15:01:48 +0000 (15:01 +0000)]
2007-09-09  Segher Boessenkool  <segher@kernel.crashing.org>

* cse.c (fold_rtx): Use validate_unshare_change() instead of
validate_change() in one more case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128275 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/32283
rakdver [Sat, 8 Sep 2007 13:18:49 +0000 (13:18 +0000)]
PR tree-optimization/32283
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Use
estimated_loop_iterations.
(determine_use_iv_cost_condition): Decrease cost of expressions
used in iv elimination.

* gcc.dg/tree-ssa/loop-31.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128272 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-08 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 8 Sep 2007 12:16:58 +0000 (12:16 +0000)]
2007-09-08  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_expr): Avoid building new
pointer types, use TYPE_POINTER_TO if available instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128271 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/26449
uros [Sat, 8 Sep 2007 11:48:17 +0000 (11:48 +0000)]
    PR rtl-optimization/26449
        * gcc.target/i386/pr26449-1.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128270 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/33329
uros [Sat, 8 Sep 2007 11:33:08 +0000 (11:33 +0000)]
    PR target/33329
        PR target/26449
        * config/i386/sse.md (mulv4si3): Do not expand sse2 sequence.
        (*sse2_mulv4si3): New define_insn_and_split pattern. Split insn in
        split1 pass.
        (mulv16qi3): Implement as define_insn_and_split pattern instead of
        define_expand, to split insn in split1 pass.
        (mulv2di3): Ditto.

testsuite/ChangeLog:

        PR target/33329
        PR target/26449
        * gcc.target/i386/pr33329.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128269 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
ebotcazou [Sat, 8 Sep 2007 10:30:06 +0000 (10:30 +0000)]
* decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
which a constant renaming is treated as a normal object declaration.
* trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
the N_Indexed_Component case.
<N_Indexed_Component>: Fall through to above case.
<N_Object_Renaming_Declaration>: Return true for all composite types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128268 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd missing dg command.
ebotcazou [Sat, 8 Sep 2007 10:19:24 +0000 (10:19 +0000)]
Add missing dg command.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128267 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * decl.c (make_packable_type): If the new type has been given BLKmode,
ebotcazou [Sat, 8 Sep 2007 10:02:28 +0000 (10:02 +0000)]
* decl.c (make_packable_type): If the new type has been given BLKmode,
try again to get an integral mode for it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128266 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/33301
dorit [Sat, 8 Sep 2007 09:19:39 +0000 (09:19 +0000)]
    PR tree-optimization/33301
        * tree-vect-analyze (analyze_operations): Look at the type of the rhs
        when relevant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128265 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd support file for controlled2.adb
charlet [Sat, 8 Sep 2007 08:21:05 +0000 (08:21 +0000)]
Add support file for controlled2.adb

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128264 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd spec for controlled2.adb test
charlet [Sat, 8 Sep 2007 08:02:05 +0000 (08:02 +0000)]
Add spec for controlled2.adb test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128263 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-07 Zdenek Dvorak <ook@ucw.cz>
hjl [Sat, 8 Sep 2007 06:46:53 +0000 (06:46 +0000)]
2007-09-07  Zdenek Dvorak  <ook@ucw.cz>

PR tree-optimization/32183
* Makefile.in (tree-ssa-reassoc.o): Also depend on $(CFGLOOP_H).

* tree-ssa-reassoc.c: Include cfgloop.h.
(is_reassociable_op): Add a loop argument and return true only
for inside loop.
(linearize_expr): Updated.
(should_break_up_subtract): Likewise.
(linearize_expr_tree): Likewise.
(init_reassoc): Call loop_optimizer_init with
AVOID_CFG_MODIFICATIONS.  Remove calculate_dominance_info call
with CDI_DOMINATORS.
(fini_reassoc): Call loop_optimizer_finalize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128262 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sat, 8 Sep 2007 00:17:26 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128260 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-09-07 Sterling Augustine <sterling@tensilica.com>
bwilson [Fri, 7 Sep 2007 23:08:39 +0000 (23:08 +0000)]
2007-09-07  Sterling Augustine  <sterling@tensilica.com>
* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
if there is no i-cache.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128256 138bc75d-0d04-0410-961f-82ee72b054a4