aarch64-protos.h (aarch64_simd_disambiguate_copy): Declare.
[gcc.git] / gcc / ChangeLog
index 48341c53e1c4efaa3f1d5e62ebb2e18a3d34ac53..988097b35231f01a926d2255c6bbb63871925c84 100644 (file)
@@ -1,3 +1,230 @@
+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.