Remove false positives for warnings that break LTO profiled
[gcc.git] / gcc / ChangeLog
index 605b87e9070512b1b5a5695ce8fbc63dd8987206..2b53eed19552fe7123c5c3ef0a211302172357a3 100644 (file)
@@ -1,3 +1,428 @@
+2015-01-23  Martin Liska  <mliska@suse.cz>
+
+       * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
+       false positive during profiledbootstrap.
+
+2015-01-23  Tom de Vries  <tom@codesourcery.com>
+
+       PR libgomp/64672
+       * lto-opts.c (lto_write_options): Output non-explicit conservative
+       -fno-openacc.
+       * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
+       (append_compiler_options): Pass -fopenacc through.
+
+2015-01-23  Tom de Vries  <tom@codesourcery.com>
+
+       PR libgomp/64707
+       * lto-opts.c (lto_write_options): Output non-explicit conservative
+       -fno-openmp.
+       * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
+       (append_compiler_options): Pass -fopenmp through.
+
+2015-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/64511
+       * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
+       GTY markup.
+
+       * diagnostic-core.h (internal_error_no_backtrace): New prototype.
+       * diagnostic.def (DK_ICE_NOBT): New kind.
+       * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
+       like DK_ICE, but never print backtrace.
+       (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
+       (internal_error_no_backtrace): New function.
+       * gcc.c (execute): Use internal_error_no_backtrace instead of
+       internal_error.
+
+2015-01-22  Jeff Law  <law@redhat.com>
+
+       PR target/52076
+       * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
+       improve code density for small immediate to memory case.
+       (insv): Better handle bitfield assignments when the field is
+       being set to all ones.
+       * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
+       operand predicate.
+
+2015-01-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
+       for !TARGET_LIBC_PROVIDES_SSP version and
+       -fstack-protector-{all,strong,explicit} otherwise.
+       * config/freebsd.h (LINK_SSP_SPEC): Handle
+       -fstack-protector-{strong,explicit}.
+
+2015-01-22  Jan Hubicka  <hubicka@ucw.cz>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ipa/64694
+       * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
+       heap.
+
+2015-01-22  Wei Mi  <wmi@google.com>
+
+       PR rtl-optimization/64557
+       * dse.c (record_store): Call get_addr for mem_addr.
+       (check_mem_read_rtx): Likewise.
+
+2015-01-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (const_binop): Add early return for non-tcc_binary.
+
+2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+       * toplev.c (init_local_tick): Process the failure when read
+       fails for random_seed.
+
+       * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
+       'pretty_name' to avoid memory overflow.
+
+2015-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/64728
+       * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
+       abnormal coalescing on undefined SSA names.
+
+2015-22-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/64688
+       PR target/64477
+       * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
+       for alternative 3.
+       (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
+
+2015-01-22  Trevor Saunders  <tsaunders@mozilla.com>
+
+       PR middle-end/63325
+       * fold-const.c (fold_checksum_tree): Don't include value of
+       expr->decl_with_vis.symtab_node in the checksum.
+
+2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
+       "or".
+
+2015-01-22  Max Ostapenko  <m.ostapenko@partner.samsung.com>
+
+       PR driver/64690
+       * gcc.c (insert_comments): New function.
+       (try_generate_repro): Call it.
+       (append_text): Removed.
+
+2015-01-22  Richard Biener  <rguenther@suse.de>
+
+       * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
+       with IL incompatible options.  Properly honor user optimize
+       attributes.
+
+2015-01-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/64682
+       * combine.c (distribute_notes): When moving a death note for
+       a register that is set in the new I2, make sure to put it
+       before that new I2.
+
+2015-01-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
+       not TARGET_DEFAULT.
+
+2015-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/64511
+       * simplify-rtx.c (simplify_relational_operation_1): Don't try to
+       optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
+       into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
+
+       PR sanitizer/64706
+       * doc/invoke.texi (-fsanitize=vptr): Document.
+
+       PR rtl-optimization/62078
+       * dse.c: Include cfgcleanup.h.
+       (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
+       anything call purge_all_dead_edges and cleanup_cfg at the end
+       of the pass.
+
+2015-01-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
+       edges.
+
+2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
+       decl attribute.
+
+2015-01-21  David Sherwood  <david.sherwood@arm.com>
+           Tejas Belagod <Tejas.Belagod@arm.com>
+
+       * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
+       * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
+       * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
+       Removed.
+
+2015-01-21  David Sherwood  <david.sherwood@arm.com>
+           Tejas Belagod <Tejas.Belagod@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
+       (aarch64_reverse_mask): New decls.
+       * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
+       (insn_count): New mode_attr.
+       * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
+       (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
+       (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
+       (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
+       (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
+       (aarch64_simd_st4): New patterns.
+       * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
+       (aarch64_reverse_mask): New functions.
+
+2015-01-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
+       Declare.
+       * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
+       addressing modes for BE.
+       (aarch64_print_operand): Add 'R' specifier.
+       (aarch64_simd_disambiguate_copy): Delete.
+       (aarch64_simd_emit_reg_reg_move): New function.
+       * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
+       in define_splits for structural moves.
+       (mov<mode>): Use less restrictive predicates.
+       (*aarch64_mov<mode>): Simplify and only allow for LE.
+       (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
+
+2015-01-21  Alan Hayward  <alan.hayward@arm.com>
+
+       * rtlanal.c (subreg_get_info): Exit early for simple and common
+       cases.
+
+2015-01-21  Richard Henderson  <rth@redhat.com>
+
+       PR target/64669
+       * ccmp.c (used_in_cond_stmt_p): Remove.
+       (expand_ccmp_expr): Don't use it.
+
+2015-01-21  Nick Clifton  <nickc@redhat.com>
+
+       * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
+       PARALLELs.
+
+2015-01-21  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/64313
+       * tree-core.h (builtin_info, builtin_info_type): Turn from
+       an object with two arrays into an array of an object with
+       decl and two flags, implicit_p and declared_p.
+       * tree.h (builtin_decl_explicit, builtin_decl_implicit,
+       set_builtin_decl, set_builtin_decl_implicit_p,
+       builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
+       (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
+       * builtins.c (builtin_info): Adjust.
+       * gimplify.c (gimplify_addr_expr): References to builtins
+       that have been declared by the user makes them eligible for
+       use by the compiler.  Call set_builtin_decl_implicit_p on them.
+
+2015-01-20  Jeff Law  <law@redhat.com>
+
+       PR target/59946
+       * config/m68k/m68k.md (Comparison expanders and patterns): Do not
+       allow pc-relative addresses in operand predicates or constraints.
+
+2015-01-21  Bin Cheng  <bin.cheng@arm.com>
+
+       * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
+       neon on aarch32 processors for stringops.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/63576
+       * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/45375
+       * ipa-inline.c: Include lto-streamer.h
+       (report_inline_failed_reason): Output source file differences and
+       flags on optimization/target node mismatch.
+       (can_inline_edge_p): Consider caller to be the outer inline function;
+       be less restrictive about matching opimize and optimize_size attributes.
+       (inline_account_function_p): Break out from ...
+       (inline_small_functions): ... here.
+       * ipa-inline-transform.c (clone_inlined_nodes): Use
+       inline_account_function_p.
+       (inline_call): Use optimize attribution; use inline_account_function_p.
+       (inline_transform): Use opt_for_fn.
+       * ipa-inline.h (inline_account_function_p): Declare.
+
+2015-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/64663
+       * dwarf2out.c (decl_piece_node): Don't put bitsize into
+       mode if bitsize <= 0.
+       (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
+       dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
+       sizes and positions.
+
+2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * config/nios2/nios2.c (nios2_asm_file_end): Implement
+       TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
+       needed.
+       (TARGET_ASM_FILE_END): Define.
+
+2015-01-20  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
+       (struct tune_params): Use the enum.
+       * arm.c (arm_*_tune): Update.
+       (arm_option_override): Update.
+
+2015-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/64684
+       * ipa-reference.c (add_static_var): Inline ...
+       (analyze_function): ... here after splitting out from ...
+       (is_proper_for_analysis): ... this.
+
+2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>
+
+       PR target/64149
+       * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
+       * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
+       replace the conditional with it's true branch.
+       * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
+       (arm_lra_p): Remove.
+
+2015-01-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/visium/visium.h (LIB_SPEC): Adjust in default case.
+
+2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * config/tilegx/mul-tables.c: Move symtab.h include after coretypes.h include.
+       * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, vec.h,
+       machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
+       double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
+       insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
+
+2015-01-20  Igor Zamyatin  <igor.zamyatin@intel.com>
+
+       PR bootstrap/64676
+       Revert:
+       2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>
+
+       PR rtl-optimization/64081
+       * loop-iv.c (def_pred_latch_p): New function.
+       (latch_dominating_def): Allow specific cases with non-single
+       definitions.
+       (iv_get_reaching_def): Likewise.
+       (check_complex_exit_p): New function.
+       (check_simple_exit): Use check_complex_exit_p to allow certain cases
+       with exits not executing on any iteration.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/45375
+       * i386.c (ix86_option_override_internal): Use ix86_tune_cost
+       to set branch cost.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/45375
+       * i386.c (gate): Check flag_expensive_optimizations and
+       optimize_size.
+       (ix86_option_override_internal): Drop optimize_size condition
+       on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
+       MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
+       MASK_PREFER_AVX128.
+       (ix86_avx256_split_vector_move_misalign,
+       ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
+       * sse.md (all uses of TARGET_PREFER_AVX128): Add
+       optimize_insn_for_speed_p check.
+
+2015-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * config/mips/mips.h (FP_ASM_SPEC): New define.
+       (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
+       instead.
+
+2015-01-19  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/53988
+       * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
+       nullptr for insn when reaching the first insn.
+       * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
+       (sh_insn_operands_modified_between_p): Add nullptr check.
+       (sh_find_extending_set_of_reg): Fix log message.  Don't accept
+       sign extending mem load if the insn contains any UNSPEC or
+       UNSPEC_VOLATILE.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       * params.def (inline-unit-growth): Drop to 15%.
+       * invoke.texi (inline-unit-growth): Document change.
+
+2015-01-19  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/64668
+       * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
+       function for second argument of OBJ_TYPE_REF.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/64218
+       * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
+       whether function is an alias.
+
+2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
+       cases.
+
+2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/64671
+       * lra-remat.c (operand_to_remat): Don't consider jump and call
+       insns.
+
+2015-01-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/default64.h: Include rs6000-cpus.def.
+       (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
+       (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
+       * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
+       and POWER8.
+       * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
+       POWER8.
+       * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
+       pseudo-op to specify assembler dialect.
+
+2015-01-19  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/64664
+       * ipa-icf.c (sem_item_optimizer::filter_removed_items):
+       Handle safe potentially removed nodes during filtering.
+
+2015-01-19  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi (no_icf): Add new attribute description.
+       * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
+       where the pass attempts to merge a function with no_icf attribute.
+
+2015-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/64532
+       * doc/md.texi (ARM Options): Document register constraints.
+
+2015-01-19  Jiong Wang  <jiong.wang@arm.com>
+           Andrew Pinski  <apinski@cavium.com>
+
+       PR target/64304
+       * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
+       (ashl<mode>3): Don't expand if operands[2] is not constant.
+
 2015-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        PR target/64448