Commit Graph

84258 Commits

Author SHA1 Message Date
Revital Eres
e2e95f45a8 Enable auto-vectorization for PowerPC 750CL paired-single instructions
From-SVN: r129803
2007-10-31 17:04:42 +00:00
Tobias Burnus
1e4c40729a [multiple changes]
2007-10-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33941
        * modules.c (intrinsics): Use only alphabetic names for
        intrinsic operators.


2007-10-31  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/33941
        * gfortran.dg/module_read_1.f90: New.

From-SVN: r129801
2007-10-31 16:10:12 +01:00
Tom Tromey
5b9a40df4e re PR preprocessor/30786 (ICE on _Pragma at end of file)
gcc/testsuite
	PR preprocessor/30786:
	* gcc.dg/cpp/pr30786.c: New file.
libcpp
	PR preprocessor/30786:
	* macro.c (builtin_macro): Return result of _cpp_do__Pragma.
	* directives.c (_cpp_do__Pragma): Return error status.
	* internal.h (_cpp_do__Pragma): Update.
	* directives.c (get__Pragma_string): Back up if EOF seen.

From-SVN: r129800
2007-10-31 14:50:13 +00:00
Jerry DeLisle
69d10e15fb re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	* gfortran.dg/interface_19.f90: New.
	* gfortran.dg/interface_20.f90: New.
	* gfortran.dg/interface_21.f90: New.

From-SVN: r129799
2007-10-31 14:30:48 +00:00
Jerry DeLisle
26033479fb re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	* interface.c (compare_intr_interfaces): New function to check intrinsic
	function arguments against formal arguments. (compare_interfaces): Fix
	logic in comparison of function and subroutine attributes.
	(compare_parameter): Use new function for intrinsic as argument.
	* resolve.c (resolve_actual_arglist): Allow an intrinsic without
	function attribute to be checked further.  Set function attribute if
	intrinsic symbol is found, return FAILURE if not.

From-SVN: r129798
2007-10-31 14:26:57 +00:00
Sebastian Pop
2c26cbfd23 re PR tree-optimization/32377 (can't determine dependence (source/destination overlap without more than size))
2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/32377
	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
	work also for unknown number of iterations.
	(analyze_subscript_affine_affine): Clean up.  Don't fail when the 
	number of iterations is not known.

	* gfortran.dg/vect/pr32377.f90: New.

From-SVN: r129797
2007-10-31 13:53:03 +00:00
Richard Guenther
ac029795f3 re PR middle-end/33779 (folds unsigned multiplication == 0 to true)
2007-10-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/33779
	* fold-const.c (extract_muldiv_1): Make sure to not introduce
	new undefined integer overflow.
	(fold_binary): Avoid useless conversion.

	* gcc.c-torture/execute/pr33779-1.c: New testcase.
	* gcc.c-torture/execute/pr33779-2.c: Likewise.

From-SVN: r129796
2007-10-31 12:33:05 +00:00
Paul Thomas
182393f4f7 re PR fortran/33897 (Incorrect host association in module)
2007-10-31  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/33897
        * decl.c (gfc_match_entry): Do not make ENTRY name
        global for contained procedures.
        * parse.c (gfc_fixup_sibling_symbols): Fix code for
        determining whether a procedure is external.

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

        PR fortran/33897
        * gfortran.dg/contained_3.f90: New.

From-SVN: r129795
2007-10-31 10:59:16 +01:00
Richard Sandiford
a3d977243d re PR target/33948 (Bootstrap broken on mips-sgi-irix6.5)
gcc/
	PR target/33948
	* config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P
	check.

From-SVN: r129794
2007-10-31 08:23:30 +00:00
Andreas Krebbel
47d94c1a50 rs6000.opt: Rename -mdfp option to -mhard-dfp.
2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.

	* config/s390/s390.c: (override_options): Replace -mhard-dfp/-msoft-dfp
	with -mhard-dfp/-mno-hard-dfp.
	* config/s390/s390.opt: Likewise.
	* config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
	definition.

From-SVN: r129793
2007-10-31 07:56:01 +00:00
Christian Bruel
0e95aec103 fix PR c++/19531: NRV is performed on volatile temporary
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r129792
2007-10-31 08:55:46 +01:00
GCC Administrator
4ac4ec1822 Daily bump.
From-SVN: r129790
2007-10-31 00:17:17 +00:00
Janis Johnson
ba927a8b4c * tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
From-SVN: r129787
2007-10-30 22:47:38 +00:00
Janis Johnson
0c166d0f1c invoke.texi (Option Summary): Add -fdce and -fdse to list of optimization options.
* doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
	optimization options.
	(Optimize Options): Add -fdce and -fdse to the list of optimizations
	enabled by -O.  Document -fdce and -fdse.

From-SVN: r129786
2007-10-30 22:45:00 +00:00
Jakub Jelinek
33a49c17e8 re PR c++/33709 (Type verification failure with new expression)
PR c++/33709
	* fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
	convert second operand of COMPOUND_EXPR to the original type of
	that argument.

	* g++.dg/opt/compound1.C: New test.

From-SVN: r129785
2007-10-30 23:40:13 +01:00
Jakub Jelinek
4c38e99eb4 re PR c++/33616 ("lvalue required as unary '&' operand" with template pmf)
PR c++/33616
	* decl2.c (build_offset_ref_call_from_tree): Call
	build_non_dependent_expr on object prior to building ADDR_EXPR from it
	if FN is DOTSTAR_EXPR.

	* g++.dg/template/ptrmem18.C: New test.

From-SVN: r129784
2007-10-30 23:37:53 +01:00
Francois-Xavier Coudert
e1332188a4 re PR fortran/33596 (ICE with simplified ISNAN)
PR fortran/33596

	* trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
	from the result of build_call_expr.

	* gfortran.dg/isnan_2.f90: New test.

From-SVN: r129782
2007-10-30 21:48:23 +00:00
Ed Schouten
7e79298c1d re PR tree-optimization/32500 (Loop optimization limits range to size of array used inside loop)
PR tree-optimization/32500
	* gcc.c-torture/execute/pr32500.c: Fix buffer overflow in testcase.

From-SVN: r129781
2007-10-30 20:30:47 +00:00
H.J. Lu
26796ffd3b Remove ">>>>>>> .r129772".
From-SVN: r129777
2007-10-30 10:54:29 -07:00
Doug Gregor
9c6fc6c6e5 Revert accidental change to crash36.C
From-SVN: r129774
2007-10-30 13:38:10 +00:00
Doug Gregor
88b823145e re PR c++/31993 (ICE with template class in variadic template class)
2007-10-30  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31993
	PR c++/32252
	* pt.c (find_parameter_packs_r): Fix typo in comment.
	(convert_template_argument): Look at the pattern of a pack
	expansion to determine what kind of entity we're converting.
	(coerce_template_parameter_pack): When we have coerced a non-type
	template parameter pack, substitute into the type of that pack.
	(tsubst_pack_expansion): When our substitution of a parameter pack
	is a "trivial" substitution of itself, just substitute into the
	pack expansion rather than actually expanding.

2007-10-30  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31993
	PR c++/32252
	* g++.dg/cpp0x/pr31993.C: New
	* g++.dg/cpp0x/pr32252.C: New

From-SVN: r129773
2007-10-30 13:36:34 +00:00
Jakub Jelinek
310750d8ec re PR tree-optimization/33723 (Inefficient code with compound literals)
PR tree-optimization/33723
	* gcc.dg/tree-ssa/pr33723.c (T): Decrease size of field s.

From-SVN: r129772
2007-10-30 14:29:57 +01:00
Richard Guenther
e0734f6239 tree-ssa-operands.c (add_vars_for_offset): Fix exit test of loop adding SFTs as virtual operands.
2007-10-30  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-operands.c (add_vars_for_offset): Fix exit test
	of loop adding SFTs as virtual operands.

	* gcc.c-torture/execute/20071030-1.c: New testcase copied from
	gcc.target/i386/loop-3.c.

From-SVN: r129770
2007-10-30 13:22:36 +00:00
Paolo Carlini
ebb82e2751 re PR libstdc++/33815 (tr1::uniform_int isn't uniform)
2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1_impl/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129769
2007-10-30 13:05:26 +00:00
Richard Guenther
19d8eb46e3 Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H)
2007-10-30  Richard Guenther  <rguenther@suse.de>

        * Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H)
        * dependencies.

From-SVN: r129768
2007-10-30 09:05:44 +00:00
Revital Eres
56ac967158 Fix vectorizer testcase
From-SVN: r129767
2007-10-30 08:26:14 +00:00
Revital Eres
1631b7dee2 Fix vectorizer testcases
From-SVN: r129766
2007-10-30 07:03:49 +00:00
Benjamin Kosnik
43c772540e Correct filename.
2007-10-30  Benjamin Kosnik  <bkoz@redhat.com>

	*docs/html/ext/pb_ds/multimap_text_insert_timing_test_small.html:
	Correct filename.	
	*docs/html/ext/pb_ds/multimap_text_find_timing_test_large.html: Same.
	*docs/html/ext/pb_ds/
	multimap_text_insert_mem_usage_test_small.html: Same.
	*docs/html/ext/pb_ds/multimap_text_insert_timing_test_large.html: Same.
	*docs/html/ext/pb_ds/
	multimap_text_insert_mem_usage_test_large.html: Same.
	*docs/html/ext/pb_ds/multimap_text_find_timing_test_small.html: Same.

2007-10-30  Benjamin Kosnik  <bkoz@redhat.com>
	
	*include/Makefile.am (PCHFLAGS): Remove -Wno-deprecated.
	*include/Makefile.in: Regenerate.
	
	*include/std/memory: Remove extraneous include.

From-SVN: r129765
2007-10-30 05:25:33 +00:00
Dorit Nuzman
a96681aaee re PR target/32893 (zlib segfault in inflate_table() compiled w/ -O -msse2 ftree-vectorize)
PR tree-optimization/32893
        * tree-vectorize.c (vect_can_force_dr_alignment_p): Check
        STACK_BOUNDARY instead of PREFERRED_STACK_BOUNDARY.

From-SVN: r129764
2007-10-30 05:25:10 +00:00
GCC Administrator
43970902e4 Daily bump.
From-SVN: r129759
2007-10-30 00:17:29 +00:00
Rask Ingemann Lambertsen
9fe2319ede longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and x86_64 versions.
* longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
	x86_64 versions.
	(sub_ddmmss): Likewise.
	(umul_ppmm): Likewise.
	(udiv_qrnnd): Likewise.

From-SVN: r129756
2007-10-29 23:54:54 +00:00
Janis Johnson
9f143763f0 re PR testsuite/24841 (dg-require compilation-test trigged on test with additional-sources barfs)
PR testsuite/24841
	* doc/sourcebuild.texi (Test Directives): Document that dg-require
	directives must come before dg-additional-sources.

From-SVN: r129744
2007-10-29 22:33:53 +00:00
Jakub Jelinek
489f2598af re PR tree-optimization/33723 (Inefficient code with compound literals)
PR tree-optimization/33723
	* c-gimplify.c (c_gimplify_expr): Optimize INIT_EXPR or
	MODIFY_EXPR with non-addressable COMPOUND_LITERAL_EXPR as source.

	* gcc.c-torture/execute/20071029-1.c: New test.
	* gcc.dg/tree-ssa/pr33723.c: New test.

From-SVN: r129743
2007-10-29 23:26:59 +01:00
Richard Sandiford
9f1da821e6 re PR tree-optimization/33614 (ICE on semi-constant vector CONSTRUCTORs)
gcc/
	PR tree-optimization/33614
	* gimplify.c (gimplify_init_constructor): Gimplify vector constructors
	if they can't be reduced to VECTOR_CSTs and aren't legitimate
	initializer constants.

gcc/testsuite/
	PR tree-optimization/33614
	* gcc.c-torture/compile/pr33614.c: New test.

From-SVN: r129739
2007-10-29 22:01:24 +00:00
Richard Guenther
5a347f2b40 re PR tree-optimization/33870 (miscompiles sqlite)
2007-10-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33870
	* tree-ssa-operands.c (add_vars_for_offset): Remove mpt_vars parameter.
	(add_virtual_operand): Do not recurse into MPTs looking for pointed-to
	SFTs.

	* gcc.c-torture/execute/pr33870.x: XFAIL testcase for -O2 and -Os.

From-SVN: r129738
2007-10-29 21:47:05 +00:00
Jakub Jelinek
9c67102d11 re PR tree-optimization/33757 (Revision 126149 fails gcc.dg/tree-ssa/ssa-fre-4.c)
PR tree-optimization/33757
	* gcc.dg/tree-ssa/ssa-fre-4.c: Run on selected TARGET_PROMOTE_PROTOTYPES
	true architectures instead of having a big dg-skip-if.

From-SVN: r129737
2007-10-29 22:42:51 +01:00
Jakub Jelinek
e7df01809d re PR c++/33841 (ICE with non-integral bit-field)
PR c++/33841
	* class.c (check_bitfield_decl): Don't set field's type to error_mark_node
	for non-integral type bitfields.  Return true if bitfield is correct, false
	error has been diagnosed.
	(check_field_decls): If check_bitfield_decl returned false, call also
	check_field_decl.

	* g++.dg/other/bitfield3.C: New test.

From-SVN: r129736
2007-10-29 22:41:29 +01:00
Richard Guenther
324d22176d passes.c (init_optimization_passes): Exchange store_copy_prop with copy_prop.
2007-10-29  Richard Guenther  <rguenther@suse.de>

	* passes.c (init_optimization_passes): Exchange store_copy_prop
	with copy_prop.
	* tree-pass.h (pass_store_copy_prop): Remove.
	* tree-ssa-copy.c (do_store_copy_prop): Remove.
	(stmt_may_generate-copy): Do not handle store_copy_prop.
	(get_copy_of_val): Likewise.
	(set_copy_of_val): Likewise.
	(copy_prop_visit_assignment): Likewise.
	(copy_prop_visit_stmt): Likewise.
	(copy_prop_visit_phi_node): Likewise.
	(init_copy_prop): Likewise.
	(execute_copy_prop): Likewise.
	(do_copy_prop): Remove.
	(gate_store_copy_prop): Likewise.
	(store_copy_prop): Likewise.
	(pass_store_copy_prop): Likewise.
	(pass_copy_prop): Call execute_copy_prop.
	* opts.c (decode_options): Do not set flag_tree_store_copy_prop.
	* common.opt (ftree-store-copy-prop): Mark obsolete.
	* doc/invoke.texi (ftree-store-copy-prop): Remove documentation.

	* gcc.dg/tree-ssa/ssa-copyprop-1.c: Scan optimized dump.

From-SVN: r129734
2007-10-29 21:16:45 +00:00
Benjamin Kosnik
40abbf1f17 c++config (_GLIBCXX_DEPRECATED, [...]): New.
2007-10-29  Benjamin Kosnik  <bkoz@redhat.com>
 
	* include/bits/c++config (_GLIBCXX_DEPRECATED,
	_GLIBCXX_USE_DEPRECATED): New. Adjust comments.
	* include/bits/stl_auto_ptr.h: Move...
	* includse/backward/auto_ptr.h: ...here.
	* include/bits/stl_function.h (binder1st, binder2nd, bind1st,
	bind2nd): Move...
	* include/backward/binders.h: ...here. Deprecate in C++0x.

	* include/tr1_impl/boost_shared_ptr.h: Guard auto_ptr usage.
	* include/std/memory: Same.
	* include/std/streambuf: Consistent use of _GLIBCXX_USE_DEPRECATED.

	* include/backward/strstream: Fix guard macros.
	* include/backward/backward_warning.h: Adjust for all new items.

	* config/abi/pre/gnu.ver: Export basic_streambuf::stossc.
	
	* include/Makefile.am (backward_headers): Adjust.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r129733
2007-10-29 21:13:23 +00:00
Ian Lance Taylor
0ba227b5a4 ifcvt.c (noce_can_store_speculate_p): New static function.
* ifcvt.c (noce_can_store_speculate_p): New static function.
	(noce_process_if_block): Call it.
	(if_convert): Remove recompute_dominance parameter.  Change all
	callers.

From-SVN: r129729
2007-10-29 20:41:17 +00:00
Benjamin Kosnik
04d053492e Makefile.am (ext_compat_headers): New.
2007-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (ext_compat_headers): New.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r129728
2007-10-29 20:20:11 +00:00
Richard Guenther
8ad6aff303 tree-flow-inline.h (get_subvar_at): Use binary search.
2007-10-29  Richard Guenther  <rguenther@suse.de>

	* tree-flow-inline.h (get_subvar_at): Use binary search.
	(get_first_overlapping_subvar): New function to binary search
	for the first overlapping subvar.
	* tree-ssa-operands.c (add_vars_for_offset): Strip down to
	just handle adding subvars for a pointed-to subvar.  Optimize
	and use get_first_overlapping_subvar.
	(add_vars_for_bitmap): Fold into single caller.
	(add_virtual_operand): Streamline, inherit add_vars_for_bitmap
	and non pointed-to bits of add_vars_for_offset.

From-SVN: r129727
2007-10-29 18:27:38 +00:00
Uros Bizjak
bcf49b9e57 ChangeLog: Fix formatting.
* ChangeLog: Fix formatting.
	* testsuite/ChangeLog: Ditto.

From-SVN: r129723
2007-10-29 16:28:55 +01:00
Revital Eres
22c7e1461a SMS: Add use-def chain problem
From-SVN: r129721
2007-10-29 14:45:56 +00:00
Paul Thomas
640670c7f4 [multiple changes]
2007-10-29  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/31217
        PR fortran/33811
        PR fortran/33686
        * trans-array.c (gfc_conv_loop_setup): Send a complete type to
        gfc_trans_create_temp_array if the temporary is character.
        * trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
        allocate_temp_for_forall_nest.
        (forall_replace): New function.
        (forall_replace_symtree): New function.
        (forall_restore): New function.
        (forall_restore_symtree): New function.
        (forall_make_variable_temp): New function.
        (check_forall_dependencies): New function.
        (cleanup_forall_symtrees): New function.
        gfc_trans_forall_1): Add and initialize pre and post blocks.
        Call check_forall_dependencies to check for all dependencies
        and either trigger second forall block to copy temporary or
        copy lval, outside the forall construct and replace all
        dependent references. After assignment clean-up and coalesce
        the blocks at the end of the function.
        * gfortran.h : Add prototypes for gfc_traverse_expr and
        find_forall_index.
        expr.c (gfc_traverse_expr): New function to traverse expression
        and visit all subexpressions, under control of a logical flag,
        a symbol and an integer pointer. The slave function is caller
        defined and is only called on EXPR_VARIABLE.
        (expr_set_symbols_referenced): Called by above to set symbols
        referenced.
        (gfc_expr_set_symbols_referenced): Rework of this function to
        use two new functions above.
        * resolve.c (find_forall_index): Rework with gfc_traverse_expr,
        using forall_index.
        (forall_index): New function used by previous.
        * dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
        all references, not just REF_ARRAY.
        (gfc_dep_resolver): Correct the logic for substrings so that
        overlapping arrays are handled correctly.

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

        PR fortran/31217
        PR fortran/33811
        * gfortran.dg/forall_12.f90: New test.

        PR fortran/33686
        * gfortran.dg/forall_13.f90: New test.

From-SVN: r129720
2007-10-29 15:13:44 +01:00
Razya Ladelsky
a270181e40 2007-10-29 Razya Ladelsky
Automatic parallelization reduction tests.

        * testsuite/gcc.dg/tree-ssa/reduc-1.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-1char.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-1short.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-2.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-2char.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-2short.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-3.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-6.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-7.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-8.c: New test.
        * testsuite/gcc.dg/tree-ssa/reduc-9.c: New test.

From-SVN: r129718
2007-10-29 11:57:39 +00:00
Razya Ladelsky
e19149bfb0 2007-09-23 Razya Ladelsky
Zdenek Dvorak

	OMP_ATOMIC expand testsuite related changes.

	* testsuite/gcc.dg/gomp/atomic-3.c: Search for string on
	ompexp dump instead of gimple dump.
	* testsuite/gcc.dg/gomp/atomic-9.c: Same.
	* testsuite/gcc.dg/gomp/atomic-10.c: Same.
	* testsuite/g++.dg/gomp/atomic-3.C: Same.
	* testsuite/g++.dg/gomp/atomic-9.C: Same.
	* testsuite/g++.dg/gomp/atomic-10.C: Same.

From-SVN: r129717
2007-10-29 11:09:09 +00:00
Razya Ladelsky
a509ebb5a1 2007-09-23 Razya Ladelsky
Zdenek Dvorak

        OMP_ATOMIC Changes,
        Reduction support for automatic parallelization.

        * expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
        * tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
        and OMP_ATOMIC_STORE.
        * tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * gimple-low.c (lower_stmt): Same.
        * gimplify.c (gimplify_expr): Same.
        (gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
        gimplify_omp_atomic_mutex): Remove.
        (gimplify_omp_atomic): Change it to simply gimplify the
        statement instead of expanding it.
        * omp-low.c: Add includes to optabs.h, cfgloop.h.
        (expand_omp_atomic, expand_omp_atomic_pipeline,
        goa_stabilize_expr, expand_omp_atomic_mutex,
        expand_omp_atomic_fetch_op): New functions to implement
        expansion of OMP_ATOMIC.
        (expand_omp, build_omp_regions_1): Add support for
        OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
        * tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * tree-parloops.c: add include to tree-vectorizer.h.
        (reduction_info): New structure for reduction.
        (reduction_list): New list to represent list of reductions
        per loop.
        (struct data_arg): New helper structure for reduction.
        (reduction_info_hash, reduction_info_eq, reduction_phi,
        initialize_reductions,
        create_call_for_reduction, create_phi_for_local_result,
        create_call_for_reduction_1, create_loads_for_reductions,
        create_final_loads_for_reduction): New functions.
        (loop_parallel_p): Identify reductions, add reduction_list parameter.
        (separate_decls_in_loop_name): Support reduction variables.
        (separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
        call create_loads_for_reduction for each reduction.
        (canonicalize_loop_ivs): Identify reductions, add reduction_list
        parameter.
        (transform_to_exit_first_loop): Add reduction support, add
        reduction_list parameter.
        (gen_parallel_loop): Add reduction_list parameter. Add call
        separate_decls_in_loop with
        the new argument. Traverse reductions and call
        initialize_reductions, create_call_for_reduction.
        (parallelize_loops): Create and delete the reduction list.
        (add_field_for_name): Change use of data parameter. Add fields for
        reductions.
        * tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
        * tree-vect-analyze.c (vect_analyze_loop_form): export it.
        * tree.def: Add definitions for OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * tree-inline.c (estimate_num_insns_1): add cases for
        OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
        * tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD,
        OMP_ATOMIC_STORE.
        * tree-ssa-operands.c (get_addr_dereference_operands):
        New function. Subroutine of get_indirect_ref_operands.
        (get_indirect_ref_operands): Call get_addr_dereference_operands.
        (get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.

From-SVN: r129716
2007-10-29 11:05:04 +00:00
Paolo Carlini
245a5fe5c0 stl_algobase.h (_GLIBCXX_MOVE3, [...]): Add.
2007-10-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (_GLIBCXX_MOVE3,
	_GLIBCXX_MOVE_BACKWARD3): Add.
	* include/bits/stl_iterator.h (_GLIBCXX_MAKE_MOVE_ITERATOR): Add.
	* include/bits/vector.tcc (vector<>::reserve): Use the latter.
	(vector<>::erase): Use _GLIBCXX_MOVE3.
	* include/bits/deque.tcc (deque<>::erase): Use _GLIBCXX_MOVE3
	and _GLIBCXX_MOVE_BACKWARD3.
	* testsuite/23_containers/vector/modifiers/erase/moveable.cc: New.
	* testsuite/23_containers/vector/capacity/reserve/moveable.cc: New.
	* testsuite/23_containers/deque/modifiers/erase/moveable.cc: New.

From-SVN: r129714
2007-10-29 01:59:49 +00:00
Hans-Peter Nilsson
a3ef23490a cris.c: Include df.h.
* config/cris/cris.c: Include df.h.
	(cris_address_cost): Add gcc_assert for canonicalization
	assumptions.  For PLUS with MULT or register, correct
	test for register in other arm.  Tweak comments.

From-SVN: r129713
2007-10-29 00:26:20 +00:00