1. 19 Apr, 2010 20 commits
    • opts.c (decode_options): Disable whpr incompatible passes. · 3ee2243c
      
      	* opts.c (decode_options): Disable whpr incompatible passes.
      	* lto/lto.c (lto_1_to_1_map): Skip clones.
      	(read_cgraph_and_symbols): Do not mark everything as needed.
      	(do_whole_program_analysis): Do map only after optimizing;
      	set proper cgraph_state; use passmanager.
      
      From-SVN: r158533
      Jan Hubicka committed
    • cfgexpand.c (expand_debug_expr): Check for mismatched modes in POINTER_PLUS_EXPR and fix them. · 576319a7
      * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
      POINTER_PLUS_EXPR and fix them.
      
      From-SVN: r158532
      DJ Delorie committed
    • avr-devices.c (avr_mcu_types): Add support for new devices atmega644pa... · 578ad141
      2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
      
      	* config/avr/avr-devices.c (avr_mcu_types): Add support for new
      	devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
      	attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
      	atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
      	atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
      	atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
      	atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
      	atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
      	m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
      	atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
      	* config/avr/t-avr.c (MULTILIB_MATCHES): Same.
      
      From-SVN: r158530
      Eric B. Weddington committed
    • ifcvt.c (noce_try_cmove_arith): Fix long lines. · d321bd2d
      	* ifcvt.c (noce_try_cmove_arith): Fix long lines.
      	(check_cond_move_block): Likewise.
      	(cond_move_process_if_block): Likewise.
      	(noce_find_if_block): Improve formatting.
      	(find_if_header): Pass 0 to memset and tweak conditions.
      	(cond_exec_find_if_block): Fix long lines and tweak conditions.
      
      From-SVN: r158529
      Eric Botcazou committed
    • re PR fortran/43339 (Incorrect output for pgm checking data sharing attributes) · 310e4472
      	PR fortran/43339
      	* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
      	sequential loops private in the innermost containing task region.
      
      	* gfortran.dg/gomp/sharing-2.f90: Adjust for iteration vars
      	of sequential loops being private only in the innermost containing
      	task region.
      
      From-SVN: r158528
      Jakub Jelinek committed
    • re PR middle-end/43337 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:2103) · fd2e4e99
      	PR middle-end/43337
      	* tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
      	with non-local decl doesn't need chain.
      
      	* gfortran.dg/gomp/pr43337.f90: New test.
      
      From-SVN: r158527
      Jakub Jelinek committed
    • dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0 for -gdwarf-4. · 74e27d0d
      	* dwarf2out.c (lower_bound_default): For DW_LANG_Python return
      	0 for -gdwarf-4.
      
      From-SVN: r158526
      Jakub Jelinek committed
    • ira-color.c (allocno_reload_assign): Avoid accumulating reload registers in… · ec995732
      ira-color.c (allocno_reload_assign): Avoid accumulating reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
      
              * ira-color.c (allocno_reload_assign): Avoid accumulating
              reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
      
      From-SVN: r158524
      Vladimir Makarov committed
    • gimple.h (create_tmp_reg): Declare. · acd63801
      2010-04-19  Martin Jambor  <mjambor@suse.cz>
      
      	* gimple.h (create_tmp_reg): Declare.
      	* gimplify.c (create_tmp_reg): New function.
      	(gimplify_return_expr): Use create_tmp_reg.
      	(gimplify_omp_atomic): Likewise.
      	(gimple_regimplify_operands): Likewise.
      	* tree-dfa.c (make_rename_temp): Likewise.
      	* tree-predcom.c (predcom_tmp_var): Likewise.
      	(reassociate_to_the_same_stmt): Likewise.
      	* tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
      	(get_replaced_param_substitute): Likewise.
      	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
      	* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
      	* tree-ssa-pre.c (get_representative_for): Likewise.
      	(create_expression_by_pieces): Likewise.
      	* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
      	(create_tailcall_accumulator): Likewise.
      
      From-SVN: r158523
      Martin Jambor committed
    • cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update new_stmt. · 0b6e2868
      2010-04-19  Martin Jambor  <mjambor@suse.cz>
      
      	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
      	new_stmt.
      	(cgraph_materialize_all_clones): Assert	!need_ssa_update_p.
      
      From-SVN: r158522
      Martin Jambor committed
    • re PR middle-end/43796 (ICE in is_overflow_infinity (tree-vrp.c:184) with… · 1936a7d4
      re PR middle-end/43796 (ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran -fcheck=bounds -O2)
      
      2010-04-19  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43796
      	* tree-vrp.c (adjust_range_with_scev): Lookup init and step
      	from SCEV in the lattice.
      	(vrp_visit_phi_node): Dump change.
      
      	* gfortran.dg/pr43796.f90: New testcase.
      
      From-SVN: r158520
      Richard Guenther committed
    • configure.ac: Fix quoting around elf_getshstrndx ABI check. · 479881c3
      2010-04-19  Richard Guenther  <rguenther@suse.de>
      
      	* configure.ac: Fix quoting around elf_getshstrndx ABI check.
      	* configure: Re-generated.
      
      From-SVN: r158519
      Richard Guenther committed
    • re PR tree-optimization/43783 (-O -ftree-pre options compile libbid wrong) · d53bed0b
      2010-04-19  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43783
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
      	constant ARRAY_REF operands two and three if possible.
      
      	* gcc.c-torture/execute/pr43783.c: New testcase.
      
      From-SVN: r158517
      Richard Guenther committed
    • re PR target/43766 (x86 prefetch doesn't use complex memory addressing) · 90f775a9
      	PR target/43766
      	* config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
      
      testsuite/ChangeLog:
      
      	PR target/43766
      	* gcc.target/i386/pr43766.c: New test.
      
      From-SVN: r158515
      Uros Bizjak committed
    • zh_CN.po: Update. · 7e4fe2c3
      gcc/po:
      	* zh_CN.po: Update.
      
      libcpp/po:
      	* zh_CN.po: Update.
      
      From-SVN: r158512
      Joseph Myers committed
    • re PR target/43662 (ICE in insert_save with ms_abi attribute) · 8d9b7be5
      	PR target/43662
      	* reginfo.c (reinit_regs): Set caller_save_initialized_p
      	to false.
      
      	testsuite/
      	PR target/43662
      	* gcc.target/i386/pr43662.c: New test.
      
      From-SVN: r158509
      Jie Zhang committed
    • re PR c++/43704 (ICE: tree check: accessed elt 2 of tree_vec with 1 elts in… · d38f6bc0
      re PR c++/43704 (ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074)
      
      Fix PR c++/43704
      
      gcc/cp/ChangeLog:
      	PR c++/43704
      	* typeck.c (structural_comptypes): Test dependent typedefs
      	incompatibility before testing for their main variant based
      	equivalence.
      
      gcc/testsuite/ChangeLog:
      	PR c++/43704
      	* g++.dg/template/typedef32.C: New test.
      
      From-SVN: r158508
      Dodji Seketeli committed
    • re PR tree-optimization/37027 (SLP loop vectorization missing support for reductions) · b5aeb3bb
      
      	PR tree-optimization/37027
      	* tree-vectorizer.h (struct _loop_vec_info): Add new field reductions 
      	and macro to access it.
      	(vectorizable_reduction): Add argument.
      	(vect_get_slp_defs): Likewise.
      	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
      	statements for possible use in SLP.
      	(new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
      	(destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
      	(vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
      	add new argument.
      	(vectorizable_reduction): Likewise.
      	* tree-vect-stmts.c (vect_get_vec_defs): Update call to 
      	vect_get_slp_defs.
      	(vectorizable_type_demotion, vectorizable_type_promotion,
      	vectorizable_store): Likewise.
      	(vect_analyze_stmt): Update call to vectorizable_reduction.
      	(vect_transform_stmt): Likewise.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
      	(vect_build_slp_tree): Fix indentation. Check that there are no loads
      	from different interleaving chains in same node.
      	(vect_slp_rearrange_stmts): New function.
      	(vect_supported_load_permutation_p): Allow load permutations for 
      	reductions. Call vect_slp_rearrange_stmts() to rearrange statements
      	inside SLP nodes if necessary.
      	(vect_analyze_slp_instance): Handle reductions.
      	(vect_analyze_slp): Try to build SLP instances originating from groups
      	of reductions.
      	(vect_detect_hybrid_slp_stmts): Skip reduction statements.
      	(vect_get_constant_vectors): Create initial vectors for reductions
      	according to reduction code. Add new argument.
      	(vect_get_slp_defs): Add new argument, pass it to 
      	vect_get_constant_vectors.
      	(vect_schedule_slp_instance): Remove SLP tree root statements.
      
      From-SVN: r158506
      Ira Rosen committed
    • tree.h (ENUM_IS_SCOPED): Define. · 5a2fa9e8
      	* tree.h (ENUM_IS_SCOPED): Define.
      	* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
      	for ENUM_IS_SCOPED enums.
      cp/
      	* cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
      	ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
      testsuite/
      	* g++.dg/debug/dwarf2/enum1.C: New test.
      
      From-SVN: r158505
      Jakub Jelinek committed
    • Daily bump. · 6e466956
      From-SVN: r158501
      GCC Administrator committed
  2. 18 Apr, 2010 8 commits
    • fold-const.c (fold_comparison): Use ssizetype. · 3b9e5d95
      2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* fold-const.c (fold_comparison): Use ssizetype.
      	* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
      	* ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
      	* tree-loop-distribution.c (build_size_arg_loc): Likewise.
      	* tree-object-size.c (compute_object_sizes): Use size_type_node.
      
      	* tree.h (initialize_sizetypes): Remove parameter.
      	(build_common_tree_nodes): Remove second parameter.
      	* stor-layout.c (initialize_sizetypes): Remove parameter.
      	Always create an unsigned type.
      	(set_sizetype): Assert that the passed type is unsigned and simplify.
      	* tree.c (build_common_tree_nodes): Remove second parameter.
      	Adjust call to initialize_sizetypes.
      	* c-decl.c (c_init_decl_processing): Remove second argument in call to
      	build_common_tree_nodes.
      cp/
      	* decl.c (cxx_init_decl_processing): Remove second argument in call to
      	build_common_tree_nodes.
      java/
      	* decl.c (java_init_decl_processing): Remove argument in call to
      	initialize_sizetypes
      fortran/
      	* f95-lang.c (gfc_init_decl_processing): Remove second argument in call
      	to build_common_tree_nodes.
      ada/
      	* gcc-interface/misc.c (gnat_init): Remove second argument in call to
      	build_common_tree_nodes.
      lto/
      	* lto-lang.c (lto_init): Remove second argument in call to
      	build_common_tree_nodes.
      
      From-SVN: r158496
      Eric Botcazou committed
    • gcc.c (main): Search for liblto_plugin.so with mode R_OK. · b3c35965
      2010-04-18  Matthias Klose  <doko@ubuntu.com>
      
              * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
      
      From-SVN: r158494
      Matthias Klose committed
    • rep_clause5.ad[sb]: New test. · 896ee672
      	* gnat.dg/rep_clause5.ad[sb]: New test.
      	* gnat.dg/rep_clause5_pkg.ads: New helper.
      
      From-SVN: r158488
      Eric Botcazou committed
    • * es.po: Update. · 017bd486
      From-SVN: r158485
      Joseph Myers committed
    • re PR tree-optimization/43771 (ICE on valid when compiling ParMetis with gcc 4.5.0 and -O3) · 59eefaa6
      
      	PR tree-optimization/43771
      	* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
      	load permutation doesn't have gaps.
      
      From-SVN: r158484
      Ira Rosen committed
    • i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New. · 07b3ef2e
      	* i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
      	(sse_prologue_save_insn expander): Use new pattern.
      	(sse_prologue_save_insn1): New pattern and splitter.
      	(sse_prologue_save_insn): Update to deal also with 64bit aligned
      	blocks.
      	* i386.c (setup_incoming_varargs_64): Do not compute jump destination here.
      	(ix86_gimplify_va_arg): Update alignment needed.
      	(ix86_local_alignment): Do not align all local arrays
      	to 128bit.
      
      From-SVN: r158483
      Jan Hubicka committed
    • gsocket.h: Make sure that winsock2.h is included before windows.h. · 0d29aedc
      2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
      
              * gsocket.h: Make sure that winsock2.h is included before windows.h.
      
      From-SVN: r158482
      Ozkan Sezer committed
    • Daily bump. · 092e51d3
      From-SVN: r158481
      GCC Administrator committed
  3. 17 Apr, 2010 12 commits
    • * ipa-inline.c (cgraph_early_inlining): Handle flattening too. · 6a8cd100
      From-SVN: r158477
      Jan Hubicka committed
    • re PR fortran/31538 (misleading bounds check error) · 6c559604
      2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>
      
         PR fortran/31538
         * gfortran.dg/bounds_check_fail_4.f90: Adjust error message.
         * gfortran.dg/bounds_check_fail_3.f90: Ditto.
      
      2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>
      
         PR fortran/31538
         * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
         gfc_msg_bounds by using 'Array bound mismatch' directly.
         (gfc_trans_dummy_array_bias):  Remove the use of gfc_msg_bounds.  Reword
         error message to include the mismatch in the extent of array bound.
         * fortran/trans.c: Remove gfc_msg_bounds.  It is only used in one place.
         * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
      
      From-SVN: r158474
      Steven G. Kargl committed
    • gfortran.texi: Update information on temporary file locations. · 0e9496cc
      2010-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* gfortran.texi: Update information on temporary file locations.
      
      From-SVN: r158473
      Jerry DeLisle committed
    • arm.md (negdi2): Remove redundant code to force values into a register. · 9e315505
      	* arm.md (negdi2): Remove redundant code to force values into a
      	register.
      
      From-SVN: r158472
      Richard Earnshaw committed
    • bpabi.S: Add EABI alignment attributes to objects. · 6f0668cf
      	* arm/bpabi.S: Add EABI alignment attributes to objects.
      	* arm/bpabi-v6m.S: Likewise.
      	* arm/crti.asm: Likewise.
      	* arm/crtn.asm: Likewise.
      	* arm/lib1funcs.asm: Likewise.
      	* arm/libunwind.S: Likewise.
      
      From-SVN: r158470
      Richard Earnshaw committed
    • utils2.c (build_unary_op): Do not issue warning. · f5631ae6
      	* gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
      	issue warning.
      
      From-SVN: r158469
      Eric Botcazou committed
    • Fix copyright date. · b9175f57
      From-SVN: r158468
      Eric Botcazou committed
    • Add missing hunk for previous patch. · b6c056fe
      From-SVN: r158467
      Eric Botcazou committed
    • uintp.h (UI_Lt): Declare. · 728936bb
      	* uintp.h (UI_Lt): Declare.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
      	computation in sizetype.
      	<E_Array_Subtype>: Use unified handling for all index types.  Do not
      	generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
      	bypass for PATs.
      	(annotate_value): Change test for negative values.
      	(validate_size): Apply test for negative values on GNAT nodes.
      	(set_rm_size): Likewise.
      	* gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
      	* gcc-interface/utils.c (rest_of_record_type_compilation): Change test
      	for negative values.
      	(max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
      	(builtin_type_for_size): Adjust definition of signed_size_type_node.
      	* gcc-interface/utils2.c (compare_arrays): Optimize comparison of
      	lengths against zero.
      
      From-SVN: r158466
      Eric Botcazou committed
    • arm-protos.h (tune_params): New structure. · 1b78f575
      	* arm-protos.h (tune_params): New structure.
      	* arm.c (current_tune): New variable.
      	(arm_constant_limit): Delete.
      	(struct processors): Add pointer to the tune parameters.
      	(arm_slowmul_tune): New tuning option.
      	(arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
      	(all_cores): Adjust to pick up the tuning model.
      	(arm_constant_limit): New function.
      	(arm_override_options): Select the appropriate tuning model.  Delete
      	initialization of arm_const_limit.
      	(arm_split_constant): Use the new constant-limit model.
      	(arm_rtx_costs): Pick up the current tuning model.
      	* arm.md (is_strongarm, is_xscale): Delete.
      	* arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
      	for Xscale variant architectures.
      	(mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
      
      From-SVN: r158463
      Richard Earnshaw committed
    • back-end.adb (Call_Back_End): Pass Standard_Character to gigi. · 6936c61a
      	* back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
      	* gcc-interface/gigi.h (gigi): Add standard_character parameter.
      	(CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
      	LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
      	LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
      	rm_size.
      	* gcc-interface/misc.c (gnat_init): Set signedness of char as per
      	flag_signed_char.  Tag sizetype with "size_type" moniker.
      	* gcc-interface/trans.c (gigi): Add standard_character parameter.
      	Remove useless built-in types.  Equate unsigned_char_type_node to
      	Standard.Character.  Use it instead of char_type_node throughout.
      	(Attribute_to_gnu): Likewise.
      	(gnat_to_gnu): Likewise.
      	* gcc-interface/utils2.c (build_call_raise): Likewise.
      
      From-SVN: r158462
      Eric Botcazou committed
    • gigi.h (enum standard_datatypes): Add new values ADT_sbitsize_one_node and ADT_sbitsize_unit_node. · 1081f5a7
      	* gcc-interface/gigi.h (enum standard_datatypes): Add new values
      	ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
      	(sbitsize_one_node): New macro.
      	(sbitsize_unit_node): Likewise.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
      	latent bug in the computation of subrange_p.  Fold wider_p predicate.
      	(cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
      	the final comparison.
      	(make_aligning_type): Build real negation and use sizetype throughout
      	the offset computation.
      	(maybe_pad_type): Do not issue the warning when the new size expression
      	is too complex.
      	(annotate_value) <INTEGER_CST>: Simplify code handling negative values.
      	* gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
      	sbitsize_unit_node.
      	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
      	double negation.
      	(gnat_to_gnu) <N_Free_Statement>: Likewise.
      	* gcc-interface/utils.c (convert): Use sbitsize_unit_node.
      	* gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
      	constants in sizetype.  Remove dead code and tweak comments.  Generate
      	equality instead of inequality comparisons for zero length tests.
      
      From-SVN: r158461
      Eric Botcazou committed