2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_vector_init_general): Remove
goto for vec_concat and vec_interleave.
From-SVN: r135725
* gcc.c-torture/execute/builtins/memops-asm.c: Set inside_main.
* lib/gcc-dg.exp (cleanup-saved-temps): Add optional list of
suffixes not to delete.
* gcc.dg/pch/save-temps-1.c: Don't delete ".s" temp.
* g++.dg/pch/pch.C: Likewise.
* g++.old-deja/g++.pt/static11.C: Replace xfail by target requirement.
* lib/dg-pch.exp (dg-pch): Don't expect .s files if there are
dg-errors expected.
From-SVN: r135708
2008-05-20 David Daney <ddaney@avtrex.com>
PR libgcj/36252
* java/lang/natString.ccn: Add
#include <java/io/CharConversionException.h>.
(init (byte[], int, int, String)): Catch and ignore
CharConversionException. Break out of conversion loop
on incomplete input.
* testsuite/libjava.lang/PR36252.java: New test.
* testsuite/libjava.lang/PR36252.out: New file, its expected output.
* testsuite/libjava.lang/PR36252.jar: New file, its pre-compiled
jar file.
From-SVN: r135705
PR testsuite/20771
* lib/dg-pch.exp: Move a flag in arguments to dg-test to differentiate
compile results for pch test lines in gcc.sum.
* gcc.dg/pch/counter-2.c: Add comments to dg-error directives to
make them unique in gcc.sum.
* gcc.dg/pch/valid-1.c: Ditto.
* gcc.dg/pch/valid-2.c: Ditto.
* gcc.dg/pch/valid-3.c: Ditto.
* gcc.dg/pch/warn-1.c: Same for dg-warning.
From-SVN: r135696
* gcc.dg/tree-ssa/ifc-20040816-1.c : signal.h not required.
* gcc.c-torture/execute/ieee/fp-cmp-1.c : Do not include signal.h if SIGNAL_SUPPRESS.
* gcc.c-torture/execute/ieee/fp-cmp-2.c : Ditto.
* gcc.c-torture/execute/ieee/fp-cmp-3.c : Ditto.
From-SVN: r135693
* obj-c++.dg/bitfield-1.mm: XFAIL for ICE; move dg-options after other
test directives; use dg-prune-output instead of dg-excess-errors for
possible message to ignore; adjust line numbers for messages.
From-SVN: r135689
* obj-c++.dg/comp-types-10.mm: XFAIL for ICE.
* obj-c++.dg/try-catch-9.mm: XFAILfor ICE, move dg-options after
other test directives.
From-SVN: r135687
* obj-c++.dg/try-catch-2.mm: Move dg-options after dg-xfail-if.
* obj-c++.dg/encode-8.mm: Move dg-options after dg-do.
* obj-c++.dg/bitfield-4.mm: Ditto; use dg-prune-output instead of
dg-excess-errors for possible additional message.
* obj-c++.dg/layout-1.mm: Use dg-prune-output instead of
dg-excess-errors for possible additional message.
From-SVN: r135686
2008-05-20 David Daney <ddaney@avtrex.com>
* config/mips/mips.md (UNSPEC_SYNC_NEW_OP_12,
UNSPEC_SYNC_OLD_OP_12,
UNSPEC_SYNC_EXCHANGE_12): New define_constants.
(UNSPEC_SYNC_EXCHANGE, UNSPEC_MEMORY_BARRIER,
UNSPEC_SET_GOT_VERSION,
UNSPEC_UPDATE_GOT_VERSION): Renumber.
(optab, insn): Add 'plus' and 'minus' to define_code_attr.
(atomic_hiqi_op): New define_code_iterator.
(sync_compare_and_swap<mode>): Call
mips_expand_atomic_qihi instead of
mips_expand_compare_and_swap_12.
(compare_and_swap_12): Use MIPS_COMPARE_AND_SWAP_12 instead of
MIPS_COMPARE_AND_SWAP_12_0. Pass argument to
MIPS_COMPARE_AND_SWAP_12.
(sync_<optab><mode>, sync_old_<optab><mode>,
sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
sync_new_nand<mode>): New define_expands for HI and QI mode
operands.
(sync_<optab>_12, sync_old_<optab>_12, sync_new_<optab>_12,
sync_nand_12, sync_old_nand_12, sync_new_nand_12): New insns.
(sync_lock_test_and_set<mode>): New define_expand for HI and QI
modes.
(test_and_set_12): New insn.
(sync_old_add<mode>, sync_new_add<mode>, sync_old_<optab><mode>,
sync_new_<optab><mode>, sync_old_nand<mode>,
sync_new_nand<mode>, sync_lock_test_and_set<mode>): Add early
clobber to operand 0 for SI and DI mode insns.
* config/mips/mips-protos.h (mips_gen_fn_6, mips_gen_fn_5,
mips_gen_fn_4): New typedefs.
(mips_gen_fn_ptrs): Define new union type.
(mips_expand_compare_and_swap_12): Remove declaration.
(mips_expand_atomic_qihi): Declare function.
* config/mips/mips.c (mips_expand_compare_and_swap_12): Rename to...
(mips_expand_atomic_qihi): ... this. Use new generator function
parameter.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): Add OPS parameter.
(MIPS_COMPARE_AND_SWAP_12_0): Delete macro.
(MIPS_COMPARE_AND_SWAP_12_ZERO_OP,
MIPS_COMPARE_AND_SWAP_12_NONZERO_OP,
MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
MIPS_SYNC_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12,
MIPS_SYNC_OLD_OP_12_NOT_NOP, MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12_NOT_NOT_REG,
MIPS_SYNC_NEW_OP_12, MIPS_SYNC_NEW_OP_12_NOT_NOP,
MIPS_SYNC_NEW_OP_12_NOT_NOT, MIPS_SYNC_EXCHANGE_12,
MIPS_SYNC_EXCHANGE_12_ZERO_OP,
MIPS_SYNC_EXCHANGE_12_NONZERO_OP): New macros.
From-SVN: r135684
2008-05-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/35204
* tree-ssa-sccvn.c (extract_and_process_scc_for_name): New
helper, split out from ...
(DFS): ... here. Make the DFS walk non-recursive.
From-SVN: r135676
2008-05-20 Sebastian Pop <sebastian.pop@amd.com>
Jan Sjodin <jan.sjodin@amd.com>
PR tree-optimization/36181
* tree-parloops.c (loop_has_vector_phi_nodes): New.
(parallelize_loops): Don't parallelize when the loop has vector
phi nodes.
* gcc.dg/tree-ssa/pr36181.c: New.
From-SVN: r135673
2008-05-20 Jan Sjodin <jan.sjodin@amd.com>
Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/36206
* tree-scalar-evolution.c: Remove enum INSERT_SUPERLOOP_CHRECS,
FOLD_CONVERSIONS.
(instantiate_scev_1): Rename flags to fold_conversions.
Do not check for INSERT_SUPERLOOP_CHRECS, keep SSA_NAMEs defined
outeside instantiation_loop.
* tree-chrec.h (evolution_function_is_affine_in_loop): New.
(evolution_function_is_affine_or_constant_p): Removed.
* tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with
instantiate_scev.
(analyze_siv_subscript): Pass in the loop nest number.
Call evolution_function_is_affine_in_loop instead of
evolution_function_is_affine_p.
(analyze_overlapping_iterations): Pass in the loop nest number.
* tree-chrec.h (chrec_fold_op): New.
* tree-data-ref.c (initialize_matrix_A): Traverse NOP_EXPR, PLUS_EXPR, and
other trees.
* testsuite/gfortran.dg/pr36206.f: New.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r135663
* c-incpath.c (INO_T_EQ): Do not define on non-inode systems.
(DIRS_EQ): New.
(remove_duplicates): Do not set inode on non-inode systems. Use
DIRS_EQ.
From-SVN: r135661
* s-winext.ads: Replace representation clause by pragma Pack. Gives
equivalent representation, but has the advantage of allowing
compilation of this file under 64 bits platforms.
* s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
* s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
* adaint.c:
Don't define dummy implementation of convert_addresses on ppc-linux.
From-SVN: r135649
* a-rttiev.adb
(Set_Handler): Remove code from both of these that implements
RM-D.15(15/2), because it causes a race condition and potential
deadlock.
(Process_Queued_Events): Add comment explaining "exception when others
=> null". Add clarifying ".all", even though implicit .all is legal
here.
From-SVN: r135648