1. 29 Jun, 2017 33 commits
    • builtins.md (ffssi2_internal): Correct constraint. · becb93d0
      2017-06-29  Maya Rashish  <coypu@sdf.org>
      
      	* config/vax/builtins.md (ffssi2_internal): Correct constraint.
      
      From-SVN: r249812
      Maya Rashish committed
    • expr.c (expand_expr): When testing for unaligned objects... · 3ba358bf
      	* expr.c (expand_expr) <normal_inner_ref>: When testing for unaligned
      	objects, take into account only the alignment of 'op0' and 'mode1' if
      	'op0' is a MEM.
      
      From-SVN: r249811
      Eric Botcazou committed
    • re PR fortran/77765 (ICE in gfc_match_oacc_routine, at fortran/openmp.c:1781) · 74582a3e
      	PR fortran/77765
      
      	gcc/fortran/
      	* openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
      	comparing the routine name against it.
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/pr77765.f90: New test.
      
      From-SVN: r249809
      Cesar Philippidis committed
    • ccmp_2.c: New test. · 6da4066f
      2017-06-29  Steve Ellcey  <sellcey@cavium.com>
      
      	* gcc.target/aarch64/ccmp_2.c: New test.
      
      From-SVN: r249806
      Steve Ellcey committed
    • ccmp.c (ccmp_tree_comparison_p): New function. · f580a969
      2017-06-29  Steve Ellcey  <sellcey@cavium.com>
      
      	* ccmp.c (ccmp_tree_comparison_p): New function.
      	(ccmp_candidate_p): Update to use above function.
      	(get_compare_parts): New function.
      	(expand_ccmp_next): Update to use new functions.
      	(expand_ccmp_expr_1): Take tree arg instead of gimple, update to use
      	new functions.
      	(expand_ccmp_expr): Pass tree instead of gimple to expand_ccmp_expr_1,
      	take mode as argument.
      	* ccmp.h (expand_ccmp_expr): Add mode as argument.
      	* expr.c (expand_expr_real_1): Pass mode as argument.
      
      From-SVN: r249805
      Steve Ellcey committed
    • re PR c++/81247 (ICE on invalid C++ code with malformed namespace declaration:… · be3b7dcf
      re PR c++/81247 (ICE on invalid C++ code with malformed namespace declaration: in do_push_nested_namespace, at cp/name-lookup.c:6002)
      
      	PR c++/81247
      	* parser.c (cp_parser_namespace_definition): Immediately close the
      	namespace if there's no open-brace.
      	* name-lookup.c (do_pushdecl): Reset OLD when pushing into new
      	namespace.
      
      From-SVN: r249804
      Nathan Sidwell committed
    • bid2dpd_dpd2bid.c (_bid_to_dpd32): Fix whitespace. · 6044f5e3
      	* bid/bid2dpd_dpd2bid.c (_bid_to_dpd32): Fix whitespace.
      	(_dpd_to_bid32): Simplify identical code on multiple branches.
      	Fix whitespace.
      	(_bid_to_dpd64, _dpd_to_bid64): Likewise.
      	(_bid_to_dpd128, _dpd_to_bid128): Likewise.
      
      From-SVN: r249803
      Sylvestre Ledru committed
    • combine: Print insns with the cost dump · e9d22c8a
      In the combine dump file, at the start there is a list of the RTL cost
      of every insn.  The only thing listed about the insns is the UID though.
      To make it more useful, this patch prints the insn itself as well (in
      slim format).
      
      
      	* combine.c (combine_instructions): Print insns to dump_file, together
      	with their costs.
      
      From-SVN: r249802
      Segher Boessenkool committed
    • asan.c (asan_emit_stack_protection): Update. · 357067f2
      
      	* asan.c (asan_emit_stack_protection): Update.
      	(create_cond_insert_point): Update.
      	* auto-profile.c (afdo_propagate_circuit): Update.
      	* basic-block.h (struct edge_def): Turn probability to
      	profile_probability.
      	(EDGE_FREQUENCY): Update.
      	* bb-reorder.c (find_traces_1_round): Update.
      	(better_edge_p): Update.
      	(sanitize_hot_paths): Update.
      	* cfg.c (unchecked_make_edge): Initialize probability to uninitialized.
      	(make_single_succ_edge): Update.
      	(check_bb_profile): Update.
      	(dump_edge_info): Update.
      	(update_bb_profile_for_threading): Update.
      	* cfganal.c (connect_infinite_loops_to_exit): Initialize new edge
      	probabilitycount to 0.
      	* cfgbuild.c (compute_outgoing_frequencies): Update.
      	* cfgcleanup.c (try_forward_edges): Update.
      	(outgoing_edges_match): Update.
      	(try_crossjump_to_edge): Update.
      	* cfgexpand.c (expand_gimple_cond): Update make_single_succ_edge.
      	(expand_gimple_tailcall): Update.
      	(construct_init_block): Use make_single_succ_edge.
      	(construct_exit_block): Use make_single_succ_edge.
      	* cfghooks.c (verify_flow_info): Update.
      	(redirect_edge_succ_nodup): Update.
      	(split_edge): Update.
      	(account_profile_record): Update.
      	* cfgloopanal.c (single_likely_exit): Update.
      	* cfgloopmanip.c (scale_loop_profile): Update.
      	(set_zero_probability): Remove.
      	(duplicate_loop_to_header_edge): Update.
      	* cfgloopmanip.h (loop_version): Update prototype.
      	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
      	(force_nonfallthru_and_redirect): Update.
      	(update_br_prob_note): Update.
      	(rtl_verify_edges): Update.
      	(purge_dead_edges): Update.
      	(rtl_lv_add_condition_to_bb): Update.
      	* cgraph.c: (cgraph_edge::redirect_call_stmt_to_calle): Update.
      	* cgraphunit.c (init_lowered_empty_function): Update.
      	(cgraph_node::expand_thunk): Update.
      	* cilk-common.c: Include profile-count.h
      	* dojump.c (inv): Remove.
      	(jumpifnot): Update.
      	(jumpifnot_1): Update.
      	(do_jump_1): Update.
      	(do_jump): Update.
      	(do_jump_by_parts_greater_rtx): Update.
      	(do_compare_rtx_and_jump): Update.
      	* dojump.h (jumpifnot, jumpifnot_1, jumpif_1, jumpif, do_jump,
      	do_jump_1. do_compare_rtx_and_jump): Update prototype.
      	* dwarf2cfi.c: Include profile-count.h
      	* except.c (dw2_build_landing_pads): Use make_single_succ_edge.
      	(sjlj_emit_dispatch_table): Likewise.
      	* explow.c: Include profile-count.h
      	* expmed.c (emit_store_flag_force): Update.
      	(do_cmp_and_jump): Update.
      	* expr.c (compare_by_pieces_d::generate): Update.
      	(compare_by_pieces_d::finish_mode): Update.
      	(emit_block_move_via_loop): Update.
      	(store_expr_with_bounds): Update.
      	(store_constructor): Update.
      	(expand_expr_real_2): Update.
      	(expand_expr_real_1): Update.
      	* expr.h (try_casesi, try_tablejump): Update prototypes.
      	* gimple-pretty-print.c (dump_probability): Update.
      	(dump_profile): New.
      	(dump_gimple_label): Update.
      	(dump_gimple_bb_header): Update.
      	* graph.c (draw_cfg_node_succ_edges): Update.
      	* hsa-gen.c (convert_switch_statements): Update.
      	* ifcvt.c (cheap_bb_rtx_cost_p): Update.
      	(find_if_case_1): Update.
      	(find_if_case_2): Update.
      	* internal-fn.c (expand_arith_overflow_result_store): Update.
      	(expand_addsub_overflow): Update.
      	(expand_neg_overflow): Update.
      	(expand_mul_overflow): Update.
      	(expand_vector_ubsan_overflow): Update.
      	* ipa-cp.c (good_cloning_opportunity_p): Update.
      	* ipa-split.c (split_function): Use make_single_succ_edge.
      	* ipa-utils.c (ipa_merge_profiles): Update.
      	* loop-doloop.c (add_test): Update.
      	(doloop_modify): Update.
      	* loop-unroll.c (compare_and_jump_seq): Update.
      	(unroll_loop_runtime_iterations): Update.
      	* lra-constraints.c (lra_inheritance): Update.
      	* lto-streamer-in.c (input_cfg): Update.
      	* lto-streamer-out.c (output_cfg): Update.
      	* mcf.c (adjust_cfg_counts): Update.
      	* modulo-sched.c (sms_schedule): Update.
      	* omp-expand.c (expand_omp_for_init_counts): Update.
      	(extract_omp_for_update_vars): Update.
      	(expand_omp_ordered_sink): Update.
      	(expand_omp_for_ordered_loops): Update.
      	(expand_omp_for_generic): Update.
      	(expand_omp_for_static_nochunk): Update.
      	(expand_omp_for_static_chunk): Update.
      	(expand_cilk_for): Update.
      	(expand_omp_simd): Update.
      	(expand_omp_taskloop_for_outer): Update.
      	(expand_omp_taskloop_for_inner): Update.
      	* omp-simd-clone.c (simd_clone_adjust): Update.
      	* optabs.c (expand_doubleword_shift): Update.
      	(expand_abs): Update.
      	(emit_cmp_and_jump_insn_1): Update.
      	(expand_compare_and_swap_loop): Update.
      	* optabs.h (emit_cmp_and_jump_insns): Update prototype.
      	* predict.c (predictable_edge_p): Update.
      	(edge_probability_reliable_p): Update.
      	(set_even_probabilities): Update.
      	(combine_predictions_for_insn): Update.
      	(combine_predictions_for_bb): Update.
      	(propagate_freq): Update.
      	(estimate_bb_frequencies): Update.
      	(force_edge_cold): Update.
      	* profile-count.c (profile_count::dump): Add missing space into dump.
      	(profile_count::debug): Add newline.
      	(profile_count::differs_from_p): Explicitly convert to unsigned.
      	(profile_count::stream_in): Update.
      	(profile_probability::dump): New member function.
      	(profile_probability::debug): New member function.
      	(profile_probability::differs_from_p): New member function.
      	(profile_probability::differs_lot_from_p): New member function.
      	(profile_probability::stream_in): New member function.
      	(profile_probability::stream_out): New member function.
      	* profile-count.h (profile_count_quality): Rename to ...
      	(profile_quality): ... this one.
      	(profile_probability): New.
      	(profile_count): Update.
      	* profile.c (compute_branch_probabilities): Update.
      	* recog.c (peep2_attempt): Update.
      	* sched-ebb.c (schedule_ebbs): Update.
      	* sched-rgn.c (find_single_block_region): Update.
      	(compute_dom_prob_ps): Update.
      	(schedule_region): Update.
      	* sel-sched-ir.c (compute_succs_info): Update.
      	* stmt.c (struct case_node): Update.
      	(do_jump_if_equal): Update.
      	(get_outgoing_edge_probs): Update.
      	(conditional_probability): Update.
      	(emit_case_dispatch_table): Update.
      	(expand_case): Update.
      	(expand_sjlj_dispatch_table): Update.
      	(emit_case_nodes): Update.
      	* targhooks.c: Update.
      	* tracer.c (better_p): Update.
      	(find_best_successor): Update.
      	* trans-mem.c (expand_transaction): Update.
      	* tree-call-cdce.c: Update.
      	* tree-cfg.c (gimple_split_edge): Upate.
      	(move_sese_region_to_fn): Upate.
      	* tree-cfgcleanup.c (cleanup_control_expr_graph): Upate.
      	* tree-eh.c (lower_resx): Upate.
      	(cleanup_empty_eh_move_lp): Upate.
      	* tree-if-conv.c (version_loop_for_if_conversion): Update.
      	* tree-inline.c (copy_edges_for_bb): Update.
      	(copy_cfg_body): Update.
      	* tree-parloops.c (gen_parallel_loop): Update.
      	* tree-profile.c (gimple_gen_ic_func_profiler): Update.
      	(gimple_gen_time_profiler): Update.
      	* tree-ssa-dce.c (remove_dead_stmt): Update.
      	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
      	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
      	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
      	(unloop_loops): Update.
      	(try_peel_loop): Update.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
      	* tree-ssa-loop-split.c (connect_loops): Update.
      	(split_loop): Update.
      	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
      	(hoist_guard): Update.
      	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
      	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
      	(value_replacement): Update.
      	* tree-ssa-reassoc.c (branch_fixup): Update.
      	* tree-ssa-tail-merge.c (replace_block_by): Update.
      	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
      	(create_edge_and_update_destination_phis): Update.
      	(compute_path_counts): Update.
      	(recompute_probabilities): Update.
      	(update_joiner_offpath_counts): Update.
      	(freqs_to_counts_path): Update.
      	(duplicate_thread_path): Update.
      	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
      	(struct switch_conv_info): Update.
      	(gen_inbound_check): Update.
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
      	(vect_do_peeling): Update.
      	(vect_loop_versioning): Update.
      	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
      	(optimize_mask_stores): Update.
      	* ubsan.c (ubsan_expand_null_ifn): Update.
      	* value-prof.c (gimple_divmod_fixed_value): Update.
      	(gimple_divmod_fixed_value_transform): Update.
      	(gimple_mod_pow2): Update.
      	(gimple_mod_pow2_value_transform): Update.
      	(gimple_mod_subtract): Update.
      	(gimple_mod_subtract_transform): Update.
      	(gimple_ic): Update.
      	(gimple_stringop_fixed_value): Update.
      	(gimple_stringops_transform): Update.
      	* value-prof.h: Update.
      
      From-SVN: r249800
      Jan Hubicka committed
    • Makefile.am (MOSTLYCLEANFILES): Remove testing files and logs. · fac877a1
      	* Makefile.am (MOSTLYCLEANFILES): Remove testing files and logs.
      	(mostlyclean-local): Remove check-runtime-dir, cgo-test-dir,
      	carchive-test-dir.
      	(ECHO_ENV): Define.
      	(check-go-tool): Depend on cgo.  Write command to testlog.
      	(check-runtime): New target.
      	(check-cgo-test): New target.
      	(check-carchive-test): New target.
      	(check): Depend on check-runtime, check-cgo-test,
      	check-carchive-test.  Add @ to prettify output.
      	(.PHONY): Add check-runtime, check-cgo-test, check-carchive-test.
      	* Makefile.in: Rebuild.
      
      From-SVN: r249799
      Ian Lance Taylor committed
    • rs6000-c.c: Add support for built-in functions vector signed int vec_signed (vector float)... · e5898daf
      gcc/ChangeLog:
      
      2017-06-29  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c.c: Add support for built-in functions
      	vector signed int vec_signed (vector float);
      	vector signed long long vec_signed (vector double);
      	vector signed int vec_signed2 (vector double, vector double);
      	vector signed int vec_signede (vector double);
      	vector signed int vec_signedo (vector double);
      	* config/rs6000/rs6000.c (rs6000_generate_vsigned2_code): Add
      	instruction generator.
      	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
      	UNSPEC_VSX_VSIGNED2): Add UNSPECS.
      	(vsx_xvcvspsxws, vsx_xvcvdpuxds_scale, vsx_xvcvspuxws, vsigned2_v2df):
      	Add define_insn.
      	(vsignedo_v2df, vsignede_v2df, vunsigned2_v2df, vunsignedo_v2df,
      	vunsignede_v2df): Add define_expands.
      	* config/rs6000/rs6000-builtin.def (VEC_SIGNED, VEC_UNSIGNED,
      	VEC_SIGNED2, VEC_UNSIGNED2, VEC_SIGNEDE, VEC_UNSIGNEDE, VEC_SIGNEDO,
      	VEC_UNSIGNEDO): Add definitions.
      	* config/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
      	UNSPEC_VSX_VSIGNED2): Add UNSPECs.
      	(vsx_xvcvspsxws, vsx_xvcvspuxws): Add define_insn.
      	(vsigned2_v2df, vsigendo_v2df, vsignede_v2df,
      	vunsigned2_v2df, vunsignedo_v2df, vunsignede_v2df): Add define_expands.
      	* config/rs6000/altivec.h (vec_signed, vec_signed2,
      	vec_signede and vec_signedo, vec_unsigned, vec_unsigned2,
      	vec_unsignede, vec_unsignedo): Add builtin defines.
      	* config/rs6000-protos.h (rs6000_generate_vsigned2_code): Add extern
      	declaration.
      	* doc/extend.texi: Update the built-in documentation file for the
      	new built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-06-29  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3-runnable.c (test_int_result,
      	test_unsigned_int_result, test_ll_int_result,
      	test_ll_unsigned_int_result): Add result checking functions, add
      	debug support.
      	(main): Add builtin function tests.
      
      From-SVN: r249798
      Carl Love committed
    • PR c++/81164 - ICE with invalid inherited constructor. · 84eb0f1a
      	* search.c (binfo_direct_p): New.
      	* name-lookup.c (do_class_using_decl): Use it.
      
      From-SVN: r249797
      Jason Merrill committed
    • misc/cgo/testcarchive: fix test to work for gccgo · 8ff22ea5
          
          This test is not yet run, but it will be soon.
          
          Reviewed-on: https://go-review.googlesource.com/47038
      
      From-SVN: r249795
      Ian Lance Taylor committed
    • cmd/go: fix -buildmode={c-archive,c-shared,pie} for gccgo · 1a7ad6ad
          
          The tests are misc/cgo tests that are not currently run but will be
          run soon.
          
          Reviewed-on: https://go-review.googlesource.com/47037
      
      From-SVN: r249794
      Ian Lance Taylor committed
    • builtins-3-vec_reve-runnable.c (dg-options, dg-skip-if): Add -mvsx -mcpu=power7. · 14836f38
      gcc/testsuite/ChangeLog:
      
      2017-06-29  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3-vec_reve-runnable.c (dg-options,
      	dg-skip-if): Add -mvsx -mcpu=power7.
      
      From-SVN: r249792
      Carl Love committed
    • cp-tree.h (THIS_NAME, [...]): Delete. · e3e6cc26
      	* cp-tree.h (THIS_NAME, IN_CHARGE_NAME, VTBL_PTR_TYPE,
      	VTABLE_DELTA_NAME, VTABLE_PFN_NAME): Delete.
      	* decl.c (initialize_predefined_identifiers): Name cdtor special
      	names consistently.  Use literals for above deleted defines.
      	(cxx_init_decl_processing): Use literal for vtbl_ptr_type name,
      
      From-SVN: r249791
      Nathan Sidwell committed
    • lex.c (maybe_add_lang_type_raw): Exit early, rather than use a flag. · 2de0ccc8
      	* lex.c (maybe_add_lang_type_raw): Exit early, rather than use a
      	flag.
      
      From-SVN: r249790
      Nathan Sidwell committed
    • call.c (check_dtor_name): Use constructor_name for enums too. · 56b2a94b
      	* call.c (check_dtor_name): Use constructor_name for enums too.
      	(build_new_method_call_1): Use constructor_name for cdtors and
      	show ~ for dtor.
      	* class.c (build_self_reference): Use TYPE_NAME to get name of
      	self reference.
      	* name-lookup (constructor_name): Use DECL_NAME directly.
      	(constructor_name_p): Reimplement.
      	(push_class_level_binding_1): Use TYPE_NAME directly.
      
      From-SVN: r249789
      Nathan Sidwell committed
    • class.c (finish_struct): Use OVL_P. · 79a2e690
      	* class.c (finish_struct): Use OVL_P.
      	(get_vfield_name): Measure constructor_name length.
      	* cp-tree.h (SET_CLASS_TYPE_P): Add RECORD_OR_UNION_CHECK.
      	(NON_UNION_CLASS_TYPE_P): Check RECORD_TYPE up front.
      	* cxx-pretty-print.c (is_destructor_name): Delete.
      	(pp_cxx_unqualified_id): Remove bogus destructor name checking.
      	* decl.c (grokfndecl): Move cheap checks first when looking for
      	implicit extern cness.
      
      From-SVN: r249788
      Nathan Sidwell committed
    • parser.c (cp_parser_direct_declarator): Reorder if to avoid indentation. · 9a82bd05
      	* parser.c (cp_parser_direct_declarator): Reorder if to avoid
      	indentation. Remove unnecessary assignment of constructor name.
      
      From-SVN: r249787
      Nathan Sidwell committed
    • Whitespace cleanups. · e9888922
      	* call.c (name_as_c_string): Move CONST_CAST to return.
      	(build_new_method_call_1): Remove unneeded bracing.
      	* class.c (include_empty_classes): Unbreak line.
      	* constraint.cc (tsubst_check_constraint): Add space.
      	* cp-tree.h (lang_decl_ns): Add comment.
      	(PTRMEM_CST_MEMBER): Break line.
      	* decl.c (grokfndecl): Add blank lines. Unbreak some others.
      	(grokdeclarator): Remove lines, move declaration to first use.
      	* decl2.c (decl_needed_p): Fix indentation.
      	(c_parse_final_cleanups): Remove blank line.
      	* method.c (implicitly_declare_fn): Move declaration to first use.
      	* search.c (current_scope): Add blank lines.
      
      From-SVN: r249786
      Nathan Sidwell committed
    • tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add reduction chains to… · 0630a4ec
      tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add reduction chains to LOOP_VINFO_REDUCTIONS.
      
      2017-06-29  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add
      	reduction chains to LOOP_VINFO_REDUCTIONS.
      	* tree-vect-slp.c (vect_analyze_slp): Continue looking for
      	SLP reductions after processing reduction chains.
      
      	* gcc.dg/vect/slp-reduc-8.c: New testcase.
      
      From-SVN: r249785
      Richard Biener committed
    • builtins.c (fold_builtin_FUNCTION): Use lang_hooks.decl_printable_name. · f76b4224
      	gcc/
      	* builtins.c (fold_builtin_FUNCTION): Use
      	lang_hooks.decl_printable_name.
      
      	gcc/cp/
      	* g++.dg/cpp1y/builtin_FUNCTION.C: New.
      
      From-SVN: r249784
      Nathan Sidwell committed
    • re PR middle-end/81194 (ICE during RTL pass: expand) · f66459c1
      gcc/
      	PR middle-end/81194
      	* cfgexpand.c (expand_gimple_stmt_1): Handle switch statements
      	with only one label.
      	* stmt.c (expand_case): Assert NCASES is greater than one.
      
      gcc/testsuite/
      	PR middle-end/81194
      	* g++.dg/pr81194.C: New test.
      
      From-SVN: r249783
      Peter Bergner committed
    • Add a testcase for PR ipa/80565 · 3c7bb489
      The testcase in
      
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80565
      
      is passing now.  Check in the testcase and resolve it as fixed.
      
      	PR ipa/80565
      	* gcc.dg/torture/pr80565.c: New file.
      
      From-SVN: r249782
      H.J. Lu committed
    • tree-cfg.c (group_case_labels_stmt): Return whether we changed anything. · 4e3e8a5f
      2017-06-29  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (group_case_labels_stmt): Return whether we changed
      	anything.
      	(group_case_labels): Likewise.
      	(find_taken_edge): Push sanity checking on val to workers...
      	(find_taken_edge_cond_expr): ... here
      	(find_taken_edge_switch_expr): ... and here, handle cases
      	with just a default label.
      	* tree-cfg.h (group_case_labels_stmt): Adjust prototype.
      	(group_case_labels): Likewise.
      	* tree-cfgcleanup.c (execute_cleanup_cfg_post_optimizing): When
      	group_case_labels does anything cleanup the CFG again.
      
      From-SVN: r249780
      Richard Biener committed
    • re PR tree-optimization/81196 (Number of iterations found for p!=q but not for p<q) · 6cd83bec
      	PR tree-optimization/81196
      	* tree-ssa-loop-niter.c (number_of_iterations_cond): Handle loop
      	exit condition comparing two IVs.
      
      	gcc/testsuite
      	* gcc.dg/vect/pr81196.c: New.
      
      From-SVN: r249778
      Bin Cheng committed
    • [arm] Fix bootstrap - missing initializer in tail entry of autogenerated code · a7c9a304
      My patch yesterday accidentally missed a hunk that added the
      update to the tail entry of the autogenerated data structure
      produced by parsecpu.awk.  This causes native bootstraps to
      fail.
      
      This patch adds back the missing hunk.
      
      2017-06-29  Richard Earnshaw  <rearnsha@arm.com>
      
      	* config/arm/parsecpu.awk (gen_comm_data): Add initializer for
      	profile to the dummy entry at the end of the list of architectures.
      	* config/arm/arm-cpu-cdata.h: Regenerated.
      
      From-SVN: r249777
      Richard Earnshaw committed
    • 2017-06-29 Michael Collison <michael.collison@arm.com> · 4c6a51a0
      	Fix date on prevfious ChangeLog entry.
      
      From-SVN: r249775
      Michael Collison committed
    • re PR target/70119 (AArch64 should take advantage of implicit truncation of… · 7813b280
      re PR target/70119 (AArch64 should take advantage of implicit truncation of variable shift amount without defining SHIFT_COUNT_TRUNCATED)
      
      2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      	    Michael Collison <michael.collison@arm.com>
      
      	PR target/70119
      	* config/aarch64/aarch64.md (*aarch64_<optab>_reg_<mode>3_mask1):
      	New pattern.
      	(*aarch64_reg_<mode>3_neg_mask2): New pattern.
      	(*aarch64_reg_<mode>3_minus_mask): New pattern.
      	(*aarch64_<optab>_reg_di3_mask2): New pattern.
      	* config/aarch64/aarch64.c (aarch64_rtx_costs): Account for cost
      	of shift when the shift amount is masked with constant equal to
      	the size of the mode.
      	* config/aarch64/predicates.md (subreg_lowpart_operator): New
      	predicate.
      
      
      2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      	    Michael Collison <michael.collison@arm.com>
      
      	PR target/70119
      	* gcc.target/aarch64/var_shift_mask_1.c: New test.
      
      Co-Authored-By: Michael Collison <michael.collison@arm.com>
      
      From-SVN: r249774
      Kyrylo Tkachov committed
    • Fix -mbranch-cost range. · 696bafe6
      2017-06-29  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.opt: Change range from [1,5] to [0,5].
      
      From-SVN: r249773
      Martin Liska committed
    • re PR ipa/80565 (ICE at -O2 and -O3 in 32-bit mode (not 64-bit) on… · c8fb20d8
      re PR ipa/80565 (ICE at -O2 and -O3 in 32-bit mode (not 64-bit) on x86_64-linux-gnu (in edge_badness, at ipa-inline.c:1028))
      
      2017-06-29  Yury Gribov  <tetra2005@gmail.com>
      
      	PR bootstrap/80565
              * ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
      	code.
              * ipa-inline.h
      	(edge_growth_cache_entry::edge_growth_cache_entry): New
      	function.
              (reset_edge_growth_cache): Update to use constructor.
      
      From-SVN: r249771
      Yury Gribov committed
    • Daily bump. · 1cc6250d
      From-SVN: r249769
      GCC Administrator committed
  2. 28 Jun, 2017 7 commits