1. 28 Jul, 2017 26 commits
    • configure.ac (target-libffi): Don't disable for AIX. · 5a427c63
      2017-07-28  Tony Reix  <tony.reix@atos.net>
      
              * configure.ac (target-libffi): Don't disable for AIX.
              (go): Don't add to unsupported_languages on AIX.
              (target-libgo): Don't disable for AIX.
              * configure: Regenerate.
      
      From-SVN: r250685
      Tony Reix committed
    • compiler: track placeholder pointer types for conversion · 9761988f
          
          We recently started walking through the hash table of pointer types to
          finalize them.  Unfortunately it is possible to create a new pointer
          type while finalizing an existing one (test case: test/fixedbugs/issue5291)
          and that breaks the iteration.  So, instead, keep a list of
          placeholder pointer types, and iterate through them while permitting
          the list to be extended as we go.
          
          Reviewed-on: https://go-review.googlesource.com/51771
      
      From-SVN: r250683
      Ian Lance Taylor committed
    • compiler: use a single temporary for calls with multiple results · 97a0928c
          
          For calls that return multiple results we used to create a temporary
          of struct type to hold the results, and also create a separate
          temporary for each result.  Then the call expression would copy each
          result out of the struct to the temporary, and Call_result_expression
          would refer to the desired temporary.
          
          Simplify this to just use a single temporary of struct type, and
          change Call_result_expression to fetch a field of the struct.
          
          This may reduce some incorrect tree sharing in the backend code.
          
          Reviewed-on: https://go-review.googlesource.com/51770
      
      From-SVN: r250682
      Ian Lance Taylor committed
    • 2017-07-28 Tamar Christina <tamar.christina@arm.com> · 9de00935
      	* config/aarch64/aarch64.c
      	(aarch64_internal_mov_immediate): Add new special pattern.
      	* config/aarch64/aarch64.md (*movdi_aarch64):
      	Add reg/32bit const mov case.
      
      gcc/testsuite/
      2017-07-28  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/aarch64/int_mov_immediate_1.c: New.
      
      From-SVN: r250680
      Tamar Christina committed
    • pr80815-3.c: Require vect_perm. · 8de33df2
      	gcc/testsuite
      	* gcc.dg/vect/pr80815-3.c: Require vect_perm.
      
      From-SVN: r250676
      Bin Cheng committed
    • Fix pid_t printing · cf311b03
      	* fileline.c (fileline_initialize): Print pid_t as long.
      
      From-SVN: r250675
      Rainer Orth committed
    • dbl_mov_immediate_1.c: New. · 8acb8421
      2017-07-28  Tamar Christina  <tamar.christina@arm.com>
      	    Bilyan Borisov  <bilyan.borisov@arm.com>
      
      	* gcc.target/aarch64/dbl_mov_immediate_1.c: New.
      	* gcc.target/aarch64/flt_mov_immediate_1.c: New.
      	* gcc.target/aarch64/f16_mov_immediate_1.c: New.
      	* gcc.target/aarch64/f16_mov_immediate_2.c: New.
      	* gcc.target/aarch64/pr63304_1.c: Changed to double.
      
      
      Co-Authored-By: Bilyan Borisov <bilyan.borisov@arm.com>
      
      From-SVN: r250674
      Tamar Christina committed
    • aarch64.md (mov<mode>): Generalize. · 90e6443f
      2017-07-28  Tamar Christina  <tamar.christina@arm.com>
                  Richard Sandiford <richard.sandiford@linaro.org>
      
              * config/aarch64/aarch64.md (mov<mode>): Generalize.
              (*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
              Add integer and movi cases.
              (movi-split-hf-df-sf split, fp16): New.
              (enabled): Added TARGET_FP_F16INST.
              * config/aarch64/iterators.md (GPF_HF): New.
              * config/aarch64/predicates.md (aarch64_reg_or_fp_float): New.
      
      
      Co-Authored-By: Richard Sandiford <richard.sandiford@linaro.org>
      
      From-SVN: r250673
      Tamar Christina committed
    • 2017-07-28 Tamar Christina <tamar.christina@arm.com> · a2170965
      	* config/aarch64/aarch64.c
      	(aarch64_simd_container_mode): Add prototype.
      	(aarch64_expand_mov_immediate): Add HI support.
      	(aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p: New.
      	(aarch64_can_const_movi_rtx_p): New.
      	(aarch64_preferred_reload_class):
      	Remove restrictions of using FP registers for certain SIMD operations.
      	(aarch64_rtx_costs): Added new cost for CONST_DOUBLE moves.
      	(aarch64_valid_floating_const): Add integer move validation.
      	(aarch64_simd_imm_scalar_p): Remove.
      	(aarch64_output_scalar_simd_mov_immediate): Generalize function.
      	(aarch64_legitimate_constant_p): Expand list of supported cases.
      	* config/aarch64/aarch64-protos.h
      	(aarch64_float_const_rtx_p, aarch64_can_const_movi_rtx_p): New.
      	(aarch64_reinterpret_float_as_int): New.
      	(aarch64_simd_imm_scalar_p): Remove.
      	* config/aarch64/constraints.md (Uvi): New.
      	(Dd): Split into Ds and new Dd.
      	* config/aarch64/aarch64.md (*movsi_aarch64):
      	Add SIMD mov case.
      	(*movdi_aarch64): Add SIMD mov case.
      
      From-SVN: r250672
      Tamar Christina committed
    • tree-predcom.c: (struct chain): Handle store-store chain in which stores for elimination only... · 39ff50ce
      	* tree-predcom.c: (struct chain): Handle store-store chain in which
      	stores for elimination only store loop invariant values.
      	(execute_pred_commoning_chain): Ditto.
      	(prepare_initializers_chain_store_elim): Ditto.
      	(prepare_finalizers): Ditto.
      	(is_inv_store_elimination_chain): New function.
      	(initialize_root_vars_store_elim_1): New function.
      
      From-SVN: r250670
      Bin Cheng committed
    • tree-predcom.c: Revise general description of the pass. · d9c259ef
      	* tree-predcom.c: Revise general description of the pass.
      	(enum chain_type): New enum type for store elimination.
      	(struct chain): New field supporting store elimination.
      	(struct component): Ditto.
      	(dump_chain): Dump store-stores chain.
      	(release_chain): Release resources.
      	(split_data_refs_to_components): Compute and create component
      	contains only stores for elimination.
      	(get_chain_last_ref_at): New function.
      	(make_invariant_chain): Initialization.
      	(make_rooted_chain): Specify chain type in parameter and record it.
      	(add_looparound_copies): Skip for store-stores chain.
      	(determine_roots_comp): Compute type of chain and pass it to
      	make_rooted_chain.
      	(initialize_root_vars_store_elim_2): New function.
      	(finalize_eliminated_stores): New function.
      	(remove_stmt): Handle store for elimination.
      	(execute_pred_commoning_chain): Execute predictive commoning on
      	store-store chains.
      	(determine_unroll_factor): Skip unroll for store-stores chain.
      	(prepare_initializers_chain_store_elim): New function.
      	(prepare_initializers_chain): Hanlde store-store chain.
      	(prepare_finalizers_chain, prepare_finalizers): New function.
      	(tree_predictive_commoning_loop): Return integer value indicating
      	if loop is unrolled or lcssa form is corrupted.
      	(tree_predictive_commoning): Rewrite for lcssa form if necessary.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/predcom-dse-1.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-2.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-3.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-4.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-5.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-6.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-7.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-8.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-9.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-10.c: New test.
      	* gcc.dg/tree-ssa/predcom-dse-11.c: New test.
      
      From-SVN: r250669
      Bin Cheng committed
    • tree-predcom.c (initialize_root): Delete. · 10dfaf9a
      	* tree-predcom.c (initialize_root): Delete.
      	(execute_pred_commoning_chain): Initialize root vars and replace
      	reference of non-combined chain directly, rather than call above
      	function.
      
      From-SVN: r250668
      Bin Cheng committed
    • tree-predcom.c (ref_at_iteration): Add parameter NITERS. · 3c62a7fb
      	* tree-predcom.c (ref_at_iteration): Add parameter NITERS.  Compute
      	memory reference to DR at (NITERS + ITERS)-th iteration of loop.
      
      From-SVN: r250667
      Bin Cheng committed
    • tree-predcom.c (struct chain): New field init_seq. · aa4de160
      	* tree-predcom.c (struct chain): New field init_seq.
      	(release_chain): Release init_seq.
      	(prepare_initializers_chain): Record intialization stmts in above
      	field.
      	(insert_init_seqs): New function.
      	(tree_predictive_commoning_loop): Call insert_init_seqs.
      
      From-SVN: r250666
      Bin Cheng committed
    • match.pd: Remove superfluous :c. · 6c35e5b0
      2017-07-28  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Remove superfluous :c.
      	* genmatch.c (simplify::id): Add member.
      	(lower_commutative, lower_opt_convert, lower_cond, lower_for):
      	Copy id.
      	(current_id): New global.
      	(dt_node::parent): Move from ...
      	(dt_operand::parent): ... here.  Add for_id member.
      	(is_a_helper <dt_operand *>::test): DT_TRUE is also a dt_operand.
      	(decision_tree::find_node): Relax order requirement when
      	merging DT_TRUE nodes to ones inbetween the current simplify
      	and the one we try to merge with.  Add diagnostic whenever
      	we need to enforce pattern order by not merging.
      	(decision_tree::insert): Set current_id.
      	(decision_tree::print_node): Dump parent node and for_id.
      	(parser::last_id): Add member.
      	(parser::push_simplify): Assign unique id.
      	(parser::parser): Initialize last_id.
      
      From-SVN: r250664
      Richard Biener committed
    • Set DECL_VALUE_EXPR after a debug stmt is generated (PR sanitizer/81340). · 6d7649f8
      2017-07-28  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/81340
      	* sanopt.c (sanitize_rewrite_addressable_params): Set VALUE_EXPR after
      	gimple_build_debug_bind.
      2017-07-28  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/81340
      	* g++.dg/asan/pr81340.C: New test.
      
      From-SVN: r250660
      Martin Liska committed
    • re PR middle-end/81502 (In some cases the data is moved to memory unnecessarily… · 92e29a5e
      re PR middle-end/81502 (In some cases the data is moved to memory unnecessarily [partial regression])
      
      2017-07-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81502
      	* match.pd: Add pattern combining BIT_INSERT_EXPR with
      	BIT_FIELD_REF.
      	* tree-cfg.c (verify_expr): Verify types of BIT_FIELD_REF
      	size/pos operands.
      	(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR pos.
      	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Use bitsizetype
      	for BIT_FIELD_REF args.
      	* fold-const.c (make_bit_field_ref): Likewise.
      	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
      
      	* gcc.target/i386/pr81502.c: New testcase.
      
      From-SVN: r250659
      Richard Biener committed
    • re PR sanitizer/80998 (Implement -fsanitize=pointer-overflow) · c9b39a49
      	PR sanitizer/80998
      	* sanopt.c (pass_sanopt::execute): Handle IFN_UBSAN_PTR.
      	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.
      	* flag-types.h (enum sanitize_code): Add SANITIZER_POINTER_OVERFLOW.
      	Or it into SANITIZER_UNDEFINED.
      	* ubsan.c: Include gimple-fold.h and varasm.h.
      	(ubsan_expand_ptr_ifn): New function.
      	(instrument_pointer_overflow): New function.
      	(maybe_instrument_pointer_overflow): New function.
      	(instrument_object_size): Formatting fix.
      	(pass_ubsan::execute): Call instrument_pointer_overflow
      	and maybe_instrument_pointer_overflow.
      	* internal-fn.c (expand_UBSAN_PTR): New function.
      	* ubsan.h (ubsan_expand_ptr_ifn): Declare.
      	* sanitizer.def (__ubsan_handle_pointer_overflow,
      	__ubsan_handle_pointer_overflow_abort): New builtins.
      	* tree-ssa-tail-merge.c (merge_stmts_p): Handle IFN_UBSAN_PTR.
      	* internal-fn.def (UBSAN_PTR): New internal function.
      	* opts.c (sanitizer_opts): Add pointer-overflow.
      	* lto-streamer-in.c (input_function): Handle IFN_UBSAN_PTR.
      	* fold-const.c (build_range_check): Compute pointer range check in
      	integral type if pointer arithmetics would be needed.  Formatting
      	fixes.
      gcc/testsuite/
      	* c-c++-common/ubsan/ptr-overflow-1.c: New test.
      	* c-c++-common/ubsan/ptr-overflow-2.c: New test.
      libsanitizer/
      	* ubsan/ubsan_handlers.cc: Cherry-pick upstream r304461.
      	* ubsan/ubsan_checks.inc: Likewise.
      	* ubsan/ubsan_handlers.h: Likewise.
      
      From-SVN: r250656
      Jakub Jelinek committed
    • Do not handle VLA in sanitization (PR sanitizer/81460). · 70affe6a
      2017-07-28  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/81460
      	* sanopt.c (sanitize_rewrite_addressable_params): Do not rewrite
      	parameters that are of a variable-length.
      2017-07-28  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/81460
      	* gcc.dg/asan/pr81460.c: New test.
      
      From-SVN: r250655
      Martin Liska committed
    • [PowerPC/RTEMS] Add 64-bit support using ELFv2 ABI · 16bab95a
      Add 64-bit support for RTEMS using the ELFv2 ABI with 64-bit long
      double.
      
      gcc/
      	* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h.  Add
      	rs6000/biarch64.h.
      	* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
      	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
      	(CRT_CALL_STATIC_FUNCTION): Likewise.
      	(ASM_DEFAULT_SPEC): New define.
      	(ASM_SPEC32): Likewise.
      	(ASM_SPEC64): Likewise.
      	(ASM_SPEC_COMMON): Likewise.
      	(ASM_SPEC): Likewise.
      	(INVALID_64BIT): Likewise.
      	(LINK_OS_DEFAULT_SPEC): Likewise.
      	(LINK_OS_SPEC32): Likewise.
      	(LINK_OS_SPEC64): Likewise.
      	(POWERPC_LINUX): Likewise.
      	(PTRDIFF_TYPE): Likewise.
      	(RESTORE_FP_PREFIX): Likewise.
      	(RESTORE_FP_SUFFIX): Likewise.
      	(SAVE_FP_PREFIX): Likewise.
      	(SAVE_FP_SUFFIX): Likewise.
      	(SIZE_TYPE): Likewise.
      	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
      	(TARGET_64BIT): Likewise.
      	(TARGET_64BIT): Likewise.
      	(TARGET_AIX): Likewise.
      	(WCHAR_TYPE_SIZE): Likewise.
      	(WCHAR_TYPE): Undefine.
      	(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
      	(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
      	(CPP_OS_RTEMS_SPEC): Delete.
      	(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems.  Add
      	asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
      	link_os_spec64.
      	* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
      
      libgcc/
      	* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.
      
      From-SVN: r250652
      Sebastian Huber committed
    • re PR tree-optimization/81578 (ICE in omp_reduction_init_op) · d0ee55a1
      	PR tree-optimization/81578
      	* tree-parloops.c (build_new_reduction): Bail out if
      	reduction_code isn't one of the standard OpenMP reductions.
      	Move the details printing after that decision.
      
      	* gcc.dg/pr81578.c: New test.
      
      From-SVN: r250651
      Jakub Jelinek committed
    • re PR tree-optimization/81573 (wrong code at -O3 on x86_64-linux-gnu) · 1ce75e41
      2017-07-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81573
      	* gcc.dg/torture/pr81573.c: Explicitely use signed char.
      
      From-SVN: r250650
      Richard Biener committed
    • go-backend.c (go_write_export_data): Use EXCLUDE section for AIX. · 4ce21457
      	* go-backend.c (go_write_export_data): Use EXCLUDE section for
      	AIX.
      
      From-SVN: r250648
      Tony Reix committed
    • Daily bump. · 91258d93
      From-SVN: r250647
      GCC Administrator committed
  2. 27 Jul, 2017 14 commits
    • predicates.md (volatile_mem_operand): Remove code related to reload_in_progress. · 3cb8ee5c
      	* config/rs6000/predicates.md (volatile_mem_operand): Remove code
      	related to reload_in_progress.
      	(splat_input_operand): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
      	Delete prototype.
      	* config/rs6000/rs6000.c (machine_function): Remove sdmode_stack_slot
      	field.
      	(TARGET_EXPAND_TO_RTL_HOOK): Delete.
      	(TARGET_INSTANTIATE_DECLS): Likewise.
      	(legitimate_indexed_address_p): Delete reload_in_progress code.
      	(rs6000_debug_legitimate_address_p): Likewise.
      	(rs6000_eliminate_indexed_memrefs): Likewise.
      	(rs6000_emit_le_vsx_store): Likewise.
      	(rs6000_emit_move_si_sf_subreg): Likewise.
      	(rs6000_emit_move): Likewise.
      	(register_to_reg_type): Likewise.
      	(rs6000_pre_atomic_barrier): Likewise.
      	(rs6000_machopic_legitimize_pic_address): Likewise.
      	(rs6000_allocate_stack_temp): Likewise.
      	(rs6000_address_for_fpconvert): Likewise.
      	(rs6000_address_for_altivec): Likewise.
      	(rs6000_secondary_memory_needed_rtx): Delete function.
      	(rs6000_check_sdmode): Likewise.
      	(rs6000_alloc_sdmode_stack_slot): Likewise.
      	(rs6000_instantiate_decls): Likewise.
      	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
      	* config/rs6000/rs6000.md (splitter for *movsi_got_internal):
      	Delete reload_in_progress.
      	(*vec_reload_and_plus_<mptrsize>): Likewise.
      	* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
      	(vsx_div_v2di): Likewise.
      	(vsx_udiv_v2di): Likewise.
      
      From-SVN: r250638
      Peter Bergner committed
    • rs6000.opt (mlra): Replace with stub. · 7a5cbf29
      gcc/
      
      	* config/rs6000/rs6000.opt (mlra): Replace with stub.
      	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA.
      	* config/rs6000/rs6000.c (TARGET_LRA_P): Delete.
      	(rs6000_debug_reg_global): Delete print of LRA status.
      	(rs6000_option_override_internal): Delete dead LRA related code.
      	(rs6000_lra_p): Delete function.
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra.
      
      gcc/testsuite/
      
      	* g++.dg/pr69667.C: Remove option -mlra.
      	* gcc.target/powerpc/dform-1.c: Likewise.
      	* gcc.target/powerpc/dform-2.c: Likewise.
      	* gcc.target/powerpc/dform-3.c: Likewise.
      	* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
      	* gcc.target/powerpc/p9-vparity.c: Likewise.
      	* gcc.target/powerpc/pr63491.c: Likewise.
      	* gcc.target/powerpc/pr67808.c: Likewise.
      	* gcc.target/powerpc/pr68805.c: Likewise.
      	* gcc.target/powerpc/pr69461.c: Likewise.
      	* gcc.target/powerpc/pr71680.c: Likewise.
      	* gcc.target/powerpc/pr77289.c: Likewise.
      	* gcc.target/powerpc/pr78458.c: Likewise.
      	* gcc.target/powerpc/pr78543.c: Likewise.
      	* g++.dg/pr71294.C: Remove option -mno-lra.
      	* gcc.target/powerpc/pr71656-1.c: Likewise.
      	* gcc.target/powerpc/pr71656-2.c: Likewise.
      	* gcc.target/powerpc/pr71698.c: Likewise.
      
      From-SVN: r250637
      Peter Bergner committed
    • re PR c/45784 (gcc OpenMP - error: invalid controlling predicate) · a40ff0ae
      	PR c/45784
      	* c-omp.c (c_finish_omp_for): If the condition is wrapped in
      	rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
      	new COMPOUND_EXPRs around the rhs of the comparison.
      
      	* testsuite/libgomp.c/pr45784.c: New test.
      	* testsuite/libgomp.c++/pr45784.C: New test.
      
      From-SVN: r250635
      Jakub Jelinek committed
    • Add RTEMS support · 1f9e09b5
      gcc/ChangeLog
      
      2017-07-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      
      	* config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
      	* config/riscv/rtems.h: New file.
      
      From-SVN: r250632
      Sebastian Huber committed
    • [PATCH][AArch64] Fix missing optimization for CMP+AND · 2c2789d5
      During combine GCC tries to merge CMP (with zero) and AND into a TST. However,
      in cases where an ANDS operand is not compatible, this was being missed. Adding
      a define_split where this operand was moved to a register seems to help out. 
      
      Committed on behalf of Sudi Das
      
      ---
      gcc/
      
      2017-07-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      	    Sudakshina Das  <sudi.das@arm.com>
      
      	* config/aarch64/aarch64.md
      	(define_split for and<mode>3nr_compare): Move
      	non aarch64_logical_operand to a register.
      	(define_split for and_<SHIFT:optab><mode>3nr_compare0): Move non
      	register immediate operand to a register.
      	* config/aarch64/predicates.md (aarch64_mov_imm_operand): New.
      
      gcc/testsuite
          
      2017-07-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      	    Sudakshina Das  <sudi.das@arm.com>
      
      	* gcc.target/aarch64/tst_imm_split_1.c: New Test.
      
      
      Co-Authored-By: Sudakshina Das <sudi.das@arm.com>
      
      From-SVN: r250631
      Kyrylo Tkachov committed
    • re PR c/81417 (-Wsign-compare should print types being compared) · 06bd22f6
      	PR c/81417
      	* c-warn.c (warn_for_sign_compare): Tweak the warning message.  Print
      	the types.
      
      	* c-c++-common/Wsign-compare-1.c: New test.
      	* g++.dg/warn/Wsign-compare-2.C: Update dg-warning.
      	* g++.dg/warn/Wsign-compare-4.C: Likewise.
      	* g++.dg/warn/Wsign-compare-6.C: Likewise.
      	* g++.dg/warn/compare1.C: Likewise.
      	* gcc.dg/compare1.c: Likewise.
      	* gcc.dg/compare2.c: Likewise.
      	* gcc.dg/compare4.c: Likewise.
      	* gcc.dg/compare5.c: Likewise.
      	* gcc.dg/pr35430.c: Likewise.
      	* gcc.dg/pr60087.c: Likewise.
      
      From-SVN: r250630
      Marek Polacek committed
    • re PR middle-end/81564 (ICE in group_case_labels_stmt()) · 27c8b49b
      gcc/
      	PR middle-end/81564
      	* tree-cfg.c (group_case_labels_stmt): Handle already deleted blocks.
      
      gcc/testsuite/
      	PR middle-end/81564
      	* gcc.dg/pr81564.c: New test.
      
      From-SVN: r250628
      Peter Bergner committed
    • re PR tree-optimization/81573 (wrong code at -O3 on x86_64-linux-gnu) · b7675b59
      2017-07-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81573
      	PR tree-optimization/81494
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
      	multi defuse cycle case.
      
      	* gcc.dg/torture/pr81573.c: New testcase.
      
      From-SVN: r250627
      Richard Biener committed
    • re PR tree-optimization/81571 (ICE at -O3 in both 32-bit and 64-bit modes… · 719488f8
      re PR tree-optimization/81571 (ICE at -O3 in both 32-bit and 64-bit modes (internal compiler error: in as_a, at is-a.h:192))
      
      2017-07-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81571
      	* tree-vect-slp.c (vect_build_slp_tree): Properly verify reduction
      	PHIs.
      
      	* gcc.dg/torture/pr81571.c: New testcase.
      
      From-SVN: r250626
      Richard Biener committed
    • Validate that Init value is within range defined by IntegerRange. · e88a9384
      2017-07-27  Martin Liska  <mliska@suse.cz>
      
      	* opt-functions.awk: Add validation of value of Init.
      	* optc-gen.awk: Pass new argument.
      
      From-SVN: r250625
      Martin Liska committed
    • sparc.c (sparc_option_override): Set MASK_FSMULD flag earlier and only if MASK_FPU is set. · a7faf57b
      	* config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag
      	earlier and only if MASK_FPU is set.  Adjust formatting.
      
      From-SVN: r250623
      Eric Botcazou committed
    • Fix indirect call optimization done by autoFDO. · 89722cf7
      2017-07-27  Martin Liska  <mliska@suse.cz>
      
      	* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
      	Fix wrong condition.
      
      From-SVN: r250622
      Martin Liska committed
    • Initialize counters in autoFDO to zero, not to uninitialized. · b8163af7
      2017-07-27  Martin Liska  <mliska@suse.cz>
      
      	* auto-profile.c (afdo_annotate_cfg): Assign zero counts to
      	BBs and edges seen by autoFDO.
      
      From-SVN: r250621
      Martin Liska committed
    • re PR middle-end/81502 (In some cases the data is moved to memory unnecessarily… · 9811e84c
      re PR middle-end/81502 (In some cases the data is moved to memory unnecessarily [partial regression])
      
      2017-07-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81502
      	* tree-ssa.c (non_rewritable_lvalue_p): Handle BIT_INSERT_EXPR
      	with incompatible but same sized type.
      	(execute_update_addresses_taken): Likewise.
      
      	* gcc.target/i386/vect-insert-1.c: New testcase.
      
      From-SVN: r250620
      Richard Biener committed