1. 16 Sep, 2013 17 commits
    • re PR middle-end/58418 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 32-bit mode)) · aa940f7c
      2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR middle-end/58418
      	* lra-constraints.c (undo_optional_reloads): Consider all optional
      	reload even if it did not get a hard reg.
      
      2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* gcc.target/i386/pr58418.c: New.
      
      From-SVN: r202630
      Vladimir Makarov committed
    • dumpfile.c (dump_loc): Remove newline emission. · e645e942
      2013-09-16  Teresa Johnson  <tejohnson@google.com>
      
      	* dumpfile.c (dump_loc): Remove newline emission.
      	* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Add newline
      	emission to dump_printf_loc calls where missing.
      	(vect_mark_for_runtime_alias_test): Ditto.
      	(vect_analyze_data_ref_dependence): Ditto.
      	(vect_analyze_data_ref_dependences): Ditto.
      	(vect_slp_analyze_data_ref_dependence): Ditto.
      	(vect_slp_analyze_data_ref_dependences): Ditto.
      	(vect_compute_data_ref_alignment): Ditto.
      	(vect_update_misalignment_for_peel): Ditto.
      	(vect_verify_datarefs_alignment): Ditto.
      	(vector_alignment_reachable_p): Ditto.
      	(vect_get_data_access_cost): Ditto.
      	(vect_enhance_data_refs_alignment): Ditto.
      	(vect_find_same_alignment_drs): Ditto.
      	(vect_analyze_data_refs_alignment): Ditto.
      	(vect_analyze_group_access): Ditto.
      	(vect_analyze_data_ref_access): Ditto.
      	(vect_analyze_data_ref_accesses): Ditto.
      	(vect_prune_runtime_alias_test_list): Ditto.
      	(vect_analyze_data_refs): Ditto.
      	(vect_create_addr_base_for_vector_ref): Ditto.
      	(vect_create_data_ref_ptr): Ditto.
      	(vect_grouped_store_supported): Ditto.
      	(vect_grouped_load_supported): Ditto.
      	* value-prof.c (check_counter): Ditto.
      	(check_ic_target): Ditto.
      	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Ditto.
      	(vect_recog_widen_mult_pattern): Ditto.
      	(vect_recog_widen_sum_pattern): Ditto.
      	(vect_recog_over_widening_pattern): Ditto.
      	(vect_recog_widen_shift_pattern): Ditto.
      	(vect_recog_rotate_pattern): Ditto.
      	(vect_recog_vector_vector_shift_pattern): Ditto.
      	(vect_recog_divmod_pattern): Ditto.
      	(vect_recog_mixed_size_cond_pattern): Ditto.
      	(vect_recog_bool_pattern): Ditto.
      	(vect_pattern_recog_1): Ditto.
      	(vect_pattern_recog): Ditto.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Ditto.
      	(vect_is_simple_iv_evolution): Ditto.
      	(vect_analyze_scalar_cycles_1): Ditto.
      	(vect_get_loop_niters): Ditto.
      	(vect_analyze_loop_1): Ditto.
      	(vect_analyze_loop_form): Ditto.
      	(vect_analyze_loop_operations): Ditto.
      	(vect_analyze_loop_2): Ditto.
      	(vect_analyze_loop): Ditto.
      	(report_vect_op): Ditto.
      	(vect_is_slp_reduction): Ditto.
      	(vect_is_simple_reduction_1): Ditto.
      	(vect_get_known_peeling_cost): Ditto.
      	(vect_estimate_min_profitable_iters): Ditto.
      	(vect_model_reduction_cost): Ditto.
      	(vect_model_induction_cost): Ditto.
      	(get_initial_def_for_induction): Ditto.
      	(vect_create_epilog_for_reduction): Ditto.
      	(vectorizable_reduction): Ditto.
      	(vectorizable_induction): Ditto.
      	(vectorizable_live_operation): Ditto.
      	(vect_loop_kill_debug_uses): Ditto.
      	(vect_transform_loop): Ditto.
      	* tree-vect-stmts.c (vect_mark_relevant): Ditto.
      	(vect_stmt_relevant_p): Ditto.
      	(process_use): Ditto.
      	(vect_mark_stmts_to_be_vectorized): Ditto.
      	(vect_model_simple_cost): Ditto.
      	(vect_model_promotion_demotion_cost): Ditto.
      	(vect_model_store_cost): Ditto.
      	(vect_get_store_cost): Ditto.
      	(vect_model_load_cost): Ditto.
      	(vect_get_load_cost): Ditto.
      	(vect_init_vector_1): Ditto.
      	(vect_get_vec_def_for_operand): Ditto.
      	(vect_finish_stmt_generation): Ditto.
      	(vectorizable_call): Ditto.
      	(vectorizable_conversion): Ditto.
      	(vectorizable_assignment): Ditto.
      	(vectorizable_shift): Ditto.
      	(vectorizable_operation): Ditto.
      	(vectorizable_store): Ditto.
      	(vectorizable_load): Ditto.
      	(vectorizable_condition): Ditto.
      	(vect_analyze_stmt): Ditto.
      	(vect_transform_stmt): Ditto.
      	(vect_is_simple_use): Ditto.
      	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Ditto.
      	(vect_can_advance_ivs_p): Ditto.
      	(vect_update_ivs_after_vectorizer): Ditto.
      	(vect_do_peeling_for_loop_bound): Ditto.
      	(vect_gen_niters_for_prolog_loop): Ditto.
      	(vect_update_inits_of_drs): Ditto.
      	(vect_create_cond_for_alias_checks): Ditto.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Ditto.
      	(vect_build_slp_tree_1): Ditto.
      	(vect_supported_load_permutation_p): Ditto.
      	(vect_analyze_slp_instance): Ditto.
      	(vect_analyze_slp): Ditto.
      	(vect_make_slp_decision): Ditto.
      	(vect_detect_hybrid_slp): Ditto.
      	(vect_bb_vectorization_profitable_p): Ditto.
      	(vect_slp_analyze_bb_1): Ditto.
      	(vect_update_slp_costs_according_to_vf): Ditto.
      	(vect_get_mask_element): Ditto.
      	(vect_transform_slp_perm_load): Ditto.
      	(vect_schedule_slp_instance): Ditto.
      	(vect_schedule_slp): Ditto.
      	(vect_slp_transform_bb): Ditto.
      	* profile.c (read_profile_edge_counts): Ditto.
      	(compute_branch_probabilities): Ditto.
      	* coverage.c (get_coverage_counts): Ditto.
      
      From-SVN: r202628
      Teresa Johnson committed
    • tree-core.h: Add missing comment lines from refactoring of tree.h. · 46f851f3
      	* tree-core.h: Add missing comment lines from refactoring
      	of tree.h.
      
      From-SVN: r202627
      Diego Novillo committed
    • gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract… · 1632a686
      gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract functions; for static functions check the presence of body.
      
      
      
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept
      	abstract functions; for static functions check the presence
      	of body.
      
      From-SVN: r202626
      Jan Hubicka committed
    • [AArch64] Improve arm_neon.h vml<as>_lane handling. · 828e70c1
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def (fma): New.
      	* config/aarch64/aarch64-simd.md
      	(aarch64_mla_elt<mode>): New.
      	(aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
      	(aarch64_mls_elt<mode>): Likewise.
      	(aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
      	(aarch64_fma4_elt<mode>): Likewise.
      	(aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
      	(aarch64_fma4_elt_to_128v2df): Likewise.
      	(aarch64_fma4_elt_to_64df): Likewise.
      	(fnma<mode>4): Likewise.
      	(aarch64_fnma4_elt<mode>): Likewise.
      	(aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
      	(aarch64_fnma4_elt_to_128v2df): Likewise.
      	(aarch64_fnma4_elt_to_64df): Likewise.
      	* config/aarch64/iterators.md (VDQSF): New.
      	* config/aarch64/arm_neon.h
      	(vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation.
      	(vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/fmla-intrinsic.c: New.
      	* gcc.target/aarch64/mla-intrinsic.c: Likewise.
      	* gcc.target/aarch64/fmls-intrinsic.c: Likewise.
      	* gcc.target/aarch64/mls-intrinsic.c: Likewise.
      
      From-SVN: r202625
      James Greenhalgh committed
    • [AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C · 779aea46
      gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New.
      	(aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
      	(aarch64_mul3_elt_to_128df): Likewise.
      	(aarch64_mul3_elt_to_64v2df): Likewise.
      	* config/aarch64/iterators.md (VEL): Also handle DFmode.
      	(VMUL): New.
      	(VMUL_CHANGE_NLANES) Likewise.
      	(h_con): Likewise.
      	(f): Likewise.
      	* config/aarch64/arm_neon.h
      	(vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation.
      
      gcc/testsuite/
      	* gcc.target/aarch64/mul_intrinsic_1.c: New.
      	* gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.
      
      From-SVN: r202624
      James Greenhalgh committed
    • [AArch64] Fix parameters to vcvtx_high · a407a750
      	* config/aarch64/arm_neon.h
      	(vcvtx_high_f32_f64): Fix parameters.
      
      From-SVN: r202623
      James Greenhalgh committed
    • alpha.c: Include tree-ssa.h. · f77e2d2d
      	* config/alpha.c: Include tree-ssa.h.
      
      From-SVN: r202621
      Jan-Benedict Glaw committed
    • tree-loop-distribution.c (enum rdg_dep_type): Add control_dd. · 36875e8f
      2013-09-16  Richard Biener  <rguenther@suse.de>
      
      	* tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
      	(dot_rdg_1): Handle control_dd.
      	(create_edge_for_control_dependence): New function.
      	(create_rdg_edges): Add control dependences if asked for.
      	(build_rdg): Likewise.
      	(generate_loops_for_partition): If there are not necessary
      	control stmts remove all their dependencies.
      	(collect_condition_stmts, rdg_flag_loop_exits): Remove.
      	(distribute_loop): Pass on control dependences.
      	(tree_loop_distribution): Compute control dependences and remove
      	restriction on number of loop nodes.
      
      	* gcc.dg/tree-ssa/ldist-22.c: New testcase.
      
      From-SVN: r202619
      Richard Biener committed
    • Change log update for 202610-202612. · 62e42210
      From-SVN: r202615
      Adam Butcher committed
    • ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls. · 96e24d49
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early
      	for internal calls.
      
      From-SVN: r202614
      Jakub Jelinek committed
    • cse.c (try_const_anchors): Punt on CC modes. · 40dbb05c
      gcc/
      	* cse.c (try_const_anchors): Punt on CC modes.
      
      From-SVN: r202613
      Richard Sandiford committed
    • Support using 'auto' in a function parameter list to introduce an implicit template parameter. · 1a11a94f
      gcc/cp/
      	* cp-tree.h (type_uses_auto_or_concept): Declare.
      	(is_auto_or_concept): Declare.
      	* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
      	-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
      	* type-utils.h: New header defining ...
      	(find_type_usage): ... this new function based on pt.c (type_uses_auto)
      	for searching a type tree given a predicate.
      	* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
      	(is_auto_or_concept): New function.
      	(type_uses_auto_or_concept): New function.
      	* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
      	* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
      	(cp_parser_new): Initialize fully_implicit_function_template_p.
      	(cp_parser_lambda_expression): Copy and restore value of
      	fully_implicit_function_template_p as per other parser fields.
      	(cp_parser_parameter_declaration_list): Count generic
      	parameters and call ...
      	(add_implicit_template_parms): ... this new function to synthesize them
      	with help from type-utils.h (find_type_usage), ...
      	(tree_type_is_auto_or_concept): ... this new static function and ...
      	(make_generic_type_name): ... this new static function.
      	(cp_parser_direct_declarator): Account for implicit template parameters.
      	(cp_parser_lambda_declarator_opt): Finish fully implicit template if
      	necessary by calling ...
      	(finish_fully_implicit_template): ... this new function.
      	(cp_parser_init_declarator): Likewise.
      	(cp_parser_function_definition_after_declarator): Likewise.
      	(cp_parser_member_declaration): Likewise.
      	* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
      	(cp/parser.o): Likewise.
      
      gcc/testsuite/
      	g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now
      	interpreted as implicit templates) to be expected pedwarns instead.
      
      From-SVN: r202612
      Adam Butcher committed
    • Support lambda templates. · 6a8b219b
      	* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
      	list with std=c++1y or std=gnu++1y.
      	(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
      	operator template to avoid adding template result to symbol table.
      	* lambda.c (lambda_function): Return template result if call operator is
      	a template.
      	(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
      	operator call building in order to support conversion of a non-capturing
      	lambda template to a function pointer with help from ...
      	(prepare_op_call): ... this new function.
      	* decl2.c (check_member_template): Don't reject lambda call operator
      	template in local [lambda] class.
      	* pt.c (instantiate_class_template_1): Don't instantiate lambda call
      	operator template when instantiating lambda class.
      
      From-SVN: r202611
      Adam Butcher committed
    • re PR fortran/57697 ([OOP] Segfault with defined assignment for components… · d14fc2c6
      re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
      
      2013-09-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57697
              * resolve.c (generate_component_assignments): Correctly handle
              * the
              case that the LHS is not allocated.
      
      2013-09-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57697
              * gfortran.dg/defined_assignment_10.f90: Comment print
              * statement.
      
      From-SVN: r202609
      Tobias Burnus committed
    • Daily bump. · 2c995b63
      From-SVN: r202608
      GCC Administrator committed
  2. 15 Sep, 2013 6 commits
  3. 14 Sep, 2013 9 commits
    • re PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55) · 403a3fb7
      	PR target/58382
      	* config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
      	calls to word_mode.
      
      From-SVN: r202594
      John David Anglin committed
    • re PR target/48094 (ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto) · fb5610fb
      
      gcc:
      
             PR target/48094
              * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen.
              (darwin_objc1_section): Likewise.
              (darwin_file_end): Emit Image Info section when required.
      
      gcc/c-family:
      
             PR target/48094
              * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
              fobjc-gc, freplace-objc-classes): Accept for LTO.
      
      gcc/objc:
      
             PR target/48094
              * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove.
              (objc_generate_v1_next_metadata): Remove generation of ImageInfo.
              * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove.
              (objc_generate_v2_next_metadata): Remove generation of ImageInfo.
      
      From-SVN: r202593
      Iain Sandoe committed
    • tree-into-ssa.c (gate_into_ssa): New. · afdec9bd
      
      	* tree-into-ssa.c (gate_into_ssa): New.
      	(pass_data_build_ssa): Use it.
      	* cgraph.h (expand_thunk): Update prototype.
      	* cgraphunit.c (analyze_function): Expand thunks early.
      	(expand_thunk): Fix DECL_CONTEXT of reust_decl;
      	build proper cgraph; set in_ssa_p; clear bogus TREE_ASM_WRITTEN;
      	set lowered flag; do not add new function.
      	(assemble_thunks_and_aliases): Update.
      	* tree-ssa.c (gate_init_datastructures): New gate.
      	(pass_data_init_datastructures): Use it.
      
      From-SVN: r202592
      Jan Hubicka committed
    • regex.h (regex_match<>, [...]): Change regex_executor caller. · 7b86458e
      2013-09-14  Tim Shen  <timshen91@gmail.com>
      
      	* include/bits/regex.h (regex_match<>, regex_search<>):
      	Change regex_executor caller. Now use their return value instead
      	of checking __m[0].matched to find out if it's successful.
      	(regex_search<>): Move the search logic to regex_executor.
      	* include/bits/regex_automaton.h: Add some new _Opcode. Refactor
      	_NFA::_M_insert_*.
      	* include/bits/regex_automaton.tcc: Add DEBUG dump for new
      	_Opcode. Refactor _NFA::_M_insert_*.
      	* include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
      	Use make_shared instead of construct by hand.
      	* include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
      	* include/bits/regex_constants.h: Fix indentation and line breaking.
      	* include/bits/regex_executor.h: Add _ResultsEntry to support
      	greedy/ungreedy mode. Move regex_search logic here.
      	* include/bits/regex_executor.tcc: Implement assertions and
      	greedy/ungreedy matching.
      	* include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
      	* include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
      	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
      	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
      	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
      	Fix comment.
      
      From-SVN: r202591
      Tim Shen committed
    • re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision 201915) · 492d1e0a
      gcc:
      
      	PR target/58269
      	config/i386/i386.c (ix86_function_arg_regno_p): Make Darwin use the
      	xmm register set described in the psABI.
      
      From-SVN: r202590
      Iain Sandoe committed
    • Fix glitches · 20442b36
      From-SVN: r202589
      Eric Botcazou committed
    • mulsi3.S: Remove a few unneeded moves and branches. · ceb2fc49
      * config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
      * config/rl78/vregs.h: New.
      * config/rl78/signbit.S: New file.  Implements signbit function.
      * config/rl78/divmodsi.S: New.
      * config/rl78/divmodhi.S: New.
      * config/rl78/divmodqi.S: New.
      * config/rl78/t-rl78: Build them here...
      * config/rl78/lib2div.c: ...but not here.
      
      Co-Authored-By: Nick Clifton <nickc@redhat.com>
      
      From-SVN: r202588
      DJ Delorie committed
    • Remove myself from MAINTAINERS · 03112d94
      From-SVN: r202587
      Gabriel Dos Reis committed
    • Daily bump. · 2984218f
      From-SVN: r202586
      GCC Administrator committed
  4. 13 Sep, 2013 8 commits