1. 30 Oct, 2007 8 commits
  2. 29 Oct, 2007 22 commits
    • longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and x86_64 versions. · 9fe2319e
      	* 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
      Rask Ingemann Lambertsen committed
    • re PR testsuite/24841 (dg-require compilation-test trigged on test with additional-sources barfs) · 9f143763
      	PR testsuite/24841
      	* doc/sourcebuild.texi (Test Directives): Document that dg-require
      	directives must come before dg-additional-sources.
      
      From-SVN: r129744
      Janis Johnson committed
    • re PR tree-optimization/33723 (Inefficient code with compound literals) · 489f2598
      	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
      Jakub Jelinek committed
    • re PR tree-optimization/33614 (ICE on semi-constant vector CONSTRUCTORs) · 9f1da821
      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
      Richard Sandiford committed
    • re PR tree-optimization/33870 (miscompiles sqlite) · 5a347f2b
      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
      Richard Guenther committed
    • re PR tree-optimization/33757 (Revision 126149 fails gcc.dg/tree-ssa/ssa-fre-4.c) · 9c67102d
      	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
      Jakub Jelinek committed
    • re PR c++/33841 (ICE with non-integral bit-field) · e7df0180
      	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
      Jakub Jelinek committed
    • passes.c (init_optimization_passes): Exchange store_copy_prop with copy_prop. · 324d2217
      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
      Richard Guenther committed
    • c++config (_GLIBCXX_DEPRECATED, [...]): New. · 40abbf1f
      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
      Benjamin Kosnik committed
    • ifcvt.c (noce_can_store_speculate_p): New static function. · 0ba227b5
      	* 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
      Ian Lance Taylor committed
    • Makefile.am (ext_compat_headers): New. · 04d05349
      2007-10-29  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/Makefile.am (ext_compat_headers): New.
      	* include/Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r129728
      Benjamin Kosnik committed
    • tree-flow-inline.h (get_subvar_at): Use binary search. · 8ad6aff3
      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
      Richard Guenther committed
    • ChangeLog: Fix formatting. · bcf49b9e
      	* ChangeLog: Fix formatting.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r129723
      Uros Bizjak committed
    • SMS: Add use-def chain problem · 22c7e146
      From-SVN: r129721
      Revital Eres committed
    • [multiple changes] · 640670c7
      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
      Paul Thomas committed
    • 2007-10-29 Razya Ladelsky · a270181e
              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
      Razya Ladelsky committed
    • 2007-09-23 Razya Ladelsky · e19149bf
      	    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
      Razya Ladelsky committed
    • 2007-09-23 Razya Ladelsky · a509ebb5
                  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
      Razya Ladelsky committed
    • stl_algobase.h (_GLIBCXX_MOVE3, [...]): Add. · 245a5fe5
      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
      Paolo Carlini committed
    • cris.c: Include df.h. · a3ef2349
      	* 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
      Hans-Peter Nilsson committed
    • Daily bump. · f153d30a
      From-SVN: r129711
      GCC Administrator committed
    • re PR c++/30659 (ICE in undefined template) · 8259e4f5
      cp/
      2007-10-28  Paolo Carlini  <pcarlini@suse.de>
      	    Mark Mitchell  <mark@codesourcery.com>
      
      	PR c++/30659
      	* pt.c (do_decl_instantiation): If the VAR_DECL is not a
      	class member error out and return.
      
      testsuite/
      2007-10-28  Paolo Carlini  <pcarlini@suse.de>
      	    Mark Mitchell  <mark@codesourcery.com>
      
      	PR c++/30659
      	* g++.dg/template/crash71.C: New.
      
      Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
      
      From-SVN: r129710
      Paolo Carlini committed
  3. 28 Oct, 2007 10 commits