1. 20 Apr, 2010 20 commits
    • builtins.c (build_complex_cproj, [...]): New. · 43272bf5
              * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
              (fold_builtin_1): Fold builtin cproj.
              * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
              Use ATTR_CONST_NOTHROW_LIST.
      
      From-SVN: r158573
      Kaveh R. Ghazi committed
    • re PR c++/43800 (FAIL: libgomp.c++/for-4.C) · 5a80a1dd
      Fix PR c++/43800
      
      gcc/cp/ChangeLog:
      	PR c++/43800
      	PR c++/43704
      	* typeck.c (incompatible_dependent_types_p): If one of the
      	compared types if not a typedef then honour their main variant
      	equivalence.
      
      gcc/testsuite/ChangeLog:
      	PR c++/43800
      	PR c++/43704
      	* g++.dg/template/typedef32.C: Adjust.
      	* g++.dg/template/typedef33.C: New test.
      
      From-SVN: r158571
      Dodji Seketeli committed
    • re PR fortran/43227 (ICE: segmentation fault in mio_expr) · 9c4174d8
      2010-04-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/43227
      	* resolve.c (resolve_fl_derived): If a component character
      	length has not been resolved, do so now.
      	(resolve_symbol): The same as above for a symbol character
      	length.
      	* trans-decl.c (gfc_create_module_variable): A 'length' decl is
      	not needed for a character valued, procedure pointer.
      
      	PR fortran/43266
      	* resolve.c (ensure_not_abstract_walker): If 'overriding' is
      	not found, return FAILURE rather than ICEing.
      
      2010-04-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/43227
      	* gfortran.dg/proc_decl_23.f90: New test.
      
      	PR fortran/43266
      	* gfortran.dg/abstract_type_6.f03: New test.
      
      From-SVN: r158570
      Paul Thomas committed
    • i386.md (ffs<mode>2): Macroize expander from ffs_cmove and ffsdi2 using SWI48 mode iterator. · e96ccb30
      	* config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
      	and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
      	ffsi2_no_cmove for !TARGET_CMOVE.
      	(ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
      	(ffssi2): Remove expander.
      	(*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
      	mode iterator.
      	(ctz<mode>2): Ditto from ctz{si,di}2.
      	(clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
      	mode iterator.
      	(clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
      	mode iterator.
      
      From-SVN: r158569
      Uros Bizjak committed
    • dwarf2out.c (AT_linkage_name): Define. · 4c0ab69d
      	* dwarf2out.c (AT_linkage_name): Define.
      	(clone_as_declaration): Handle DW_AT_linkage_name.
      	(add_name_and_src_coords_attributes): Use AT_linkage_name instead
      	of DW_AT_MIPS_linkage_name.
      	(move_linkage_attr): Likewise.
      	(dwarf2out_finish): Likewise.
      
      From-SVN: r158568
      Jakub Jelinek committed
    • new folding rule · 94e85e0a
      From-SVN: r158567
      Xinliang David Li committed
    • double-int.h (double_int_setbit): Declare. · 54fb1ae0
      	* double-int.h (double_int_setbit): Declare.
      	* double-int.c (double_int_setbit): New function.
      	* rtl.h (immed_double_int_const): Declare.
      	* emit-rtl.c (immed_double_int_const): New function.
      	* builtins.c (expand_builtin_signbit): Clean up, use double_int_*
      	and immed_double_int_const functions.
      	* optabs.c (expand_absneg_bit, expand_copysign_absneg,
      	expand_copysign_bit):  (Ditto.).
      	* simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
      	* tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
      	* dojump.c (prefer_and_bit_test): (Ditto.).
      	* expr.c (convert_modes, reduce_to_bit_field_precision,
      	const_vector_from_tree): (Ditto.).
      	* expmed.c (mask_rtx, lshift_value): (Ditto.).
      
      From-SVN: r158566
      Anatoly Sokolov committed
    • re PR libgomp/43706 (scheduling two threads on one core leads to starvation) · e4ba7a60
      	PR libgomp/43706
      	* config/linux/affinity.c (gomp_init_affinity): Decrease
      	gomp_available_cpus if affinity mask confines the process to fewer
      	CPUs.
      	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
      	non-NULL, just return gomp_available_cpus.
      
      From-SVN: r158565
      Jakub Jelinek committed
    • re PR libgomp/43569 (libgomp: Conditional jump or move depends on uninitialised value) · 5221d7a9
      	PR libgomp/43569
      	* sections.c (gomp_sections_init): Initialize ws->mode.
      
      From-SVN: r158564
      Jakub Jelinek committed
    • cgraph.c (cgraph_remove_node): Kill bodies in other partitoin. · a837268b
      	* cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
      	(dump_cgraph_node): Dump new flags.
      	* cgraph.h (struct cgraph_node): Add flags reachable_from_other_partition
      	and in_other_partition.
      	(cgraph_can_remove_if_no_direct_calls_p): Functions used by other partition
      	can not be removed.
      	* cgraphunit.c (cgraph_mark_functions_to_output): Functions used by the other
      	partition must be output; silence sanity checking on leaking functions
      	bodies from other paritition.
      	* lto-cgraph.c (reachable_from_other_partition_p): New function.
      	(lto_output_node): Output new flags; do not sanity check that inline
      	clones are output; drop lto_forced_extern_inline_p code; do not mock
      	visibility flags at partition boundaries.
      	(add_node_to): New function.
      	(output_cgraph): Use it to sort functions so masters appear before
      	clones.
      	(input_overwrite_node): Input new flags.
      	* passes.c (ipa_write_summaries): Do not call
      	lto_new_extern_inline_states.
      	* lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
      	lto_delete_extern_inline_states, lto_force_functions_extern_inline,
      	lto_forced_extern_inline_p): Kill.
      	* lto-streamer.h (lto_new_extern_inline_states,
      	* lto_delete_extern_inline_states, lto_force_functions_extern_inline,
      	lto_forced_extern_inline_p): Kill.
      
      	* lto.c (lto_add_inline_clones): Do not track inlined_decls.
      	(lto_add_all_inlinees): Likewise.
      	(lto_wpa_write_files): Likewise.
      
      From-SVN: r158563
      Jan Hubicka committed
    • re PR tree-optimization/39417 (Incorrect values computed with -ftree-copy-prop) · 48e50698
      2010-04-20  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/39417
      	* g++.dg/torture/pr39417.C: New testcase.
      
      From-SVN: r158560
      Richard Guenther committed
    • tree-ssa-structalias.c (do_sd_constraint): Add edges only from vars that can have pointers. · 3c323b52
      2010-04-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (do_sd_constraint): Add edges only
      	from vars that can have pointers.
      	(process_constraint): Dump useless constraints.
      
      From-SVN: r158558
      Richard Guenther committed
    • tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF. · b28ae58f
      2010-04-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (do_structure_copy): Properly handle
      	DEREF.
      	(dump_sa_points_to_info): Remove asserts.
      	(init_base_vars): nothing_id isn't an escape point nor does it
      	have pointers.
      
      	* gcc.dg/ipa/ipa-pta-14.c: New testcase.
      
      From-SVN: r158553
      Richard Guenther committed
    • configure.ac (BUILD_CONFIG): Redirect output to /dev/null. · 615c8ffa
      	* configure.ac (BUILD_CONFIG): Redirect output to /dev/null.
      	* configure: Regenerate.
      
      From-SVN: r158550
      Eric Botcazou committed
    • Update copyright notice to use GPLv3. · ee3b548f
      From-SVN: r158543
      Nick Clifton committed
    • tree.h (TYPE_REF_IS_RVALUE): Define. · 1197ce8e
      	* tree.h (TYPE_REF_IS_RVALUE): Define.
      	* dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
      	should_move_die_to_comdat, prune_unused_types_walk): Handle
      	DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
      	(modified_type_die, gen_reference_type_die): Emit
      	DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
      	if TYPE_REF_IS_RVALUE and -gdwarf-4.
      
      	* cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
      
      	* g++.dg/debug/dwarf2/rv1.C: New test.
      
      From-SVN: r158542
      Jakub Jelinek committed
    • re PR target/43635 (ICE in s390_emit_call, at config/s390/s390.c:9484) · 72e2cf16
      2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	PR target/43635
      	* config/s390/s390.c (s390_emit_call): Turn direct into indirect
      	calls for -fpic -m31 if they have been sibcall optimized.
      
      2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	PR target/43635
      	* gcc.c-torture/compile/pr43635.c: New testcase.
      
      From-SVN: r158540
      Andreas Krebbel committed
    • partial fix, make all 'e' class regs fixed PR rtl-optimization/43520 · 4a863f3a
      partial fix, make all 'e' class regs fixed
      PR rtl-optimization/43520
      * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
      ar.lc fixed and call-used.
      
      From-SVN: r158539
      James E. Wilson committed
    • Enable doloop optimization on loops with calls. · 810d71d0
      * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
      
      From-SVN: r158538
      James E. Wilson committed
    • Daily bump. · 44c2f7fc
      From-SVN: r158537
      GCC Administrator committed
  2. 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