-2016-12-21 Bernd Schmidt <bschmidt@redhat.com>
+2017-01-04 Alan Modra <amodra@gmail.com>
- PR target/71321
- * config/i386/i386.md (lea<mode>_general_2b, lea<mode>_general_3b): New
- patterns.
- * config/i386/predicates.md (const123_operand): New.
-
-2016-12-21 Jakub Jelinek <jakub@redhat.com>
- Martin Liska <mliska@suse.cz>
-
- PR driver/78863
- * gcc.c (driver::build_option_suggestions): Do not add
- -fsanitize=all as a suggestion candidate.
-
-2016-12-21 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/78831
- * config/nvptx/nvptx.c (init_softstack_frame): Remove assert. Compute
- crtl->is_leaf only if unset. Adjust comment.
-
-2016-12-21 Andrew Pinski <apinski@cavium.com>
-
- * match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.
- (min:c @0 (plus@2 @0 INTEGER_CST@1)) : New Pattern.
-
-2016-12-20 James Greenhalgh <james.greenhalghj@arm.com>
-
- * common.opt (excess_precision): Tag as SetByCombined.
- * opts.c (set_fast_math_flags): Also set
- flag_excess_precision_cmdline.
- (fast_math_flags_set_p): Also check flag_excess_precision_cmdline.
- * doc/invoke.texi (-fexcess-precision): Drop text saying the
- option has no effect under -ffast-math, make it clear that
- -ffast-math will cause -fexcess-precision=fast by default even for
- standards compliant modes.
- (-ffast-math): Document that this sets -fexcess-precision=fast.
-
-2016-12-20 Richard Biener <rguenther@suse.de>
-
- * passes.c (execute_one_pass): Handle going out of SSA w/o
- hitting pass_startwith. Handle skipping property providers.
-
-2016-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/78694
- * config/arm/arm.c (dump_minipool): Copy mp->value before emitting it
- in the minipool to avoid invalid RTL sharing.
-
-2016-12-19 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (expand_strn_compare): Declare.
- * config/rs6000/rs6000.md (UNSPEC_CMPB): New unspec.
- (cmpb<mode>3): pattern for generating cmpb.
- (cmpstrnsi): pattern to expand strncmp ().
- * config/rs6000/rs6000.opt (mstring-compare-inline-limit): Add a new
- target option for controlling how much code inline expansion of
- strncmp() will be allowed to generate.
- * config/rs6000/rs6000.c (expand_strncmp_align_check): generate code
- for runtime page crossing check of strncmp () args.
- (expand_strn_compare): Function to do builtin expansion of strncmp ().
-
-2016-12-19 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl-function.c (print_rtx_function): Update
- example in comment to reflect current format.
-
-2016-12-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.
-
-2016-12-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/cpp.texi: Clean up anachronistic C99 references and remove
- discussion of very old GCC versions.
- (Differences from previous versions): Delete entire section.
-
-2016-12-19 Will Schmidt <will_schmidt@vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
- early expansion of vector multiply and subtract builtins.
-
-2016-12-19 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl.c (rtx_writer::print_rtx_operand_code_r): For
- non-virtual pseudos in compact mode, wrap the regno in '<' and '>'
- rather than using a '%' prefix.
- * rtl-tests.c (selftest::test_dumping_regs): Update for above change.
-
-2016-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/78748
- * config/s390/s390.md ("*andc_split_<mode>"): Allow memory destination
- only if it coincides with operand 2.
-
-2016-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * combine.c (change_zero_ext): Skip generation of redundant AND.
-
-2016-12-19 Krister Walfridsson <krister.walfridsson@gmail.com>
-
- * config/netbsd.h (LINK_EH_SPEC): Define.
-
-2016-12-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * lra-constraints.c (process_address): Add forward declaration.
- (simplify_operand_subreg): In the MEM case, if the adjusted memory
- reference is not sufficient aligned and the address was invalid,
- reload the address before reloading the original memory reference.
- Fix long lines and add a final return for the sake of clarity.
-
-2016-12-17 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/78832
- * sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use
- continue if gsi_next should be skipped.
- (sanitize_asan_mark_poison): Remove prev variable, use continue if
- gsi_prev should be skipped. When removing ASAN_MARK, do gsi_prev
- first and gsi_remove on a previously made copy of the iterator.
-
-2016-12-17 Andrew Senkevich <andrew.senkevich@intel.com>
-
- * config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
- * config/i386/avx512dqintrin.h: Ditto.
- * config/i386/avx512fintrin.h: Ditto.
- * config/i386/i386-builtin.def (__builtin_ia32_kaddqi,
- __builtin_ia32_kaddhi, __builtin_ia32_kaddsi,
- __builtin_ia32_kadddi): New.
- * config/i386/sse.md (kadd<mode>): New.
-
-2016-12-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1
- and *tzcnt<mode>_1 to define_insn_and_split pattern. Adjust split
- condition to split after epilogue_completed.
- (ctz<mode>2): Remove expander.
- (ctz<mode>2): Merge *ctz<mode>2_falsedep_1 and *ctz<mode>2 to
- define_insn_and_split pattern. Adjust split condition to split
- after epilogue_completed.
- (clz<mode>2_lznct): Remove expander.
- (clz<mode>2_lzcnt): Merge *clz<mode>2_lzcnt_falsedep_1 and
- *clz<mode>2 to define_insn_and_split pattern. Adjust split
- condition to split after epilogue_completed.
- (<lt_zcnt>_<mode>): Remove expander.
- (<lt_zcnt>_<mode>): Merge *<lt_zcnt>_<mode>_falsedep_1 and
- *<lt_zcnt>_<mode> to define_insn_and_split pattern. Adjust split
- condition to split after epilogue_completed.
- (<lt_zcnt>_hi): New insn pattern.
- (popcount<mode>2): Remove expander.
- (popcount<mode>2): Merge *popcount<mode>2_falsedep_1 and
- *popcount<mode>2 to define_insn_and_split pattern. Adjust split
- condition to split after epilogue_completed.
- (popcounthi2): New insn pattern.
-
-2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value.
- (UNSPEC_CMPRB2): New unspec value.
- (UNSPEC_CMPEQB): New unspec value.
- (cmprb): New expansion.
- (*cmprb_internal): New insn.
- (*setb_internal): New insn.
- (cmprb2): New expansion.
- (*cmprb2_internal): New insn.
- (cmpeqb): New expansion.
- (*cmpeqb_internal): New insn.
- * config/rs6000/rs6000-builtin.def (BU_P9_2): New macro.
- (BU_P9_64BIT_2): Likewise.
- (BU_P9_OVERLOAD_2): Likewise.
- (CMPRB): Add byte-in-range built-in function.
- (CMBRB2): Add byte-in-either-range built-in function.
- (CMPEQB): Add byte-in-set built-in function.
- (CMPRB): Add overload support for byte-in-range function.
- (CMPRB2): Add overload support for byte-in-either-range function.
- (CMPEQB): Add overload support for byte-in-set built-in function.
- * config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to
- define argument types for new builtin.
- (P9_BUILTIN_CMPRB2): Likewise.
- (P9_BUILTIN_CMPEQB): Likewise.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange
- the order of presentation for certain built-in functions
- (scalar_extract_exp, scalar_extract_sig, scalar_insert_exp)
- (scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq)
- (scalar_cmp_exp_unordered, scalar_test_data_class)
- (scalar_test_neg) to improve locality and flow. Document
- the new __builtin_scalar_byte_in_set,
- __builtin_scalar_byte_in_range, and
- __builtin_scalar_byte_in_either_range functions.
-
-2016-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md: New define_split above bswap<mode>2.
-
-2016-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md: New define_split above insv<mode>.
-
-2016-12-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c/78408
- * tree-ssa-ccp.c: Include tree-dfa.h.
- (optimize_memcpy): New function.
- (pass_fold_builtins::execute): Use it. Remove useless conditional
- break after BUILT_IN_VA_*.
-
-2016-12-16 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/78819
- * tree-vrp.c (find_switch_asserts): Return if the insertion limit is 0.
- Don't register an assertion if the default case shares a label with
- another case.
-
-2016-12-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0.
- (arm_negdi2) Rename to negdi2_insn, allow on Thumb-2.
- * config/arm/thumb2.md (thumb2_negdi2): Remove pattern.
-
-2016-12-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/arm.c (thumb_core_reg_alloc_order): Swap R12 and R14.
-
-2016-12-16 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (call_prof): Remove.
- (call_value_prof): Likewise.
- (sibcall_prof): Likewise.
- (sibcall_value_prof): Likewise.
-
-2016-12-16 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.h (LINK_SPEC): Tidy up.
- (ENDFILE_SPEC): Likewise.
- (LIB_SPEC): Likewise.
- (STARTFILE_SPEC): Include gcrt0 when profiling.
- (FUNCTION_PROFILER): Use __mcount.
- * config/arc/arc.opt (mucb-mcount): Remove.
- * doc/invoke.texi (ARC): Remove mucb-mcount doc.
- * arc/arc-protos.h (arc_profile_call): Remove.
- * config/arc/arc.c (write_profile_sections): Likewise.
- (arc_profile_call): Likewise.
- (unspec_prof_hash): Likewise.
- (unspec_prof_htab_eq): Likewise.
- (arc_legitimate_constant_p): Remove UNSPEC_PROF.
- (arc_reorg): Remove call to write_profile_sections.
- * config/arc/arc.md (call): Remove call to arc_profile_call.
- (call_value): Likewise.
- (sibcall): Likewise.
- (sibcall_value): Likewise.
- (define_constants): Remove UNSPEC_PROF.
-
-2016-12-16 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (mulsidi_600): Change to insn_and_split,
- generate new mul64 insn for core multiplication work.
- (umulsidi_600): Likewise, but use mulu64 insn.
- (mul64): New pattern, content taken from old mulsidi_600 insn pattern.
- (mulu64): Likewise, but using umulsidi_600.
- (mulsidi3): Remove move to destination, this is now handled by
- mulsidi_600 insn_and_split.
- (umulsidi3): Likewise, but using umulsidi_600.
-
-2016-12-16 Richard Biener <rguenther@suse.de>
-
- PR c++/71694
- * langhooks-def.h (lhd_unit_size_without_reusable_padding): Declare.
- (LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define.
- (LANG_HOOKS_FOR_TYPES_INITIALIZER): Adjust.
- * langhooks.h (struct lang_hooks_for_types): Add
- unit_size_without_reusable_padding.
- * langhooks.c (lhd_unit_size_without_reusable_padding): New.
- * stor-layout.c (finish_bitfield_representative): Use
- unit_size_without_reusable_padding langhook to decide on the
- last representatives size.
-
-2016-12-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71632
- * expr.c (expand_cond_expr_using_cmove): Bail out early if
- we end up recursing via TER.
-
-2016-12-15 Martin Sebor <msebor@redhat.com>
-
- PR bootstrap/78817
- * vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Assert
- a pointer is non-null.
-
-2016-12-15 Andrew Senkevich <andrew.senkevich@intel.com>
-
- * config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
- * config/i386/avx512dqintrin.h: Ditto.
- * config/i386/avx512fintrin.h: Ditto.
- * config/i386/i386-builtin.def (__builtin_ia32_kmovb,
- __builtin_ia32_kmovd, __builtin_ia32_kmovq): New.
- (__builtin_ia32_kmov16): Rename to __builtin_ia32_kmovw.
- * config/i386/sse.md (kmov<mskmodesuffix>): New.
-
-2016-12-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ffs<mode>2): Generate CCCmode flags register
- for TARGET_BMI.
- (ffssi2_no_cmove): Ditto.
- (*tzcnt<mode>_1_falsedep_1): New insn_and_split pattern.
- (*tzcnt<mode>_1_falsedep): New insn pattern.
-
- (LT_ZCNT): New mode iterator.
- (lt_zcnt): New mode attribute.
- (lt_zcnt_type): New mode attribute.
- (<lt_zcnt>_<mode>): Macroize expander from bmi_tzcnt_<mode> and
- lzcnt_<mode> using LT_ZCNT mode iterator.
- (*<lt_zcnt>_<mode>_falsedep_1): Macroize insn from
- *bmi_tzcnt_<mode>_falsedep_1 and *lzcnt_<mode>_falsedep_1
- using LT_ZCNT mode iterator.
- (*<lt_zcnt>_<mode>_falsedep): Macroize insn from
- *bmi_tzcnt_<mode>_falsedep and *lzcnt_<mode>_falsedep
- using LT_ZCNT mode iterator.
- (*<lt_zcnt>_<mode>): Macroize insn from *bmi_tzcnt_<mode>
- and *lzcnt_<mode> using LT_ZCNT mode iterator.
- * config/i386/i386-builtin.def (__builtin_ia32_tzcnt_u16)
- (__builtin_ia32_tzcnt_u32, __builtin_ia32_tzcnt_u64, __builtin_ctzs):
- Update for rename.
-
-2016-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * ipa-cp.c (class ipcp_bits_lattice): Formatting fixes.
- (print_ipcp_constant_value): Likewise.
- (ipcp_cloning_candidate_p): Likewise.
- (ipcp_bits_lattice::get_value_and_mask): Likewise.
- (ipcp_bits_lattice::meet_with_1): Likewise.
- (ipcp_bits_lattice::meet_with): Likewise.
- (initialize_node_lattices): Likewise.
- (ipcp_lattice::add_value): Likewise.
- (propagate_vals_accross_pass_through): Renamed to ...
- (propagate_vals_across_pass_through): ... this function.
- (propagate_vals_accross_ancestor): Renamed to ...
- (propagate_vals_across_ancestor): ... this.
- (propagate_scalar_accross_jump_function): Renamed to ...
- (propagate_scalar_across_jump_function): ... this.
- Adjust calls to above functions.
- (propagate_context_accross_jump_function): Renamed to ...
- (propagate_context_across_jump_function): ... this.
- (propagate_bits_accross_jump_function): Renamed to ...
- (propagate_bits_accross_jump_function): ... this. Formatting fixes.
- (propagate_vr_accross_jump_function): Renamed to ...
- (propagate_vr_across_jump_function): ... this.
- (merge_agg_lats_step): Formatting fixes.
- (propagate_constants_accross_call): Renamed to ...
- (propagate_constants_across_call): ... this. Adjust calls to above
- functions.
- (ipa_get_indirect_edge_target_1): Formatting fixes.
- (gather_context_independent_values): Likewise.
- (estimate_local_effects): Likewise.
- (add_all_node_vals_to_toposort): Likewise.
- (propagate_constants_topo): Adjust calls to above functions.
- (get_replacement_map): Formatting fixes.
- (dump_profile_updates): Likewise.
- (update_profiling_info): Likewise.
- (update_specialized_profile): Likewise.
- (create_specialized_node): Likewise.
- (find_more_contexts_for_caller_subset): Likewise.
- (decide_whether_version_node): Likewise.
- (identify_dead_nodes): Likewise.
- (ipcp_decision_stage): Likewise.
- (ipcp_store_bits_results): Likewise.
- (ipcp_store_vr_results): Likewise.
- (ipcp_driver): Likewise.
-
-2016-12-15 David Malcolm <dmalcolm@redhat.com>
-
- PR preprocessor/78680
- PR preprocessor/78811
- * input.c (struct selftest::lexer_test): Add field
- m_implicitly_expect_EOF.
- (selftest::lexer_error_sink): New class.
- (selftest::lexer_error_sink::s_singleton): New global.
- (selftest::lexer_test::lexer_test): Initialize new field
- "m_implicitly_expect_EOF".
- (selftest::lexer_test::~lexer_test): Conditionalize the
- check for the EOF token on the new field.
- (selftest::test_lexer_string_locations_raw_string_unterminated):
- New function.
- (selftest::input_c_tests): Call the new test.
-
-2016-12-15 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/arm.h (TARGET_BACKTRACE): Use crtl->is_leaf.
- * config/arm/arm.c (arm_option_check_internal): Improve comment.
- (thumb_force_lr_save): Use crtl->is_leaf.
- (arm_get_frame_offsets): Remove comment. Use crtl->is_leaf.
- (thumb_far_jump_used_p): Remove comment.
- (arm_frame_pointer_required): Use crtl->is_leaf.
-
-2016-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * doc/extend.texi: Clean up @xref{...} uses.
- * doc/invoke.texi: Likewise.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-fpus.def: Add CNAME field to all FPU definitions.
- * genopt.sh: Use explicit enumeration tags for FPU entries.
- * arm-tables.opt: Regenerated.
- * arm.opt (mfpu): Provide initial value.
- * arm-opts.h (enum fpu_type): Build the enumeration from the list of
- available FPUs. Add 'auto' entry on the end.
- * arm.c (arm_configure_build_target): Only do explicit configuration
- of the FPU features if the selected FPU is not 'auto'.
- (arm_option_override): Adjust initialization of arm_fpu_index.
- Emit an error if we have a hard float ABI request, but the processor
- does not support floating-point.
- (arm_option_print): Handle -mfpu=auto.
- (arm_valid_target_attribute_rec): Don't permit fpu=auto in pragmas
- or function attributes.
- (arm_identify_fpu_from_isa): Handle effective soft-float when
- the FPU is automatically detected.
- * arm-cores.def (arm1136jf-s): Add feature ISA_FP_DBL.
- (arm1176jzf-s): Likewise.
- (mpcore): Likewise.
- (arm1156t2f-s): Likewise.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-fpus.def (ARM_FPU): Remove features field from all definitions.
- * arm.h (arm_fpu_feature_set): Delete typedef.
- (FPU_FL_NONE): Delete.
- (FPU_FL_NEON): Delete.
- (FPU_FL_FP16): Delete.
- (FPU_FL_CRYPTO): Delete.
- (FPU_FL_DBL): Delete.
- (FPU_FL_D32): Delete.
- (FPU_FL_VFPv2): Delete.
- (FPU_FL_VFPv3): Delete.
- (FPU_FL_VFPv4): Delete.
- (FPU_FL_VFPv5): Delete.
- (FPU_FL_AMRv8): Delete.
- (FPU_VFPv2): Delete.
- (FPU_VFPv3): Delete.
- (FPU_VFPv4): Delete.
- (FPU_VFPv5): Delete.
- (FPU_ARMv8): Delete.
- (FPU_DBL): Delete.
- (FPU_D32): Delete.
- (FPU_NEON): Delete.
- (FPU_CRYPTO): Delete.
- (FPU_FP16): Delete.
- (arm_fpu_desc): Delete features field.
- * arm.c (all_fpus): Don't initialize feature field.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_can_inline_p): Use ISA features for determining
- inlinability.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (arm_configure_build_target): Change second argument
- to cl_target_options.
- * arm.c (arm_configure_build_target): Likewise.
- (arm_option_restore): Update accordingly.
- (arm_option_override): Create the target_option_default_node before
- calling arm_configure_build_target. Use it in call of latter.
- Resynchronize after all other overrides have been calculated.
- (arm_valid_target_attribute_tree): Use the target options for
- reconfiguration. Resynchronize after performing override checks.
- * arm-c.c (arm_pragma_target_parse): Use target optiosn from cur_tree
- to reconfigure the build target.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (TARGET_VFPD32): Use arm_active_target.
- (TARGET_VFP3): Likewise.
- (TARGET_VFP5): Likewise.
- (TARGET_VFP_SINGLE): Likewise.
- (TARGET_VFP_DOUBLE): Likewise.
- (TARGET_NEON_FP16): Likewise.
- (TARGET_FP16): Likewise.
- (TARGET_FMA): Likewise.
- (TARGET_FPU_ARMV8): Likewise.
- (TARGET_CRYPTO): Likewise.
- (TARGET_NEON): Likewise.
- (TARGET_FPU_FEATURES): Delete.
- * arm.c (arm_option_check_internal): Check for iwmmxt conflict with
- Neon using arm_active_target.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (TARGET_FPU_NAME): Delete.
- * arm.c (arm_identify_fpu_from_isa): New function.
- (arm_declare_function_name): Use it to get the name for the FPU.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h: Include sbitmap.h
- (arm_configure_build_target): Make public.
- * arm.c (arm_configure_build_target): Now not static.
- (arm_valid_target_attribute_rec): Move internal option check to...
- (arm_valid_target_attribute_tree0: ... here. Also reconfingure the
- active target.
- (arm_override_options_after_change): Call arm_configure_build_target.
- (isa_all_fpubits): Renamed from isa_fpubits.
- (arm_option_restore): New function.
- (TARGET_OPTION_RESTORE): Register it.
- (arm_configure_build_target): Initialize the FPU capability bits in
- the isa.
- (arm_option_override): Move the code that forces the setting of the
- FPU option before the call to arm_configure_build_target.
- * arm.opt (march): Mark as Save.
- (mcpu, mtune): Likewise.
- * arm-c.c (arm_pragma_target_parse): Reconfigure the build target
- after pragmas change the target options.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-isa.h (isa_feature): Add bits for VFPv4, FPv5, fp16conv,
- fP_dbl, fp_d32 and fp_crypto.
- (ISA_ALL_FPU): Add all the new bits.
- (ISA_VFPv2, ISA_VFPv3, ISA_VFPv4, ISA_FPv5): New macros.
- (ISA_FP_ARMv8, ISA_FP_DBL, ISA_FP_D32, ISA_NEON, ISA_CRYPTO): Likewise.
- * arm-fpus.def: Add ISA features to all FPUs.
- * arm.h: (arm_fpu_desc): Add new field for ISA bits.
- * arm.c (all_fpus): Initialize it.
- * arm-tables.opt: Regenerated.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (FPU_FL_VFPv2) New feature bit.
- (FPU_FL_VFPv3, FPU_FL_VFPv4, FPU_FL_VFPv5, FPU_FL_ARMv8): Likewise.
- (FPU_VFPv2, FPU_VFPv3, FPU_VFPv4, FPU_VFPv5, FPU_ARMv8): New helper
- macros.
- (FPU_DBL, FPU_D32, FPU_NEON, FPU_CRYPTO, FPU_FP16): Likewise.
- (TARGET_FPU_REV): Delete.
- (TARGET_VFP3): Use feature bits.
- (TARGET_VFP5): Likewise.
- (TARGET_FMA): Likewise.
- (TARGET_FPU_ARMV8): Likewise.
- (struct arm_fpu_desc): Delete rev field.
- * arm-fpus.def: Delete REV entry, use new feature bits and macros.
- * arm.c (all_fpus): Delete rev field.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (vfp_reg_type): Delete.
- (TARGET_FPU_REGS): Delete.
- (arm_fpu_desc): Delete regs field.
- (FPU_FL_NONE, FPU_FL_NEON, FPU_FL_FP16, FPU_FL_CRYPTO): Use unsigned
- values.
- (FPU_FL_DBL, FPU_FL_D32): Define.
- (TARGET_VFPD32): Use feature test.
- (TARGET_VFP_SINGLE): Likewise.
- (TARGET_VFP_DOUBLE): Likewise.
- * arm-fpus.def: Update all entries for new feature bits.
- * arm.c (all_fpus): Update initializer macro.
- (arm_can_inline_p): Remove test on fpu regs.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (arm_fp_model): Delete.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-cores.def: Remove FLAGS field from all core definitions.
- * arm-arches.def: Likewise.
- * arm-opts.h (enum processor_type): Remove FLAGS parameter from
- ARM_CORES macro.
- (arm_arch_core_flags): Likewise, plus ARM_ARCH macro.
- * arm-protos.h (FL_*): Delete.
- (arm_feature_set): Delete.
- (ARM_FSET_*): Delete.
- * arm.c (struct processors): Delete flags field.
- (all_cores): Delete FLAGS parameter from macro, don't initialize flags.
- (all architectures): Likewise.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-opts.h (struct arm_arch_core_flag): Add new field ISA.
- Initialize it.
- (arm_arch_core_flag): Delete flags field.
- (arm_arch_core_flags): Don't initialize flags field.
- * common/config/arm/arm-common.c (check_isa_bits_for): New function.
- (arm_target_thumb_only): Use new isa bits arrays.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (insn_flags): Delete declaration.
- (arm_arch7ve): Declare.
- * arm.c (insn_flags): Delete.
- (arm_arch7ve): New variable.
- (arm_selected_cpu): Delete.
- (arm_option_check_internal): Use new ISA bitmap.
- (arm_option_override_internal): Likewise.
- (arm_configure_build_target): Declare arm_selected_cpu locally.
- (arm_option_override): Use new ISA bitmap. Initialize arm_arch7ve.
- Rearrange variable intialization by general function.
- * arm.h (TARGET_HAVE_LPAE): Use arm_arch7ve.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-builtins.c: Include sbitmap.h.
- (def_mbuiltin): Change first parameter to a flag bit. Use it to test
- available features in the current target.
- (struct builtin_description): Change type of feature field.
- (IWMMXT_BUILTIN): Use the isa_features types.
- (IWMMXT2_BUILTIN): Likewise.
- (IWMMXT_BUILTIN2): Likewise.
- (IWMMXT2_BUILTIN2): Likewise.
- (CRC32_BUILTIN): Likewise.
- (CRYPTO_BUILTIN): Likewise.
- (iwmmx_builtin): Likewise.
- (iwmmx2_builtin): Likewise.
- (arm_iwmmxt_builtin): Check for specific feature bits.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-isa.h (enum isa_feature): Add isa_quirk_cm3_ldrd.
- (ISA_ALL_QUIRKS): New macro.
- * arm-cores.def (cortex-m3): Add isa_quirk_cm3_ldrd to isa feature list.
- * arm.c (isa_quirkbits): New feature-list bitmap.
- (arm_configure_build_target): Ignore quirk bits when comparing an
- architecture feature list with a CPU feature list.
- (arm_option_override): Initialize_isa_quirkbits. If the user has
- not specified -m[no-]fix-cortex-m3-ldrd, automatically enable the
- feature if isa_quirk_cm3_ldrd appears in the isa feature list.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_option_override): Use arm_active_target as source of
- information for arm_base_arch and arm_arch_name.
- * (arm_file_start): Use arm_active_target for core name.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_selected_tune): Delete static variable.
- (arm_selected_arch): Likewise.
- (arm_configure_build_target): Declare local versions of arm_selected
- target and arm_selected_arch. Initialize more fields in target
- data structure.
- (arm_option_override): Use arm_active_target instead of
- arm_selected_tune and arm_selected_arch.
- (asm_file_start): Use arm_active_target.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (arm_build_target): New structure.
- (arm_active_target): Declare it.
- * arm.c (arm_active_target): New variable.
- (bitmap_popcount): New function.
- (feature_count): Delete.
- (arm_initialize_isa): New function.
- isa_fpubits): New variable.
- (arm_configure_build_target): New function.
- (arm_option_override): Initialize isa_fpubits and arm_active_target.isa.
- Use arm_configure_build_target.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-isa.h: New file.
- * arm-protos.h: Include it.
- * arm-arches.def: Add new ISA field to all entries. Drop bogus
- armv8.1-a+crc architecture.
- * arm-cores.def: Similarly. Group ARMv8 cores by profile.
- * arm-opts.h (enum processor_type): Adjust for new field.
- * arm.c (struct processors): New field 'isa_bits'.
- (all_cores, all_architectures): Initialize new field.
- * arm-tables.opt: Regenerated.
- * arm-tune.md: Regenerated.
-
-2016-12-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-arches.def (ARM_ARCH): Add extra field TUNE_FLAGS, move
- tuning properties from architectural FLAGS field.
- * arm-cores.def (ARM_CORE): Likewise.
- * arm-protos.h (TF_LDSCHED, TF_WBUF, TF_CO_PROC): New macros.
- (TF_SMALLMUL, TF_STRONG, TF_SCALE, TF_NOMODE32): New macros.
- (FL_LDSCHED, FL_STRONG, FL_WBUF, FL_SMALLMUL): Delete.
- (FL_TUNE): Remove deleted elements.
- (tune_flags): Convert type to unsigned int.
- * arm.c (struct processors): Add new field tune_flags.
- (all_cores, all_arches): Initialize it.
- (arm_option_override): Adapt uses of tune_flags. Use tune_flags
- for deciding when we should have slow multiply operations.
-
-2016-12-14 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/78519
- * gimple-ssa-sprintf.c (format_string): Handle null pointers.
- (format_directive): Diagnose null pointer arguments.
- (pass_sprintf_length::handle_gimple_call): Diagnose null destination
- pointers. Correct location of null format string in diagnostics.
-
-2016-12-14 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (SELFTEST_FLAGS): Add path argument to -fself-test.
- (s-selftest): Add dependency on the selftests data directory.
- * common.opt (fself-test): Rename to...
- (fself-test=): ...this, documenting the meaning of the argument.
- * selftest-run-tests.c (along): Likewise.
- * selftest-run-tests.c: Include "options.h".
- (selftest::run_tests): Initialize selftest::path_to_selftest_files
- from flag_self_test.
- * selftest.c (selftest::path_to_selftest_files): New global.
- (selftest::locate_file): New function.
- (selftest::test_locate_file): New function.
- (selftest_c_tests): Likewise.
- (selftest::selftest_c_tests): Call test_locate_file.
- * selftest.h (selftest::locate_file): New decl.
- (selftest::path_to_selftest_files): New decl.
-
-2016-12-14 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-cores.def: Add -1 as the variant to all
- of the cores.
- (thunderx): Update to include LSE by default.
- (thunderxt88p1): New core.
- (thunderxt88): New core.
- (thunderxt81): New core.
- (thunderxt83): New core.
- * config/aarch64/driver-aarch64.c (struct aarch64_core_data):
- Add variant field.
- (ALL_VARIANTS): New define.
- (AARCH64_CORE): Support VARIANT operand.
- (cpu_data): Likewise.
- (host_detect_local_cpu): Parse variant field of /proc/cpuinfo.
- Combine the arch and single core case and support variant searching.
- * common/config/aarch64/aarch64-common.c (AARCH64_CORE):
- Add VARIANT operand.
- * config/aarch64/aarch64-opts.h (AARCH64_CORE): Likewise.
- * config/aarch64/aarch64.c (AARCH64_CORE): Likewise.
- * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (AARCH64/mtune): Document thunderxt88,
- thunderxt88p1, thunderxt81, thunderxt83 as available options.
-
-2016-12-14 Martin Jambor <mjambor@suse.cz>
-
- * omp-offload.c: Fix coding style.
- * omp-expand.c: Likewise.
- * omp-general.c: Likewise.
- * omp-grid.c: Likewise.
- * omp-low.c: Fix coding style of parts touched by the
- previous splitting patch.
-
-2016-12-14 Martin Jambor <mjambor@suse.cz>
-
- * omp-general.h: New file.
- * omp-general.c: New file.
- * omp-expand.h: Likewise.
- * omp-expand.c: Likewise.
- * omp-offload.h: Likewise.
- * omp-offload.c: Likewise.
- * omp-grid.c: Likewise.
- * omp-grid.c: Likewise.
- * omp-low.h: Include omp-general.h and omp-grid.h. Removed includes
- of params.h, symbol-summary.h, lto-section-names.h, cilk.h, tree-eh.h,
- ipa-prop.h, tree-cfgcleanup.h, cfgloop.h, except.h, expr.h, stmt.h,
- varasm.h, calls.h, explow.h, dojump.h, flags.h, tree-into-ssa.h,
- tree-cfg.h, cfganal.h, alias.h, emit-rtl.h, optabs.h, expmed.h,
- alloc-pool.h, cfghooks.h, rtl.h and memmodel.h.
- (omp_find_combined_for): Declare.
- (find_omp_clause): Renamed to omp_find_clause and moved to
- omp-general.h.
- (free_omp_regions): Renamed to omp_free_regions and moved to
- omp-expand.h.
- (replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
- to omp-general.h.
- (set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
- omp-general.h.
- (build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
- moved to omp-general.h.
- (get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
- omp-general.h.
- (oacc_fn_attrib_kernels_p): Moved to omp-general.h.
- (get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
- omp-general.c.
- (omp_expand_local): Moved to omp-expand.h.
- (make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
- omp-expand.h.
- (omp_finish_file): Moved to omp-offload.h.
- (default_goacc_validate_dims): Renamed to
- oacc_default_goacc_validate_dims and moved to omp-offload.h.
- (offload_funcs, offload_vars): Moved to omp-offload.h.
- * omp-low.c: Include omp-general.h, omp-offload.h and omp-grid.h.
- (omp_region): Moved to omp-expand.c.
- (omp_for_data_loop): Moved to omp-general.h.
- (omp_for_data): Likewise.
- (oacc_loop): Moved to omp-offload.c.
- (oacc_loop_flags): Moved to omp-general.h.
- (offload_funcs, offload_vars): Moved to omp-offload.c.
- (root_omp_region): Moved to omp-expand.c.
- (omp_any_child_fn_dumped): Likewise.
- (find_omp_clause): Renamed to omp_find_clause and moved to
- omp-general.c.
- (is_combined_parallel): Moved to omp-expand.c.
- (is_reference): Renamed to omp_is_reference and and moved to
- omp-general.c.
- (adjust_for_condition): Renamed to omp_adjust_for_condition and moved
- to omp-general.c.
- (get_omp_for_step_from_incr): Renamed to omp_get_for_step_from_incr
- and moved to omp-general.c.
- (extract_omp_for_data): Renamed to omp_extract_for_data and moved to
- omp-general.c.
- (workshare_safe_to_combine_p): Moved to omp-expand.c.
- (omp_adjust_chunk_size): Likewise.
- (get_ws_args_for): Likewise.
- (get_base_type): Removed.
- (dump_omp_region): Moved to omp-expand.c.
- (debug_omp_region): Likewise.
- (debug_all_omp_regions): Likewise.
- (new_omp_region): Likewise.
- (free_omp_region_1): Likewise.
- (free_omp_regions): Renamed to omp_free_regions and moved to
- omp-expand.c.
- (find_combined_for): Renamed to omp_find_combined_for, made global.
- (build_omp_barrier): Renamed to omp_build_barrier and moved to
- omp-general.c.
- (omp_max_vf): Moved to omp-general.c.
- (omp_max_simt_vf): Likewise.
- (gimple_build_cond_empty): Moved to omp-expand.c.
- (parallel_needs_hsa_kernel_p): Likewise.
- (expand_omp_build_assign): Moved declaration to omp-expand.c.
- (expand_parallel_call): Moved to omp-expand.c.
- (expand_cilk_for_call): Likewise.
- (expand_task_call): Likewise.
- (vec2chain): Likewise.
- (remove_exit_barrier): Likewise.
- (remove_exit_barriers): Likewise.
- (optimize_omp_library_calls): Likewise.
- (expand_omp_regimplify_p): Likewise.
- (expand_omp_build_assign): Likewise.
- (expand_omp_taskreg): Likewise.
- (oacc_collapse): Likewise.
- (expand_oacc_collapse_init): Likewise.
- (expand_oacc_collapse_vars): Likewise.
- (expand_omp_for_init_counts): Likewise.
- (expand_omp_for_init_vars): Likewise.
- (extract_omp_for_update_vars): Likewise.
- (expand_omp_ordered_source): Likewise.
- (expand_omp_ordered_sink): Likewise.
- (expand_omp_ordered_source_sink): Likewise.
- (expand_omp_for_ordered_loops): Likewise.
- (expand_omp_for_generic): Likewise.
- (expand_omp_for_static_nochunk): Likewise.
- (find_phi_with_arg_on_edge): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- (expand_cilk_for): Likewise.
- (expand_omp_simd): Likewise.
- (expand_omp_taskloop_for_outer): Likewise.
- (expand_omp_taskloop_for_inner): Likewise.
- (expand_oacc_for): Likewise.
- (expand_omp_for): Likewise.
- (expand_omp_sections): Likewise.
- (expand_omp_single): Likewise.
- (expand_omp_synch): Likewise.
- (expand_omp_atomic_load): Likewise.
- (expand_omp_atomic_store): Likewise.
- (expand_omp_atomic_fetch_op): Likewise.
- (expand_omp_atomic_pipeline): Likewise.
- (expand_omp_atomic_mutex): Likewise.
- (expand_omp_atomic): Likewise.
- (oacc_launch_pack): and moved to omp-general.c, made public.
- (OACC_FN_ATTRIB): Likewise.
- (replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
- to omp-general.c.
- (set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
- omp-general.c.
- (build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
- moved to omp-general.c.
- (get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
- omp-general.c.
- (oacc_fn_attrib_kernels_p): Moved to omp-general.c.
- (oacc_fn_attrib_level): Moved to omp-offload.c.
- (get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
- omp-general.c.
- (get_oacc_ifn_dim_arg): Renamed to oacc_get_ifn_dim_arg and moved to
- omp-general.c.
- (mark_loops_in_oacc_kernels_region): Moved to omp-expand.c.
- (grid_launch_attributes_trees): Likewise.
- (grid_attr_trees): Likewise.
- (grid_create_kernel_launch_attr_types): Likewise.
- (grid_insert_store_range_dim): Likewise.
- (grid_get_kernel_launch_attributes): Likewise.
- (get_target_argument_identifier_1): Likewise.
- (get_target_argument_identifier): Likewise.
- (get_target_argument_value): Likewise.
- (push_target_argument_according_to_value): Likewise.
- (get_target_arguments): Likewise.
- (expand_omp_target): Likewise.
- (grid_expand_omp_for_loop): Moved to omp-grid.c.
- (grid_arg_decl_map): Likewise.
- (grid_remap_kernel_arg_accesses): Likewise.
- (grid_expand_target_grid_body): Likewise.
- (expand_omp): Renamed to omp_expand and moved to omp-expand.c.
- (build_omp_regions_1): Moved to omp-expand.c.
- (build_omp_regions_root): Likewise.
- (omp_expand_local): Likewise.
- (build_omp_regions): Likewise.
- (execute_expand_omp): Likewise.
- (pass_data_expand_omp): Likewise.
- (pass_expand_omp): Likewise.
- (make_pass_expand_omp): Likewise.
- (pass_data_expand_omp_ssa): Likewise.
- (pass_expand_omp_ssa): Likewise.
- (make_pass_expand_omp_ssa): Likewise.
- (grid_lastprivate_predicate): Renamed to
- omp_grid_lastprivate_predicate and moved to omp-grid.c, made public.
- (grid_prop): Moved to omp-grid.c.
- (GRID_MISSED_MSG_PREFIX): Likewise.
- (grid_safe_assignment_p): Likewise.
- (grid_seq_only_contains_local_assignments): Likewise.
- (grid_find_single_omp_among_assignments_1): Likewise.
- (grid_find_single_omp_among_assignments): Likewise.
- (grid_find_ungridifiable_statement): Likewise.
- (grid_parallel_clauses_gridifiable): Likewise.
- (grid_inner_loop_gridifiable_p): Likewise.
- (grid_dist_follows_simple_pattern): Likewise.
- (grid_gfor_follows_tiling_pattern): Likewise.
- (grid_call_permissible_in_distribute_p): Likewise.
- (grid_handle_call_in_distribute): Likewise.
- (grid_dist_follows_tiling_pattern): Likewise.
- (grid_target_follows_gridifiable_pattern): Likewise.
- (grid_remap_prebody_decls): Likewise.
- (grid_var_segment): Likewise.
- (grid_mark_variable_segment): Likewise.
- (grid_copy_leading_local_assignments): Likewise.
- (grid_process_grid_body): Likewise.
- (grid_eliminate_combined_simd_part): Likewise.
- (grid_mark_tiling_loops): Likewise.
- (grid_mark_tiling_parallels_and_loops): Likewise.
- (grid_process_kernel_body_copy): Likewise.
- (grid_attempt_target_gridification): Likewise.
- (grid_gridify_all_targets_stmt): Likewise.
- (grid_gridify_all_targets): Renamed to omp_grid_gridify_all_targets
- and moved to omp-grid.c, made public.
- (make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
- omp-expand.c.
- (add_decls_addresses_to_decl_constructor): Moved to omp-offload.c.
- (omp_finish_file): Likewise.
- (oacc_thread_numbers): Likewise.
- (oacc_xform_loop): Likewise.
- (oacc_default_dims, oacc_min_dims): Likewise.
- (oacc_parse_default_dims): Likewise.
- (oacc_validate_dims): Likewise.
- (new_oacc_loop_raw): Likewise.
- (new_oacc_loop_outer): Likewise.
- (new_oacc_loop): Likewise.
- (new_oacc_loop_routine): Likewise.
- (finish_oacc_loop): Likewise.
- (free_oacc_loop): Likewise.
- (dump_oacc_loop_part): Likewise.
- (dump_oacc_loop): Likewise.
- (debug_oacc_loop): Likewise.
- (oacc_loop_discover_walk): Likewise.
- (oacc_loop_sibling_nreverse): Likewise.
- (oacc_loop_discovery): Likewise.
- (oacc_loop_xform_head_tail): Likewise.
- (oacc_loop_xform_loop): Likewise.
- (oacc_loop_process): Likewise.
- (oacc_loop_fixed_partitions): Likewise.
- (oacc_loop_auto_partitions): Likewise.
- (oacc_loop_partition): Likewise.
- (default_goacc_fork_join): Likewise.
- (default_goacc_reduction): Likewise.
- (execute_oacc_device_lower): Likewise.
- (default_goacc_validate_dims): Likewise.
- (default_goacc_dim_limit): Likewise.
- (pass_data_oacc_device_lower): Likewise.
- (pass_oacc_device_lower): Likewise.
- (make_pass_oacc_device_lower): Likewise.
- (execute_omp_device_lower): Likewise.
- (pass_data_omp_device_lower): Likewise.
- (pass_omp_device_lower): Likewise.
- (make_pass_omp_device_lower): Likewise.
- (pass_data_omp_target_link): Likewise.
- (pass_omp_target_link): Likewise.
- (find_link_var_op): Likewise.
- (pass_omp_target_link::execute): Likewise.
- (make_pass_omp_target_link): Likewise.
- * Makefile.in (OBJS): Added omp-offload.o, omp-expand.o, omp-general.o
- and omp-grid.o.
- (GTFILES): Added omp-offload.h, omp-offload.c and omp-expand.c, removed
- omp-low.h.
- * gimple-fold.c: Include omp-general.h instead of omp-low.h.
- (fold_internal_goacc_dim): Adjusted calls to
- get_oacc_ifn_dim_arg and get_oacc_fn_dim_size to use their new names.
- * gimplify.c: Include omp-low.h.
- (omp_notice_variable): Adjust the call to get_oacc_fn_attrib to use
- its new name.
- (gimplify_omp_task): Adjusted calls to find_omp_clause to use its new
- name.
- (gimplify_omp_for): Likewise.
- * lto-cgraph.c: Include omp-offload.h instead of omp-low.h.
- * toplev.c: Include omp-offload.h instead of omp-low.h.
- * tree-cfg.c: Include omp-general.h instead of omp-low.h. Also
- include omp-expand.h.
- (make_edges_bb): Adjusted the call to make_gimple_omp_edges to use its
- new name.
- (make_edges): Adjust the call to free_omp_regions to use its new name.
- * tree-parloops.c: Include omp-general.h.
- (create_parallel_loop): Adjusted the call to set_oacc_fn_attrib to use
- its new name.
- (parallelize_loops): Adjusted the call to get_oacc_fn_attrib to use
- its new name.
- * tree-ssa-loop.c: Include omp-general.h instead of omp-low.h.
- (gate_oacc_kernels): Adjusted the call to get_oacc_fn_attrib to use
- its new name.
- * tree-vrp.c: Include omp-general.h instead of omp-low.h.
- (extract_range_basic): Adjusted calls to get_oacc_ifn_dim_arg and
- get_oacc_fn_dim_size to use their new names.
- * varpool.c: Include omp-offload.h instead of omp-low.h.
- * gengtype.c (open_base_files): Replace omp-low.h with omp-offload.h in
- ifiles.
- * config/nvptx/nvptx.c: Include omp-general.c.
- (nvptx_expand_call): Adjusted the call to get_oacc_fn_attrib to use
- its new name.
- (nvptx_reorg): Likewise.
- (nvptx_record_offload_symbol): Likewise.
-
-2016-12-14 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/78786
- * gimple-ssa-sprintf.c (target_dir_max): New macro.
- (get_mpfr_format_length): New function.
- (format_integer): Use HOST_WIDE_INT instead of int.
- (format_floating_max): Same.
- (format_floating): Call get_mpfr_format_length.
- (format_directive): Use target_dir_max.
-
-2016-12-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78791
- * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_STV_TEMP.
- * config/i386/i386.c (dimode_scalar_chain::make_vector_copies,
- dimode_scalar_chain::convert_reg): Use SLOT_STV_TEMP instead of
- SLOT_TEMP.
-
-2016-12-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/59874
- * config/i386/i386-builtin.def: Add __builtin_clzs and __builtin_ctzs.
- (ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
- * config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
- (*clzhi2): Ditto.
-
-2016-12-14 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/77844
- * valtrack.c: Include rtl-iter.h.
- (struct rtx_subst_pair): Add insn field.
- (propagate_for_debug_subst): If pair->to contains at least 2
- regs, create a DEBUG_INSN with a debug temp before pair->insn
- and replace from with the debug temp instead of pair->to.
- (propagate_for_debug): Initialize p.insn.
- * combine.c (insn_uid_check): New inline function.
- (INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
- (find_single_use, combine_instructions,
- cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
- INSN_P.
-
-2016-12-14 Martin Sebor <msebor@redhat.com>
-
- PR c/17308
- * builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined.
- (ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same.
- (ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same.
- (ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same.
- (ATTR_NOTHROW_NONNULL_1_5): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same.
- (ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same.
- * builtins.c (validate_arg): Add argument. Treat null pointers
- passed to nonnull arguments as invalid.
- (validate_arglist): Same.
- * builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute.
- (printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same.
- (__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same.
- * calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions.
- (initialize_argument_information): Diagnose null pointers passed to
- arguments declared nonnull.
- * calls.h (get_nonnull_args): Declared.
-
-2016-12-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): On ISA
- 3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract
- instructions.
- * config/rs6000/vsx.md (VSr2): Add IEEE 128-bit floating point
- type constraint registers.
- (VSr3): Likewise.
- (FL_CONV): New mode iterator for binary floating types that have a
- direct conversion from 64-bit integer to floating point.
- (vsx_extract_<mode>_p9): Add support for the ISA 3.0/power9
- VEXTU{B,H,W}{L,R}X extract instructions.
- (vsx_extract_<mode>_p9 splitter): Add splitter to load up the
- extract byte position into the GPR if we are using the
- VEXTU{B,H,W}{L,R}X extract instructions.
- (vsx_extract_<mode>_di_p9): Support extracts to GPRs.
- (vsx_extract_<mode>_store_p9): Support extracting to GPRs so that
- we can use reg+offset address instructions.
- (vsx_extract_<mode>_var): Support extracts to GPRs.
- (vsx_extract_<VSX_EXTRACT_I:mode>_<SDI:mode>_var): New combiner
- insn to combine vector extracts with zero_extend.
- (vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Optimize
- extracting a small integer vector element and converting it to a
- floating point type.
- (vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
- (UNSPEC_XXEXTRACTUW): New unspec.
- (UNSPEC_XXINSERTW): Likewise.
- (vextract4b): Add support for the vec_vextract4b built-in
- function.
- (vextract4b_internal): Likewise.
- (vinsert4b): Add support for the vec_insert4b built-in function.
- Include both a version that inserts element 1 from a V4SI object
- and one that inserts a DI object.
- (vinsert4b_internal): Likewise.
- (vinsert4b_di): Likewise.
- (vinsert4b_di_internal): Likewise.
- * config/rs6000/predicates.md (const_0_to_11_operand): New
- predicate, match 0..11.
- * config/rs6000/rs6000-builtin.def (BU_P9V_VSX_3): Set built-in
- type to ternary, not binary.
- (BU_P9V_64BIT_VSX_3): Likewise.
- (P9V_BUILTIN_VEXTRACT4B): Add support for vec_vinsert4b and
- vec_extract4b non-overloaded built-in functions.
- (P9V_BUILTIN_VINSERT4B): Likewise.
- (P9V_BUILTIN_VINSERT4B_DI): Likewise.
- (P9V_BUILTIN_VEC_VEXTULX): Move to section that adds 2 operand ISA
- 3.0 built-in functions.
- (P9V_BUILTIN_VEC_VEXTURX): Likewise.
- (P9V_BUILTIN_VEC_VEXTRACT4B): Add support for overloaded
- vec_insert4b and vec_extract4 built-in functions.
- (P9V_BUILTIN_VEC_VINSERT4B): Likewise.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded support for vec_vinsert4b and vec_extract4b.
- * config/rs6000/rs6000.c (altivec_expand_builtin): Add checks for
- the vec_insert4b and vec_extract4b byte number being a constant in
- the range 0..11.
- * config/rs6000/altivec.h (vec_vinsert4b): Support vec_vinsert4b
- and vec_extract4b built-in functions.
- * doc/extend.doc (PowerPC VSX built-in functions): Document
- vec_insert4b and vec_extract4b.
-
-2016-12-14 Martin Liska <mliska@suse.cz>
-
- * gimple-pretty-print.c (dump_probability): New function.
- (dump_edge_probability): Use the function.
- (dump_gimple_label): Likewise.
- (dump_gimple_bb_header): Likewise.
-
-2016-12-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
- Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
- (strlen_optimize_stmt): Call fold_strstr_to_memcmp.
-
-2016-12-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * lra-constraints.c (process_address_1): Do not attempt to decompose
- addresses for MEMs that satisfy fixed-form constraints.
-
-2016-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78788
- * tree-vrp.c (set_value_range): Allow [-INF(OVF), +INF(OVF)].
- (set_and_canonicalize_value_range): Do not drop the above to
- VARYING.
-
-2016-12-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs600.c (rs6000_builtin_vectorization_cost):
- Adjust unaligned load cost.
-
-2016-12-13 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78794
- * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
- Calculate additional gain for andnot for targets without BMI.
-
-2016-12-13 Carl Love <cel@us.ibm.com>
-
- * config/rs6000/rs6000-c.c: Add built-in support for
- vector float vec_pack (vector double, vector double)
- vector double vec_sld (vector double, vector double)
- * config/rs6000/rs6000.c: Add icode check for vsldoi_v2df to allow
- 4-bit unsigned literal.
- * config/rs6000/rs6000-builtin.def: Add definition for VSLDOI_2DF
- * doc/extend.texi: Update the built-in documentation file for the
- new powerpc vec_pack and vec_sld built-ins.
-
-2016-12-13 Martin Liska <mliska@suse.cz>
-
- * sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
- (sanopt_optimize): Add new argument.
- (sanitize_asan_mark_unpoison): New function.
- (maybe_contains_asan_check): Likewise.
- (sanitize_asan_mark_poison): Likewise.
- (pass_sanopt::execute): Call the new functions.
-
-2016-12-13 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/78428
- * expr.c (store_constructor_field): Add new arguments to the function.
- (store_constructor): Set up bitregion_end and add gcc_unreachable to
- fields that have either non-constant size or (and) offset.
-
-2016-12-13 Marek Polacek <polacek@redhat.com>
-
- * tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change
- parameters' type from int to HOST_WIDE_INT.
- (compute_overlap_steps_for_affine_1_2): Change parameters' type from
- int to HOST_WIDE_INT.
- (build_classic_dist_vector_1): Likewise.
- (add_multivariate_self_dist): Likewise.
-
-2016-12-13 Michael Matz <matz@suse.de>
-
- PR tree-optimization/78725
- * tree-ssa-loop-split.c (split_at_bb_p): Check for overflow and
- at correct use point.
-
-2016-12-13 Martin Liska <mliska@suse.cz>
-
- * asan.c (asan_expand_mark_ifn): Use renamed
- BUILT_IN_ASAN_{UN}CLOBBER_N to BUILT_IN_ASAN_{UN}POISON_STACK_MEMORY.
- * sanitizer.def: Likewise.
-
-2016-12-13 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/extend.texi (Half-Precision): Update to document current
- compiler behaviour.
-
-2016-12-13 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/extend.texi (Floating Types): Document availability of
- _Float16 on ARM/AArch64.
-
-2016-12-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78699
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Limit
- group size.
-
-2016-12-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78742
- * tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
- * tree-object-size.c (compute_builtin_object_size): Use
- tree_fits_shwi_p.
- * tree-data-ref.c (initialize_matrix_A): Remove excess assert.
-
-2016-12-13 Martin Liska <mliska@suse.cz>
-
- * asan.c (asan_mark_poison_p): Remove.
- (asan_mark_p): New function.
- (transform_statements): Use the function.
- (asan_expand_mark_ifn): Do not use masked enum.
- * asan.h (enum asan_mark_flags): Declare it via a macro.
- * gimple-pretty-print.c (dump_gimple_call_args): Dump first
- argument of ASAN_MARK.
- * gimplify.c (build_asan_poison_call_expr): Use new enum values.
- (asan_poison_variable): Likewise.
-
-2016-12-13 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/77905
- * ipa-pure-const.c (cdtor_p): Return true for
- DECL_STATIC_{CON,DE}STRUCTOR even when it is
- DECL_LOOPING_CONST_OR_PURE_P.
-
-2016-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/78777
- * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge,
- insert_initializers): Use stmt_ends_bb_p instead of is_ctrl_stmt.
-
- PR other/78766
- * opt-functions.awk (opt_args): Use [{] instead of { in regexps.
- Formatting fix.
-
-2016-12-12 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/78622
- PR middle-end78606
- * gimple-ssa-sprintf.c (min_bytes_remaining): Use res.knownrange
- rather than res.bounded.
- (get_width_and_precision): Set precision to -1 when negative.
- (adjust_range_for_overflow): New function.
- (format_integer): Correct the handling of the space, plus, and pound
- flags, and the special case of zero precision.
- Always set res.bounded to true unless either precision or width
- is specified and unknown.
- Call adjust_range_for_overflow.
- Avoid use zero as the shortest value when precision is specified
- but unknown.
- (format_directive): Remove vestigial quoting. Always inform of
- argument value or range when it's available.
- (add_bytes): Correct the computation of boundrange used to
- decide whether a warning is of a "maybe" or "defnitely" kind.
-
-2016-12-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * combine.c (change_zero_ext): Handle mode expanding zero_extracts.
-
-2016-12-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78738
- * config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
- flag_unsafe_math_optimizations.
- (X87_ENABLE_FLOAT): Ditto.
-
-2016-12-12 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/78716
- * gimplify.c (gimplify_va_arg_expr): Don't require ADDR_EXPR for
- Case 1; check POINTER_TYPE_P instead.
-
-2016-12-12 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/78669
- * ira.c (combine_and_move_insns): When deleting an insn, clear the
- replace flag for all used regs in that insn.
-
-2016-12-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-opts.h: Move struct arm_arch_core_flag and
- arm_arch_core_flags to ...
- * common/config/arm/arm-common.c: There.
-
-2016-12-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/constraints.md (T): Use special memory constraint.
- (U): Minor tweak.
- (W): Add TARGET_ARCH64 test.
- * config/sparc/sparc.md (*movdi_insn_sp32): Replace 'W' with 'T'.
- (*movdf_insn_sp32): Likewise.
- (*mov<VM64:mode>_insn_sp32): Likewise. Replace 'e' with 'f' in
- conjunction with offsettable memory references.
-
-2016-12-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_emit_move_sequence): Call copy_rtx
- to avoid shared structure error.
-
-2016-12-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/78695
- * config/rs6000/rs6000.c (find_alignment_op): Discard from
- consideration any artificial definition.
-
-2016-12-11 Iain Sandoe <iain@codesourcery.com>
-
- * configure.ac (CROSS directory tests): Remove the assumption that
- Darwin hosts contain suitable target sysroots in "/".
- * configure: Regenerate.
-
-2016-12-11 Iain Sandoe <iain@codesourcery.com>
-
- PR rtl-optimization/71496
- * config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
- copyable. (load_macho_picbase_di, reload_macho_picbase_si,
- reload_macho_picbase_di): Likewise.
-
-2012-12-11 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_callee_copies): New function.
- * config/pa/pa.opt (mcaller-copies): New option.
- * doc/invoke.texi (mcaller-copies): Document option.
-
-2016-12-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70799
- * config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
- <case ASHIFT, case LSHIFTRT>: Consider all constant shifts.
- Add FIXME comment.
- (dimode_scalar_chain::compute_convert_gain): Reduce gain for
- constant shifts larger or equal than 32.
-
-2016-12-11 Roger Pau Monné <roger.pau@citrix.com>
-
- * config/i386/x86-64.h: Append --32 to the assembler options when
- -m16 is used on non-glibc systems as well.
-
-2016-12-10 Allan Sandfeld Jensen <allan.jensen@qt.io>
-
- PR target/70118
- * config/i386/mmintrin.h (__m64_u): New type
- * config/i386/emmintrin.h (_mm_loadl_epi64, _mm_storel_epi64):
- Make the allowed unaligned memory access explicit.
-
-2016-12-10 Krister Walfridsson <krister.walfridsson@gmail.com>
-
- * config.gcc (i386-*-netbsd*): Make i486 the default arch on NetBSD.
- Generally use cpu generic.
-
-2016-12-10 Jakub Jelinek <jakub@redhat.com>
- Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/78720
- * match.pd (A < 0 ? C : 0): Only optimize for signed A. If shift
- is negative, sign extend to @1's type and than AND with C.
-
-2016-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/78758
- * tree-object-size.c (compute_object_offset) <case ARRAY_REF>: Handle
- non-zero low bound or non-standard element sizes.
-
- PR sanitizer/78708
- * lto-streamer-in.c (input_function): In addition to debug stmts
- without -g, remove IFN_*SAN_* calls if corresponding flag_sanitize
- bit is not enabled.
-
-2016-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-passes.def: New file.
- * config/rs6000/rs6000-protos.h: Declare make_pass_analyze_swaps.
- * config/rs6000/rs6000.c (rs6000_option_override): Remove
- registration of machine-specific passes.
- (pass_analyze_swaps::clone): New function.
- * config/rs6000/t-rs6000: Define PASSES_EXTRA.
-
-2016-12-09 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR ipa/78721
- * ipa-cp.c (propagate_vr_accross_jump_function): Call
- drop_tree_overflow after fold_convert.
-
-2016-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/72742
- * config/rs6000/rs6000.md (*and<mode>3_imm_mask_dot,
- *and<mode>3_imm_mask_dot2): Add rs6000_is_valid_and_mask to insn
- condition.
-
-2016-12-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/78683
- * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Use
- GET_MODE_BITSIZE. Return 2.
- (CTZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE. Return 2. Handle
- TARGET_POPCNTD the same as TARGET_CTZ.
- * config/rs6000/rs6000.md (ctz<mode>2): Reimplement.
- (ffs<mode>2): Reimplement.
-
-2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- PR rtl-optimization/78255
- * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
- NO_FUNCTION_CSE is true.
-
-2016-12-09 Cesar Philippidis <cesar@codesourcery.com>
-
- PR ipa/78027
- * ipa-icf.c (sem_function::parse): Don't process functions with
- oacc decl attributes, as they may be OpenACC routines.
-
-2016-12-09 David Malcolm <dmalcolm@redhat.com>
-
- * rtl.h (get_mem_attrs): Add "const" qualifier to returned
- pointer.
-
-2016-12-09 Nathan Sidwell <nathan@acm.org>
-
- PR C++/78550
- * convert.c (convert_to_integer_1): Maybe fold conversions to
- integral types with fewer bits than its mode.
-
-2016-12-09 Martin Liska <mliska@suse.cz>
-
- * tree-pretty-print.c (pretty_print_string): Escape non-printable
- chars in strings.
-
-2016-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/78726
- * tree-ssa-reassoc.c (make_new_ssa_for_def): Add OPCODE and OP
- argument. For lhs uses in debug stmts, don't replace lhs with
- new_lhs, but with a debug temp set to new_lhs opcode op.
- (make_new_ssa_for_all_defs): Add OPCODE argument, pass OPCODE and
- OP down to make_new_ssa_for_def.
- (zero_one_operation): Call make_new_ssa_for_all_defs even when
- stmts_to_fix is empty, if *def has not changed yet. Pass
- OPCODE to make_new_ssa_for_all_defs.
-
-2016-12-08 Martin Sebor <msebor@redhat.com>
-
- PR c/78284
- * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
- identifier tree nodes.
- (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
- (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
- (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
- (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
- (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
- * builtins.c (expand_builtin_alloca): Call
- maybe_warn_alloc_args_overflow.
- * builtins.def (aligned_alloc, calloc, malloc, realloc):
- Add attribute alloc_size.
- (alloca): Add attribute alloc_size and returns_nonnull.
- * calls.h (maybe_warn_alloc_args_overflow): Declare.
- * calls.c (alloc_max_size, operand_signed_p): New functions.
- (maybe_warn_alloc_args_overflow): Define.
- (initialize_argument_information): Diagnose overflow in functions
- declared with attaribute alloc_size.
- * doc/invoke.texi (Warning Options): Document -Walloc-zero and
- -Walloc-size-larger-than.
-
-2016-12-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/78671
- * lra-assign.c (find_hard_regno_for_1): Check prohibited regs for an
- allocno class.
-
-2016-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
- (HARD_REGNO_NREGS_HAS_PADDING): Ditto. Simplify macro.
-
-2015-12-08 Wilco Dijkstra <wdijkstr@arm.com>
-
- PR target/78733
- * config/aarch64/aarch64.c (aarch64_classify_address):
- Set load_store_pair_p for TImode and TFmode.
-
-2016-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * emit-rtl.c (gen_reg_rtx): Move regno_pointer_align and
- regno_reg_rtx resizing logic to...
- (emit_status::ensure_regno_capacity): ...this new method,
- and ensure that the buffers are large enough.
- (init_emit): Allocate regno_reg_rtx using ggc_cleared_vec_alloc
- rather than ggc_vec_alloc.
- * function.h (emit_status::ensure_regno_capacity): New method.
-
-2016-12-08 Dmitry Vyukov <dvyukov@google.com>
-
- * opts.c (finish_options): Enable -fsanitize-address-use-after-scope
- only if -fsanitize=address is enabled (not -fsanitize=kernel-address).
- * doc/invoke.texi (-fsanitize=kernel-address):
- Don't say that it enables -fsanitize-address-use-after-scope.
-
-2016-12-08 Bin Cheng <bin.cheng@arm.com>
-
- PR middle-end/78684
- * tree-vect-loop-manip.c (create_intersect_range_checks_index): Check
- sign bit for index step of data reference.
-
-2016-12-08 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Handle SYMBOL_SMALL_TLSGD for ILP32.
- * config/aarch64/aarch64.md : tlsgd_small modified into
- tlsgd_small_<mode> to support SImode and DImode.
- *tlsgd_small modified into *tlsgd_small_<mode> to support SImode and
- DImode.
-
-2016-12-08 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Access the lower part of RTX appropriately.
-
-2016-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * genpreds.c (write_tm_constrs_h): Update for renaming of
- rtx_reader_ptr to md_reader_ptr.
- (write_tm_preds_h): Likewise.
- (write_insn_preds_c): Likewise.
- * read-md.c (rtx_reader_ptr): Rename to...
- (md_reader_ptr): ...this, and convert from an
- rtx_reader * to a md_reader *.
- (rtx_reader::set_md_ptr_loc): Rename to...
- (md_reader::set_md_ptr_loc): ...this.
- (rtx_reader::get_md_ptr_loc): Rename to...
- (md_reader::get_md_ptr_loc): ...this.
- (rtx_reader::copy_md_ptr_loc): Rename to...
- (md_reader::copy_md_ptr_loc): ...this.
- (rtx_reader::fprint_md_ptr_loc): Rename to...
- (md_reader::fprint_md_ptr_loc): ...this.
- (rtx_reader::print_md_ptr_loc): Rename to...
- (md_reader::print_md_ptr_loc): ...this.
- (rtx_reader::join_c_conditions): Rename to...
- (md_reader::join_c_conditions): ...this.
- (rtx_reader::fprint_c_condition): ...this.
- (rtx_reader::print_c_condition): Rename to...
- (md_reader::print_c_condition): ...this.
- (fatal_with_file_and_line): Update for renaming of
- rtx_reader_ptr to md_reader_ptr.
- (rtx_reader::require_char): Rename to...
- (md_reader::require_char): ...this.
- (rtx_reader::require_char_ws): Rename to...
- (md_reader::require_char_ws): ...this.
- (rtx_reader::require_word_ws): Rename to...
- (md_reader::require_word_ws): ...this.
- (rtx_reader::read_char): Rename to...
- (md_reader::read_char): ...this.
- (rtx_reader::unread_char): Rename to...
- (md_reader::unread_char): ...this.
- (rtx_reader::peek_char): Rename to...
- (md_reader::peek_char): ...this.
- (rtx_reader::read_name): Rename to...
- (md_reader::read_name): ...this.
- (rtx_reader::read_escape): Rename to...
- (md_reader::read_escape): ...this.
- (rtx_reader::read_quoted_string): Rename to...
- (md_reader::read_quoted_string): ...this.
- (rtx_reader::read_braced_string): Rename to...
- (md_reader::read_braced_string): ...this.
- (rtx_reader::read_string): Rename to...
- (md_reader::read_string): ...this.
- (rtx_reader::read_skip_construct): Rename to...
- (md_reader::read_skip_construct): ...this.
- (rtx_reader::handle_constants): Rename to...
- (md_reader::handle_constants): ...this.
- (rtx_reader::traverse_md_constants): Rename to...
- (md_reader::traverse_md_constants): ...this.
- (rtx_reader::handle_enum): Rename to...
- (md_reader::handle_enum): ...this.
- (rtx_reader::lookup_enum_type): Rename to...
- (md_reader::lookup_enum_type): ...this.
- (rtx_reader::traverse_enum_types): Rename to...
- (md_reader::traverse_enum_types): ...this.
- (rtx_reader::rtx_reader): Rename to...
- (md_reader::md_reader): ...this, and update for renaming of
- rtx_reader_ptr to md_reader_ptr.
- (rtx_reader::~rtx_reader): Rename to...
- (md_reader::~md_reader): ...this, and update for renaming of
- rtx_reader_ptr to md_reader_ptr.
- (rtx_reader::handle_include): Rename to...
- (md_reader::handle_include): ...this.
- (rtx_reader::handle_file): Rename to...
- (md_reader::handle_file): ...this.
- (rtx_reader::handle_toplevel_file): Rename to...
- (md_reader::handle_toplevel_file): ...this.
- (rtx_reader::get_current_location): Rename to...
- (md_reader::get_current_location): ...this.
- (rtx_reader::add_include_path): Rename to...
- (md_reader::add_include_path): ...this.
- (rtx_reader::read_md_files): Rename to...
- (md_reader::read_md_files): ...this.
- * read-md.h (class rtx_reader): Split into...
- (class md_reader): ...new class.
- (rtx_reader_ptr): Rename to...
- (md_reader_ptr): ...this, and convert to a md_reader *.
- (class noop_reader): Update base class to be md_reader.
- (class rtx_reader): Reintroduce as a subclass of md_reader.
- (rtx_reader_ptr): Reintroduce as a rtx_reader *.
- (read_char): Update for renaming of rtx_reader_ptr to
- md_reader_ptr.
- (unread_char): Likewise.
- * read-rtl.c (rtx_reader_ptr): New global.
- (rtx_reader::apply_iterator_to_string): Rename to...
- (md_reader::apply_iterator_to_string): ...this.
- (rtx_reader::copy_rtx_for_iterators): Rename to...
- (md_reader::copy_rtx_for_iterators): ...this.
- (rtx_reader::read_conditions): Rename to...
- (md_reader::read_conditions): ...this.
- (rtx_reader::record_potential_iterator_use): Rename to...
- (md_reader::record_potential_iterator_use): ...this.
- (rtx_reader::read_mapping): Rename to...
- (md_reader::read_mapping): ...this.
- (rtx_reader::read_rtx): Use rtx_reader_ptr when calling
- read_rtx_code.
- (rtx_reader::read_rtx_operand): Use get_string_obstack rather
- than directly accessing m_string_obstack.
- (rtx_reader::rtx_reader): New ctor.
- (rtx_reader::~rtx_reader): New dtor.
-
-2016-12-07 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/77784
- PR middle-end/78149
- PR middle-end/78138
-
- * builtins.c (expand_builtin_strcat, expand_builtin_strncat): New
- functions.
- (compute_dest_size, get_size_range, check_sizes, check_strncat_sizes)
- (check_memop_sizes): Same.
- (expand_builtin_memcpy): Call check memop_sizes.
- (expand_builtin_mempcpy): Same.
- (expand_builtin_memset): Same,
- (expand_builtin_bzero): Same.
- (expand_builtin_memory_chk): Call check_sizes.
- (expand_builtin_strcpy): Same.
- (expand_builtin_strncpy): Same.
- (maybe_emit_sprintf_chk_warning): Same.
- (expand_builtin): Handle strcat and strncat.
- (fini_object_sizes): Reset pointers.
- (compute_object_size): New function.
- * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
- Avoid issuing warnings also issued during built-in expansion.
- * doc/invoke.texi (Warning Options): Document -Wstringop-overflow.
-
-2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/72717
- * config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
- V2DImode elements are SUBREG's convert the result into DImode
- rather than failing in emit_move_insn.
-
-2016-12-07 Jakub Jelinek <jakub@redhat.com>
-
- * builtins.c (fold_builtin_strstr): Removed.
- (fold_builtin_2): Don't call fold_builtin_strstr.
- * gimple-fold.c (gimple_fold_builtin_strchr): Check is_strrchr
- earlier in the strrchr (x, 0) -> strchr (x, 0) optimization.
- (gimple_fold_builtin_strstr): New function.
- (gimple_fold_builtin): Call it.
- * fold-const-call.c (fold_const_call): Handle CFN_BUILT_IN_STRSTR.
-
- PR c++/78692
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs
- var to lhs of new_stmt right before noreturn handling rather than to
- lhs of e->call_stmt early.
-
-2016-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * read-md.c (rtx_reader::require_char): New method.
- (require_char_ws): Convert from function to...
- (rtx_reader::require_char_ws): ...method.
- (rtx_reader::require_word_ws): New method.
- * read-md.h (rtx_reader::require_char): New method decl.
- (require_char_ws): Remove global decl in favor of...
- (rtx_reader::require_char_ws): ...new method decl.
- (rtx_reader::require_word_ws): New method decl.
- (rtx_reader::peek_char): New method decl.
-
-2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/78617
- * lra-remat.c (do_remat): Initialize live_hard_regs from live in
- registers, also setting hard registers mapped to pseudo registers.
-
-2016-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * cfgexpand.c (pass_expand::execute): Move stack initializations
- to rtl_data::init_stack_alignment and call it.
- * emit-rtl.c (rtl_data::init_stack_alignment): New method.
- * emit-rtl.h (rtl_data::init_stack_alignment): New method.
-
-2016-12-07 Wilco Dijkstra <wdijkstr@arm.com>
-
- * gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
- (ira): Move initialization of crtl->is_leaf earlier.
-
-2016-12-07 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (movti_aarch64): Change Ump to m.
- (movtf_aarch64): Likewise.
- * config/aarch64/aarch64.c (aarch64_classify_address):
- Use correct intersection of offsets.
- (aarch64_legitimize_address_displacement): Use 9-bit signed offsets.
- (aarch64_legitimize_address): Use 9-bit signed offsets for TI/TF mode.
- Use 7-bit signed scaled mode for modes > 16 bytes.
-
-2016-12-07 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR rtl-optimization/78561
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Use
- constant_pool_empty_p in place of get_pool_size_upper_bound.
- (rs6000_stack_info): Likewise.
- (rs6000_emit_prologue): Likewise.
- (rs6000_elf_declare_function_name): Likewise.
- (rs6000_set_up_by_prologue): Likewise.
- (rs6000_can_eliminate): Likewise.
- * output.h (get_pool_size_upper_bound): Delete.
- (constant_pool_empty_p): New.
- * varasm.c (get_pool_size_upper_bound): Delete
- (constant_pool_empty_p): New.
-
-2016-12-07 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/78691
- * match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
- Require integral type for the outer expression.
-
-2016-12-07 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
-
- * config/aarch64/aarch64.c
- (aarch64_builtin_support_vector_misalignment): New.
- (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Define.
-
-2016-12-06 David Malcolm <dmalcolm@redhat.com>
-
- PR bootstrap/78705
- * config/i386/i386.c (ix86_test_dumping_memory_blockage):
- Conditionalize the string comparison on Pmode == DImode.
-
-2016-12-06 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67955
- * tree-ssa-alias.c (same_addr_size_stores_p): New function.
- (stmt_kills_ref_p): Use it.
-
-2016-12-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/78700
- * calls.c (expand_call): Move back call to prepare_call_address.
-
-2016-12-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78658
- * config/rs6000/rs6000.md (zero_extendqi<mode>2): Use ^ instead of
- ?* constraints for the ISA 3.0 patterns, so the register allocator
- is more likely to allocate QImode/HImode to vector registers for
- conversion to floating point unless a reload is needed.
- (zero_extendhi<mode>2): Likewise.
- (float<QHI:mode><FP_ISA3:mode>2_internal): Properly deal with the
- first alternative which is converting QImode/HImode to floating
- point and the QImode/HImode value is in a vector register, and
- does not allocate the second pseudo register. Remove zero
- extending into traditional floating point registers, since the
- instruction used only works on traditional altivec registers.
- (floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
-
-2016-12-06 David Malcolm <dmalcolm@redhat.com>
-
- * config/i386/i386.c: Include print-rtl.h.
- (selftest::ix86_test_dumping_memory_blockage): New function.
- (selftest::ix86_run_selftests): Call it.
- * print-rtl-function.c (print_rtx_function): Create an
- rtx_reuse_manager and use it.
- * print-rtl.c: Include "rtl-iter.h".
- (rtx_writer::rtx_writer): Add reuse_manager param.
- (rtx_reuse_manager::rtx_reuse_manager): New ctor.
- (uses_rtx_reuse_p): New function.
- (rtx_reuse_manager::preprocess): New function.
- (rtx_reuse_manager::has_reuse_id): New function.
- (rtx_reuse_manager::seen_def_p): New function.
- (rtx_reuse_manager::set_seen_def): New function.
- (rtx_writer::print_rtx): If "in_rtx" has a reuse ID, print it as a
- prefix the first time in_rtx is seen, and print reuse_rtx
- subsequently.
- (print_inline_rtx): Supply NULL for new reuse_manager param.
- (debug_rtx): Likewise.
- (print_rtl): Likewise.
- (print_rtl_single): Likewise.
- (rtx_writer::print_rtl_single_with_indent): Likewise.
- * print-rtl.h: Include bitmap.h when building for host.
- (rtx_writer::rtx_writer): Add reuse_manager param.
- (rtx_writer::m_rtx_reuse_manager): New field.
- (class rtx_reuse_manager): New class.
- * rtl-tests.c (selftest::assert_rtl_dump_eq): Add reuse_manager
- param and use it when constructing rtx_writer.
- (selftest::test_dumping_rtx_reuse): New function.
- (selftest::rtl_tests_c_tests): Call it.
- * selftest-rtl.h (class rtx_reuse_manager): New forward decl.
- (selftest::assert_rtl_dump_eq): Add reuse_manager param.
- (ASSERT_RTL_DUMP_EQ): Supply NULL for reuse_manager param.
- (ASSERT_RTL_DUMP_EQ_WITH_REUSE): New macro.
-
-2016-12-06 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/77761
- * lra-lives.c (process_bb_lives): Update biggest mode for
- implicitly used hard reg.
-
-2016-12-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (general_gr_operand): New predicate.
- * config/i386/i386.md (TImode and DImode push_operand splitter):
- Use general_gr_operand. Macroize using DWI mode macro.
- (TImode and DImode nonimmediate_operand splitter): Use
- nonimmediate_gr_operand and general_gr_operand. Macroize using
- DWI mode macro.
- (TF/XF/DFmode push_operand splitter): Use general_gr_operand.
- (TFmode nonimmediate_operand splitter): Use nonimmediate_gr_operand
- and general_gr_operand.
- (XFmode nonimmediate_operand splitter): Ditto.
- (DFmode nonimmediate_operand splitter): Ditto.
- * config/i386/mmx.md (MMXMODE nonimmediate_operand splitter): Ditto.
-
-2016-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-cores.def (cortex-m23, cortex-m33): Move into
- alphabetical order with respect to other ARMv8 processors.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Likewise.
-
-2016-12-06 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_expand_builtin_insn): Check input
- ranges of literal integer arguments.
-
-2016-12-06 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/78548
- * tree-ssa-uninit.c (simplify_preds_4): Call release() instead of
- destroy_predicate_vecs.
- (uninit_uses_cannot_happen): Make uninit_preds a scalar.
-
-2016-12-06 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/78566
- * tree-ssa-uninit.c (can_one_predicate_be_invalidated_p): Change
- argument type to a pred_chain.
- (can_chain_union_be_invalidated_p): Use pred_chain instead of a
- worklist.
- (flatten_out_predicate_chains): Remove.
- (uninit_uses_cannot_happen): Rename from
- uninit_ops_invalidate_phi_use.
- Change logic so that we are checking that the PHI use will
- invalidate _ALL_ possibly uninitialized operands.
- (is_use_properly_guarded): Rename call to
- uninit_ops_invalidate_phi_use into uninit_uses_cannot_happen.
-
-2016-12-06 Tamar Christina <tamar.christina@arm.com>
-
- * gcc/config/aarch64/arm_neon.h
- (vreinterpretq_p8_p128, vreinterpretq_p16_p128): Added.
- (vreinterpret_p64_p16, vreinterpretq_p64_p128): Likewise.
- (vreinterpretq_p64_p16, vreinterpretq_p128_p8): Likewise.
- (vreinterpretq_p128_p16, vreinterpretq_p128_f16): Likewise.
- (vreinterpretq_p128_f32, vreinterpretq_p128_p64): Likewise.
- (vreinterpretq_p128_s64, vreinterpretq_p128_u64): Likewise.
- (vreinterpretq_p128_s8, vreinterpretq_p128_s16): Likewise.
- (vreinterpretq_p128_s32, vreinterpretq_p128_u8): Likewise.
- (vreinterpretq_p128_u16, vreinterpretq_p128_u32): Likewise.
- (vreinterpretq_f16_p128, vreinterpretq_f32_p128): Likewise.
- (vreinterpretq_s64_p128, vreinterpretq_u64_p128): Likewise.
- (vreinterpretq_s8_p128, vreinterpretq_s16_p128): Likewise.
- (vreinterpretq_s32_p128, vreinterpretq_u8_p128): Likewise.
- (vreinterpretq_u16_p128, vreinterpretq_u32_p128): Likewise.
-
-2016-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/71537
- * fold-const.c (fold_comparison): Assume CONSTANT_CLASS_P (base0)
- plus offset is non-zero. For maybe_nonzero_address decl base0,
- require indirect_base0.
-
- PR c++/71537
- * fold-const-call.c (fold_const_call_1): Remove memchr handling here.
- (fold_const_call) <case CFN_BUILT_IN_STRNCMP,
- case CFN_BUILT_IN_STRNCASECMP>: Formatting improvements.
- (fold_const_call) <case CFN_BUILT_IN_MEMCMP>: Likewise. If s2 is 0
- and arguments have no side-effects, return 0.
- (fold_const_call): Handle CFN_BUILT_IN_MEMCHR.
-
- PR c++/71537
- * fold-const-call.c (fold_const_call): Handle
- CFN_BUILT_IN_{INDEX,STRCHR,RINDEX,STRRCHR}.
-
- PR tree-optimization/78675
- * tree-vect-loop.c (vectorizable_live_operation): For
- VECTOR_BOOLEAN_TYPE_P vectype use integral type with bitsize precision
- instead of TREE_TYPE (vectype) for the BIT_FIELD_REF.
-
-2016-12-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/78642
- * emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
- (copy_rtx_if_shared_1) <CLOBBER>: Likewise.
- (copy_insn_1) <CLOBBER>: Likewise.
-
-2016-12-05 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78688
- * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
- instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
- comparing signed to unsigned values.
- (FUNCTION_ARG_REGNO_P): Likewise.
-
-2016-12-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Stefan Freudenberger <stefan@reservoir.com>
-
- PR tree-optimization/78646
- * gimple-ssa-strength-reduction.c (replace_ref): The pointer
- addition used for the memory base expression should have the type
- of the candidate.
-
-2016-12-05 Waldemar Brodkorb <wbx@openadk.org>
-
- PR target/71721
- * config.gcc (*-*-uclinux*): Enable posix threads.
-
-2016-12-05 Andrew Senkevich <andrew.senkevich@intel.com>
-
- * config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
- * config/i386/avx512dqintrin.h: Ditto.
- * config/i386/avx512fintrin.h: Ditto.
- * config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
- UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
- UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
- UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
- UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
- UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
- function types.
- * config/i386/i386-builtin.def (__builtin_ia32_knotqi,
- __builtin_ia32_knotsi, __builtin_ia32_knotdi,
- __builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
- __builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
- __builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
- __builtin_ia32_kxordi, __builtin_ia32_kandqi,
- __builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
- __builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
- * config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
-
-2016-12-05 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c: Revert r243162.
-
-2016-12-05 Paolo Bonzini <bonzini@gnu.org>
-
- * match.pd: Simplify X ? C : 0 where C is a power of 2 and
- X tests a single bit.
-
-2016-12-05 Nathan Sidwell <nathan@acm.org>
-
- * diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
- (diagnostic_action_after_output): ... here.
- (diagnostic_report_diagnostic): Call it for non-notes.
- * diagnostic.h (struct diagnostic_context): Make max_errors signed int.
- (diagnostic_check_max_errors): Declare.
-
-2016-12-05 Cupertino Miranda <cmiranda@synopsys.com>
-
- * config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
- (ENDFILE_SPEC): Likewise.
-
-2016-12-05 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
- * config/arc/arc.c (arc_unspec_offset): New function.
- (arc_finalize_pic): Change.
- (arc_emit_call_tls_get_addr): Likewise.
- (arc_legitimize_tls_address): Likewise.
- (arc_legitimize_pic_address): Likewise.
- (insn_is_tls_gd_dispatch): Remove.
- * config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
- * config/arc/arc.md (ls_gd_load): Remove unused pattern.
- (tls_gd_dispatch): Likewise.
-
-2016-12-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
- location.
-
-2016-12-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
- (sparc_split_reg_mem_legitimate): ...this.
- (sparc_split_reg_mem): Declare.
- (sparc_split_mem_reg): Likewise.
- (sparc_split_regreg_legitimate): Rename to...
- (sparc_split_reg_reg_legitimate): ...this.
- * config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
- (sparc_split_reg_mem_legitimate): ...this.
- (sparc_split_reg_mem): New function.
- (sparc_split_mem_reg): Likewise.
- (sparc_split_regreg_legitimate): Rename to...
- (sparc_split_reg_reg_legitimate): ...this.
- (sparc_split_reg_reg): New function.
- * config/sparc/sparc.md (lra): Remove "none" value.
- (enabled): Adjust to above change.
- (*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
- (DImode splitters): Adjust to above renamings and use new functions.
- (*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
- (DFmode splitters): Adjust to above renamings and use new functions.
- (*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
- constraint in conjunction with e.
- (*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
- alternative and reorder others.
- (VM64:mode splitters): Adjust to above renamings and use new functions.
-
-2016-12-04 Martin Sebor <msebor@redhat.com>
-
- PR c/78668
- * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
- identifier tree nodes.
- (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
- (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
- (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
- (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
- (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
- * builtins.def (aligned_alloc, calloc, malloc, realloc):
- Add attribute alloc_size.
- (alloca): Add attribute alloc_size and returns_nonnull.
-
-2016-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70322
- * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
- (dimode_scalar_chain::compute_convert_gain): Ditto.
- (dimode_scalar_chain::convert_insn): Ditto.
-
-2016-12-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
- cases to build a lowpart SUBREG.
-
-2016-12-03 Eric Botcazou <ebotcazou@adacore.com>
- David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md (U): Adjust comment.
- * config/sparc/sparc.md (lra): New attribute.
- (enabled): For base instructions, if the lra attribute is set,
- return 1 if it is in keeping with TARGET_LRA.
- (*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
- constraint and duplicate them with U replaced by r.
- (*movdf_insn_sp32): Likewise.
- (*mov<VM64:mode>_insn_sp32): Likewise.
- (*movtf_insn_sp32): Remove alternatives mentioning U constraint.
-
-2016-12-02 Jeff Law <law@redhat.com>
-
- * config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
- variable main_variant.
-
-2016-12-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
- default on PowerPC linux systems.
-
-2016-12-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78638
- * simplify-rtx.c (simplify_truncation): M2 is not mode, it is
- GET_MODE (op). Fix this.
-
-2016-12-02 David Malcolm <dmalcolm@redhat.com>
-
- PR bootstrap/78616
- * selftest.c (selftest::assert_strndup_eq): Rename to...
- (selftest::assert_xstrndup_eq): ...this, and remove call to
- strndup.
- (selftest::test_strndup): Rename to...
- (selftest::test_xstrndup): ...this, updating for above renaming.
- (selftest::test_libiberty): Update for renaming.
-
-2016-12-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78639
- * config/rs6000/rs6000.md (movdi_internal64): Fix typo in
- subversion id 242679 that causes the wrong store instruction to be
- generated if a DImode is in an Altivec register using REG+REG
- addressing.
-
-2016-12-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70322
- * config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
- and corresponding post-reload splitter.
-
-2016-12-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (machine_function): Add
- reg_is_wrapped_separately field.
- * config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
- * config/aarch64/aarch64.c (emit_set_insn): Change return type to
- rtx_insn *.
- (aarch64_save_callee_saves): Don't save registers that are wrapped
- separately.
- (aarch64_restore_callee_saves): Don't restore registers that are
- wrapped separately.
- (offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
- aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
- (aarch64_get_separate_components): New function.
- (aarch64_get_next_set_bit): Likewise.
- (aarch64_components_for_bb): Likewise.
- (aarch64_disqualify_components): Likewise.
- (aarch64_emit_prologue_components): Likewise.
- (aarch64_emit_epilogue_components): Likewise.
- (aarch64_set_handled_components): Likewise.
- (aarch64_process_components): Likewise.
- (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
- TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
- TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
- TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
- TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
- TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
-
-2016-12-02 Martin Jambor <mjambor@suse.cz>
-
- * passes.def: Move pass_rebuild_cgraph_edges to the end of
- pass_build_ssa_passes.
-
-2016-12-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (exception_receiver): Copy
- alpha_gp_ave_rtx return value.
-
-2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com>
-
- * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
- for several include directories that may be relative to sysroot.
- * config/i386/x-mingw32 (gplus_includedir): Define.
- (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
- (native_system_includedir): Likewise.
- * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
- override if TARGET_SYSTEM_ROOT is defined.
- (NATIVE_SYSTEM_HEADER_DIR): Likewise.
-
-2016-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70322
- * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NOT.
- (dimode_scalar_chain::compute_convert_gain): Likewise.
- (dimode_scalar_chain::convert_insn): Likewise.
- * config/i386/i386.md (*one_cmpldi2_doubleword): New
- define_insn_and_split.
- (one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.
-
- PR target/78614
- * rtl.c (copy_rtx): Don't clear used flag here.
- (shallow_copy_rtx_stat): Clear used flag here unless code the rtx
- is shareable.
- * simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
- 'E' in format, copy all vectors.
- * emit-rtl.c (copy_insn_1): Don't clear used flag here.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
- * config/rs6000/rs6000.c (rs6000_frame_related): Likewise.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-builtins.c (arm_builtins): Define
- ARM_BUILTIN_CMSE_NONSECURE_CALLER.
- (bdesc_2arg): Add line for cmse_nonsecure_caller.
- (arm_init_builtins): Handle cmse_nonsecure_caller.
- (arm_expand_builtin): Likewise.
- * config/arm/arm_cmse.h (cmse_nonsecure_caller): New.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (detect_cmse_nonsecure_call): New.
- (cmse_nonsecure_call_clear_caller_saved): New.
- (arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
- (arm_function_ok_for_sibcall): Disable sibcalls for
- cmse_nonsecure_call.
- * config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
- * config/arm/arm.md (call): Handle cmse_nonsecure_entry.
- (call_value): Likewise.
- (nonsecure_call_internal): New.
- (nonsecure_call_value_internal): New.
- * config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
- (*nonsecure_call_value_reg_thumb1_v5): New.
- * config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
- (*nonsecure_call_value_reg_thumb2): New.
- * config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (gimplify.h): New include.
- (arm_handle_cmse_nonsecure_call): New.
- (arm_attribute_table): Added cmse_nonsecure_call.
- (arm_comp_type_attributes): Deny compatibility of function types
- with without the cmse_nonsecure_call attribute.
- * doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (output_return_instruction): Clear
- registers.
- (thumb2_expand_return): Likewise.
- (thumb1_expand_epilogue): Likewise.
- (thumb_exit): Likewise.
- (arm_expand_epilogue): Likewise.
- (cmse_nonsecure_entry_clear_before_return): New.
- (comp_not_to_clear_mask_str_un): New.
- (compute_not_to_clear_mask): New.
- * config/arm/thumb1.md (*epilogue_insns): Change length attribute.
- * config/arm/thumb2.md (*thumb2_return): Disable for
- cmse_nonsecure_entry functions.
- (*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for
- cmse_nonsecure_entry functions.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (use_return_insn): Change to return with bxns
- when cmse_nonsecure_entry.
- (output_return_instruction): Likewise.
- (arm_output_function_prologue): Likewise.
- (thumb_pop): Likewise.
- (thumb_exit): Likewise.
- (thumb2_expand_return): Assert that entry functions always have simple
- returns.
- (arm_expand_epilogue): Handle entry functions.
- (arm_function_ok_for_sibcall): Disable sibcall for entry functions.
- (arm_asm_declare_function_name): New.
- * config/arm/arm-protos.h (arm_asm_declare_function_name): New.
- * config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
- use arm_asm_declare_function_name.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (arm_handle_cmse_nonsecure_entry): New.
- (arm_attribute_table): Added cmse_nonsecure_entry
- (arm_compute_func_type): Handle cmse_nonsecure_entry.
- (cmse_func_args_or_return_in_stack): New.
- (arm_handle_cmse_nonsecure_entry): New.
- * config/arm/arm.h (ARM_FT_CMSE_ENTRY): New macro define.
- (IS_CMSE_ENTRY): Likewise.
- * doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
-
-2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config.gcc (extra_headers): Added arm_cmse.h.
- * config/arm/arm-arches.def (ARM_ARCH):
- (armv8-m): Add FL2_CMSE.
- (armv8-m.main): Likewise.
- (armv8-m.main+dsp): Likewise.
- * config/arm/arm-c.c
- (arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
- * config/arm/arm-flags.h: Define FL2_CMSE.
- * config/arm.c (arm_arch_cmse): New.
- (arm_option_override): New error for unsupported cmse target.
- * config/arm/arm.h (arm_arch_cmse): New.
- * config/arm/arm.opt (mcmse): New.
- * config/arm/arm_cmse.h: New file.
- * doc/invoke.texi (ARM Options): Add -mcmse.
- * doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
- * doc/extend.texi: Add ARMv8-M Security Extensions entry.
-
-2016-12-02 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c: Fix coding rule glitches.
-
-2016-12-02 Martin Jambor <mjambor@suse.cz>
-
- * hsa.c (hsa_callable_function_p): Return false for artificial
- functions.
-
-2016-12-02 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR rtl-optimization/78561
- * varasm.c (recompute_pool_offsets): New.
- (output_constant_pool): Call it.
-
-2016-12-02 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR rtl-optimization/78561
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Rename
- get_pool_size to get_pool_size_upper_bound.
- (rs6000_stack_info): Likewise.
- (rs6000_emit_prologue): Likewise.
- (rs6000_elf_declare_function_name): Likewise.
- (rs6000_set_up_by_prologue): Likewise.
- (rs6000_can_eliminate): Likewise, reformat spaces to tabs.
- * output.h (get_pool_size): Rename to...
- (get_pool_size_upper_bound): ...This.
- * varasm.c (get_pool_size): Rename to...
- (get_pool_size_upper_bound): ...This.
-
-2016-12-02 Bin Cheng <bin.cheng@arm.com>
-
- * match.pd: Add new pattern:
- (cond (cmp (convert? x) c1) (op x c2) c3) -> (op (minmax x c1) c2).
-
-2016-12-02 Nathan Sidwell <nathan@acm.org>
-
- * diagnostic.c (diagnostic_report_diagnostic): Remove extraneous
- braces.
-
-2016-12-02 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/78328
- * gimple-ssa-warn-alloca.c (alloca_call_type): Handle
- VR_ANTI_RANGE.
-
-2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_save_gprs_to_fprs): Fix RTL sharing
- problem.
-
-2016-12-02 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-arch.h (avr_mcu_t) [n_flash]: Remove field.
- * config/avr/avr-devices.c (AVR_MCU): Remove N_FLASH macro argument.
- * config/avr/avr-mcus.def (AVR_MCU): Remove initializer for n_flash.
- * config/avr/avr.c (avr_set_core_architecture) [avr_n_flash]: Use
- avr_mcu_types.flash_size to compute default value.
- * config/avr/gen-avr-mmcu-specs.c (print_mcu) [cc1_n_flash]: Use
- mcu->flash_size to compute value for spec.
-
-2016-12-02 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/invoke.texi (AVR Options) [-mabsdata]: Point to absdata.
- * doc/extend.texi (AVR Variable Attributes) [progmem]: Hint
- about linker description to avoid progmem altogether.
- [absdata]: Point to -mabsdata option.
-
-2016-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/78547
- * emit-rtl.c (unshare_all_rtl): Make sure DECL_RTL and
- DECL_INCOMING_RTL is not shared.
- * config/i386/i386.c (convert_scalars_to_vectors): If any
- insns have been converted, adjust all parameter's DEC_RTL and
- DECL_INCOMING_RTL back from V1TImode to TImode if the parameters have
- TImode.
-
- PR rtl-optimization/78575
- * config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses): Use
- DF infrastructure to wrap all V1TImode reg uses into TImode subreg
- if not already wrapped in a subreg. Make sure df_insn_rescan does not
- affect further iterations.
-
-2016-12-02 Martin Liska <mliska@suse.cz>
-
- PR ipa/78555
- * sreal.c (sreal::to_int): Make absolute value before shifting.
- (sreal::operator/): Likewise.
- (sreal_verify_negative_division): New test.
- (void sreal_c_tests): Call the new test.
- * sreal.h (sreal::normalize_up): Use new SREAL_ABS and
- SREAL_SIGN macros.
- (sreal::normalize_down): Likewise.
-
-2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * combine.c (combine_simplify_rtx): Suppress replacement of
- "(and (reg) (const_int bit))" with "if_then_else".
-
-2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/77822
- * config/s390/s390.md ("extzv")
- ("*extzv<mode><clobbercc_or_nocc>")
- ("*extzvdi<clobbercc_or_nocc>_lshiftrt")
- ("*<risbg_n>_ior_and_sr_ze")
- ("*extract1bitdi<clobbercc_or_nocc>")
- ("*insv<mode><clobbercc_or_nocc>", "*insv_rnsbg_noshift")
- ("*insv_rnsbg_srl", "*insv<mode>_mem_reg")
- ("*insvdi_mem_reghigh", "*insvdi_reg_imm"): Use EXTRACT_ARGS_IN_RANGE
- to validate the arguments of zero_extract and sign_extract.
-
-2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/77822
- * rtl.h (EXTRACT_ARGS_IN_RANGE): New.
-
-2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc/config/s390/s390.c (s390_builtin_vectorization_cost): New
- function.
- (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Define target
- macro.
-
-2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md (vec_halfhalf): New mode iterator.
- ("vec_pack_trunc_<mode>", "vec_pack_ssat_<mode>")
- ("vec_pack_usat_<mode>", "vec_unpacks_hi_v16qi")
- ("vec_unpacks_low_v16qi", "vec_unpacku_hi_v16qi")
- ("vec_unpacku_low_v16qi", "vec_unpacks_hi_v8hi")
- ("vec_unpacks_lo_v8hi", "vec_unpacku_hi_v8hi")
- ("vec_unpacku_lo_v8hi", "vec_unpacks_hi_v4si")
- ("vec_unpacks_lo_v4si", "vec_unpacku_hi_v4si")
- ("vec_unpacku_lo_v4si"): New pattern definitions.
- * config/s390/vx-builtins.md: Move VI_HW_HSD mode iterator to
- vector.md.
-
-2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-protos.h (s390_reverse_condition): New
- prototype.
- * config/s390/s390.c (s390_canonicalize_comparison): Fold compares
- of CC mode values.
- (s390_reverse_condition): New function.
- * config/s390/s390.h (REVERSE_CC_MODE, REVERSE_CONDITION): Define
- target macros.
-
-2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
- (CCVHUANY): Remove modes.
- (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
- documentation.
- * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
- (s390_expand_vec_compare_scalar): Pick one of the cc consumer
- modes.
- (s390_branch_condition_mask): Adjust to use the new cc consumer
- modes. The new modes allow for proper reversal in the middle-end.
- (s390_expand_vec_compare_cc): Determine the proper cc producer and
- consumer modes for a comparison.
- * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
- throughout the file.
- * config/s390/vx-builtins.md: Likewise.
-
-2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- * asan.c (asan_global_struct): Refactor.
- (create_odr_indicator): New function.
- (asan_needs_odr_indicator_p): Likewise.
- (is_odr_indicator): Likewise.
- (asan_add_global): Introduce odr_indicator_ptr. Pass it into global's
- constructor.
- (asan_protect_global): Do not protect odr indicators.
-
-2016-12-01 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts_at_dest): Avoid temporary
- propagation of operands if there are no operands.
-
-2016-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/78586
- * gimple-ssa-sprintf.c (format_integer): Don't handle NOP_EXPR,
- CONVERT_EXPR or COMPONENT_REF here. Formatting fix. For
- SSA_NAME_DEF_STMT with NOP_EXPR only change argtype if the rhs1's
- type is INTEGER_TYPE or POINTER_TYPE.
-
-2016-12-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- PR target/78577
- * config/rs6000/vsx.md (vextuhlx): Revise mode of operand 2.
- (vextuhrx): Likewise.
- (vextuwlx): Likewise.
- (vextuwrx): Likewise.
-
-2016-12-01 David Malcolm <dmalcolm@redhat.com>
-
- * dwarf2out.c (dwarf2out_c_finalize): Reset early_dwarf and
- early_dwarf_finished.
-
-2016-12-01 Eric Botcazou <ebotcazou@adacore.com>
- David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.opt (mlra): New target option.
- * config/sparc/sparc.c (TARGET_LRA_P): Define to...
- (sparc_lra_p): ...this. New function.
- (D_MODES, DF_MODES): Add missing cast.
- * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
- provide these insns when flag_pic.
- (sethi_di_medlow, losum_di_medlow, seth44, setm44, setl44, sethh,
- setlm, sethm, setlo, embmedany_sethi, embmedany_losum,
- embmedany_brsum, embmedany_textuhi, embmedany_texthi,
- embmedany_textulo, embmedany_textlo): Likewise.
- (sethi_di_medlow_embmedany_pic): Provide it only with flag_pic.
-
-2016-12-01 David Edelsohn <dje.gcc@gmail.com>
-
- PR debug/66419
- PR c++/78235
- * dbxout.c (dbxout_type_fields): Skip TEMPLATE_DECLs.
-
-2016-12-01 Richard Biener <rguenther@suse.de>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
- memset if len-oldlen != 0.
- (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.
-
-2016-12-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.
-
-2016-12-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c: Fix coding rule glitches.
-
-2016-12-01 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR tree-optimization/78598
- * tree-ssa-loop-prefetch.c (ddown): Cast to signed to avoid
- overflows.
-
-2016-12-01 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR rtl-optimization/78596
- * combine.c (simplify_comparison): Cast to unsigned to avoid
- left shifting of negative value.
-
-2016-12-01 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Don't use pkg-config to check for bdw-gc.
-
-2016-12-01 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-alias.c (indirect_refs_may_alias_p): Do not
- treat arrays with same type as objects that cannot overlap.
-
-2016-12-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.
- (avr_handle_addr_attribute, avr_asm_output_aligned_decl_common)
- (avr_asm_asm_output_aligned_bss, avr_addr_space_convert): Dito.
-
-2016-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/78587
- * dwarf2out.c (loc_descr_plus_const): For negative offset use
- uint_loc_descriptor instead of int_loc_descriptor and perform negation
- in unsigned HOST_WIDE_INT type.
- (scompare_loc_descriptor): Shift UINTVAL left instead of INTVAL.
-
- PR target/78614
- * config/rs6000/rs6000.c (rs6000_frame_related): Call
- set_used_flags (pat) before any simplifications. Clear used flag on
- PARALLEL copy. Don't guard add_reg_note call. Call
- copy_rtx_if_shared on pat before storing it into
- REG_FRAME_RELATED_EXPR.
-
-2016-12-01 Alan Modra <amodra@gmail.com>
-
- * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
- look inside UNSPEC_VSX_XXSPLTW vec.
-
-2016-12-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78607
- * combine.c (try_combine): Emit a barrier after a unconditional trap.
-
-2016-11-30 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78602
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): If the
- element is not a constant or in a register, force it to a
- register.
-
- PR target/78560
- * config/rs6000/rs6000.c (rs6000_expand_vector_set): Force value
- that will be set to a vector element to be in a register.
- * config/rs6000/vsx.md (vsx_set_<mode>_p9): Fix thinko that used
- the wrong multiplier to convert the element number to a byte
- offset.
-
-2016-11-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR tree-optimization/77856
- * lra-constraints.c (inherit_in_ebb): Check original regno for
- invalid invariant regs too. Set only clobbered hard regs for the
- invalid invariant regs.
-
-2016-11-30 Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com>
-
- Commit files forgotten in r242966.
-
- * config/avr/avr-arch.h (avr_mcu_t) [flash_size]: New member.
- * config/avr/avr-devices.c (avr_mcu_types): Add flash size info.
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
- prefix check to find wrap-around value, instead use MCU flash size.
- For 8k flash devices, update link_pmem_wrap spec string to
- add --pmem-wrap-around=8k.
- * config/avr/specs.h (LINK_RELAX_SPEC): Move link_pmem_wrap from
- here...
- (LINK_SPEC): ...to here.
-
-2016-11-30 David Malcolm <dmalcolm@redhat.com>
-
- PR c/78498
- * selftest.c (selftest::assert_strndup_eq): New function.
- (selftest::test_strndup): New function.
- (selftest::test_libiberty): New function.
- (selftest::selftest_c_tests): Call test_libiberty.
-
-2016-11-30 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78610
- * ira.c (combine_and_move_insns): Don't substitute into TRAP_IF
- instructions.
-
-2016-11-30 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/78574
- * tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Skip loop
- header PHI that doesn't define biv.
-
-2016-11-30 Jakub Jelinek <jakub@redhat.com>
-
- * emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of
- reset_used_flags.
-
- * config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid
- sharing the SUBREG rtx between move and following insn.
-
- * ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx
- for REG_EQUIV argument.
-
-2016-11-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/t-rmprofile: Add mappings for Cortex-M23 and Cortex-M33.
-
-2016-11-30 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR ipa/78555
- * real.c (real_hash): Add cast to avoid left
- shifting of negative values.
-
-2016-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/78362
- * config/aarch64/aarch64.md (add<mode>3): Extract inner expression
- from a subreg in operands[1] and don't call REGNO on a non-reg
- expression when deciding to force operands[2] into a reg.
-
-2016-11-30 Claudiu Zissulescu <claziss@synopsys.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc-protos.h (arc_store_addr_hazard_p): Declare.
- * config/arc/arc.c (arc_store_addr_hazard_p): New function.
- (workaround_arc_anomaly): Call arc_store_addr_hazard_p for ARC700.
- * config/arc/arc700.md: Add define_bypass for store/load.
-
-2016-11-30 Martin Liska <mliska@suse.cz>
-
- * cgraph.c (symbol_table::initialize): Initialize
- ipa_clones_dump_file.
- (cgraph_node::remove): Report to ipa_clones_dump_file.
- * cgraph.h: Add new argument (suffix) to cloning methods.
- * cgraphclones.c (dump_callgraph_transformation): New function.
- (cgraph_node::create_clone): New argument.
- (cgraph_node::create_virtual_clone): Likewise.
- (cgraph_node::create_version_clone): Likewise.
- * dumpfile.c: Add .ipa-clones dump file.
- * dumpfile.h (enum tree_dump_index): Add TDI_clones
- * ipa-inline-transform.c (clone_inlined_nodes): Report operation
- to dump_callgraph_transformation.
-
-2016-11-30 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/78541
- * asan.c (asan_expand_mark_ifn): Properly
- select a VAR_DECL from FRAME.* component reference.
-
-2016-11-30 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78583
- * simplify-rtx.c (simplify_truncation): Add check missing from the
- previous commit.
-
-2016-11-30 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78590
- * combine.c (change_zero_ext): Transform zero_extend of subregs only
- if the subreg_reg is a scalar integer mode.
-
-2016-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/78586
- * gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or
- TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR.
- Don't build_int_cst min/max twice. Formatting fix.
-
-2016-11-30 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR rtl-optimization/78588
- * combine.c (if_then_else_cond): Also guard against BLKmode.
- * rtlanal.c (num_sign_bit_copies1): Add assert.
-
-2016-11-29 Jeff Law <law@redhat.com>
-
- * common/config/arc/arc-common.c (arc_handle_option): Remove unused
- variables.
-
- * lra-constraints.c (check_and_process_move): Constrain the
- range of DCLASS and SCLASS to avoid false positive out of bounds
- array index warning.
-
-2016-11-29 David Malcolm <dmalcolm@redhat.com>
-
- * doc/install.texi (--with-target-bdw-gc): Remove stray '@'.
-
-2016-11-29 David Malcolm <dmalcolm@redhat.com>
-
- PR preprocessor/78569
- * input.c (get_substring_ranges_for_loc): Fail gracefully if
- line directives were present.
-
-2016-11-30 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Document configure options --enable-objc-gc
- and --with-target-bdw-gc.
-
-2016-11-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78594
- * config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add
- 'x' to stxsi<wd>x print pattern, so that QImode and HImode values
- residing in traditional altivec registers can be stored
- correctly.
-
-2016-11-29 Max Filippov <jcmvbkbc@gmail.com>
-
- PR target/78603
- * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
- overhead loop start between a call and its CALL_ARG_LOCATION
- note.
-
-2016-11-29 Waldemar Brodkorb <wbx@openadk.org>
-
- * config/bfin/linux.h (CPP_SPEC): Define.
-
-2016-11-29 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/78512
- * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Remove.
- * config/rs6000/linux.h: Same.
- * config/rs6000/linux64.h: Same.
- * config/sol2.h: Same.
- * config/sol2.c (solaris_printf_pointer_format): Remove.
- * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Remove.
- * doc/tm.texi: Regenerate.
- * gimple-ssa-sprintf.c (format_pointer): Rempove.
- (pass_sprintf_length::compute_format_length): Return bool.
- (pass_sprintf_length::handle_gimple_call): Adjust.
- * target.def (printf_pointer_format): Remove.
- * targhooks.c (default_printf_pointer_format): Remove.
- (linux_printf_pointer_format): Same.
- * targhooks.h (default_printf_pointer_format): Remove.
- (linux_printf_pointer_format, solaris_printf_pointer_format): Same.
-
-2016-11-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (UNSPEC_MASKOP): Move from i386.md.
- (mshift): Ditto.
- (SWI1248_AVX512BWDQ): Ditto.
- (SWI1248_AVX512BW): Ditto.
- (k<any_logic:code><mode>): Ditto.
- (kandn<mode>): Ditto.
- (kxnor<mode>): Ditto.
- (knot<mode>): Ditto.
- (*k<any_lshift:code><mode>): Ditto.
- (kortestzhi, kortestchi): Ditto.
- (kunpckhi, kunpcksi, kunpckdi): Ditto.
-
-2016-11-29 Andrew Pinski <apinski@cavium.com>
-
- * tree-vrp.c (simplify_stmt_using_ranges): Use boolean_type_node
- for the EQ_EXPR.
-
-2016-11-29 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR target/71331
- * config/tilegx/tilegx.c (tilegx_function_profiler): Save r10
- to stack before call mcount.
- (tilegx_can_use_return_insn_p): Clean up code.
-
-2016-11-29 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr-mcu.def: (avr_mcu_types): Add flash size info.
-
-2016-11-29 David Malcolm <dmalcolm@redhat.com>
-
- PR c++/72774
- PR c++/72786
- PR c++/77922
- PR c++/78313
- * spellcheck.c (selftest::test_find_closest_string): Verify that
- we don't offer the goal string as a suggestion.
- * spellcheck.h (best_match::get_best_meaningful_candidate): Don't
- offer the goal string as a suggestion.
-
-
-2016-11-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_override_options): Avoid selection of
- compact casesi for ARCv2.
-
-2016-11-29 Richard Biener <rguenther@suse.de>
-
- * tree-cfg.c (lower_phi_internal_fn): Do not look for further
- PHIs after a regular stmt.
- (stmt_starts_bb_p): PHIs not preceeded by a PHI or a label
- start a new BB.
-
-2016-11-29 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/78582
- * tree-profile.c (gimple_gen_time_profiler): Make one extra BB
- to prevent PHI argument clash.
-
-2016-11-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.opt (marclinux): Fix typo.
- (marclinux_prof): Likewise.
-
-2016-11-29 Jiong Wang <jiong.wang@arm.com>
-
- * target.def (stack_protect_runtime_enabled_p): New.
- * function.c (expand_function_end): Guard stack_protect_epilogue with
- targetm.stack_protect_runtime_enabled_p.
- * cfgexpand.c (pass_expand::execute): Likewise.
- * calls.c (expand_call): Likewise.
- * doc/tm.texi.in (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): Add it.
- * doc/tm.texi: Regenerate.
-
-2016-11-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78546
- * match.pd: Add CST1 - (CST2 - A) -> CST3 + A missing case.
-
-2016-11-29 Janus Weil <janus@gcc.gnu.org>
-
- * doc/contrib.texi: Add a few missing gfortran contributors.
-
-2016-11-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (change_zero_ext): Also handle extends from a subreg
- to a mode bigger than that of the operand of the subreg.
-
-2016-11-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/77687
- * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Emit the
- stack_restore_tie insn instead of stack_tie, for the SVR4 and
- SPE ABIs.
- * config/rs6000/rs6000.md (stack_restore_tie): New define_insn.
-
-2016-11-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * shrink-wrap.c (init_separate_shrink_wrap): Do not clear
- head_components and tail_components.
- (spread_components): New algorithm.
- (emit_common_tails_for_components): Clear head_components and
- tail_components.
- (insert_prologue_epilogue_for_components): Write extra output to the
- dump file for sibcalls and abnormal exits.
-
-2016-11-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78342
- * combine.c: Include "cfghooks.h".
- (try_combine): If we create an unconditional trap, break the basic
- block in two just after it, and remove the edge between; also, set
- the *new_direct_jump_p flag so that cleanup_cfg is run.
-
-2016-11-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * simplify-rtx.c (simplify_truncation): Handle truncate of zero_extract
- and sign_extract.
-
-2016-11-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*and<mode>_1): Merge insn pattern from
- *andsi_1 and *andhi_1 using SWI24 mode iterator. Use multi-line
- output template string.
- (*anddi_1): Use multi-line output template string.
- (*andqi_1): Ditto.
-
-2016-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/78540
- * rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
- * rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
- note has been removed.
- * postreload.c (reload_combine_recognize_pattern): If
- remove_reg_equal_equiv_notes returns true, call df_notes_rescan.
-
-2016-11-28 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/78520
- * gimple-ssa-sprintf.c (target_max_value): Remove.
- (target_int_max, target_size_max): Use TYPE_MAX_VALUE.
- (get_width_and_precision): New function.
- (format_integer, format_floating, get_string_length, format_string):
- Correct handling of width and precision with unknown value.
- (format_directive): Add warning.
- (pass_sprintf_length::compute_format_length): Allow for precision
- to consist of a sole period with no asterisk or digits after it.
-
-2016-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/78546
- * simplify-rtx.c (neg_const_int): When negating most negative
- number in mode wider than HOST_BITS_PER_WIDE_INT, use
- simplify_const_unary_operation to produce CONST_DOUBLE or
- CONST_WIDE_INT.
- (simplify_plus_minus): Handle the case where neg_const_int
- doesn't return a CONST_INT.
-
-2016-11-28 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR target/78556
- * config/rs6000/rs6000.c (vspltis_constant): Add casts to avoid
- left shifting of negative values.
-
-2016-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/78298
- * tree-nested.c (convert_local_reference_stmt): After adding
- shared (FRAME.NN) clause to omp parallel, task or target,
- add it also to all outer omp parallel, task or target constructs.
-
-2016-11-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (UNSPEC_KMASKOP): New.
- (UNSPEC_KMOV): Remove.
- (kmovw): Expand to plain HImode move.
- (k<any_logic:code><mode>): Rename from *k<logic><mode>. Use
- register_operand predicates. Tag pattern with UNSPEC_KMASKOP.
- Remove corresponding clobber-removing splitter.
- (*anddi_1): Remove mask register alternatives.
- (*andsi_1): Ditto.
- (*andhi_1): Ditto.
- (*andqi_1): Ditto.
- (*<any_or:code><mode>_1): Ditto.
- (*<any_or:code>qi_1): Ditto.
- (kandn<mode>): Use SWI1248_AVX512BW mode iterator. Remove
- general register alternatives. Tag pattern with UNSPEC_KMASKOP.
- Remove corresponding splitter to operation with general registers.
- (*andn<SWI38:mode>): Rename from *bmi_andn_<mode>.
- (*andn<SWI12:mode>): New pattern.
- (*kxnor<mode>): Remove general register alternatives. Tag pattern
- with UNSPEC_KMASKOP. Remove corresponding splitter to operation
- with general registers.
- (knot<mode>): New insn pattern.
- (*one_cmpl<mode>2_1): Remove mask register alternatives.
- (one_cmplqi2_1): Ditto.
- (*k<any_lshift:code><mode>): Rename from *k<mshift><mode>3.
- Tag pattern with UNSPEC_KMASKOP. Add mode attribute.
- * config/i386/predicates.md (mask_reg_operand): Remove predicate.
- * config/i386/sse.md (vec_unpacks_hi_hi): Update pattern
- to generate kmaskop shift.
- (vec_unpacks_hi_<mode>): Ditto.
- * config/i386/i386-builtin.def (__builtin_ia32_kandhi):
- Use CODE_FOR_kandhi.
- (__builtin_ia32_knothi): Use CODE_FOR_knothi.
- (__builtin_ia32_korhi): Use CODE_FOR_kiorhi.
- (__builtin_ia32_kxorhi): Use CODE_FOR_kxorhi.
-
-2016-11-28 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (vrp_visit_assignment_or_call): Handle simplifications
- to SSA names via extract_range_from_ssa_name if allowed.
-
-2016-11-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78542
- * tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification
- if allowed.
-
-2016-11-28 Paolo Bonzini <bonzini@gnu.org>
-
- * combine.c (simplify_if_then_else): Simplify IF_THEN_ELSE that
- isolates a single bit, even if the condition involves subregs.
-
-2016-11-28 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def
- (BSL_P): Added di and v2di mode.
- * config/aarch64/arm_neon.h
- (vsriq_n_p64, vsri_n_p64): Added poly type.
- (vextq_p64, vext_p64): Likewise.
- (vceq_p64, vbslq_p64, vbsl_p64): Likewise.
-
-2016-11-28 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64-builtins.c (TYPES_SETREGP): Added poly type.
- (TYPES_GETREGP): Likewise.
- (TYPES_SHIFTINSERTP): Likewise.
- (TYPES_COMBINEP): Likewise.
- (TYPES_STORE1P): Likewise.
- * config/aarch64/aarch64-simd-builtins.def
- (combine): Added poly generator.
- (get_dregoi): Likewise.
- (get_dregci): Likewise.
- (get_dregxi): Likewise.
- (ssli_n): Likewise.
- (ld1): Likewise.
- (st1): Likewise.
- * config/aarch64/arm_neon.h
- (poly64x1x2_t, poly64x1x3_t): New.
- (poly64x1x4_t, poly64x2x2_t): Likewise.
- (poly64x2x3_t, poly64x2x4_t): Likewise.
- (poly64x1_t): Likewise.
- (vcreate_p64, vcombine_p64): Likewise.
- (vdup_n_p64, vdupq_n_p64): Likewise.
- (vld2_p64, vld2q_p64): Likewise.
- (vld3_p64, vld3q_p64): Likewise.
- (vld4_p64, vld4q_p64): Likewise.
- (vld2_dup_p64, vld3_dup_p64): Likewise.
- (vld4_dup_p64, vsli_n_p64): Likewise.
- (vsliq_n_p64, vst1_p64): Likewise.
- (vst1q_p64, vst2_p64): Likewise.
- (vst3_p64, vst4_p64): Likewise.
- (__aarch64_vdup_lane_p64, __aarch64_vdup_laneq_p64): Likewise.
- (__aarch64_vdupq_lane_p64, __aarch64_vdupq_laneq_p64): Likewise.
- (vget_lane_p64, vgetq_lane_p64): Likewise.
- (vreinterpret_p8_p64, vreinterpretq_p8_p64): Likewise.
- (vreinterpret_p16_p64, vreinterpretq_p16_p64): Likewise.
- (vreinterpret_p64_f16, vreinterpret_p64_f64): Likewise.
- (vreinterpret_p64_s8, vreinterpret_p64_s16): Likewise.
- (vreinterpret_p64_s32, vreinterpret_p64_s64): Likewise.
- (vreinterpret_p64_f32, vreinterpret_p64_u8): Likewise.
- (vreinterpret_p64_u16, vreinterpret_p64_u32): Likewise.
- (vreinterpret_p64_u64, vreinterpret_p64_p8): Likewise.
- (vreinterpretq_p64_f64, vreinterpretq_p64_s8): Likewise.
- (vreinterpretq_p64_s16, vreinterpretq_p64_s32): Likewise.
- (vreinterpretq_p64_s64, vreinterpretq_p64_f16): Likewise.
- (vreinterpretq_p64_f32, vreinterpretq_p64_u8): Likewise.
- (vreinterpretq_p64_u16, vreinterpretq_p64_u32): Likewise.
- (vreinterpretq_p64_u64, vreinterpretq_p64_p8): Likewise.
- (vreinterpret_f16_p64, vreinterpretq_f16_p64): Likewise.
- (vreinterpret_f32_p64, vreinterpretq_f32_p64): Likewise.
- (vreinterpret_f64_p64, vreinterpretq_f64_p64): Likewise.
- (vreinterpret_s64_p64, vreinterpretq_s64_p64): Likewise.
- (vreinterpret_u64_p64, vreinterpretq_u64_p64): Likewise.
- (vreinterpret_s8_p64, vreinterpretq_s8_p64): Likewise.
- (vreinterpret_s16_p64, vreinterpret_s32_p64): Likewise.
- (vreinterpretq_s32_p64, vreinterpret_u8_p64): Likewise.
- (vreinterpret_u16_p64, vreinterpretq_u16_p64): Likewise.
- (vreinterpret_u32_p64, vreinterpretq_u32_p64): Likewise.
- (vset_lane_p64, vsetq_lane_p64): Likewise.
- (vget_low_p64, vget_high_p64): Likewise.
- (vcombine_p64, vst2_lane_p64): Likewise.
- (vst3_lane_p64, vst4_lane_p64): Likewise.
- (vst2q_lane_p64, vst3q_lane_p64): Likewise.
- (vst4q_lane_p64, vget_lane_p64): Likewise.
- (vget_laneq_p64, vset_lane_p64): Likewise.
- (vset_laneq_p64, vcopy_lane_p64): Likewise.
- (vcopy_laneq_p64, vdup_n_p64): Likewise.
- (vdupq_n_p64, vdup_lane_p64): Likewise.
- (vdup_laneq_p64, vld1_p64): Likewise.
- (vld1q_p64, vld1_dup_p64): Likewise.
- (vld1q_dup_p64, vld1q_dup_p64): Likewise.
- (vmov_n_p64, vmovq_n_p64): Likewise.
- (vst3q_p64, vst4q_p64): Likewise.
- (vld1_lane_p64, vld1q_lane_p64): Likewise.
- (vst1_lane_p64, vst1q_lane_p64): Likewise.
- (vcopy_laneq_p64, vcopyq_laneq_p64): Likewise.
- (vdupq_laneq_p64): Likewise.
-
-2016-11-28 Tamar Christina <tamar.christina@arm.com>
-
- * config/arm/arm_neon.h (vget_lane_p64): New.
-
-2016-11-28 Iain Sandoe <iain@codesourcery.com>
-
- PR target/71767
- * configure.ac (with_ld64): Use portable method to extract the
- major part of the version number.
- * configure: Regenerated.
-
-2016-11-28 Jakub Jelinek <jakub@redhat.com>
-
- * gimple-ssa-sprintf.c (build_intmax_type_nodes): Look at
- UINTMAX_TYPE rather than SIZE_TYPE. Add gcc_unreachable if
- intmax_t couldn't be determined.
- (format_integer): Make {,u}intmax_type_node no longer static,
- initialize them only when needed. For z and t use
- signed_or_unsigned_type_for instead of assuming size_t and
- ptrdiff_t have the same precision.
-
- PR lto/78211
- * ipa-icf.h (sem_item_optimizer): Add m_classes_vec member.
- * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Initialize it.
- (sem_item_optimizer::~sem_item_optimizer): Traverse m_classes_vec
- vector instead of traversing m_classes hash table. Release
- m_classes_vec.
- (sem_item_optimizer::read_section, sem_item_optimizer::add_class):
- Formatting fixes.
- (sem_item_optimizer::get_group_by_hash): When inserting a new group,
- add it also to m_classes_vec vector.
- (sem_item_optimizer::remove_symtab_node,
- sem_item_optimizer::build_hash_based_classes,
- sem_item_optimizer::parse_nonsingleton_classes): Formatting fixes.
- (sem_item_optimizer::subdivide_classes_by_equality,
- sem_item_optimizer::subdivide_classes_by_sensitive_refs,
- sem_item_optimizer::verify_classes): Traverse m_classes_vec vector
- instead of traversing m_classes hash table. Formatting fixes.
- (sem_item_optimizer::traverse_congruence_split,
- sem_item_optimizer::do_congruence_step_for_index,
- sem_item_optimizer::do_congruence_step): Formatting fixes.
- (sem_item_optimizer::process_cong_reduction): Traverse m_classes_vec
- vector instead of traversing m_classes hash table.
- (sem_item_optimizer::dump_cong_classes): Likewise. Formatting fixes.
- (sem_item_optimizer::merge_classes): Traverse m_classes_vec vector
- instead of traversing m_classes hash table.
-
-2016-11-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (out_movhi_r_mr) [REG_X + PLUS]: Only SBIW if
- X is not unused after.
-
-2016-11-28 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/78120
- * rtlanal.c (insn_rtx_cost): Revert previous change.
-
-2016-11-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR 41076
- * config/avr/avr.md (SPLIT34): New mode iterator.
- (bitop): New code iterator.
- (*iorhi3.ashift8-*). New insn-and-split patterns.
- (*movhi): Post-reload split reg = 0.
- [!MOVW]: Post-reload split reg = reg.
- (*mov<mode>) [SI,SF,PSI,SQ,USQ,SA,USA]: Post-reload split reg = reg.
- (andhi3, andpsi3, andsi3): Post-reload split reg-reg operations.
- (iorhi3, iorpsi3, iorsi3): Same.
- (xorhi3, xorpsi3, xorsi3): Same.
- * config/avr/avr.c (avr_rtx_costs_1) [IOR && HImode]: Adjust rtx
- costs to *iorhi3.ashift8-* patterns.
-
-2016-11-27 Iain Sandoe <iain@codesourcery.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/67710
- * config.in: Regenerate
- * config/darwin-driver.c (darwin_driver_init): Emit a version string
- for the assembler.
- * config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
- * config/darwin.opt(asm_macosx_version_min): New.
- * config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
- * configure: Regenerate
- * configure.ac: Check for mmacosx-version-min handling.
-
-2016-11-27 Iain Sandoe <iain@codesourcery.com>
-
- PR target/57438
- * config/i386/i386.c (ix86_code_end): Note that we emitted code
- where the function might otherwise appear empty for picbase thunks.
- (ix86_output_function_epilogue): If we find a zero-sized function
- assume that reaching it is UB and trap. If we find a trailing label
- append a nop.
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we
- find a zero-sized function assume that reaching it is UB and trap.
- If we find a trailing label, append a nop.
-
-2016-11-27 Iain Sandoe <iain@codesourcery.com>
-
- PR target/71767
- * config/darwin-sections.def (picbase_thunk_section): New.
- * config/darwin.c (darwin_init_sections): Set up picbase thunk
- section. (darwin_rodata_section, darwin_objc2_section,
- machopic_select_section, darwin_asm_declare_constant_name,
- darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
- coalesced with newer linkers.
- (darwin_override_options): Decide on usage of coalesed sections
- on the basis of the target linker version.
- * config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
- * config/darwin.opt (mtarget-linker): New.
- * config/i386/i386.c (ix86_code_end): Do not force the thunks into
- a coalesced section, instead use a thunks section.
-
-2016-11-27 Iain Sandoe <iain@codesourcery.com>
-
- PR target/71767
- * configure.ac (with-ld64): New var, set for Darwin, set on
- detection of ld64, gcc_cv_ld64_export_dynamic: New, New test.
- * config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New, define.
- * config/darwin10.h(DEF_LD64): Update for this target version.
- * config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic test.
- (DEF_LD64): Update for this target version.
- * configure: Regenerated.
- * config.in: Regenerated.
-
-2016-11-27 Iain Sandoe <iain@codesourcery.com>
-
- PR target/71767
- * config/darwin.c (imachopic_indirection_name): Make data
- section indirections linker-visible.
- * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local
- constant labels linker-visible.
-
-2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * tree.c (build_common_tree_nodes): Initialize ptrdiff_type_node.
- (free_lang_data): Remove assignment to ptrdiff_type_node.
-
-2016-11-25 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/78526
- * simplify-rtx.c (simplify_immed_subreg): Don't use wi::extract_uhwi
- beyond val's precision.
-
- PR rtl-optimization/78527
- * combine.c (make_compound_operation_int): Ignore LSHIFTRT with
- out of bounds shift count.
-
-2016-11-25 Martin Liska <mliska@suse.cz>
-
- PR web/71666
- * doc/invoke.texi (-fprofile-use): Fix reference to a section
- where -fprofile-generate is documented.
-
-2016-11-25 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/78086
- * coverage.c (build_init_ctor): Don't use priority {cd}tors if
- not supported by a target. Set priority to 100 if possible.
- (build_gcov_exit_decl): Likewise.
-
-2016-11-25 Richard Biener <rguenther@suse.de>
-
- PR ipa/78515
- * ipa-prop.c (compute_complex_assign_jump_func): Properly identify
- unary, binary and single RHSs.
- * tree.def (BIT_INSERT_EXPR): Adjust tree code name.
-
-2016-11-25 Bin Cheng <bin.cheng@arm.com>
-
- PR middle-end/78507
- PR middle-end/78510
- PR middle-end/78517
- * match.pd ((cond (cmp (convert1? @1) @3) (convert2? @1) @2)): Use
- cmp directly, rather than cmp_code. Initialize code to ERROR_MARK
- and set it to result code if transformation is valid. Use code EQ
- directly in last simplification case.
-
-2016-11-25 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_stmt_1): Check may_propagate_copy
- before valueizing return stmts.
-
-2016-11-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78343
- * passes.def: Add CD-DCE pass after loop splitting.
- * tree-ssa-dce.c (find_obviously_necessary_stmts): Move
- SCEV init/finalize ...
- (perform_tree_ssa_dce): ... here. Deal with being
- executed inside the loop pipeline in aggressive mode.
-
-2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
-
-2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/77673
- * tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
- (init_symbolic_number): Initialize src field from src parameter.
- (perform_symbolic_merge): Select most dominated statement as the
- source statement. Set src field of resulting n structure from the
- input src with the lowest address.
- (find_bswap_or_nop): Rename source_stmt into ins_stmt.
- (bswap_replace): Rename src_stmt into ins_stmt. Initially get source
- of load from src field rather than insertion statement. Cancel
- optimization if statement analyzed is not dominated by the insertion
- statement.
- (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt. Compute
- dominance information.
-
-2016-11-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/67205
- * config/mips/mips.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
-
-2016-11-25 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/70965
- * passes.def (pass_build_ssa_passes): Add pass_rebuild_cgraph_edges.
-
-2016-11-24 James Greenahlgh <james.greenhalgh@arm.com>
-
- PR target/78509
- * config/i386/i386.c (i386_excess_precision): Do not return
- FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
- EXCESS_PRECISION_TYPE_STANDARD.
- * target.def (excess_precision): Document that targets should
- not return FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
- EXCESS_PRECISION_TYPE_STANDARD or EXCESS_PRECISION_TYPE_FAST.
- Fix typo in first sentence.
- * doc/tm.texi: Regenerate.
-
-2016-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78396
- * tree-vectorizer.c (vectorize_loops): When the if-converted
- body contains masked loads or stores do not attempt to
- basic-block-vectorize it.
-
-2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * function.h (spill_slot_alignment): Declare.
- * function.c (spill_slot_alignment): New function.
- * lra-spills.c (slot): Add align and size fields.
- (assign_mem_slot): Use them in the call to assign_stack_local.
- (add_pseudo_to_slot): Update the fields.
- (assign_stack_slot_num_and_sort_pseudos): Initialise the fields.
-
-2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * stor-layout.c (layout_type): Allow the caller to set the mode of
- a float type. Only choose one here if the mode is still VOIDmode.
- * tree.c (build_common_tree_nodes): Set the type mode of decimal
- floats before calling layout_type.
- * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
-
-2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-tailcall.c (find_tail_calls): Allow calls to reference
- local variables if all references are known to be direct.
-
-2016-11-25 Jakub Jelinek <jakub@redhat.com>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR middle-end/78501
- * tree-vrp.c (extract_range_basic): Check for ptrdiff_type_node to be
- non null and it's precision matches precision of lhs's type.
-
-2016-11-24 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/78476
- * gimple-ssa-sprintf.c (struct pass_sprintf_length::call_info):
- Add a member.
- (handle_gimple_call): Adjust signature.
- (try_substitute_return_value): Remove calls to bounded functions
- with zero buffer size whose result is known.
- (pass_sprintf_length::execute): Adjust call to handle_gimple_call.
-
-2016-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * varasm.c (assemble_start_function): Wrap align_log definition in
- ASM_OUTPUT_MAX_SKIP_ALIGN.
-
-2016-11-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (wide AND insn to QImode splitter): Use
- explicit mode macros.
- (wide OR insn to QImode splitter): Ditto.
-
-2016-11-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/77541
- * lra-constraints.c (struct input_reload): Add field match_p.
- (get_reload_reg): Check modes of input reloads to generate unique
- value reload pseudo.
- (match_reload): Add input reload pseudo for the current insn.
-
-2016-11-24 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Update
- __FLT_EVAL_METHOD__ and __FLT_EVAL_METHOD_C99__ when we switch
- architecture levels.
- * config/aarch64/aarch64.c (aarch64_promoted_type): Only promote
- the aarch64_fp16_type_node, not all HFmode types.
- (aarch64_libgcc_floating_mode_supported_p): Support HFmode.
- (aarch64_scalar_mode_supported_p): Likewise.
- (aarch64_excess_precision): New.
- (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
- (TARGET_SCALAR_MODE_SUPPORTED_P): Likewise.
- (TARGET_C_EXCESS_PRECISION): Likewise.
-
-2016-11-24 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-c.c (aarch64_scalar_mode_supported_p): New.
- (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
-
-2016-11-24 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (<optab>sihf2): Convert to expand.
- (<optab>dihf2): Likewise.
- (aarch64_fp16_<optab><mode>hf2): New.
-
-2016-11-24 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/67822
- * config/nvptx/mkoffload.c (main): Allow -fopenmp.
-
-2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * common/config/sparc/sparc-common.c (sparc_option_optimization_table):
- Enable REE at -O2 and higher.
- * config/sparc/sparc.c (sparc_option_override): Disable it by default
- in 32-bit mode.
-
-2016-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/48863
- PR inline-asm/70184
- * tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
- (new_temp_expr_table): Initialise reg_vars_cnt.
- (free_temp_expr_table): Release reg_vars_cnt.
- (process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
- field of TAB.
- (find_replaceable_in_bb): Use the above to record register variable
- write occurrences and cancel replacement across them.
-
-2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/78437
- * ree.c (get_uses): New function.
- (combine_reaching_defs): When a copy is needed, return false if any
- reaching use of the source register reads it in a mode larger than
- the mode it is set in and WORD_REGISTER_OPERATIONS is true.
-
-2016-11-24 Martin Liska <mliska@suse.cz>
-
- * gimple-pretty-print.c (dump_edge_probability): New function.
- (dump_gimple_switch): Dump label edge probabilities.
- (dump_gimple_cond): Likewise.
- (dump_gimple_label): Dump
- (dump_gimple_bb_header): Dump basic block frequency.
- (pp_cfg_jump): Replace e->dest argument with e.
- (dump_implicit_edges): Likewise.
- * tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at):
- Use gimple_bb (at) instead of at->bb.
-
-2016-11-24 Bernd Schmidt <bschmidt@redhat.com>
-
- * common.opt (flimit-function-alignment): New.
- * doc/invoke.texi (-flimit-function-alignment): Document.
- * emit-rtl.h (struct rtl_data): Add max_insn_address field.
- * final.c (shorten_branches): Set it.
- * varasm.c (assemble_start_function): Limit alignment if
- requested.
-
-2016-11-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71595
- * cfgloopmanip.h (remove_path): Add irred_invalidated and
- loop_closed_ssa_invalidated parameters, defaulted to NULL.
- * cfgloopmanip.c (remove_path): Likewise, pass them along to
- called functions. Only fix irred flags if the caller didn't
- request state.
- * tree-ssa-loop-ivcanon.c (unloop_loops): Use add_bb_to_loop.
- (unloop_loops): Pass irred_invalidated and loop_closed_ssa_invalidated
- to remove_path.
-
-2016-11-24 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/78120
- * ifcvt.c (noce_conversion_profitable_p): Check original cost in all
- cases, and additionally test against max_seq_cost for speed
- optimization.
- (noce_process_if_block): Compute an estimate for the original cost when
- optimizing for speed, using the minimum of then and else block costs.
-
- PR rtl-optimization/78120
- * rtlanal.c (insn_rtx_cost): Use set_rtx_cost.
-
- PR rtl-optimization/78120
- * config/i386/i386.c (ix86_rtx_costs): Fully handle SETs.
-
-2016-11-24 Bin Cheng <bin.cheng@arm.com>
-
- * match.pd: Refine type conversion in result expr for below pattern:
- (cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
-
-2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/78429
- * tree.h (wi::fits_to_boolean_p): New predicate.
- (wi::fits_to_tree_p): Use it for boolean types.
- * tree.c (int_fits_type_p): Likewise.
-
-2016-11-24 Martin Liska <mliska@suse.cz>
-
- * print-tree.c (struct bucket): Remove.
- (print_node): Add new argument which drives whether a tree node
- is printed briefly or not.
- (debug_tree): Replace a custom hash table with hash_set<T>.
- * print-tree.h (print_node): Add the argument.
-
-2016-11-24 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_init_libfuncs): Add ATTRIBUTE_UNUSED.
-
-2016-11-23 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/78458
- * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return MODE
- if it is at least NREGS wide.
-
-2016-11-23 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): For
- TARGET_E500_DOUBLE. handle TDmode, TImode and PTImode the same as
- TFmode, IFmode and KFmode.
-
-2016-11-23 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/spe.md (*frob_<SPE64:mode>_ti_8): New insn
- pattern.
-
-2016-11-23 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (change_zero_ext): Only change the mode of a hard register
- destination if can_change_dest_mode holds for that.
-
-2016-11-23 Jeff Law <law@redhat.com>
-
- * varasm.c (assemble_name): Increase buffer size for name.
-
- * config/spu/spu.md (floatunsdidf2): Remove unused local variable.
-
-2016-11-23 Jakub Kicinski <jakub.kicinski@netronome.com>
-
- * doc/extend.texi: Constify first argument to __builtin_object_size.
-
-2016-11-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * opth-gen.awk: Use unsigned shifts for bit masks. Allow all bits
- to be used. Add brackets around macro argument.
-
-2016-11-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
-
-2016-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/69278
- * opts.c (parse_sanitizer_options): For -fsanitize=undefined,
- restore enabling also SANITIZE_UNREACHABLE and SANITIZE_RETURN.
-
-2016-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/69183
- * omp-low.c (build_outer_var_ref): Change lastprivate argument
- to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE
- on worksharing constructs, treat it like clauses on simd construct.
- Formatting fix.
- (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
- OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
- (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
- of true as last argument to build_outer_var_ref.
-
-2016-11-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movqi_internal): Calculate mode
- attribute of alternatives 7,8,9 depending on TARGET_AVX512DQ.
- <TYPE_MSKMOV>: Emit kmovw for MODE_HI insn mode attribute.
- (*k<logic><mode>): Calculate mode attribute depending on
- TARGET_AVX512DQ. Emit k<logic>w for MODE_HI insn mode attribute.
- (*andqi_1): Calculate mode attribute of alternative 3 depending
- on TARGET_AVX512DQ. Emit kandw for MODE_HI insn mode attribute.
- (kandn<mode>): Calculate mode attribute of alternative 2 depending
- on TARGET_AVX512DQ. Emit kandnw for MODE_HI insn mode attribute.
- (kxnor<mode>): Merge insn patterns using SWI1248_AVX512BW mode
- iterator. Calculate mode attribute of alternative 1 depending
- on TARGET_AVX512DQ. Emit kxnorw for MODE_HI insn mode attribute.
- (*one_cmplqi2_1): Calculate mode attribute of alternative 2 depending
- on TARGET_AVX512DQ. Emit knotw for MODE_HI insn mode attribute.
-
-2016-11-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR middle-end/78153
- * gimple-fold.c (fold_stmt_1): Handle case for GIMPLE_RETURN.
- * tree-vrp.c (extract_range_basic): Handle case for
- CFN_BUILT_IN_STRLEN.
-
-2016-11-23 Jeff Law <law@redhat.com>
-
- * config/mcore/mcore.c (emit_new_cond_insn): Fix prototype.
-
- * config/iq2000/iq2000.c (iq2000_rtx_costs): Avoid multiplication
- in boolean context warning.
-
- * config/ia64/ia64.c (ia64_emit_insn_before): Fix prototype.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR target/63250
- * config/arm/arm-builtins.c (arm_simd_floatHF_type_node): Rename to...
- (arm_fp16_type_node): ...This, make visibile.
- (arm_simd_builtin_std_type): Rename arm_simd_floatHF_type_node to
- arm_fp16_type_node.
- (arm_init_simd_builtin_types): Likewise.
- (arm_init_fp16_builtins): Likewise.
- * config/arm/arm.c (arm_excess_precision): New.
- (arm_floatn_mode): Likewise.
- (TARGET_C_EXCESS_PRECISION): Likewise.
- (TARGET_FLOATN_MODE): Likewise.
- (arm_promoted_type): Only promote arm_fp16_type_node.
- * config/arm/arm.h (arm_fp16_type_node): Declare.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm.c (arm_convert_to_type): Delete.
- (TARGET_CONVERT_TO_TYPE): Delete.
- (arm_init_libfuncs): Enable trunc_optab from DFmode to HFmode.
- (arm_libcall_uses_aapcs_base): Add trunc_optab from DF- to HFmode.
- * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): New.
- * config/arm/arm.md (truncdfhf2): Only convert through SFmode if we
- are in fast math mode, and have no single step hardware instruction.
- (extendhfdf2): Only expand through SFmode if we don't have a
- single-step hardware instruction.
- * config/arm/vfp.md (*truncdfhf2): New.
- (extendhfdf2): Likewise.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * targhooks.c (default_floatn_mode): Enable _Float16 if a target
- provides HFmode.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
- * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
- * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
- * defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
- * doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
- * doc/tm.texi: Regenerate.
- * system.h (TARGET_FLT_EVAL_METHOD): Poison.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * toplev.c (init_excess_precision): Delete most logic.
- * tree.c (excess_precision_type): Rewrite to use
- TARGET_EXCESS_PRECISION.
- * doc/invoke.texi (-fexcess-precision): Document behaviour in a
- more generic fashion.
- * ginclude/float.h: Wrap definition of FLT_EVAL_METHOD in
- __STDC_WANT_IEC_60559_TYPES_EXT__.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * common.opt (fpermitted-flt-eval-methods): New.
- * doc/invoke.texi (-fpermitted-flt-eval-methods): Document it.
- * flag_types.h (permitted_flt_eval_methods): New.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/m68k/m68k.c (m68k_excess_precision): New.
- (TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/s390/s390.c (s390_excess_precision): New.
- (TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/i386/i386.c (ix86_excess_precision): New.
- (TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * target.def (excess_precision): New hook.
- * target.h (flt_eval_method): New.
- (excess_precision_type): Likewise.
- * targhooks.c (default_excess_precision): New.
- * targhooks.h (default_excess_precision): New.
- * doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): New.
- * doc/tm.texi: Regenerate.
-
-2016-11-23 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/78461
- * gimple-ssa-sprintf.c (format_string): Correct the maxima and
- set the minimum number of bytes for an unknown string to zero.
-
-2016-11-23 Martin Jambor <mjambor@suse.cz>
- Martin Liska <mliska@suse.cz>
-
- * hsa-builtins.def: New file.
- * Makefile.in (BUILTINS_DEF): Add hsa-builtins.def dependency.
- * builtins.def: Include hsa-builtins.def.
- (DEF_HSA_BUILTIN): New macro.
- * dumpfile.h (OPTGROUP_OPENMP): Define.
- * dumpfile.c (optgroup_options): Added OPTGROUP_OPENMP.
- * gimple.h (gf_mask): Added elements GF_OMP_FOR_GRID_INTRA_GROUP and
- GF_OMP_FOR_GRID_GROUP_ITER.
- (gimple_omp_for_grid_phony): Added checking assert.
- (gimple_omp_for_set_grid_phony): Likewise.
- (gimple_omp_for_grid_intra_group): New function.
- (gimple_omp_for_set_grid_intra_group): Likewise.
- (gimple_omp_for_grid_group_iter): Likewise.
- (gimple_omp_for_set_grid_group_iter): Likewise.
- * omp-low.c (check_omp_nesting_restrictions): Allow GRID loop where
- previosuly only distribute loop was permitted.
- (lower_lastprivate_clauses): Allow non tcc_comparison predicates.
- (grid_get_kernel_launch_attributes): Support multiple HSA grid
- dimensions.
- (grid_expand_omp_for_loop): Likewise and also support standalone
- distribute constructs. New parameter INTRA_GROUP, updated both users.
- (grid_expand_target_grid_body): Support standalone distribute
- constructs.
- (pass_data_expand_omp): Changed optinfo_flags to OPTGROUP_OPENMP.
- (pass_data_expand_omp_ssa): Likewise.
- (pass_data_omp_device_lower): Likewsie.
- (pass_data_lower_omp): Likewise.
- (pass_data_diagnose_omp_blocks): Likewise.
- (pass_data_oacc_device_lower): Likewise.
- (pass_data_omp_target_link): Likewise.
- (grid_lastprivate_predicate): New function.
- (lower_omp_for_lastprivate): Call grid_lastprivate_predicate for
- gridified loops.
- (lower_omp_for): Support standalone distribute constructs.
- (grid_prop): New type.
- (grid_safe_assignment_p): Check for assignments to group_sizes, new
- parameter GRID.
- (grid_seq_only_contains_local_assignments): New parameter GRID, pass
- it to callee.
- (grid_find_single_omp_among_assignments_1): Likewise, improve missed
- optimization info messages.
- (grid_find_single_omp_among_assignments): Likewise.
- (grid_find_ungridifiable_statement): Do not bail out for SIMDs.
- (grid_parallel_clauses_gridifiable): New function.
- (grid_inner_loop_gridifiable_p): Likewise.
- (grid_dist_follows_simple_pattern): Likewise.
- (grid_gfor_follows_tiling_pattern): Likewise.
- (grid_call_permissible_in_distribute_p): Likewise.
- (grid_handle_call_in_distribute): Likewise.
- (grid_dist_follows_tiling_pattern): Likewise.
- (grid_target_follows_gridifiable_pattern): Support standalone
- distribute constructs.
- (grid_var_segment): New enum.
- (grid_mark_variable_segment): New function.
- (grid_copy_leading_local_assignments): Call grid_mark_variable_segment
- if a new argument says so.
- (grid_process_grid_body): New function.
- (grid_eliminate_combined_simd_part): Likewise.
- (grid_mark_tiling_loops): Likewise.
- (grid_mark_tiling_parallels_and_loops): Likewise.
- (grid_process_kernel_body_copy): Support standalone distribute
- constructs.
- (grid_attempt_target_gridification): New grid variable holding overall
- gridification state. Support standalone distribute constructs and
- collapse clauses.
- * doc/optinfo.texi (Optimization groups): Document OPTGROUP_OPENMP.
- * hsa.h (hsa_bb): Add method method append_phi.
- (hsa_insn_br): Renamed to hsa_insn_cbr, renamed all
- occurences in all files too.
- (hsa_insn_br): New class, now the ancestor of hsa_incn_cbr.
- (is_a_helper <hsa_insn_br *>::test): New function.
- (is_a_helper <hsa_insn_cbr *>::test): Adjust to only cover conditional
- branch instructions.
- (hsa_insn_signal): Make a direct descendant of
- hsa_insn_basic. Add memorder constructor parameter and
- m_memory_order and m_signalop member variables.
- (hsa_insn_queue): Changed constructor parameters to common form.
- Added m_segment and m_memory_order member variables.
- (hsa_summary_t): Add private member function
- process_gpu_implementation_attributes.
- (hsa_function_summary): Rename m_binded_function to
- m_bound_function.
- (hsa_insn_basic_p): Remove typedef.
- (hsa_op_with_type): Change hsa_insn_basic_p into plain pointers.
- (hsa_op_reg_p): Remove typedef.
- (hsa_function_representation): Change hsa_op_reg_p into plain
- pointers.
- (hsa_insn_phi): Removed new and delete operators.
- (hsa_insn_br): Likewise.
- (hsa_insn_cbr): Likewise.
- (hsa_insn_sbr): Likewise.
- (hsa_insn_cmp): Likewise.
- (hsa_insn_mem): Likewise.
- (hsa_insn_atomic): Likewise.
- (hsa_insn_signal): Likewise.
- (hsa_insn_seg): Likewise.
- (hsa_insn_call): Likewise.
- (hsa_insn_arg_block): Likewise.
- (hsa_insn_comment): Likewise.
- (hsa_insn_srctype): Likewise.
- (hsa_insn_packed): Likewise.
- (hsa_insn_cvt): Likewise.
- (hsa_insn_alloca): Likewise.
- * hsa.c (hsa_destroy_insn): Also handle instances of hsa_insn_br.
- (process_gpu_implementation_attributes): New function.
- (link_functions): Move some functionality into it. Adjust after
- renaming m_binded_functions to m_bound_functions.
- (hsa_insn_basic::op_output_p): Add BRIG_OPCODE_DEBUGTRAP
- to the list of instructions with no output registers.
- (get_in_type): Return this if it is a register of
- matching size.
- (hsa_get_declaration_name): Moved to...
- * hsa-gen.c (hsa_get_declaration_name): ...here. Allocate
- temporary string on an obstack instead from ggc.
- (query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut
- down to two overloads.
- (hsa_allocp_operand_address): Removed.
- (hsa_allocp_operand_immed): Likewise.
- (hsa_allocp_operand_reg): Likewise.
- (hsa_allocp_operand_code_list): Likewise.
- (hsa_allocp_operand_operand_list): Likewise.
- (hsa_allocp_inst_basic): Likewise.
- (hsa_allocp_inst_phi): Likewise.
- (hsa_allocp_inst_mem): Likewise.
- (hsa_allocp_inst_atomic): Likewise.
- (hsa_allocp_inst_signal): Likewise.
- (hsa_allocp_inst_seg): Likewise.
- (hsa_allocp_inst_cmp): Likewise.
- (hsa_allocp_inst_br): Likewise.
- (hsa_allocp_inst_sbr): Likewise.
- (hsa_allocp_inst_call): Likewise.
- (hsa_allocp_inst_arg_block): Likewise.
- (hsa_allocp_inst_comment): Likewise.
- (hsa_allocp_inst_queue): Likewise.
- (hsa_allocp_inst_srctype): Likewise.
- (hsa_allocp_inst_packed): Likewise.
- (hsa_allocp_inst_cvt): Likewise.
- (hsa_allocp_inst_alloca): Likewise.
- (hsa_allocp_bb): Likewise.
- (hsa_obstack): New.
- (hsa_init_data_for_cfun): Initialize obstack.
- (hsa_deinit_data_for_cfun): Release memory of the obstack.
- (hsa_op_immed::operator new): Use obstack instead of object_allocator.
- (hsa_op_reg::operator new): Likewise.
- (hsa_op_address::operator new): Likewise.
- (hsa_op_code_list::operator new): Likewise.
- (hsa_op_operand_list::operator new): Likewise.
- (hsa_insn_basic::operator new): Likewise.
- (hsa_insn_phi::operator new): Likewise.
- (hsa_insn_br::operator new): Likewise.
- (hsa_insn_sbr::operator new): Likewise.
- (hsa_insn_cmp::operator new): Likewise.
- (hsa_insn_mem::operator new): Likewise.
- (hsa_insn_atomic::operator new): Likewise.
- (hsa_insn_signal::operator new): Likewise.
- (hsa_insn_seg::operator new): Likewise.
- (hsa_insn_call::operator new): Likewise.
- (hsa_insn_arg_block::operator new): Likewise.
- (hsa_insn_comment::operator new): Likewise.
- (hsa_insn_srctype::operator new): Likewise.
- (hsa_insn_packed::operator new): Likewise.
- (hsa_insn_cvt::operator new): Likewise.
- (hsa_insn_alloca::operator new): Likewise.
- (hsa_init_new_bb): Likewise.
- (hsa_bb::append_phi): New function.
- (gen_hsa_phi_from_gimple_phi): Use it.
- (get_symbol_for_decl): Fix dinstinguishing between
- global and local functions. Put local variables into a segment
- according to their attribute or static flag, if there is one.
- (hsa_insn_br::hsa_insn_br): New.
- (hsa_insn_br::operator new): Likewise.
- (hsa_insn_cbr::hsa_insn_cbr): Set width via ancestor constructor.
- (query_hsa_grid_nodim): New function.
- (multiply_grid_dim_characteristics): Likewise.
- (gen_get_num_threads): Likewise.
- (gen_get_num_teams): Reimplemented.
- (gen_get_team_num): Likewise.
- (gen_hsa_insns_for_known_library_call): Updated calls to the above
- helper functions.
- (get_memory_order_name): Removed.
- (get_memory_order): Likewise.
- (hsa_memorder_from_tree): New function.
- (gen_hsa_ternary_atomic_for_builtin): Renamed to
- gen_hsa_atomic_for_builtin, can also create signals.
- (gen_hsa_insns_for_call): Handle many new builtins. Adjust to use
- hsa_memory_order_from_tree and gen_hsa_atomic_for_builtin.
- (hsa_insn_atomic): Fix function comment.
- (hsa_insn_signal::hsa_insn_signal): Fix comment. Update call to
- ancestor constructor and initialization of new member variables.
- (hsa_insn_queue::hsa_insn_queue): Added initialization of new
- member variables.
- (hsa_get_host_function): Handle functions with no bound CPU
- implementation. Fix binded to bound.
- (get_brig_function_name): Likewise.
- (HSA_SORRY_ATV): Remove semicolon after macro.
- (HSA_SORRY_AT): Likewise.
- (omp_simple_builtin::generate): Add missing semicolons.
- (hsa_insn_phi::operator new): Removed.
- (hsa_insn_br::operator new): Likewise.
- (hsa_insn_cbr::operator new): Likewise.
- (hsa_insn_sbr::operator new): Likewise.
- (hsa_insn_cmp::operator new): Likewise.
- (hsa_insn_mem::operator new): Likewise.
- (hsa_insn_atomic::operator new): Likewise.
- (hsa_insn_signal::operator new): Likewise.
- (hsa_insn_seg::operator new): Likewise.
- (hsa_insn_call::operator new): Likewise.
- (hsa_insn_arg_block::operator new): Likewise.
- (hsa_insn_comment::operator new): Likewise.
- (hsa_insn_srctype::operator new): Likewise.
- (hsa_insn_packed::operator new): Likewise.
- (hsa_insn_cvt::operator new): Likewise.
- (hsa_insn_alloca::operator new): Likewise.
- (get_symbol_for_decl): Accept CONST_DECLs, put them to
- readonly segment.
- (gen_hsa_addr): Also process CONST_DECLs.
- (gen_hsa_addr_insns): Process CONST_DECLs by creating private
- copies.
- (gen_hsa_unary_operation): Make sure the function does
- not use bittype source type for firstbit and lastbit operations.
- (gen_hsa_popcount_to_dest): Make sure the function uses a bittype
- source type.
- * hsa-brig.c (emit_insn_operands): Cope with zero operands in an
- instruction.
- (emit_branch_insn): Renamed to emit_cond_branch_insn.
- Emit the width stored in the class.
- (emit_generic_branch_insn): New function.
- (emit_insn): Call emit_generic_branch_insn.
- (emit_signal_insn): Remove obsolete comment. Update
- member variable name, pick a type according to profile.
- (emit_alloca_insn): Remove obsolete comment.
- (emit_atomic_insn): Likewise.
- (emit_queue_insn): Get segment and memory order from the IR object.
- (hsa_brig_section): Make allocate_new_chunk, chunks
- and cur_chunk provate, add a default NULL parameter to add method.
- (hsa_brig_section::add): Added a new parameter, store pointer to
- output data there if it is non-NULL.
- (emit_function_directives): Use this new parameter instead of
- calculating the pointer itself, fix function comment.
- (hsa_brig_emit_function): Add forgotten endian conversion.
- (hsa_output_kernels): Remove unnecessary building of
- kernel_dependencies_vector_type.
- (emit_immediate_operand): Declare.
- (emit_directive_variable): Also emit initializers of CONST_DECLs.
- (gen_hsa_insn_for_internal_fn_call): Also handle IFN_RSQRT.
- (verify_function_arguments): Properly detect variadic
- arguments.
- * hsa-dump.c (hsa_width_specifier_name): New function.
- (dump_hsa_insn_1): Dump generic branch instructions, update signal
- member variable name. Special dumping for queue objects.
- * ipa-hsa.c (process_hsa_functions): Adjust after renaming
- m_binded_functions to m_bound_functions. Copy externally visible flag
- to the node.
- (ipa_hsa_write_summary): Likewise.
- (ipa_hsa_read_section): Likewise.
-
-2016-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78396
- * tree-vectorizer.c (vectorize_loops): If an innermost loop didn't
- vectorize try vectorizing an if-converted body using BB vectorization.
-
-2016-11-23 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * rtlanal.c (subreg_get_info): Use more local variables.
- Remark that for HARD_REGNO_NREGS_HAS_PADDING, each scalar unit
- occupies at least one register. Assume that full hard registers
- have consistent endianness. Share previously-duplicated if block.
- Rework the main handling so that it operates on independently-
- addressable YMODE-sized blocks. Use subreg_size_lowpart_offset
- to check lowpart offsets, without trying to find an equivalent
- integer mode first. Handle WORDS_BIG_ENDIAN != REG_WORDS_BIG_ENDIAN
- as a final register-endianness correction.
-
-2016-11-23 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/77881
- PR bootstrap/78390
- PR target/78438
- PR bootstrap/78477
- * combine.c (make_compound_operation_int): Do not convert a subreg of
- a non-constant logical shift right to a zero_extract. Handle the case
- where some zero bits have been shifted into the range covered by that
- subreg.
-
-2016-11-23 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * rtl.h (subreg_size_offset_from_lsb): Declare.
- (subreg_offset_from_lsb): New function.
- (subreg_size_lowpart_offset): Declare.
- (subreg_lowpart_offset): Turn into an inline function.
- (subreg_size_highpart_offset): Declare.
- (subreg_highpart_offset): Turn into an inline function.
- * emit-rtl.c (subreg_size_lowpart_offset): New function.
- (subreg_size_highpart_offset): Likewise
- * rtlanal.c (subreg_size_offset_from_lsb): Likewise.
-
-2016-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78482
- * tree-cfgcleanup.c: Include tree-ssa-loop-niter.h.
- (remove_forwarder_block_with_phi): When merging with a loop
- header creates a new latch reset number of iteration information
- of the loop.
-
-2016-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (*ashrsi3_extend): Rename to...
- (*ashrsi3_extend0): ...this. Accept constant integers.
- (*ashrsi3_extend2): Rename to...
- (*ashrsi3_extend1): ...this.
- (*ashrsi3_extend2): New pattern.
- (*lshrsi3_extend1): Accept constant integers.
- (*lshrsi3_extend2): Fix condition on operand 2.
-
-2016-11-23 Martin Liska <mliska@suse.cz>
-
- * config/i386/i386.c: Initialize function pointer to NULL.
-
-2016-11-23 Bin Cheng <bin.cheng@arm.com>
-
- * fold-const.c (fold_cond_expr_with_comparison): Move simplification
- for A == C1 ? A : C2 to below.
- * match.pd: Move from above to here:
- (cond (eq (convert1? x) c1) (convert2? x) c2)
- -> (cond (eq x c1) c1 c2).
-
-2016-11-23 Bin Cheng <bin.cheng@arm.com>
-
- * fold-const.c (fold_cond_expr_with_comparison): Move simplification
- for A cmp C1 ? A : C2 to below, also simplify remaining code.
- * match.pd: Move and extend simplification from above to here:
- (cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
- * tree-if-conv.c (ifcvt_follow_ssa_use_edges): New func.
- (predicate_scalar_phi): Call fold_stmt using the new valueize func.
-
-2016-11-23 Martin Liska <mliska@suse.cz>
- Martin Jambor <mjambor@suse.cz>
-
- * doc/install.texi: Remove entry about --with-hsa-kmt-lib.
-
-2016-11-23 Aldy Hernandez <aldyh@redhat.com>
-
- PR target/78213
- * opts.c (finish_options): Set -fsyntax-only if running self tests.
-
-2016-11-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71762
- * match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
- (~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
-
-2016-11-23 Richard Biener <rguenther@suse.de>
-
- PR lto/78472
- * tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized
- fields.
-
-2016-11-23 Richard Biener <rguenther@suse.de>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.rog>
-
- PR tree-optimization/78154
- * tree-vrp.c (gimple_stmt_nonzero_warnv_p): Return true if function
- returns it's argument and the argument is nonnull.
- * builtin-attrs.def: Define ATTR_RETURNS_NONNULL,
- ATT_RETNONNULL_NOTHROW_LEAF.
- * builtins.def (BUILT_IN_MEMPCPY): Change attribute to
- ATTR_RETNONNULL_NOTHROW_LEAF.
- (BUILT_IN_STPCPY): Likewise.
- (BUILT_IN_STPNCPY): Likewise.
- (BUILT_IN_MEMPCPY_CHK): Likewise.
- (BUILT_IN_STPCPY_CHK): Likewise.
- (BUILT_IN_STPNCPY_CHK): Likewise.
- (BUILT_IN_STRCAT): Change attribute to ATTR_RET1_NOTHROW_NONNULL_LEAF.
- (BUILT_IN_STRNCAT): Likewise.
- (BUILT_IN_STRNCPY): Likewise.
- (BUILT_IN_MEMSET_CHK): Likewise.
- (BUILT_IN_STRCAT_CHK): Likewise.
- (BUILT_IN_STRCPY_CHK): Likewise.
- (BUILT_IN_STRNCAT_CHK): Likewise.
- (BUILT_IN_STRNCPY_CHK): Likewise.
-
-2016-11-23 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (tree_expr_nonzero_p) : Make non-static.
- * fold-const.h (tree_expr_nonzero_p) : Declare.
- * match.pd (cmp (mult:c @0 @1) (mult:c @2 @1) : New Pattern.
-
-2016-11-23 Paolo Bonzini <bonzini@gnu.org>
-
- * system.h (HAVE_DESIGNATED_INITIALIZERS,
- HAVE_DESIGNATED_UNION_INITIALIZERS): Do not use
- "defined" in macros.
- * doc/cpp.texi (Defined): Mention -Wexpansion-to-defined.
- * doc/cppopts.texi (Invocation): Document -Wexpansion-to-defined.
- * doc/invoke.texi (Warning Options): Document -Wexpansion-to-defined.
-
-2016-11-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/60300
- * config/avr/constraints.md (Csp): Widen range to [-11..6].
- * config/avr/avr.c (avr_prologue_setup_frame): Limit number
- of RCALLs in prologue to 3.
-
-2016-11-22 Michael Collison <michael.collison@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_and_split_imm1, aarch64_and_split_imm2)
- (aarch64_and_bitmask_imm): New prototypes
- * config/aarch64/aarch64.c (aarch64_and_split_imm1):
- New overloaded function to create bit mask covering the
- lowest to highest bits set.
- (aarch64_and_split_imm2): New overloaded functions to create bit
- mask of zeros between first and last bit set.
- (aarch64_and_bitmask_imm): New function to determine if a integer
- is a valid two instruction "and" operation.
- * config/aarch64/aarch64.md:(and<mode>3): New define_insn and _split
- allowing wider range of constants with "and" operations.
- * (ior<mode>3, xor<mode>3): Use new LOGICAL2 iterator to prevent
- "and" operator from matching restricted constant range used for
- ior and xor operators.
- * config/aarch64/constraints.md (UsO constraint): New SImode constraint
- for constants in "and" operantions.
- (UsP constraint): New DImode constraint for constants
- in "and" operations.
- * config/aarch64/iterators.md (lconst2): New mode iterator.
- (LOGICAL2): New code iterator.
- * config/aarch64/predicates.md (aarch64_logical_and_immediate): New
- predicate.
- (aarch64_logical_and_operand): New predicate allowing extended
- constants for "and" operations.
-
-2016-11-22 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.md (trap): New pattern.
- * config/tilepro/tilepro.md (trap): Likewise.
-
-2016-11-22 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.md (*zero_extract): Use
- define_insn_and_split instead of define_insn; Handle pos + size >
- 64.
- (*sign_extract): Likewise.
-
-2016-11-22 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/78455
- * tree-ssa-uninit.c (can_chain_union_be_invalidated_p): Fix typo.
-
-2016-11-22 Ian Lance Taylor <iant@golang.org>
-
- PR go/78431
- PR go/78432
- * godump.c (go_format_type): Always pass alignment as 1 when
- calling go_append_padding at end of struct/union.
-
-2016-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78451
- * config/i386/avx512bwintrin.h (_mm512_setzero_qi,
- _mm512_setzero_hi): Removed.
- (_mm512_maskz_mov_epi16, _mm512_maskz_loadu_epi16,
- _mm512_maskz_mov_epi8, _mm512_maskz_loadu_epi8,
- _mm512_maskz_broadcastb_epi8, _mm512_maskz_set1_epi8,
- _mm512_maskz_broadcastw_epi16, _mm512_maskz_set1_epi16,
- _mm512_mulhrs_epi16, _mm512_maskz_mulhrs_epi16, _mm512_mulhi_epi16,
- _mm512_maskz_mulhi_epi16, _mm512_mulhi_epu16,
- _mm512_maskz_mulhi_epu16, _mm512_maskz_mullo_epi16,
- _mm512_cvtepi8_epi16, _mm512_maskz_cvtepi8_epi16, _mm512_cvtepu8_epi16,
- _mm512_maskz_cvtepu8_epi16, _mm512_permutexvar_epi16,
- _mm512_maskz_permutexvar_epi16, _mm512_avg_epu8, _mm512_maskz_avg_epu8,
- _mm512_maskz_add_epi8, _mm512_maskz_sub_epi8, _mm512_avg_epu16,
- _mm512_maskz_avg_epu16, _mm512_subs_epi8, _mm512_maskz_subs_epi8,
- _mm512_subs_epu8, _mm512_maskz_subs_epu8, _mm512_adds_epi8,
- _mm512_maskz_adds_epi8, _mm512_adds_epu8, _mm512_maskz_adds_epu8,
- _mm512_maskz_sub_epi16, _mm512_subs_epi16, _mm512_maskz_subs_epi16,
- _mm512_subs_epu16, _mm512_maskz_subs_epu16, _mm512_maskz_add_epi16,
- _mm512_adds_epi16, _mm512_maskz_adds_epi16, _mm512_adds_epu16,
- _mm512_maskz_adds_epu16, _mm512_srl_epi16, _mm512_maskz_srl_epi16,
- _mm512_packs_epi16, _mm512_sll_epi16, _mm512_maskz_sll_epi16,
- _mm512_maddubs_epi16, _mm512_maskz_maddubs_epi16, _mm512_unpackhi_epi8,
- _mm512_maskz_unpackhi_epi8, _mm512_unpackhi_epi16,
- _mm512_maskz_unpackhi_epi16, _mm512_unpacklo_epi8,
- _mm512_maskz_unpacklo_epi8, _mm512_unpacklo_epi16,
- _mm512_maskz_unpacklo_epi16, _mm512_shuffle_epi8,
- _mm512_maskz_shuffle_epi8, _mm512_min_epu16, _mm512_maskz_min_epu16,
- _mm512_min_epi16, _mm512_maskz_min_epi16, _mm512_max_epu8,
- _mm512_maskz_max_epu8, _mm512_max_epi8, _mm512_maskz_max_epi8,
- _mm512_min_epu8, _mm512_maskz_min_epu8, _mm512_min_epi8,
- _mm512_maskz_min_epi8, _mm512_max_epi16, _mm512_maskz_max_epi16,
- _mm512_max_epu16, _mm512_maskz_max_epu16, _mm512_sra_epi16,
- _mm512_maskz_sra_epi16, _mm512_srav_epi16, _mm512_maskz_srav_epi16,
- _mm512_srlv_epi16, _mm512_maskz_srlv_epi16, _mm512_sllv_epi16,
- _mm512_maskz_sllv_epi16, _mm512_maskz_packs_epi16, _mm512_packus_epi16,
- _mm512_maskz_packus_epi16, _mm512_abs_epi8, _mm512_maskz_abs_epi8,
- _mm512_abs_epi16, _mm512_maskz_abs_epi16, _mm512_dbsad_epu8,
- _mm512_maskz_dbsad_epu8, _mm512_srli_epi16, _mm512_maskz_srli_epi16,
- _mm512_slli_epi16, _mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
- _mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
- _mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
- _mm512_maskz_srai_epi16, _mm512_packs_epi32,
- _mm512_maskz_packs_epi32, _mm512_packus_epi32,
- _mm512_maskz_packus_epi32): Use _mm512_setzero_si512 instead of
- _mm512_setzero_qi or _mm512_setzero_hi.
- (_mm512_maskz_alignr_epi8, _mm512_dbsad_epu8,
- _mm512_maskz_dbsad_epu8): Formatting fixes.
- (_mm512_srli_epi16, _mm512_maskz_srli_epi16, _mm512_slli_epi16,
- _mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
- _mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
- _mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
- _mm512_maskz_srai_epi16): Use _mm512_setzero_si512 instead of
- _mm512_setzero_qi or _mm512_setzero_hi.
-
-2016-11-22 Nathan Sidwell <nathan@acm.org>
-
- * gcc-ar.c (main): Fix indentation.
- * gcov-io.c (gcov_write_summary): Remove extraneous {...}
- * ggc-page.c (move_ptes_to_front): Fix formatting.
- * hsa-dump.c (dump_has_cfun): Fix indentation.
- * sel-sched-ir.h: Remove trailing blank lines.
-
-2016-11-22 Jakub Jelinek <jakub@redhat.com>
- Alexander Monakov <amonakov@ispras.ru>
-
- * internal-fn.c (expand_GOMP_USE_SIMT): New function.
- * tree.c (omp_clause_num_ops): OMP_CLAUSE__SIMT_ has 0 operands.
- (omp_clause_code_name): Add _simt_ name.
- (walk_tree_1): Handle OMP_CLAUSE__SIMT_.
- * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SIMT_.
- * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__SIMT_.
- (scan_omp_simd): New function.
- (scan_omp_1_stmt): Use it in target regions if needed.
- (omp_max_vf): Don't max with omp_max_simt_vf.
- (lower_rec_simd_input_clauses): Use omp_max_simt_vf if
- OMP_CLAUSE__SIMT_ is present.
- (lower_rec_input_clauses): Compute maybe_simt from presence of
- OMP_CLAUSE__SIMT_.
- (lower_lastprivate_clauses): Likewise.
- (expand_omp_simd): Likewise. Remove explicit offloaded region check.
- (execute_omp_device_lower): Lower IFN_GOMP_USE_SIMT.
- * internal-fn.def (GOMP_USE_SIMT): New internal function.
- * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__SIMT_.
-
-2016-11-22 Alexander Monakov <amonakov@ispras.ru>
-
- * internal-fn.c (expand_GOMP_SIMT_LANE): New.
- (expand_GOMP_SIMT_VF): New.
- (expand_GOMP_SIMT_LAST_LANE): New.
- (expand_GOMP_SIMT_ORDERED_PRED): New.
- (expand_GOMP_SIMT_VOTE_ANY): New.
- (expand_GOMP_SIMT_XCHG_BFLY): New.
- (expand_GOMP_SIMT_XCHG_IDX): New.
- * internal-fn.def (GOMP_SIMT_LANE): New.
- (GOMP_SIMT_VF): New.
- (GOMP_SIMT_LAST_LANE): New.
- (GOMP_SIMT_ORDERED_PRED): New.
- (GOMP_SIMT_VOTE_ANY): New.
- (GOMP_SIMT_XCHG_BFLY): New.
- (GOMP_SIMT_XCHG_IDX): New.
- * omp-low.c (omp_maybe_offloaded_ctx): New, outlined from...
- (create_omp_child_function): ...here. Set "omp target entrypoint"
- or "omp declare target" attribute based on is_gimple_omp_offloaded.
- (omp_max_simt_vf): New. Use it...
- (omp_max_vf): ...here.
- (lower_rec_input_clauses): Add reduction lowering for SIMT execution.
- (lower_lastprivate_clauses): Likewise, for "lastprivate" lowering.
- (lower_omp_ordered): Likewise, for "ordered" lowering.
- (expand_omp_simd): Add SIMT transforms.
- (pass_data_lower_omp): Add PROP_gimple_lomp_dev.
- (execute_omp_device_lower): New.
- (pass_data_omp_device_lower): New.
- (pass_omp_device_lower): New pass.
- (make_pass_omp_device_lower): New.
- * passes.def (pass_omp_device_lower): Position new pass.
- * tree-pass.h (PROP_gimple_lomp_dev): Define.
- (make_pass_omp_device_lower): Declare.
-
-2016-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78451
- * config/i386/avx512vlintrin.h (_mm_setzero_di): Removed.
- (_mm_maskz_mov_epi64): Use _mm_setzero_si128 instead of
- _mm_setzero_di.
- (_mm_maskz_load_epi64): Likewise.
- (_mm_setzero_hi): Removed.
- (_mm_maskz_loadu_epi64): Use _mm_setzero_si128 instead of
- _mm_setzero_di.
- (_mm_abs_epi64, _mm_maskz_abs_epi64, _mm_maskz_srl_epi64,
- _mm_maskz_unpackhi_epi64, _mm_maskz_unpacklo_epi64,
- _mm_maskz_compress_epi64, _mm_srav_epi64, _mm_maskz_srav_epi64,
- _mm_maskz_sllv_epi64, _mm_maskz_srlv_epi64, _mm_rolv_epi64,
- _mm_maskz_rolv_epi64, _mm_rorv_epi64, _mm_maskz_rorv_epi64,
- _mm_min_epi64, _mm_max_epi64, _mm_max_epu64, _mm_min_epu64,
- _mm_lzcnt_epi64, _mm_maskz_lzcnt_epi64, _mm_conflict_epi64,
- _mm_maskz_conflict_epi64, _mm_sra_epi64, _mm_maskz_sra_epi64,
- _mm_maskz_sll_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
- _mm_ror_epi64, _mm_maskz_ror_epi64, _mm_alignr_epi64,
- _mm_maskz_alignr_epi64, _mm_srai_epi64, _mm_maskz_slli_epi64):
- Likewise.
- (_mm_cvtepi32_epi8, _mm256_cvtepi32_epi8, _mm_cvtsepi32_epi8,
- _mm256_cvtsepi32_epi8, _mm_cvtusepi32_epi8, _mm256_cvtusepi32_epi8,
- _mm_cvtepi32_epi16, _mm256_cvtepi32_epi16, _mm_cvtsepi32_epi16,
- _mm256_cvtsepi32_epi16, _mm_cvtusepi32_epi16, _mm256_cvtusepi32_epi16,
- _mm_cvtepi64_epi8, _mm256_cvtepi64_epi8, _mm_cvtsepi64_epi8,
- _mm256_cvtsepi64_epi8, _mm_cvtusepi64_epi8, _mm256_cvtusepi64_epi8,
- _mm_cvtepi64_epi16, _mm256_cvtepi64_epi16, _mm_cvtsepi64_epi16,
- _mm256_cvtsepi64_epi16, _mm_cvtusepi64_epi16, _mm256_cvtusepi64_epi16,
- _mm_cvtepi64_epi32, _mm256_cvtepi64_epi32, _mm_cvtsepi64_epi32,
- _mm256_cvtsepi64_epi32, _mm_cvtusepi64_epi32, _mm256_cvtusepi64_epi32,
- _mm_maskz_set1_epi32, _mm_maskz_set1_epi64): Formatting fixes.
- (_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
- instead of _mm_setzero_hi.
- (_mm256_permutex_pd, _mm256_maskz_permutex_epi64, _mm256_insertf32x4,
- _mm256_maskz_insertf32x4, _mm256_inserti32x4, _mm256_maskz_inserti32x4,
- _mm256_extractf32x4_ps, _mm256_maskz_extractf32x4_ps,
- _mm256_shuffle_i32x4, _mm256_maskz_shuffle_i32x4, _mm256_shuffle_f64x2,
- _mm256_maskz_shuffle_f64x2, _mm256_shuffle_f32x4,
- _mm256_maskz_shuffle_f32x4, _mm256_maskz_shuffle_pd,
- _mm_maskz_shuffle_pd, _mm256_maskz_shuffle_ps, _mm_maskz_shuffle_ps,
- _mm256_maskz_srli_epi32, _mm_maskz_srli_epi32, _mm_maskz_srli_epi64,
- _mm256_mask_slli_epi32, _mm256_maskz_slli_epi32, _mm256_mask_slli_epi64,
- _mm256_maskz_slli_epi64, _mm256_roundscale_ps,
- _mm256_maskz_roundscale_ps, _mm256_roundscale_pd,
- _mm256_maskz_roundscale_pd, _mm_roundscale_ps, _mm_maskz_roundscale_ps,
- _mm_roundscale_pd, _mm_maskz_roundscale_pd, _mm256_getmant_ps,
- _mm256_maskz_getmant_ps, _mm_getmant_ps, _mm_maskz_getmant_ps,
- _mm256_getmant_pd, _mm256_maskz_getmant_pd, _mm_getmant_pd,
- _mm_maskz_getmant_pd, _mm256_maskz_shuffle_epi32,
- _mm_maskz_shuffle_epi32, _mm256_rol_epi32, _mm256_maskz_rol_epi32,
- _mm_rol_epi32, _mm_maskz_rol_epi32, _mm256_ror_epi32,
- _mm256_maskz_ror_epi32, _mm_ror_epi32, _mm_maskz_ror_epi32,
- _mm_maskz_alignr_epi32, _mm_maskz_alignr_epi64,
- _mm256_maskz_srai_epi32, _mm_maskz_srai_epi32, _mm_srai_epi64,
- _mm_maskz_srai_epi64, _mm256_maskz_permutex_pd,
- _mm256_maskz_permute_pd, _mm256_maskz_permute_ps, _mm_maskz_permute_pd,
- _mm_maskz_permute_ps, _mm256_permutexvar_ps): Formatting fixes.
- (_mm_maskz_slli_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
- _mm_ror_epi64, _mm_maskz_ror_epi64): Use _mm_setzero_si128 instead of
- _mm_setzero_di.
- (_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
- instead of _mm_setzero_hi.
- * config/i386/avx512dqintrin.h (_mm512_broadcast_f64x2,
- _mm512_broadcast_i64x2, _mm512_broadcast_f32x2, _mm512_broadcast_i32x2,
- _mm512_broadcast_f32x8, _mm512_broadcast_i32x8): Formatting fixes.
- (_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
- _mm_setzero_si128 instead of _mm_setzero_di.
- (_mm512_cvtt_roundpd_epi64, _mm512_mask_cvtt_roundpd_epi64,
- _mm512_maskz_cvtt_roundpd_epi64, _mm512_cvtt_roundpd_epu64,
- _mm512_mask_cvtt_roundpd_epu64, _mm512_maskz_cvtt_roundpd_epu64,
- _mm512_cvtt_roundps_epi64, _mm512_mask_cvtt_roundps_epi64,
- _mm512_maskz_cvtt_roundps_epi64, _mm512_cvtt_roundps_epu64,
- _mm512_mask_cvtt_roundps_epu64, _mm512_maskz_cvtt_roundps_epu64,
- _mm512_cvt_roundpd_epi64, _mm512_mask_cvt_roundpd_epi64,
- _mm512_maskz_cvt_roundpd_epi64, _mm512_cvt_roundpd_epu64,
- _mm512_mask_cvt_roundpd_epu64, _mm512_maskz_cvt_roundpd_epu64,
- _mm512_cvt_roundps_epi64, _mm512_mask_cvt_roundps_epi64,
- _mm512_maskz_cvt_roundps_epi64, _mm512_cvt_roundps_epu64,
- _mm512_mask_cvt_roundps_epu64, _mm512_maskz_cvt_roundps_epu64,
- _mm512_cvt_roundepi64_ps, _mm512_mask_cvt_roundepi64_ps,
- _mm512_maskz_cvt_roundepi64_ps, _mm512_cvt_roundepu64_ps,
- _mm512_mask_cvt_roundepu64_ps, _mm512_maskz_cvt_roundepu64_ps,
- _mm512_cvt_roundepi64_pd, _mm512_mask_cvt_roundepi64_pd,
- _mm512_maskz_cvt_roundepi64_pd, _mm512_cvt_roundepu64_pd,
- _mm512_mask_cvt_roundepu64_pd, _mm512_maskz_cvt_roundepu64_pd,
- _mm512_reduce_pd, _mm512_maskz_reduce_pd, _mm512_reduce_ps,
- _mm512_maskz_reduce_ps, _mm512_extractf32x8_ps,
- _mm512_maskz_extractf32x8_ps, _mm512_extractf64x2_pd,
- _mm512_maskz_extractf64x2_pd, _mm512_extracti32x8_epi32,
- _mm512_maskz_extracti32x8_epi32, _mm512_range_pd,
- _mm512_maskz_range_pd, _mm512_range_ps, _mm512_maskz_range_ps,
- _mm512_range_round_pd, _mm512_maskz_range_round_pd,
- _mm512_range_round_ps, _mm512_maskz_range_round_ps,
- _mm512_maskz_insertf64x2, _mm512_insertf32x8,
- _mm512_maskz_insertf32x8): Formatting fixes.
- (_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
- _mm_setzero_si128 instead of _mm_setzero_di.
- * config/i386/avx512vldqintrin.h (_mm_cvttpd_epi64,
- _mm_cvttpd_epu64, _mm_cvtpd_epi64, _mm_cvtpd_epu64,
- _mm_cvttps_epi64, _mm_maskz_cvttps_epi64, _mm_cvttps_epu64,
- _mm_maskz_cvttps_epu64, _mm_maskz_mullo_epi64, _mm_cvtps_epi64,
- _mm_maskz_cvtps_epi64, _mm_cvtps_epu64, _mm_maskz_cvtps_epu64,
- _mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64): Use
- _mm_setzero_si128 instead of _mm_setzero_di.
- (_mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64):
- Likewise in macros.
- * config/i386/avx512vlbwintrin.h (_mm_maskz_mov_epi8,
- _mm_maskz_loadu_epi16, _mm_maskz_mov_epi16, _mm_maskz_loadu_epi8,
- _mm_permutexvar_epi16, _mm_maskz_maddubs_epi16): Use
- _mm_setzero_si128 instead of _mm_setzero_hi.
- (_mm_maskz_min_epu16, _mm_maskz_max_epu8, _mm_maskz_max_epi8,
- _mm_maskz_min_epu8, _mm_maskz_min_epi8, _mm_maskz_max_epi16,
- _mm_maskz_max_epu16, _mm_maskz_min_epi16): Use _mm_setzero_si128
- instead of _mm_setzero_di.
- (_mm_dbsad_epu8, _mm_maskz_shufflehi_epi16,
- _mm_maskz_shufflelo_epi16): Use _mm_setzero_si128 instead of
- _mm_setzero_hi.
- (_mm_maskz_shufflehi_epi16, _mm_maskz_shufflelo_epi16,
- _mm_maskz_slli_epi16): Use _mm_setzero_si128 instead of
- _mm_setzero_hi.
- (_mm_maskz_alignr_epi8): Use _mm_setzero_si128 instead of
- _mm_setzero_di.
- (_mm_maskz_mulhi_epi16, _mm_maskz_mulhi_epu16, _mm_maskz_mulhrs_epi16,
- _mm_maskz_mullo_epi16, _mm_srav_epi16, _mm_srlv_epi16,
- _mm_sllv_epi16): Use _mm_setzero_si128 instead of _mm_setzero_hi.
-
-2016-11-22 Carl Love <cel@us.ibm.com>
-
- * config/rs6000/rs6000-c.c: Add built-in support for vector compare
- equal and vector compare not equal. The vector compares take two
- arguments of type vector bool char, vector bool short, vector bool int,
- vector bool long long with the same return type.
- * doc/extend.texi: Update built-in documentation file for the new
- powerpc built-ins.
-
-2016-11-22 Uros Bizjak <ubizjak@gmail.com>
-
- * Makefile.in ($(lang_checks_parallelized)): Fix detection
- of -j argument.
-
-2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config.gcc: Allow new rmprofile value for configure option
- --with-multilib-list.
- * config/arm/t-rmprofile: New file.
- * doc/install.texi (--with-multilib-list): Document new rmprofile value
- for ARM.
-
-2016-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/78439
- * config/arm/vfp.md (*movdi_vfp_cortexa8): Use 'q' constraints for the
- register operand in alternatives 4,5,6.
-
-2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/77904
- * config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer
- in save register mask if it is needed.
-
-2016-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/78436
- * gimple-ssa-store-merging.c (zero_char_buf): Removed.
- (shift_bytes_in_array, shift_bytes_in_array_right,
- merged_store_group::apply_stores): Formatting fixes.
- (clear_bit_region): Likewise. Use memset.
- (encode_tree_to_bitpos): Formatting fixes. Fix comment typos - EPXR
- instead of EXPR and inerted instead of inserted. Use memset instead
- of zero_char_buf. For !BYTES_BIG_ENDIAN decrease byte_size by 1
- if shift_amnt is 0.
-
- PR middle-end/78416
- * expmed.c (expand_divmod): Use wide_int for computation of
- op1_is_pow2. Don't set it if op1 is 0. Formatting fixes.
- Use size <= HOST_BITS_PER_WIDE_INT instead of
- HOST_BITS_PER_WIDE_INT >= size.
-
- PR tree-optimization/78445
- * tree-if-conv.c (tree_if_conversion): If any_pred_load_store or
- any_complicated_phi, version loop even if flag_tree_loop_if_convert
- is 1. Formatting fix.
-
-2016-11-22 Martin Liska <mliska@suse.cz>
-
- PR ipa/78309
- * ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
- (sem_function::get_hash): Use the new field.
- (sem_function::parse): Remove an argument from ctor.
- (sem_variable::parse): Likewise.
- (sem_variable::get_hash): Use the new field.
- (sem_item_optimizer::read_section): Use new ctor and set hash.
- * ipa-icf.h: _hash is removed from sem_item::sem_item,
- sem_variable::sem_variable, sem_function::sem_function.
-
-2016-11-21 Jeff Law <law@redhat.com>
-
- PR target/68538
- * config/cris/cris.md: Don't call copy_to_mode_reg unless
- can_create_pseudo_p is true.
-
-2016-11-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/68803
- * config/rs6000/rs6000.md (*rotlsi3_insert_5, *rotldi3_insert_6,
- *rotldi3_insert_7): New define_insns.
-
-2016-11-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (movdi_internal32): Change constraints
- so that DImode can be allocated to FP/vector registers in more
- cases, and we can avoid direct move operations. If the register
- needs reloading, prefer GPRs over FP/vector registers. In the
- case of FPR vs. Altivec registers, prefer FPR registers unless we
- have the ISA 3.0 reg+offset scalar instructions.
- (movdi_internal64): Likewise.
-
-2016-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/67335
- * omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix
- for tmp simd array if DECL_NAME (parm) is NULL.
-
-2016-11-20 Jeff Law <law@redhat.com>
-
- PR target/25128
- * config/m68k/predicates.md (swap_peephole_relational_operator): New
- predicate.
- * config/m68k/m68k.md (relational tests against 65535/65536): New
- peephole2.
-
-2016-11-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-ssa-loop-prefetch.c: Delete FIXME after the includes.
-
-2016-11-21 Martin Sebor <msebor@redhat.com>
-
- * doc/invoke.texi (-fprintf-return-value): Document that option
- is enabled by default.
-
-2016-11-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-c.c (avr_register_target_pragmas): Use C++
- for-loop declaration of loop variable.
- (avr_register_target_pragmas, avr_cpu_cpp_builtins): Same.
- * config/avr/avr.c (avr_popcount_each_byte)
- (avr_init_expanders, avr_regs_to_save, sequent_regs_live)
- (get_sequence_length, avr_prologue_setup_frame, avr_map_metric)
- (avr_expand_epilogue, avr_function_arg_advance)
- (avr_out_compare, avr_out_plus_1, avr_out_bitop, avr_out_fract)
- (avr_rotate_bytes, _reg_unused_after, avr_assemble_integer)
- (avr_adjust_reg_alloc_order, output_reload_in_const)
- (avr_conditional_register_usage, avr_find_unused_d_reg)
- (avr_map_decompose, avr_fold_builtin): Same.
-
-2016-11-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_popcount): Remove static function.
- (avr_popcount_each_byte, avr_out_bitop): Use popcount_hwi instead.
-
-2016-11-21 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.opt (mapcs-float): Delete option.
- * arm.c (arm_option_override): Remove hunk relating to
- TARGET_APCS_FLOAT.
- * doc/invoke.texi (arm options): Remove documentation for -mapcs-float.
-
-2016-11-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-tailcall.c (process_assignment): Simplify the check for
- a valid copy, allowing the source to be a local variable as
- well as an SSA name.
- (find_tail_calls): Allow copies between local variables to follow
- the call. Allow the result to be stored in any local variable,
- even if it's an aggregate.
- (eliminate_tail_call): Check whether the result is an SSA name
- before updating its SSA_NAME_DEF_STMT.
-
-2016-11-21 David Malcolm <dmalcolm@redhat.com>
-
- PR preprocessor/78324
- * input.c (get_substring_ranges_for_loc): Fail gracefully if
- -ftrack-macro-expansion has a value other than 2.
-
-2016-11-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78400
- * shrink-wrap.c (try_shrink_wrapping_separate): Call
- df_update_entry_exit_and_calls instead of df_update_entry_block_defs
- and df_update_exit_block_uses.
-
-2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR c++/71973
- * doc/invoke.texi (-Wno-builtin-declaration-mismatch): Document the
- new default-enabled warning..
- * builtin-types.def (BT_CONST_TM_PTR): New primitive type.
- (BT_PTR_CONST_STRING): Updated.
- (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR): Removed.
- (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR): New function type.
- * builtins.def (DEF_TM_BUILTIN): Disable BOTH_P for TM builtins.
- (strftime): Update builtin function.
- * tree-core.h (TI_CONST_TM_PTR_TYPE): New enum value.
- * tree.h (const_tm_ptr_type_node): New type node.
- * tree.c (free_lang_data, build_common_tree_nodes): Initialize
- const_tm_ptr_type_node.
-
-2016-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/78413
- * tree-if-conv.c (versionable_outer_loop_p): Require that both
- inner and outer loop latches have single predecessors.
-
-2016-11-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/78093
- * config/avr/avr.c (avr_decl_maybe_lds_p): New static function.
- (avr_encode_section_info) [TARGET_ABSDATA && AVR_TINY]: Use it.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Adjust prototype.
- * rtlanal.c (dead_or_set_p): Change argument type to rtx_insn *.
- (dead_or_set_regno_p): Likewise.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Adjust prototype.
- * rtlanal.c (add_int_reg_note): Change argument type to rtx_insn *.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * function.c (contains): Change argument type to rtx_insn *.
- (prologue_contains): Likewise.
- (epilogue_contains): Likewise.
- (prologue_epilogue_contains): Likewise.
- * function.h: Adjust prototype.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * optabs.c (emit_libcall_block): Change argument type to
- rtx_insn *.
- * optabs.h: Adjust prototype.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (delete_insn): Change argument type to rtx_insn *.
- (fixup_reorder_chain): Adjust.
- * cfgrtl.h: Adjust prototype.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Adjust prototype.
- * rtlanal.c (replace_label_in_insn): Change argument type to
- rtx_insn *.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/v850/v850.c (expand_prologue): Adjust.
- (expand_epilogue): Likewise.
- * expr.c (init_expr_target): Likewise.
- * genrecog.c (print_subroutine): Always make the argument type
- rtx_insn *.
- * recog.h: Adjust prototype.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split
- up variables to make some rtx_insn *.
- * config/alpha/alpha.c (emit_unlikely_jump): Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Likewise.
- * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue):
- Likewise.
- * config/spu/spu.c (spu_emit_branch_hint): Likewise.
-
-2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arm/arm.c (legitimize_pic_address): Change to use
- rtx_insn * as the type of variables.
- (arm_pic_static_addr): Likewise.
- (arm_emit_movpair): Likewise.
- * config/c6x/c6x.c (reorg_split_calls): Likewise.
- * config/darwin.c (machopic_legitimize_pic_address): Likewise.
- * config/frv/frv.c (frv_optimize_membar_local): Likewise.
- * config/frv/frv.md: Likewise.
- * config/i386/i386-protos.h: Likewise.
- * config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
- (ix86_split_fp_branch): Likewise.
- (predict_jump): Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
- * config/s390/s390.c: Likewise.
- * config/s390/s390.md: Likewise.
- * config/spu/spu.md: Likewise.
- * config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise.
- * lower-subreg.c (resolve_simple_move): Likewise.
-
-2016-11-20 Jeff Law <law@redhat.com>
-
- PR target/48551
- * reload.h (struct target_reload): Make x_double_reg_address_ok
- be per-mode rather.
- * reload.c (find_reloads_address): Check if double_reg_address_ok
- is true for the mode of the memory reference.
- * reload1.c (init_reload): Initialize double_reg_address_ok for
- each mode.
-
-2016-11-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/61409
- * tree-ssa-uninit.c: Define new global max_phi_args.
- (compute_uninit_opnds_pos): Use max_phi_args.
- (prune_uninit_phi_opnds): Same.
- (use_pred_not_overlap_with_undef_path_pred): Remove reference to
- missing NUM_PREDS in function comment.
- (can_one_predicate_be_invalidated_p): New.
- (can_chain_union_be_invalidated_p): New.
- (flatten_out_predicate_chains): New.
- (uninit_ops_invalidate_phi_use): New.
- (is_use_properly_guarded): Call uninit_ops_invalidate_phi_use.
-
-2016-11-20 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_comparison): Ignore EXACT_DIV_EXPR.
- * match.pd (A /[ex] B CMP C): New simplifications.
-
-2016-11-20 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (0 / X, X / X, X % X): New simplifications.
-
-2016-11-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_can_inline_p): Use || instead of &
- when checking if callee's isa flags are subset of caller's isa flags.
- Fix comment wording.
-
- * config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
- clear opts->x_ix86_isa_flags, clear opts->x_ix86_isa_flags2
- instead and using = 0 instead of &= 0.
-
- * config/i386/i386.c (def_builtin, def_builtin2, def_builtin_const2,
- ix86_add_new_builtins): Formatting fixes.
- (ix86_expand_builtin): Use || instead of && for isa vs. isa2.
- (ix86_get_builtin): Likewise.
-
- * config/i386/i386.c (ix86_expand_builtin): Remove msk_mov variable,
- don't initialize it, don't use it for the case where it isn't
- provable %{z} nor using the same argument, instead move merge
- argument into a new pseudo and use that as target. Formatting fixes.
-
-2016-11-19 Jeff Law <law@redhat.com>
-
- PR target/25111
- * config/m68k/m68k.md (bsetdreg): New pattern.
- (bchgdreg, bclrdreg): Likewise.
-
-2016-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/78426
- * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
- instead of force_reg.
- (sh_expand_setmem): Likewise.
-
-2016-11-19 Krister Walfridsson <krister.walfridsson@gmail.com>
-
- * config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap.
-
-2016-11-18 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
- end-of-bundle marker for consecutive barriers.
-
-2016-11-18 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.md (clzsi2): Fix for big-endian.
-
-2016-11-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/78419
- * multiple_target.c (get_attr_len): Start with argnum and increment
- argnum on every arg. Use strchr in a loop instead of counting commas
- manually.
- (get_attr_str): Increment argnum for every comma in the string.
- (separate_attrs): Use for instead of while loop, simplify.
- (expand_target_clones): Rename defenition argument to definition.
- Free attrs and attr_str even when diagnosing errors. Temporarily
- change input_location around targetm.target_option.valid_attribute_p
- calls. Don't emit warning or errors if that function fails.
-
- * dwarf2out.c (size_of_discr_list): Fix typo in function comment.
-
- PR debug/78191
- * dwarf2out.c (abbrev_opt_base_type_end): New variable.
- (die_abbrev_cmp): Sort dies with die_abbrev smaller than
- abbrev_opt_base_type_end only by increasing die_abbrev, before
- any other dies.
- (optimize_abbrev_table): Don't change abbrev numbers of
- base types and CU or optimize implicit consts in them if
- calc_base_type_die_sizes has been called during build_abbrev_table.
- (calc_base_type_die_sizes): If abbrev_opt_start, set
- abbrev_opt_base_type_end to one plus largest base type's die_abbrev.
-
-2016-11-18 Jeff Law <law@redhat.com>
-
- PR target/25112
- * config/m68k/m68k.c (moveq feeding equality comparison): New
- peepholes.
- * config/m68k/predicates.md (addq_subq_operand): New predicate.
- (equality_comparison_operator): Likewise.
-
-2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtlanal.c (load_extend_op): Move to...
- * rtl.h: ...here and make inline.
-
-2016-11-18 Terry Guo <terry.guo@arm.com>
- Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * common/config/arm/arm-common.c (arm_target_thumb_only): New function.
- * config/arm/arm-opts.h: Include arm-flags.h.
- (struct arm_arch_core_flag): Define.
- (arm_arch_core_flags): Define.
- * config/arm/arm-protos.h: Include arm-flags.h
- (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32,
- FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E,
- FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM,
- FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV,
- FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT,
- FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST,
- FL_TUNE, FL_FOR_ARCH2, FL_FOR_ARCH3, FL_FOR_ARCH3M, FL_FOR_ARCH4,
- FL_FOR_ARCH4T, FL_FOR_ARCH5, FL_FOR_ARCH5T, FL_FOR_ARCH5E,
- FL_FOR_ARCH5TE, FL_FOR_ARCH5TEJ, FL_FOR_ARCH6, FL_FOR_ARCH6J,
- FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK, FL_FOR_ARCH6KZ,
- FL_FOR_ARCH6T2, FL_FOR_ARCH6M, FL_FOR_ARCH7, FL_FOR_ARCH7A,
- FL_FOR_ARCH7VE, FL_FOR_ARCH7R, FL_FOR_ARCH7M, FL_FOR_ARCH7EM,
- FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A, FL2_FOR_ARCH8_2A, FL_FOR_ARCH8M_BASE,
- FL_FOR_ARCH8M_MAIN, arm_feature_set, ARM_FSET_MAKE,
- ARM_FSET_MAKE_CPU1, ARM_FSET_MAKE_CPU2, ARM_FSET_CPU1, ARM_FSET_CPU2,
- ARM_FSET_EMPTY, ARM_FSET_ANY, ARM_FSET_HAS_CPU1, ARM_FSET_HAS_CPU2,
- ARM_FSET_HAS_CPU, ARM_FSET_ADD_CPU1, ARM_FSET_ADD_CPU2,
- ARM_FSET_DEL_CPU1, ARM_FSET_DEL_CPU2, ARM_FSET_UNION, ARM_FSET_INTER,
- ARM_FSET_XOR, ARM_FSET_EXCLUDE, ARM_FSET_IS_EMPTY,
- ARM_FSET_CPU_SUBSET): Move to ...
- * config/arm/arm-flags.h: This new file.
- * config/arm/arm.h (TARGET_MODE_SPEC_FUNCTIONS): Define.
- (EXTRA_SPEC_FUNCTIONS): Add TARGET_MODE_SPEC_FUNCTIONS to its value.
- (TARGET_MODE_SPECS): Define.
- (DRIVER_SELF_SPECS): Add TARGET_MODE_SPECS to its value.
-
-2016-11-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-protos.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M,
- FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED,
- FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF,
- FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON,
- FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL,
- FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1,
- FL2_ARCH8_2, FL2_FP16INST): Reindent comment, add final dot when
- missing and make value unsigned.
- (arm_feature_set): Use unsigned entries instead of unsigned long.
-
-2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- Re-apply after PR bootstrap/77359 is fixed:
- 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * explow.c (get_dynamic_stack_size): Take known alignment of stack
- pointer + STACK_DYNAMIC_OFFSET into account when calculating the
- size needed.
-
-2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR bootstrap/77359
- * config/rs6000/rs6000.c (rs6000_stack_info): Properly align local
- variables in functions calling alloca. Also update the ASCII
- drawings.
- * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET)
- (STACK_DYNAMIC_OFFSET): Likewise.
- * config/rs6000/aix.h (STARTING_FRAME_OFFSET)
- (STACK_DYNAMIC_OFFSET): Copy AIX specific versions of the rs6000.h
- macros to aix.h.
-
-2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * combine.c (try_combine): Use rtx_mode_t instead of std::make_pair.
- * dwarf2out.c (mem_loc_descriptor, loc_descriptor): Likewise.
- (add_const_value_attribute): Likewise.
- * explow.c (plus_constant): Likewise.
- * expmed.c (expand_mult, make_tree): Likewise.
- * expr.c (convert_modes): Likewise.
- * loop-doloop.c (doloop_optimize): Likewise.
- * postreload.c (reload_cse_simplify_set): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise
- (simplify_binary_operation_1, simplify_const_binary_operation):
- Likewise.
- (simplify_const_relational_operation, simplify_immed_subreg): Likewise.
- * wide-int.h: Update documentation to recommend rtx_mode_t
- instead of std::make_pair.
-
-2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree.h (SET_DECL_MODE): New macro.
- * cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE.
- (expand_gimple_basic_block): Likewise.
- * function.c (split_complex_args): Likeise.
- * ipa-prop.c (ipa_modify_call_arguments): Likewise.
- * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise.
- * stor-layout.c (layout_decl, relayout_decl): Likewise.
- (finish_bitfield_representative): Likewise.
- * tree.c (make_node_stat): Likewise.
- * tree-inline.c (remap_ssa_name): Likewise.
- (tree_function_versioning): Likewise.
- * tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise.
- * tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
- * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
- * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
- * tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
- * varasm.c (make_debug_expr_from_rtl): Likewise.
-
-2016-11-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/71785
- * bb-reorder.c (maybe_duplicate_computed_goto): New function.
- (duplicate_computed_gotos): New function.
- (pass_duplicate_computed_gotos::execute): Rewrite.
-
-2016-11-17 Jeff Law <law@redhat.com>
-
- PR target/47192
- * config/m68k/m68k.c (m68k_expand_epilogue): Emit a scheduling
- barrier prior to deallocating the stack.
-
-2016-11-17 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.md (cmem bit/sign-extend peephole2): New peephole
- to make better use of cmem loads in the case where a single bit is
- being accessed.
- * config/arc/predicates.md (ge_lt_comparison_operator): New predicate.
-
-2016-11-17 Andrew Senkevich <andrew.senkevich@intel.com>
-
- * config/i386/i386.c (processor_features): Add F_AVX5124VNNIW,
- F_AVX5124FMAPS.
- (isa_names_table): Handle new features.
-
-2016-11-17 Kirill Yukhin <kirill.yukhin@gmail.com>
- Andrew Senkevich <andrew.senkevich@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX5124FMAPS_SET,
- OPTION_MASK_ISA_AVX5124FMAPS_UNSET, OPTION_MASK_ISA_AVX5124VNNIW_SET,
- OPTION_MASK_ISA_AVX5124VNNIW_UNSET): New.
- (ix86_handle_option): Handle OPT_mavx5124fmaps, OPT_mavx5124vnniw.
- * config.gcc: Add avx5124fmapsintrin.h, avx5124vnniwintrin.h.
- * config/i386/avx5124fmapsintrin.h: New file.
- * config/i386/avx5124vnniwintrin.h: Ditto.
- * config/i386/constraints.md (h): New constraint.
- * config/i386/cpuid.h (bit_AVX5124VNNIW, bit_AVX5124FMAPS): New.
- * config/i386/driver-i386.c (host_detect_local_cpu):
- Detect avx5124fmaps, avx5124vnniw.
- * config/i386/i386-builtin-types.def: Add types
- V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF_V16SF_UHI,
- V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF,
- V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF,
- V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF_V4SF_UQI,
- V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI,
- V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI_V16SI_UHI.
- * config/i386/i386-builtin.def (__builtin_ia32_4fmaddps_mask,
- __builtin_ia32_4fmaddps, __builtin_ia32_4fmaddss,
- __builtin_ia32_4fmaddss_mask, __builtin_ia32_4fnmaddps_mask,
- __builtin_ia32_4fnmaddps, __builtin_ia32_4fnmaddss,
- __builtin_ia32_4fnmaddss_mask, __builtin_ia32_vp4dpwssd,
- __builtin_ia32_vp4dpwssd_mask, __builtin_ia32_vp4dpwssds,
- __builtin_ia32_vp4dpwssds_mask): New.
- * config/i386/i386-c.c (ix86_target_macros_internal):
- Define __AVX5124FMAPS__, __AVX5124VNNIW__.
- * config/i386/i386-modes.def: Fixed comment typos, added new
- modes (VECTOR_MODES (FLOAT, 256), VECTOR_MODE (INT, SI, 64)).
- * config/i386/i386.c (ix86_target_string): Add -mavx5124fmaps,
- -mavx5124vnniw.
- (PTA_AVX5124FMAPS, PTA_AVX5124VNNIW): Define.
- (ix86_option_override_internal): Handle new options.
- (ix86_valid_target_attribute_inner_p): Add avx5124fmaps,
- avx5124vnniw.
- (ix86_expand_builtin): Handle new builtins.
- (ix86_additional_allocno_class_p): New.
- * config/i386/i386.h (TARGET_AVX5124FMAPS, TARGET_AVX5124FMAPS_P,
- TARGET_AVX5124VNNIW, TARGET_AVX5124VNNIW_P): Define.
- (reg_class): Add MOD4_SSE_REGS.
- (MOD4_SSE_REG_P, MOD4_SSE_REGNO_P): New.
- * config/i386/i386.opt: Add mavx5124fmaps, mavx5124vnniw.
- * config/i386/immintrin.h: Include avx5124fmapsintrin.h,
- avx5124vnniwintrin.h.
- * config/i386/sse.md (unspec): Add UNSPEC_VP4FMADD, UNSPEC_VP4FNMADD,
- UNSPEC_VP4DPWSSD, UNSPEC_VP4DPWSSDS.
- (define_mode_iterator IMOD4): New.
- (define_mode_attr imod4_narrow): Ditto.
- (define_insn "mov<mode>"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddps"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddps_mask"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddps_maskz"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddss"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddss_mask"): Ditto.
- (define_insn "avx5124fmaddps_4fmaddss_maskz"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddps"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddps_mask"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddps_maskz"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddss"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddss_mask"): Ditto.
- (define_insn "avx5124fmaddps_4fnmaddss_maskz"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssd"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssd_mask"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssd_maskz"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssds"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssds_mask"): Ditto.
- (define_insn "avx5124vnniw_vp4dpwssds_maskz"): Ditto.
- * init-regs.c (initialize_uninitialized_regs): Add emit_clobber call.
- * genmodes.c (mode_size_inline): Extend return type.
- * machmode.h (mode_size, mode_base_align): Extend type.
-
-2016-11-17 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78101
- * config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add
- the appropriate checks for SFmode/DFmode load/stores in GPR
- registers.
- (fusion_addis_mem_combo_store): Likewise.
- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename
- fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar
- d-form instructions for traditional Altivec registers.
- (emit_fusion_p9_load): Likewise.
- (emit_fusion_p9_store): Likewise.
- * config/rs6000/rs6000.md (p9 fusion store peephole2): Remove
- early clobber from scratch register. Do not match if the register
- being stored is the scratch register.
- (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_*
- to fusion_vsx_* and add in support for ISA 3.0 scalar d-form
- instructions for traditional Altivec registers.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
- (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
-
-2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/77933
- * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
- being live in the function and lr needing to be saved. Distinguish
- between already saved pushable registers and registers to push.
- Check for LR being an available pushable register.
-
-2016-11-17 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/i386/i386.md (cmpstrnsi): New test to bail out if neither
- string input is a string constant.
- * builtins.c (expand_builtin_strncmp): Attempt expansion of strncmp
- via cmpstrnsi even if neither string is constant.
-
-2016-11-17 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/78201
- * varasm.c (default_use_anchors_for_symbol_p): Fix a comment typo.
- Don't test decl != NULL. Don't look at DECL_SIZE, but DECL_SIZE_UNIT
- instead, return false if it is NULL, or doesn't fit into uhwi, or
- is larger or equal to targetm.max_anchor_offset.
-
-2016-11-17 Pip Cet <pipcet@gmail.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/78355
- * doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Document that the macro only
- needs to deal with unaligned accesses.
- * doc/tm.texi: Regenerate.
- * lra-constraints.c (simplify_operand_subreg): Only invoke
- SLOW_UNALIGNED_ACCESS on innermode if the MEM is not aligned enough.
-
-2016-11-17 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (selftest::test_lexer_string_locations_long_line): New
- function.
- (selftest::test_lexer_string_locations_raw_string_multiline): New
- function.
- (selftest::input_c_tests): Call the new functions, via
- for_each_line_table_case.
-
-2016-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (mov<mode>): Call
- aarch64_split_dimode_const_store on DImode constant stores.
- * config/aarch64/aarch64-protos.h (aarch64_split_dimode_const_store):
- New prototype.
- * config/aarch64/aarch64.c (aarch64_split_dimode_const_store): New
- function.
-
-2016-11-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77848
- * tree-if-conv.c (tree_if_conversion): Always version loops unless
- the user specified -ftree-loop-if-convert.
-
-2016-11-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/77308
- * config/arm/arm.md (*thumb2_ldrd, *thumb2_ldrd_base,
- *thumb2_ldrd_base_neg, *thumb2_strd, *thumb2_strd_base,
- *thumb2_strd_base_neg): Recognize insn regardless of
- current_tune->prefer_ldrd_strd.
- * config/arm/ldrdstrd.md: Enable all ldrd/strd peephole rules
- whenever possible.
-
-2016-11-17 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_ccfsm_post_advance): Handle return
- instruction type.
-
-2016-11-17 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-arches.def: Add FPX quarkse instruction as valid
- for arcem.
- * config/arc/arc-c.def (__ARC_FPX_QUARK__): Define.
- * config/arc/arc-cpus.def (quarkse_em): Add.
- * config/arc/arc-options.def (FL_FPX_QUARK, FL_QUARK): Likewise.
- * config/arc/arc-opts.h (FPX_QK): Define.
- * config/arc/arc-tables.opt: Regenerate.
- * config/arc/arc.c (gen_compare_reg): Change.
- (arc_register_move_cost): Avoid Dy,Dx moves.
- * config/arc/arc.h (TARGET_HARD_FLOAT): Change.
- (TARGET_FPX_QUARK, TARGET_FP_ASSIST): Define.
- * config/arc/arc.md (divsf3, sqrtsf2, fix_truncsfsi2, floatsisf2):
- New expands.
- * config/arc/fpu.md (divsf3_fpu, sqrtsf2_fpu, floatsisf2_fpu)
- (fix_truncsfsi2_fpu): Rename.
- * config/arc/fpx.md (cmp_quark, cmpsf_quark_, cmpsf_quark_ord)
- (cmpsf_quark_uneq, cmpsf_quark_eq, divsf3_quark, sqrtsf2_quark)
- (fix_truncsfsi2_quark, floatsisf2_quark): New patterns.
- * config/arc/t-multilib: Regenerate.
-
-2016-11-17 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_print_operand_address): Use CONST_INT_P if
- appropriate.
- (ashlqi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out): Same.
- (ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Same.
- (avr_rtx_costs_1, extra_constraint_Q): Same.
- (avr_address_cost): Use SUBREG_P if possible.
-
-2016-11-17 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78383
- * tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
- non-local goto into CFG.
-
-2016-11-17 Richard Biener <rguenther@suse.de>
-
- * common.opt (ftree-loop-if-convert-stores): Mark as preserved for
- backward compatibility.
- * doc/invoke.texi (ftree-loop-if-convert-stores): Remove.
- * tree-if-conv.c (pass_if_conversion::gate): Do not test
- flag_tree_loop_if_convert_stores.
- (pass_if_conversion::execute): Likewise.
-
-2016-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for
- const_double code before calling aarch64_float_const_zero_rtx_p.
-
-2016-11-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78306
- * ipa-inline-analysis.c (initialize_inline_failed): Do not
- inhibit inlining if function calls cilk_spawn.
- (can_inline_edge_p): Likewise.
-
-2016-11-17 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78305
- * fold-const.c (negate_expr_p): Fix multiplication case.
-
-2016-11-17 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR target/78357
- * config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
- condition.
- (TARGET_INIT_LIBFUNCS): Delete definition and...
- * config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
- comments.
-
-2016-11-17 Krister Walfridsson <krister.walfridsson@gmail.com>
-
- * config/netbsd-stdint.h: New.
- * config.gcc (i[34567]86-*-netbsd): Add netbsd-stdint.h to tm_file.
- (x86_64-*-netbsd*): Likewise.
-
-2016-11-16 Andrew PInski <apinski@cavium.com>
-
- * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
- flag_aarch64_verbose_cost instead of checking for details dump.
- (aarch64_rtx_costs_wrapper): Likewise.
-
-2016-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/78378
- * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
- inner only if pos is 0. Fix up formatting.
-
-2016-11-17 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/78325
- PR rtl-optimization/70890
- * ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
- for dead regno.
-
-2016-11-16 Jason Merrill <jason@redhat.com>
-
- * rtl.h: Declare gt_ggc_mx and gt_pch_nx.
-
-2016-11-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77848
- * tree-if-conv.c (version_loop_for_if_conversion): When versioning
- an outer loop, only save basic block aux information for the inner
- loop.
- (versionable_outer_loop_p): New function.
- (tree_if_conversion): Version the outer loop instead of the inner
- one if the pattern will be recognized for outer-loop
- vectorization.
-
-2016-11-16 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * gcc/bb-reorder.c: Remove 'toplev.h' include.
- (pass_partition_blocks::gate): No longer check
- user_defined_section_attribute, instead check the function decl
- for a section attribute.
- * gcc/c-family/c-attribs.c (handle_section_attribute): No longer
- set user_defined_section_attribute.
- * gcc/final.c (rest_of_handle_final): Likewise.
- * gcc/toplev.c: Remove definition of user_defined_section_attribute.
- * gcc/toplev.h: Remove declaration of
- user_defined_section_attribute.
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.md (casesi_internal_mips16_<mode>):
- Explicitly switch between JR and JRC for the table jump. Adjust
- instruction count.
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.md (casesi_internal_mips16_<mode>): Set
- `insn_count' to 11 rather than 16.
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.md (casesi_internal_mips16_<mode>): Use the
- `ltu' rather than `leu' operation in the RTL pattern
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.md (casesi_internal_mips16_<mode>): Add
- missing <d> instruction prefixes throughout. Correct
- formatting.
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.c (mips_output_jump): Output R_MICROMIPS_JALR
- rather than R_MIPS_JALR relocation in microMIPS code. Do not
- cancel short delay slots in PIC call relaxation.
-
-2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.md (arm_addsi3): Add alternative for addition of
- general register with general register or ARM constant into SP
- register.
-
-2016-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/78299
- * omp-low.c (expand_omp_for_static_nochunk): Don't assert
- that loop->header == body_bb if broken_loop.
-
-2015-11-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * tree-ssa-math-opts.c (bswap_replace): Remove test
- of SLOW_UNALIGNED_ACCESS.
-
-2016-11-16 Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/mkoffload.c (main): Check that either OpenACC or OpenMP
- is selected. Pass -mgomp to offload compiler in OpenMP case.
- * config/nvptx/nvptx-protos.h (nvptx_shuffle_kind): Move enum
- declaration from nvptx.c.
- (nvptx_gen_shuffle): Declare.
- (nvptx_output_set_softstack): Declare.
- * config/nvptx/nvptx.c (nvptx_shuffle_kind): Move to nvptx-protos.h.
- (need_softstack_decl): New variable.
- (need_unisimt_decl): New variable.
- (diagnose_openacc_conflict): New. Use it...
- (nvptx_option_override): ...here. Handle TARGET_GOMP.
- (nvptx_encode_section_info): Handle "shared" attribute.
- (write_as_kernel): Restrict to OpenACC target regions.
- (init_softstack_frame): New.
- (nvptx_init_unisimt_predicate): New.
- (write_omp_entry): New. Use it...
- (nvptx_declare_function_name): ...here to emit OpenMP target region
- entrypoints. Handle TARGET_SOFT_STACK. Call
- nvptx_init_unisimt_predicate.
- (nvptx_output_set_softstack): New.
- (nvptx_get_drap_rtx): Return %argp as the DRAP if needed.
- (nvptx_gen_shuffle): Export.
- (nvptx_output_call_insn): Handle COND_EXEC patterns. Emit instruction
- predicate.
- (nvptx_print_operand): Fix handling of instruction predicates.
- (nvptx_get_unisimt_master): New helper function.
- (nvptx_get_unisimt_predicate): Ditto.
- (nvptx_call_insn_is_syscall_p): Ditto.
- (nvptx_unisimt_handle_set): Ditto.
- (nvptx_reorg_uniform_simt): New. Transform code for -muniform-simt.
- (nvptx_reorg): Call nvptx_reorg_uniform_simt.
- (nvptx_handle_shared_attribute): New. Use it...
- (nvptx_attribute_table): ... here (new entry).
- (nvptx_record_offload_symbol): Handle NULL attributes.
- (nvptx_file_end): Handle need_softstack_decl and need_unisimt_decl.
- (nvptx_simt_vf): New.
- (TARGET_SIMT_VF): Define.
- * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Define
- __nvptx_softstack or __nvptx_unisimt__ when -msoft-stack, or resp.
- -muniform-simt option is active.
- (STACK_SIZE_MODE): Define.
- (FIXED_REGISTERS): Adjust.
- (SOFTSTACK_SLOT_REGNUM): New.
- (SOFTSTACK_PREV_REGNUM): New.
- (REGISTER_NAMES): Adjust.
- (struct machine_function): New fields.
- * config/nvptx/nvptx.md (UNSPEC_SET_SOFTSTACK): New.
- (UNSPEC_VOTE_BALLOT): Ditto.
- (UNSPEC_LANEID): Ditto.
- (UNSPECV_NOUNROLL): Ditto.
- (atomic): New attribute.
- (predicable): New attribute. Generate predicated forms via
- define_cond_exec.
- (br_true): Mark as not predicable.
- (br_false): Ditto.
- (br_true_uni): Ditto.
- (br_false_uni): Ditto.
- (return): Ditto.
- (trap_if_true): Ditto.
- (trap_if_false): Ditto.
- (nvptx_fork): Ditto.
- (nvptx_forked): Ditto.
- (nvptx_joining): Ditto.
- (nvptx_join): Ditto.
- (nvptx_barsync): Ditto.
- (epilogue): Emit stack restore if TARGET_SOFT_STACK.
- (allocate_stack): Implement for TARGET_SOFT_STACK. Remove unused code.
- (allocate_stack_<mode>): Remove unused pattern.
- (set_softstack_insn): New pattern.
- (restore_stack_block): Handle for TARGET_SOFT_STACK.
- (nvptx_vote_ballot): New pattern.
- (omp_simt_lane): Ditto.
- (omp_simt_last_lane): Ditto.
- (omp_simt_ordered): Ditto.
- (omp_simt_vote_any): Ditto.
- (omp_simt_xchg_bfly): Ditto.
- (omp_simt_xchg_idx): Ditto.
- (nvptx_nounroll): Ditto.
- (atomic_compare_and_swap<mode>_1): Mark with atomic attribute.
- (atomic_exchange<mode>): Ditto.
- (atomic_fetch_add<mode>): Ditto.
- (atomic_fetch_addsf): Ditto.
- (atomic_fetch_<logic><mode>): Ditto.
- * config/nvptx/nvptx.opt (msoft-stack): New option.
- (muniform-simt): Ditto.
- (mgomp): Ditto.
- * config/nvptx/t-nvptx (MULTILIB_OPTIONS): New.
- * doc/extend.texi (Nvidia PTX Variable Attributes): New section.
- * doc/invoke.texi (msoft-stack): Document.
- (muniform-simt): Document
- (mgomp): Document.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in (TARGET_SIMT_VF): New hook.
- * target.def: Define it.
- * target-insns.def (omp_simt_lane): New.
- (omp_simt_last_lane): New.
- (omp_simt_ordered): New.
- (omp_simt_vote_any): New.
- (omp_simt_xchg_bfly): New.
- (omp_simt_xchg_idx): New.
-
-2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips-protos.h (mips_set_text_contents_type): New
- prototype.
- * config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro.
- (ASM_OUTPUT_CASE_END): Likewise.
- * config/mips/mips.c (mips_set_text_contents_type): New function.
- (mips16_emit_constants): Record the pool's initial label number
- with the `consttable' insn. Emit a `consttable_end' insn at the end.
- (mips_final_prescan_insn): Call `mips_set_text_contents_type'
- for `consttable' insns.
- (mips_final_postscan_insn): Call `mips_set_text_contents_type'
- for `consttable_end' insns.
- * config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE_END enum value.
- (consttable): Add operand.
- (consttable_end): New insn.
-
-2016-11-16 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * params.def (PARAM_VECT_EPILOGUES_NOMASK): New.
- * tree-if-conv.c (tree_if_conversion): Make public.
- * * tree-if-conv.h: New file.
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependences) Avoid
- dynamic alias checks for epilogues.
- * tree-vect-loop-manip.c (vect_do_peeling): Return created epilog.
- * tree-vect-loop.c: include tree-if-conv.h.
- (new_loop_vec_info): Add zeroing orig_loop_info field.
- (vect_analyze_loop_2): Don't try to enhance alignment for epilogues.
- (vect_analyze_loop): Add argument ORIG_LOOP_INFO which is not NULL
- if epilogue is vectorized, set up orig_loop_info field of loop_vinfo
- using passed argument.
- (vect_transform_loop): Check if created epilogue should be returned
- for further vectorization with less vf. If-convert epilogue if
- required. Print vectorization success for epilogue.
- * tree-vectorizer.c (vectorize_loops): Add epilogue vectorization
- if it is required, pass loop_vinfo produced during vectorization of
- loop body to vect_analyze_loop.
- * tree-vectorizer.h (struct _loop_vec_info): Add new field
- orig_loop_info.
- (LOOP_VINFO_ORIG_LOOP_INFO): New.
- (LOOP_VINFO_EPILOGUE_P): New.
- (LOOP_VINFO_ORIG_VECT_FACTOR): New.
- (vect_do_peeling): Change prototype to return epilogue.
- (vect_analyze_loop): Add argument of loop_vec_info type.
- (vect_transform_loop): Return created loop.
-
-2016-11-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_components_for_bb): Mark the LR
- component as used also if LR_REGNO is a live input to the bb.
- * df-scan.c (df_get_entry_block_def_set): Return immediately after
- clearing the set if DF_SCAN_EMPTY_ENTRY_EXIT is set.
- (df_get_exit_block_use_set): Ditto.
- * df.h (df_scan_flags): New enum.
- * shrink-wrap.c (try_shrink_wrapping_separate): Set
- DF_SCAN_EMPTY_ENTRY_EXIT in df_scan->local_flags, and call
- df_update_entry_block_defs and df_update_exit_block_uses
- at the start; clear the flag and call those functions at the end.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Set
- nb_iterations to the number of latch iterations rather than the
- number of loop iterations.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * combine.c (maybe_swap_commutative_operands): New function.
- (combine_simplify_rtx): Use it.
- (change_zero_ext): Likewise.
- (make_compound_operation_int): New function, split out of...
- (make_compound_operation): ...here. Use
- maybe_swap_commutative_operands for both.
-
-2016-11-16 Richard Earnshaw <rearnsha@arm.com>
-
- * arm/arm-fpus.def (vfpv2): New FPU, currently an alias for 'vfp'.
- (neon-vfpv3): New FPU, currently an alias for 'neon'.
- * arm/arm-tables.opt: Regenerated.
- * arm/t-aprofile (MULTILIB_REUSE): Add reuse rules for vfpv2 and
- neon-vfpv3.
- * doc/invoke.texi (ARM: -mfpu): Document new options. Note that 'vfp'
- and 'neon' are aliases for specific implementations.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * optabs.c (vector_compare_rtx): Add a cmp_mode parameter
- and use it in the final call to gen_rtx_fmt_ee.
- (expand_vec_cond_expr): Update accordingly.
- (expand_vec_cmp_expr): Likewise.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * cprop.c (local_cprop_find_used_regs): Use df_read_modify_subreg_p.
-
-2016-11-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78333
- * gimplify.c (gimplify_function_tree): Do not instrument
- GNU extern inline functions.
-
-2016-11-16 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/78270
- * gimplify.c (gimplify_switch_expr): Always save previous
- gimplify_ctxp->live_switch_vars.
-
-2016-11-16 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.md (movb peephole2): New peephole2 to merge two
- zero_extract operations to allow a movb to occur.
- * testsuite/gcc.target/arc/movb-1.c: Update little endian arc results.
- * testsuite/gcc.target/arc/movb-2.c: Likewise.
- * testsuite/gcc.target/arc/movb-5.c: Likewise.
- * testsuite/gcc.target/arc/movh_cl-1.c: Extend test to cover
- little endian arc.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * expr.c (emit_group_load_1): Tighten check for whether an
- access involves only one operand of a CONCAT. Use extract_bit_field
- for constants if the bit range does span the whole operand.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * rtlanal.c (rtx_addr_can_trap_p_1): Handle unknown sizes.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * tree-vect-loop.c (vect_transform_loop): Protect the updates of
- all three iteration counts with an any_* test. Use a single update
- for each count. Fix the calculation of nb_iterations_estimate.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/pdp11/pdp11.c: Include dbxout.h.
-
-2016-11-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/arc/arc.c (arc_loop_hazard): Add missing brackets.
-
-2016-11-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/78364
- * config/arm/arm.md (*extv_reg): Restrict operands 2 and 3 to the
- proper ranges for an SBFX instruction.
- (extzv_t2): Likewise for UBFX.
-
-2016-11-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78348
- * tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMMOVE.
- (generate_memcpy_builtin): Honor PKIND_MEMCPY on the partition.
- (classify_partition): Set PKIND_MEMCPY if dependence analysis
- revealed no dependency, PKIND_MEMMOVE otherwise.
-
-2016-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/77823
- * ubsan.c (ubsan_build_overflow_builtin): Add DATAP argument, if
- it points to non-NULL tree, use it instead of ubsan_create_data.
- (instrument_si_overflow): Handle vector signed integer overflow
- checking.
- * ubsan.h (ubsan_build_overflow_builtin): Add DATAP argument.
- * tree-vrp.c (simplify_internal_call_using_ranges): Punt for
- vector IFN_UBSAN_CHECK_*.
- * internal-fn.c (expand_addsub_overflow): Add DATAP argument,
- pass it through to ubsan_build_overflow_builtin.
- (expand_neg_overflow, expand_mul_overflow): Likewise.
- (expand_vector_ubsan_overflow): New function.
- (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB,
- expand_UBSAN_CHECK_MUL): Use tit for vector arithmetics.
- (expand_arith_overflow): Adjust expand_*_overflow callers.
-
-2016-11-16 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Remove references to java/libjava.
-
-2016-11-16 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-ssa-coalesce.c (register_default_def): Remove
- register_ssa_partition.
- (create_outofssa_var_map): Likewise.
- * tree-ssa-live.c (register_ssa_partition_check): Remove.
- * tree-ssa-live.h (register_ssa_partition): Likewise.
-
-2016-11-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
- Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects.
- Use DEF_ATTR_STRING for string arguments. Use RTL_HASH for
- integer arguments. Only set ATTR_PERMANENT_P on newly hashed
- rtx when all sub-rtx are also permanent.
- (attr_eq): Simplify.
- (attr_copy_rtx): Remove.
- (make_canonical, get_attr_value): Use attr_equal_p.
- (copy_boolean): Rehash NOT.
- (simplify_test_exp_in_temp,
- optimize_attrs): Remove call to attr_copy_rtx.
- (attr_alt_intersection, attr_alt_union,
- attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT.
- (make_automaton_attrs): Use attr_eq.
-
-2016-11-15 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Remove references to java/libjava.
- * doc/sourcebuild.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/standards.texi: Likewise.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use Pmode instead
- of VOIDmode.
- * config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/iq2000/iq2000.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/m68k/m68k.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/microblaze/microblaze.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/mips/mips.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/nios2/nios2.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * dce.c (check_argument_store): Pass the size instead of
- the memory reference.
- (find_call_stack_args): Pass MEM_SIZE to check_argument_store.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * alias.c (canon_rtx): Use simplify_gen_binary.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * rtl.h (load_extend_op): Declare.
- * rtlanal.c (load_extend_op): New function.
- (nonzero_bits1): Use it.
- (num_sign_bit_copies1): Likewise.
- * cse.c (cse_insn): Likewise.
- * fold-const.c (fold_single_bit_test): Likewise.
- (fold_unary_loc): Likewise.
- * fwprop.c (free_load_extend): Likewise.
- * postreload.c (reload_cse_simplify_set): Likewise.
- (reload_cse_simplify_operands): Likewise.
- * combine.c (try_combine): Likewise.
- (simplify_set): Likewise. Remove redundant SUBREG_BYTE and
- subreg_lowpart_p checks.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * combine.c (simplify_shift_const_1): Use the number of bits
- in the inner mode to determine the range of the shift.
- When handling shifts of vectors, skip any rules that apply
- only to scalars.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * rtlanal.c (num_sign_bit_copies1): Calculate bitwidth after
- handling VOIDmode.
-
-2016-11-15 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Remove references to gcj/libjava.
- * doc/invoke.texi: Likewise.
-
-2016-11-15 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded
- parameter. Callers changed.
- (check-subpath_and_update_thread_path): Extracted from
- fsm_find_control_statement_thread_paths.
- (handle_phi, handle_assignment, handle_assignment_p): Likewise.
- (handle_phi, handle_assignment): Allow any constant node, not
- just INTEGER_CST.
-
-2016-11-15 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-arch.h: New file.
- * config/arc/arc-arches.def: Likewise.
- * config/arc/arc-cpus.def: Likewise.
- * config/arc/arc-options.def: Likewise.
- * config/arc/t-multilib: Likewise.
- * config/arc/genmultilib.awk: Likewise.
- * config/arc/genoptions.awk: Likewise.
- * config/arc/arc-tables.opt: Likewise.
- * config/arc/driver-arc.c: Likewise.
- * testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise.
- * common/config/arc/arc-common.c (arc_handle_option): Trace
- toggled options.
- * config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra
- options; check for supported cpu against arc-cpus.def file.
- (arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define
- TARGET_CPU_BUILD macro; add driver-arc.o as an extra object.
- * config/arc/arc-c.def: Add emacs local variables.
- * config/arc/arc-opts.h (processor_type): Use arc-cpus.def file.
- (FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA)
- (FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL)
- (FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines.
- (DEFAULT_arc_fpu_build): Define.
- (DEFAULT_arc_mpy_option): Define.
- * config/arc/arc-protos.h (arc_init): Delete.
- * config/arc/arc.c (arc_cpu_name): New variable.
- (arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs)
- (arc_arc700, arc_arc600, arc_arc601): New variable.
- (arc_init): Add static; remove selection of default tune value,
- cleanup obsolete error messages.
- (arc_override_options): Make use of .def files for selecting the
- right cpu and option configurations.
- * config/arc/arc.h (stdbool.h): Include.
- (TARGET_CPU_DEFAULT): Define.
- (CPP_SPEC): Remove mcpu=NPS400 handling.
- (arc_cpu_to_as): Declare.
- (EXTRA_SPEC_FUNCTIONS): Define.
- (OPTION_DEFAULT_SPECS): Likewise.
- (ASM_DEFAULT): Remove.
- (ASM_SPEC): Use arc_cpu_to_as.
- (DRIVER_SELF_SPECS): Remove deprecated options.
- (arc_base_cpu): Declare.
- (TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM)
- (TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu
- variable.
- (MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT.
- * config/arc/arc.md (attr_cpu): Remove.
- * config/arc/arc.opt (mno-mpy): Deprecate.
- (mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM)
- (mcpu=ARCHS): Remove.
- (mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc):
- Deprecate.
- (mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove.
- (arc_fpu): Use new defines.
- (mpy-option): Change to use numeric or string like inputs.
- * config/arc/t-arc (driver-arc.o): New target.
- (arc-cpus, t-multilib, arc-tables.opt): Likewise.
- * config/arc/t-arc-newlib: Delete.
- * config/arc/t-arc-uClibc: Renamed to t-uClibc.
- * doc/invoke.texi (ARC): Update arc options.
-
-2016-11-15 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.c (mips16_emit_constants): Emit `consttable'
- insn at the beginning of the constant pool.
- (mips_insert_insn_pseudos): New function.
- (mips_machine_reorg2): Call it.
- * config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE and
- UNSPEC_INSN_PSEUDO enum values.
- (insn_pseudo, consttable): New insns.
-
-2016-11-15 Michael Matz <matz@suse.de>
-
- PR missed-optimization/77881
- * combine.c (simplify_comparison): Remove useless subregs
- also inside the loop, not just after it.
- (make_compound_operation): Recognize some subregs as being
- masking as well.
-
-2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * dwarf2out.c (mem_loc_descriptor): Fix GET_MODE_CLASS/
- GET_MODE_SIZE typo.
-
-2016-11-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_vector_set): Add support
- for using xxinsertw and vinsert{b,h} on ISA 3.0.
-
- * config/rs6000/vsx.md (vsx_extract_<mode>): Update comment.
- (vsx_set_<mode>_p9): New insn to generate xxinsertw and
- vinsert{b,h} on ISA 3.0.
-
-2016-11-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
- and cmpnop in two steps: first the ones not accessed in original gimple
- expression in a endian independent way and then the ones not accessed
- in the final result in an endian-specific way.
- (bswap_replace): Stop doing big endian adjustment.
-
-2016-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*andndi3_doubleword): Merge operand constraints.
- (*ashl<mode>3_doubleword): Ditto.
-
-2016-11-14 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-dse.c (dse_optimize_stmt): Remove quotes and extra new line.
-
-2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
- Richard Biener <rguenther@suse.de>
-
- * doc/invoke.texi (fgimple): Document.
- * dumpfile.h (TDF_GIMPLE): Add.
- * dumpfile.c (dump_options): Add gimple.
- * gimple-pretty-print.c (dump_gimple_switch): Adjust dump
- for TDF_GIMPLE.
- (dump_gimple_label): Likewise.
- (dump_gimple_phi): Likewise.
- (dump_gimple_bb_header): Likewise.
- (dump_phi_nodes): Likewise.
- (pp_cfg_jump): Likewise. Pass in dump flags.
- (dump_implicit_edges): Adjust.
- * passes.c (pass_init_dump_file): Do not dump function header
- for TDF_GIMPLE.
- * tree-cfg.c (dump_function_to_file): Dump function return type
- and __GIMPLE keyword for TDF_GIMPLE. Change guard for dumping
- GIMPLE stmts.
- * tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE.
- (dump_generic_node): Likewise.
- * function.h (struct function): Add pass_startwith member.
- * passes.c (execute_one_pass): Implement startwith.
- * tree-ssanames.c (make_ssa_name_fn): New argument, check for version
- and assign proper version for parsed ssa names.
- * tree-ssanames.h (make_ssa_name_fn): Add new argument to the function.
- * internal-fn.c (expand_PHI): New function.
- * internal-fn.h (expand_PHI): Declared here.
- * internal-fn.def: New defination for PHI.
- * tree-cfg.c (lower_phi_internal_fn): New function.
- (build_gimple_cfg): Call it.
- (verify_gimple_call): Condition for passing label as arg in internal
- function PHI.
- * tree-into-ssa.c (rewrite_add_phi_arguments): Handle already
- present PHIs with arguments.
-
-2016-11-14 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/78069
- * common.opt: Add prefer-atomic as a new enum value for
- -fprofile-update.
- * coretypes.h: Likewise.
- * doc/invoke.texi: Document the new option value.
- * gcc.c: Replace atomic with prefer-atomic. Remove warning.
- * tree-profile.c (tree_profiling): Select default value
- of -fprofile-update when 'prefer-atomic' is selected.
-
-2016-11-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/cortex-a57.md (cortex_a57_alu): Move extend here, bfm...
- (cortex_a57_alu_shift): ...here.
-
-2016-11-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3)
- Use bfx attribute.
- (aarch64_lshr_sisd_or_int_<mode>3): Likewise.
- (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
- (<optab>si3_insn_uxtw): Likewise.
- (<optab><mode>3_insn): Likewise.
- (<ANY_EXTEND:optab><GPI:mode>_ashl<SHORT:mode>): Likewise.
- (zero_extend<GPI:mode>_lshr<SHORT:mode>): Likewise.
- (extend<GPI:mode>_ashr<SHORT:mode>): Likewise.
- (<optab><mode>): Likewise.
- (insv<mode>): Likewise.
- (andim_ashift<mode>_bfiz): Likewise.
- * config/aarch64/thunderx.md (thunderx_shift): Add bfx.
- * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
- * config/arm/cortex-a57.md (cortex_a57_alu): Add bfx.
- * config/arm/exynos-m1.md (exynos_m1_alu): Add bfx.
- (exynos_m1_alu_p): Likewise.
- * config/arm/types.md: Add bfx.
- * config/arm/xgene1.md (xgene1_bfm): Add bfx.
-
-2016-11-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (cortexa57_vector_cost):
- Change vec_stmt_cost, vec_align_load_cost and vec_unalign_load_cost.
-
-2016-11-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78312
- * gimple-ssa-backprop.c (backprop::prepare_change): Reset
- flow-sensitive info.
-
-2016-11-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/78093
- * doc/invoke.texi (AVR Options) [-mabsdata]: Document new option.
- * config/avr/avr.opt (-mabsdata): New option.
- * config/avr/avr-arch.h (avr_device_specific_features): Add AVR_ISA_LDS.
- * config/avr/avr.c (avr_encode_section_info) [AVR_TINY]: If
- -mabsdata & symbol is not progmem, tag as AVR_SYMBOL_FLAG_TINY_ABSDATA.
- * config/avr/avr-mcus.def (attiny4/5/9/10/20): Use AVR_ISA_LDS.
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Print cc1_absdata
- spec depending on AVR_ISA_LDS.
- * config/avr/specs.h (CC1_SPEC): Enhanced by cc1_absdata spec.
-
-2016-11-13 Jakub Jelinek <jakub@redhat.com>
-
- * match.pd: Don't try to compare addresses of variables with
- DECL_VALUE_EXPR.
-
-2016-11-13 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-cp.c (ipa_get_jf_pass_through_result): Skip unary expressions.
- (propagate_vr_accross_jump_function): Handle unary expressions.
- * ipa-prop.c (ipa_set_jf_unary_pass_through): New.
- (load_from_param_1): New.
- (load_from_unmodified_param): Factor common part into load_from_param_1.
- (load_from_param): New.
- (compute_complex_assign_jump_func): Handle unary expressions.
- (update_jump_functions_after_inlining): Likewise.
- (ipa_write_jump_function): Likewise.
- (ipa_read_jump_function): Likewise.
-
-2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR c/35503
- * doc/invoke.texi: Document Wrestrict.
- * pretty-print.c (pp_format): Add case for "Z" specifier.
- (test_pp_format): Test "Z" specifier.
-
-2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
- original function needs a static chain.
-
-2016-11-13 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/78336
- * config/rs6000/rs6000.c (rs6000_asm_weaken_decl): Protect
- ASM_OUTPUT_DEF.
-
-2016-11-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/77957
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
- return early if !optional_tbtab.
-
-2016-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/59461
- * doc/rtl.texi (paradoxical subregs): Add missing word.
- * combine.c (reg_nonzero_bits_for_combine): Do not discard results
- in modes with precision larger than that of last_set_mode.
- * rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is
- set and LOAD_EXTEND_OP is appropriate, propagate results from inner
- REGs to paradoxical SUBREGs.
- (num_sign_bit_copies1) <SUBREG>: Likewise. Check that the mode is not
- larger than a word before invoking LOAD_EXTEND_OP on it.
-
-2016-11-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78243
- * config/rs6000/vsx.md (vsx_extract_<mode>_p9): Correct the
- element order for little endian ordering.
-
- * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Use
- VECTOR_ELT_ORDER_BIG and not BYTES_BIG_ENDIAN to adjust element
- number.
-
-2016-11-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78310
- * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
- when calculating operand 2.
- (rotate to rotatex zext splitter): Ditto.
-
-2016-11-11 Jeff Law <law@redhat.com>
-
- * gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New
- function.
- (stmt_uses_name_in_undefined_way): New function, extracted from
- find_implicit_erroneous_behavior and extended for div/mod case.
- (stmt_uses_0_or_null_in_undefined_way): New function, extracted from
- find_explicit_erroneous_behavior and extended for div/mod case.
- (find_implicit_erroneous_behavior): Use new helper function.
- (find_explicit_erroneous_behavior): Use new helper function.
-
-2016-11-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71575
- * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove
- bogus assert.
-
-2016-11-11 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78295
- * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
- about uninitialized destination arg of BIT_INSERT_EXPR.
-
-2016-11-10 Sandra Loosemore <sandra@codesourcery.com>
-
- PR c/37998
- * doc/invoke.texi (Code Gen Options) [-fno-common]: Use correct
- terminology. Expand to remove ambiguity.
-
-2016-11-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78232
- * combine.c (try_combine): Add a big comment about why reusing i2dest
- is undesirable.
- (change_zero_ext): Do not call simplify_gen_binary, do the
- simplifications manually.
-
-2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0,
- enable HImode and QImode to go in vector registers by default if
- the -mvsx-small-integer option is enabled.
- (rs6000_secondary_reload_simple_move): Likewise.
- (rs6000_preferred_reload_class): Don't force integer constants to
- be loaded into vector registers that we can easily make into
- memory (or being created in the GPRs and moved over with direct move).
- * config/rs6000/vsx.md (UNSPEC_P9_MEMORY): Delete, no longer used.
- (vsx_extract_<mode>): Rework V4SImode, V8HImode, and V16QImode
- vector extraction on ISA 3.0 when the scalar integer can be
- allocated in vector registers. Generate the VEC_SELECT directy,
- and don't use UNSPEC's to avoid having the scalar type in a vector
- register. Make the expander target registers, and let the
- combiner fold in results storing to memory, if the machine
- supports stores.
- (vsx_extract_<mode>_di): Likewise.
- (vsx_extract_<mode>_p9): Likewise.
- (vsx_extract_<mode>_di_p9): Likewise.
- (vsx_extract_<mode>_store_p9): Likewise.
- (vsx_extract_si): Likewise.
- (vsx_extract_<mode>_p8): Likewise.
- (p9_lxsi<wd>zx): Delete, no longer used.
- (p9_stxsi<wd>x): Likewise.
- * config/rs6000/rs6000.md (INT_ISA3): New mode iterator for
- integers in vector registers for ISA 3.0.
- (QHI): Update comment.
- (zero_extendqi<mode>2): Add support for ISA 3.0 scalar load or
- vector extract instructions in sign/zero extend.
- (zero_extendhi<mode>): Likewise.
- (extendqi<mode>): Likewise.
- (extendhi<mode>2): Likewise.
- (HImode splitter for load/sign extend in vector register): Likewise.
- (float<QHI:mode><FP_ISA3:mode>2): Eliminate old method of
- optimizing floating point conversions to/from small data types and
- rewrite it to support QImode/HImode being allowed in vector
- registers on ISA 3.0.
- (float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
- (floatuns<QHI:mode><FP_ISA3:mode>2): Likewise.
- (floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
- (fix_trunc<SFDF:mode><QHI:mode>2): Likewise.
- (fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
- (fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise.
- (fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
- VSPLITISW on ISA 2.07.
- (movhi_internal): Combine movhi_internal and movqi_internal into
- one mov<mode>_internal with an iterator. Add support for QImode
- and HImode being allowed in vector registers. Make large number
- of attributes and constraints easier to read.
- (movqi_internal): Likewise.
- (mov<mode>_internal): Likewise.
- (movdi_internal64): Fix constraint to allow loading -16..15 with
- VSPLITISW on ISA 2.07.
- (integer XXSPLTIB splitter): Add support for QI, HI, and SImode as
- well as DImode.
-
-2016-11-10 Pat Haugen <pthaugen@us.ibm.com>
-
- PR rtl-optimization/78241
- * loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter',
- but emit initial peel copy if niter expr is not reliable.
-
-2016-11-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- * dwarf2cfi.c (dump_cfi_row): Add forward declaration.
- (maybe_record_trace_start): If the CFI is different on the new and
- old paths, print out both to the dump file before ICEing.
-
-2016-11-10 Vladimir Makarov <vmakarov@redhat.com>
-
- * target.def (additional_allocno_class_p): New.
- * hooks.h (hook_bool_reg_class_t_false): New prototype.
- * hooks.c (hook_bool_reg_class_t_false): New.
- * ira.c (setup_allocno_and_important_classes): Use the new hook.
- * doc/tm.texi.in (TARGET_ADDITIONAL_ALLOCNO_CLASS_P): Add it.
- * doc/tm.texi: Update.
-
-2016-11-10 Jason Merrill <jason@redhat.com>
-
- * gengtype.c (new_structure): Append to structures list.
- (find_structure): Likewise.
-
-2016-11-10 Jim Wilson <jim.wilson@linaro.org>
-
- * tree-loop-distribution.c (pg_add_dependence_edges): Return 2 if
- this_dir is 2. Check for this_dir non-zero before dir != this_dir
- check.
-
-2016-11-10 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (lower_omp_target): Fix up argument to is_reference.
- (expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being
- TRUNC_DIV_EXPR.
- * gimplify.c (gimplify_scan_omp_clauses): Likewise. Set
- ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran.
- Remove omp_no_lastprivate callers. Propagate lastprivate on combined
- teams distribute parallel for simd even to distribute and teams
- construct. For OMP_CLAUSE_DEPEND add missing break at the end of
- OMP_CLAUSE_DEPEND_SINK case.
- (omp_notice_variable): Use lang_hooks.decls.omp_scalar_p.
- (omp_no_lastprivate): Removed.
- (gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers.
- (gimplify_omp_for): Likewise.
- (computable_teams_clause): Fail for automatic vars from current
- function not yet seen in bind expr.
- * langhooks.c (lhd_omp_scalar_p): New function.
- * langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p.
- * varpool.c (varpool_node::get_create): Set node->offloading
- even for DECL_EXTERNAL decls.
- * langhooks-def.h (lhd_omp_scalar_p): New prototype.
- (LANG_HOOKS_OMP_SCALAR_P): Define.
- (LANG_HOOKS_DECLS): Use it.
-
-2016-11-10 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/78270
- * gimplify.c (gimplify_switch_expr): Create live_switch_vars
- only when SWITCH_BODY is a BIND_EXPR.
-
-2016-11-10 Pierre-Marie de Rodat <derodat@adacore.com>
-
- PR debug/78112
- * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
- on the context only when it has no DIE yet.
-
-2016-11-10 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (target_cpus): Delete.
- * arm-opts.h (enum processor_type): Prefix entires with TARGET_CPU_.
- * arm.c (all_cores): Prefix IDENT with TARGET_CPU_.
- (all_architectures): Likewise.
- (arm_option_override): Adjust use of CPU enums.
- (arm_sched_reorder): Likewise.
- * vfp.md (movdi_vfp, movdi_vfp_cortexa8): Likewise.
- * arm.opt (mcpu, mtune): Adjust use of CPU enums.
- * arm/genopt.sh (processor_type): Prefix enumeration entries with
- TARGET_CPU_.
- * arm-tables.opt: Regenerated.
-
-2016-11-10 Siddhesh Poyarekar <siddhesh.poyarekar@linaro.org>
-
- * config/aarch64/aarch64-cores.def (qdf24xx): Update part number.
- (falkor): New core.
- * config/aarch64/aarch64-tune.md: Regenerated.
- * config/arm/arm-cores.def (falkor): New core.
- * config/arm/arm-tables.opt: Regenerated.
- * config/arm/arm-tune.md: Regenerated.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add falkor support.
- * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
- * doc/invoke.texi (AArch64 Options/-mtune): Document it.
- (ARM Options/-mtune): Likewise.
-
-2016-11-10 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- Revert
- 2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
- (propagate_vr_accross_jump_function): Likewise.
- * ipa-prop.c (ipa_set_jf_unary_pass_through): New.
- (load_from_param_1): New.
- (load_from_unmodified_param): Factor common part into load_from_param_1.
- (load_from_param): New.
- (compute_complex_assign_jump_func): Handle unary expressions.
- (ipa_write_jump_function): Likewise.
- (ipa_read_jump_function): Likewise.
-
-2016-11-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- * simplify-rtx.c (simplify_binary_operation_1): Simplify
- (xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and
- (xor (and (xor A B) C) A) to (ior (and A ~C) (and B C)) if C
- is a const_int.
-
-2016-11-09 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl-function.c: Include varasm.h.
- (print_any_param_name): New function.
- (print_param): New function.
- (print_rtx_function): Call print_param for each argument.
- * print-rtl.c (rtx_writer::finish_directive): New function.
- * print-rtl.h (rtx_writer::finish_directive): New decl.
-
-2016-11-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78262
- * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
- operand 0 as earlyclobber.
- (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
-
-2016-11-09 Martin Liska <mliska@suse.cz>
-
- * fold-const-call.c (fold_const_call): Fix up type of s0 and s1.
-
-2016-11-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77718
- * builtins.c (expand_builtin_memcmp): Formatting fix.
-
- * flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE
- and SANITIZE_SHIFT_EXPONENT, change SANITIZE_SHIFT to bitwise
- or of them, renumber other enumerators.
- * opts.c (sanitizer_opts): Add shift-base and shift-exponent.
- * doc/invoke.texi: Document -fsanitize=shift-base and
- -fsanitize-shift-exponent, document -fsanitize=shift as
- having those 2 suboptions.
-
-2016-11-09 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (tree_swap_operands_p): Remove unused arg.
- * fold-const.c (tree_swap_operands_p): Likewise.
- (fold_binary_loc): Adjust.
- (fold_ternary_loc): Likewise.
- * genmatch.c (dt_operand::gen_gimple_exp): Likewise.
- * gimple-fold.c (fold_stmt_1): Likewise.
- * gimple-match-head.c (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
- (gimple_simplify): Likewise.
- * tree-ssa-dom.c (record_equality): Likewise.
- * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
- * tree-ssa-threadedge.c (simplify_control_stmt_condition_1): Likewise.
-
-2016-11-09 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (canonicalize_comparison): Remove.
- (optimize_stmt): Remove redundant pre-propagation canonicalization
- of comparison operand order.
-
-2016-11-09 Martin Liska <mliska@suse.cz>
-
- * fold-const-call.c (fold_const_call): Fix the folding.
-
-2016-11-09 Richard Biener <rguenther@suse.de>
-
- * common.opt (flag_evaluation_order): Remove.
- * expr.c (expand_operands): Remove code guarded by
- flag_evaluation_order.
- * fold-const.c (reorder_operands_p): Remove, it always returns
- true.
- (negate_expr_p): Remove calls to reorder_operands_p.
- (fold_negate_expr): Likewise.
- (tree_swap_operands_p): Likewise.
- (fold_binary_loc): Likewise.
-
-2016-11-09 Andreas Schwab <schwab@suse.de>
-
- PR target/78254
- * config/m68k/m68k.md: Reject out-of-range bit pos in bit-fields
- insns operating on a register.
-
-2016-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78007
- * tree-vect-stmts.c (vectorizable_bswap): New function.
- (vectorizable_call): Call vectorizable_bswap for
- BUILT_IN_BSWAP{16,32,64} if arguments are not promoted.
-
-2016-11-09 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Look at the DR_BASE_ADDRESS object for forcing alignment.
-
-2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
- (propagate_vr_accross_jump_function): Likewise.
- * ipa-prop.c (ipa_set_jf_unary_pass_through): New.
- (load_from_param_1): New.
- (load_from_unmodified_param): Factor common part into load_from_param_1.
- (load_from_param): New.
- (compute_complex_assign_jump_func): Handle unary expressions.
- (ipa_write_jump_function): Likewise.
- (ipa_read_jump_function): Likewise.
-
-2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR ipa/78121
- * ipa-cp.c (propagate_vr_accross_jump_function): Pass param type.
- Also fold constant passed as argument while computing value range.
- (propagate_constants_accross_call): Pass param type.
- * ipa-prop.c: export ipa_get_callee_param_type.
- * ipa-prop.h: export ipa_get_callee_param_type.
-
-2016-11-09 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- * asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN,
- BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR.
-
-2016-11-09 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- * asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove.
- * asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with
- ASAN_STACK_MAGIC_MIDDLE.
- (asan_global_struct): Increase the size of fields.
- (asan_add_global): Add new field constructor.
- * sanitizer.def (__asan_version_mismatch_check_v6): Replace with
- __asan_version_mismatch_check_v8.
-
-2016-11-08 David Edelsohn <dje.gcc@gmail.com>
-
- * dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO
- at runtime.
-
-2016-11-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70799
- * config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
- Handle ASHIFT and LSHIFTRT.
- (dimode_scalar_chain::compute_convert_gain): Ditto.
- (dimode_scalar_chain::convert_insn): Ditto.
-
-2016-11-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gimple-ssa-store-merging.c: Include selftest.h
- (verify_array_eq): New function.
- (verify_shift_bytes_in_array): Likewise.
- (verify_shift_bytes_in_array_right): Likewise.
- (verify_clear_bit_region): Likewise.
- (verify_clear_bit_region_be): Likewise.
- (store_merging_c_tests): Likewise.
- * selftest.h (store_merging_c_tests): Declare prototype.
- * selftest-run-tests.c (selftest::run_tests): Run
- store_merging_c_tests.
-
-2016-11-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.opt (mold-rtx-costs): Delete.
- (mnew-generic-costs): Delete.
- * config/arm/arm-protos.h (struct tune_params): Delete rtx_costs field.
- * config/arm/arm.c (arm_rtx_costs_1): Delete.
- (arm_size_rtx_costs): Likewise.
- (arm_slowmul_rtx_costs): Likewise.
- (arm_fastmul_rtx_costs): Likewise.
- (arm_xscale_rtx_costs): Likewise.
- (arm_9e_rtx_costs): Likewise.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
- arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
- arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
- arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
- arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
- arm_cortex_a5_tune, arm_xgene1_tune, arm_marvell_pj4_tune,
- arm_cortex_a35_tune, arm_exynosm1_tune, arm_cortex_a73_tune,
- arm_cortex_m7_tune):
- Delete rtx_costs field.
- (arm_new_rtx_costs): Rename to...
- (arm_rtx_costs_internal): ... This.
- (arm_rtx_costs): Remove old way of doing rtx costs.
-
-2016-11-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
- (arm_fastmul_tune): Likewise.
- (arm_strongarm_tune): Likewise.
- (arm_xscale_tune): Likewise.
- (arm_9e_tune): Likewise.
- (arm_marvell_pj4_tune): Likewise.
- (arm_v6t2_tune): Likewise.
- (arm_v6m_tune): Likewise.
- (arm_fa726te_tune): Likewise.
-
-2016-11-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR tree-optimization/78234
- * gimple-ssa-store-merging.c (clear_bit_region): Fix off-by-one error
- in start != 0 case.
-
-2016-11-08 Martin Liska <mliska@suse.cz>
-
- PR testsuite/78242
- * dbgcnt.def: Add new debug counter asan_use_after_scope.
- * gimplify.c (gimplify_decl_expr): Do not sanitize vars
- with a value expr. Do not add artificial variables to
- live_switch_vars. Use the debug counter.
- (gimplify_target_expr): Use the debug counter.
- * internal-fn.def: Remove ECF_TM_PURE from ASAN_MARK builtin.
- * sanitizer.def: Set ATTR_NOTHROW_LEAF_LIST to
- BUILT_IN_ASAN_CLOBBER_N and BUILT_IN_ASAN_UNCLOBBER_N.
-
-2016-11-08 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (get_group_load_store_type): If the
- access is aligned do not trigger peeling for gaps.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
- force alignment of vars with DECL_USER_ALIGN.
-
-2016-11-08 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.
-
-2016-11-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78205
- * tree-vect-stmts.c (vectorizable_load): Move check whether
- we may run into gaps when BB vectorizing SLP permutations ...
- * tree-vect-slp.c (vect_supported_load_permutation_p): ...
- here where we can do a more precise check.
-
-2016-11-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78224
- * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
- Split the fallthru edge in case its successor may have PHIs.
- Do not free dominance info.
-
-2016-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78229
- * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
- EH info even for bzhi and pdep/pext.
-
-2016-11-07 Peter Bergner <bergner@vnet.ibm.com>
-
- * config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
- INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
-
-2016-11-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
- if appropriate.
- * config/rs6000/vector.md (div<mode>3): Ditto.
-
-2016-11-07 David Edelsohn <dje.gcc@gmail.com>
-
- * configure.ac (.hidden): Change to conftest_s string. Provide string
- for AIX assembler.
- (gcc_cv_ld_hidden): Yes for AIX.
- * configure: Regenerate.
-
- * dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).
-
- * config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
- (rs6000_xcoff_asm_output_aligned_decl_common): Declare.
- * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
- (ASM_OUTPUT_ALIGNED_COMMON): Delete.
- * config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
- from #if to if.
- (rs6000_xcoff_visibility): New.
- (rs6000_xcoff_declare_function_name): Add visibility support.
- (rs6000_xcoff_asm_globalize_decl_name): New.
- (rs6000_xcoff_asm_output_aligned_decl_common): New.
- (rs6000_asm_weaken_decl): New.
- (rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
- config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
- reference function.
-
-2016-11-07 Jack Howarth <howarth.at.gcc@gmail.com>
-
- PR driver/78206
- * incpath.c (remove_dup): Also silently ignore EPERM.
-
-2016-11-07 Martin Jambor <mjambor@suse.cz>
-
- * tree.c (verify_type_variant): Use pointer comparison to check that
- TYPE_SIZE_UNIT match.
-
-2016-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77834
- * dse.c (dse_step5): Call scan_reads even if just
- insn_info->frame_read. Improve and fix dump file messages.
-
- PR target/78227
- * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
- cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
-
-2016-11-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR middle-end/35691
- * match.pd: Add following two patterns:
- (x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
- (x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.
-
-2016-11-07 Bernd Schmidt <bschmidt@redhat.com>
-
- * emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
- * sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
- * rtl.h (duplicate_reg_notes): Declare.
- * rtlanal.c (duplicate_reg_note): New function.
-
- PR rtl-optimization/77309
- * combine.c (make_compound_operation): Allow EQ for IN_CODE, and
- don't assume an equality comparison for plain COMPARE.
- (simplify_comparison): Pass a more accurate code to
- make_compound_operation.
-
-2016-11-07 Pat Haugen <pthaugen@us.ibm.com>
-
- * target.def (compute_pressure_classes): New target hook.
- * doc/tm.texi.in: Document it.
- * doc/tm.texi: Regenerate.
- * ira.c (setup_pressure_classes): Call target hook if defined.
-
-2016-11-07 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl.c (rtx_writer::operand_has_default_value_p): New
- method.
- (rtx_writer::print_rtx): In compact mode, omit trailing operands
- that have the default values.
- * print-rtl.h (rtx_writer::operand_has_default_value_p): New
- method.
- * rtl-tests.c (selftest::test_dumping_insns): Remove empty
- label string from expected dump.
- (seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
- from expected dump.
-
-2016-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77834
- * alias.c (nonoverlapping_memrefs_p): If one decl is
- FUNCTION_DECL or LABEL_DECL and the other is not, return 1.
-
-2016-11-07 Richard Biener <rguenther@suse.de>
-
- PR target/78229
- * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
- EH info.
-
-2016-11-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78218
- * gimple-ssa-store-merging.c
- (pass_store_merging::terminate_all_aliasing_chains):
- Drop unused argument, fix alias check to also consider uses.
- (pass_store_merging::execute): Adjust.
-
-2016-11-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78228
- * tree-ssa-phiopt.c (abs_replacement): Avoid introducing
- undefined behavior.
-
-2016-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/77822
- * config/aarch64/aarch64.md (*tb<optab><mode>1): Use
- aarch64_simd_shift_imm_<mode> predicate for operand 1.
- (<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
- to restrict them to an appropriate range and add FAIL check if the
- region they specify is out of range. Delete useless constraint
- strings.
- (*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
- 2 and 3 to restrict their range and add pattern predicate.
-
-2016-11-07 Martin Liska <mliska@suse.cz>
-
- * asan.c (enum asan_check_flags): Move the enum to header file.
- (asan_init_shadow_ptr_types): Make type creation more generic.
- (shadow_mem_size): New function.
- (asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
- Rewritten stack unpoisoning code.
- (build_shadow_mem_access): Add new argument return_address.
- (instrument_derefs): Instrument local variables if use after scope
- sanitization is enabled.
- (asan_store_shadow_bytes): New function.
- (asan_expand_mark_ifn): Likewise.
- (asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
- * asan.h (enum asan_mark_flags): Moved here from asan.c
- (asan_protect_stack_decl): Protect all declaration that need
- to live in memory.
- (asan_sanitize_use_after_scope): New function.
- (asan_no_sanitize_address_p): Likewise.
- * cfgexpand.c (partition_stack_vars): Consider
- asan_sanitize_use_after_scope in condition.
- (expand_stack_vars): Likewise.
- * common.opt (-fsanitize-address-use-after-scope): New option.
- * doc/invoke.texi (use-after-scope-direct-emission-threshold):
- Explain the parameter.
- * flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
- * gimplify.c (build_asan_poison_call_expr): New function.
- (asan_poison_variable): Likewise.
- (gimplify_bind_expr): Generate poisoning/unpoisoning for local
- variables that have address taken.
- (gimplify_decl_expr): Likewise.
- (gimplify_target_expr): Likewise for C++ temporaries.
- (sort_by_decl_uid): New function.
- (gimplify_expr): Unpoison all variables for a label we can jump
- from outside of a scope.
- (gimplify_switch_expr): Unpoison variables defined in the switch
- context.
- (gimplify_function_tree): Clear asan_poisoned_variables.
- (asan_poison_variables): New function.
- (warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
- * internal-fn.c (expand_ASAN_MARK): New function.
- * internal-fn.def (ASAN_MARK): Declare.
- * opts.c (finish_options): Handle -fstack-reuse if
- -fsanitize-address-use-after-scope is enabled.
- (common_handle_option): Enable address sanitization if
- -fsanitize-address-use-after-scope is enabled.
- * params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
- New parameter.
- * params.h: Likewise.
- * sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
- * sanitizer.def: Define __asan_poison_stack_memory and
- __asan_unpoison_stack_memory functions.
- * asan.c (asan_mark_poison_p): New function.
- (transform_statements): Handle asan_mark_poison_p calls.
- * gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.
-
-2016-11-07 Tamar Christina <tamar.christina@arm.com>
-
- PR driver/78196
- * Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.
-
-2016-11-07 Martin Liska <mliska@suse.cz>
-
- * tree-profile.c (gimple_gen_time_profiler): Set proper type
- to time_profiler_counter_ptr.
-
-2016-11-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/37150
- * tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
- parameter.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
- (vect_analyze_slp_cost_1): Account for the real number of
- permutations emitted and for dead loads.
- (vect_transform_slp_perm_load): Add n_perms parameter counting
- the number of emitted permutations.
- * tree-vect-stmts.c (vectorizable_load): Adjust.
-
-2016-11-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78189
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
- alignment computation.
-
-2016-11-06 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.
-
-2016-11-05 Martin Sebor <msebor@redhat.com>
-
- * doc/invoke.texi (Warning Options): Correct typos in -Walloca
- documentation.
-
-2016-11-05 David Edelsohn <dje.gcc@gmail.com>
-
- PR bootstrap/78188
- PR c++/71848
- * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
-
-2016-11-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77834
- * alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
- doesn't have rtl set.
-
-2016-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (gimple-ssa.h): New #include.
- (TARGET_GIMPLE_FOLD_BUILTIN): Define as
- rs6000_gimple_fold_builtin.
- (rs6000_gimple_fold_builtin): New function. Add handling for
- early expansion of vector addition builtins.
-
-2016-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.h (copy_blkmode_from_reg): Delete.
- * expr.c (copy_blkmode_from_reg): Make static.
-
-2016-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * defaults.h (LOAD_EXTEND_OP): Define if not already defined.
- * combine.c (LOAD_EXTEND_OP): Delete.
- (simplify_comparison): Fix comment about LOAD_EXTEND_OP.
- * cse.c (LOAD_EXTEND_OP): Delete.
- * fold-const.c (LOAD_EXTEND_OP): Likewise.
- * fwprop.c (free_load_extend): Remove #ifdef LOAD_EXTEND_OP/#endif.
- * postreload.c (LOAD_EXTEND_OP): Delete.
- * reload.c (push_reload): Remove #ifdef LOAD_EXTEND_OP/#endif.
- Convert conditional compilation based on WORD_REGISTER_OPERATIONS.
- (find_reloads): Likewise.
- * reload1.c (eliminate_regs_1): Likewise.
- * rtlanal.c (nonzero_bits1): Remove #ifdef LOAD_EXTEND_OP/#endif.
- (num_sign_bit_copies1): Likewise.
-
-2016-11-04 David Malcolm <dmalcolm@redhat.com>
-
- * config/i386/i386.c: Include "selftest.h" and "selftest-rtl.h".
- (selftest::ix86_test_dumping_hard_regs): New function.
- (selftest::ix86_run_selftests): New function.
- (TARGET_RUN_TARGET_SELFTESTS): When CHECKING_P, wire this up to
- selftest::ix86_run_selftests.
- * doc/tm.texi.in (TARGET_RUN_TARGET_SELFTESTS): New.
- * doc/tm.texi: Regenerate
- * selftest-rtl.h: New file.
- * rtl-tests.c: Include "selftest-rtl.h".
- (selftest::assert_rtl_dump_eq): Make non-static.
- (ASSERT_RTL_DUMP_EQ): Move to selftest-rtl.h.
- (selftest::test_dumping_regs): Update comment.
- * selftest-run-tests.c: Include "target.h".
- (selftest::run_tests): If non-NULL, call
- targetm.run_target_selftests.
- * target.def (run_target_selftests): New hook.
-
-2016-11-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as
- representative core for this architecture.
- * config/arm/arm-cores.def (cortex-m33): Define new processor.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Likewise.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of
- valid -mcpu options.
- * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor.
-
-2016-11-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-arches.def (armv8-m.base): Set Cortex-M23 as
- representative core for this architecture.
- * config/arm/arm-cores.def (cortex-m23): Define new processor.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Likewise.
- * config/arm/arm.c (arm_v6m_tune): Add Cortex-M23 to the list of cores
- this tuning parameters apply to in the comment.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M23 to the list of
- valid -mcpu options.
- * doc/invoke.texi (ARM Options): Document new Cortex-M23 processor.
-
-2016-11-04 Bin Cheng <bin.cheng@arm.com>
-
- * fold-const.c (fold_cond_expr_with_comparison): Remove call
- to pedantic_non_lvalue_loc. Remove useless code for lvalue
- where cond_expr can't be a lvalue.
-
-2016-11-04 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_process_double_reg_moves): Use
- gen_dexcl_2op call.
- * config/arc/arc.md (movsi_insn): Disable unsupported move
- instructions for ARCv2 cores.
- (movdi): Use prepare_move_operands.
- (movsf, movdf): Use move_dest_operand predicate.
- * config/arc/constraints.md (Chs): Enable when barrel shifter is
- present.
- * config/arc/fpu.md (divsf3): Change to divsf3_fpu.
- * config/arc/fpx.md (dexcl_3op_peep2_insn): Dx data register is
- also a destination.
- (dexcl_3op_peep2_insn_nores): Likewise.
- * config/arc/arc.h (SHIFT_COUNT_TRUNCATED): Define to one.
- (LINK_COMMAND_SPEC): Remove.
-
-2016-11-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78185
- * loop-invariant.c (find_exits): Record entering inner
- loops as possibly exiting to handle infinite sub-loops.
- * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
- (fill_always_executed_in_1): Honor infinite child loops.
-
-2016-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/78192
- * config/rs6000/vsx.md (vsx_extract_<mode>_di): The element number
- has already been adjusted for endianness, so don't adjust it any
- further.
-
- PR target/77993
- * config/rs6000/rs6000.h (FLOAT128_IBM_P): Do not allow IFmode or
- ICmode unless we have standard PowerPC floating point.
- * config/rs6000/rs6000.md (FP iterator): Likewise.
- (FMOVE128 iterator): Likewise.
-
-2016-11-03 Jakub Jelinek <jakub@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- PR debug/28767
- PR debug/56974
- * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute
- langhook.
- * langhooks.c (lhd_type_dwarf_attribute): New function.
- * langhooks-def.h (lhd_type_dwarf_attribute): Declare.
- (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define.
- (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add
- LANG_HOOKS_TYPE_DWARF_ATTRIBUTE.
- (check_qualified_type, check_aligned_type): Call it.
- * dwarf2out.c (modified_type_die): Don't use type_main_variant
- for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
- check_base_type and check_lang_type.
- (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL,
- return early. For pointer-to-data-member add DW_AT_use_location
- attribute.
- (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute
- if needed.
- (gen_type_die_with_usage): Don't use type_main_variant
- for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
- check_base_type and check_lang_type. Formatting fixes. Call
- get_debug_type langhook.
-
-2016-11-03 Jason Merrill <jason@redhat.com>
-
- * tree.c (check_lang_type): New.
- (check_qualified_type): Use it.
- (check_aligned_type): Use it.
- * tree.h: Declare it.
-
-2016-11-03 Richard Earnshaw <rearnsha@arm.com>
-
- * config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
- (arm*-freebsd*): Likewise.
- (arm*-*-netbsdelf*): Likewise.
- (arm*-*-linux*): Likewise.
- (arm*-*-uclinux*eabi*): Likewise.
- (arm*-*-phoenix*): Likewise.
- (arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
- (arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
- specified. Default to arm6 if target_cpu_cname is not set.
- * arm/arm.c (arm_option_override): Simplify logic. Assert that the
- default cpu has been correctly configured.
- * arm/arm.h (TARGET_CPU_DEFAULT): Delete.
- (target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
- * arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
- * arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
- * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
- * arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
- * arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
-
-2016-11-03 Jiong Wang <jiong.wang@arm.com>
-
- * reg-notes.def (CFA_VAL_EXPRESSION): New entry.
- * dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
- (dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
- (output_cfa_loc): Support DW_CFA_val_expression.
- (output_cfa_loc_raw): Likewise.
- (output_cfi): Likewise.
- (output_cfi_directive): Likewise.
- * dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
- (dw_cfi_oprnd2_desc): Likewise.
- (mem_loc_descriptor): Recognize new pattern generated for value
- expression.
-
-2016-11-03 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78186
- * combine.c (change_zero_ext): Mask the RHS of a zero_extract as
- well, when converting to IOR.
-
-2016-11-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
- (vec_interleave_highv8qi): Likewise.
-
-2016-11-03 Martin Liska <mliska@suse.cz>
-
- * profile.c (instrument_values): Fix coding style.
- (branch_prob): Use renamed function.
- * tree-profile.c (init_ic_make_global_vars): Likewise.
- (gimple_init_edge_profiler): Rename to
- gimple_init_gcov_profiler.
- tree_time_profiler_counter variable declaration.
- (gimple_gen_time_profiler): Rewrite to do a direct gimple code
- emission.
- * value-prof.h: Remove an argument.
-
-2016-11-03 Richard Biener <rguenther@suse.de>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
- symtab_node::get_create.
-
-2016-11-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
- Move comments into more natural position.
-
-2016-11-03 Vineet Gupta <vgupta@synopsys.com>
-
- * config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
- (PTRDIFF_TYPE): Define as int.
-
-2016-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ccmp.c (expand_ccmp_expr_1): Adjust.
- (expand_ccmp_expr): Likewise.
- (expand_ccmp_next): Likewise.
- * config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
- (aarch64_gen_ccmp_first): Likewise.
- * doc/tm.texi: Regenerate.
- * target.def (gen_ccmp_first): Change argument types to rtx_insn *.
- (gen_ccmp_next): Likewise.
-
-2016-11-03 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
- (vect_is_simple_reduction): Swap cond_reduction by inversion.
-
-2016-11-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_init_libfuncs): New. Call
- darwin_rename_builtins here.
- (ix86_expand_divmod_libfunc): New.
- (TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
- (TARGET_EXPAND_DIVMOD_LIBFUNC): Define.
-
-2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
- Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.
-
-2016-11-02 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
- New function.
- (xtensa_output_literal): Use xtensa_output_integer_literal_parts
- to format MODE_INT and MODE_PARTIAL_INT literals.
-
-2016-11-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/78168
- * config/r6000/rs6000.c (rs6000_get_separate_components): Return
- NULL if TARGET_SPE_ABI.
-
-2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
- clear padding bits even when they're less than a byte.
-
-2016-11-02 Richard Biener <rguenther@suse.de>
-
- * gimple-ssa-store-merging.c: Include gimplify-me.h.
- (imm_store_chain_info::output_merged_stores): Force base_addr
- to be proper GIMPLE for a MEM_REF address.
- (pass_store_merging::execute): Restrict negative bitpos
- handling to non-MEM_REF bases. Remove TREE_THIS_VOLATILE
- check. Take into account non-NULL_TREE offset if the base
- is already addressable.
-
-2016-11-26 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si):
- New pattern.
- (aarch64_be_crypto_sha1hv4si): New pattern.
-
-2016-11-02 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3): Remove
- redundant code. Don't split frame based additions.
-
-2016-11-02 Richard Biener <rguenther@suse.de>
-
- * gimple-ssa-store-merging.c (struct store_immediate_info): Remove
- redundant val and dest members.
- (store_immediate_info::store_immediate_info): Adjust.
- (merged_store_group::merged_store_group): Adjust.
- (merged_store_group::apply_stores): Likewise.
- (struct imm_store_chain_info): Add base_addr field.
- (imm_store_chain_info::imm_store_chain_info): New constructor.
- (imm_store_chain_info::terminate_and_process_chain): Do not pass base.
- (imm_store_chain_info::output_merged_store): Likewise. Use
- addr_base which is already the address.
- (imm_store_chain_info::output_merged_stores): Likewise.
- (pass_tree_store_merging::terminate_all_aliasing_chains): Take
- imm_store_chain_info instead of base. Fix alias check.
- (pass_tree_store_merging::terminate_and_release_chain): Likewise.
- (imm_store_chain_info::coalesce_immediate_stores): Adjust.
- (pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
- use the address of the base and adjust for other changes.
-
-2016-11-02 Martin Liska <mliska@suse.cz>
-
- * fold-const-call.c (host_size_t_cst_p): Test whether
- t is convertible to size_t.
-
-2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR tree-optimization/78170
- * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
- introduced by native_encode_expr on little-endian as well.
-
-2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR tree-optimization/78162
- * gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0
- as invalid.
-
-2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add
- function comment.
- (aarch64_next_callee_save): Likewise.
- (aarch64_pushwb_single_reg): Likewise.
- (aarch64_gen_storewb_pair): Likewise.
- (aarch64_push_regs): Likewise.
- (aarch64_gen_loadwb_pair): Likewise.
- (aarch64_pop_regs): Likewise.
- (aarch64_gen_store_pair): Likewise.
- (aarch64_gen_load_pair): Likewise.
- (aarch64_save_callee_saves): Likewise.
- (aarch64_restore_callee_saves): Likewise.
-
-2016-11-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78035
- PR tree-optimization/77964
- * gimple-pretty-print.c (pp_points_to_solution): Print
- vars_contains_interposable.
- * tree-ssa-alias.c: Include varasm.h.
- (ptrs_compare_unequal): Check vars_contains_interposable and
- decl_binds_to_current_def_p.
- (dump_points_to_solution): Dump vars_contains_interposable.
- * tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
- flag.
- * tree-ssa-structalias.c: Include varasm.h.
- (set_uids_in_ptset): Record whether vars contains a
- not decl_binds_to_current_def_p variable in vars_contains_interposable.
- (ipa_escaped_pt): Update initializer.
-
-2016-11-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78047
- * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
- fake field at offset zero conservatively regarding to may_have_pointers.
-
-2016-11-02 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (evrp_dom_walker::before_dom_children): Call
- infer_value_range on stmt ops and update value-ranges.
- Dump visited stmts and blocks.
- (evrp_dom_walker::push_value_range): Dump changes.
- (evrp_dom_walker::pop_value_range): Likewise.
- (evrp_dom_walker::try_find_new_range): Avoid noop changes.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
- rtx_insn *.
- * rtl.h (prev_nonnote_insn_bb): Adjust prototype.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
- and adjust for that.
- * cfgrtl.h (delete_insn_chain): Adjust prototype.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/rl78/rl78.c (gen-and_emit_move): Change argument type
- to rtx_insn *.
- (transcode_memory_rtx): Likewise.
- (move_to_acc): Likewise.
- (move_from_acc): Likewise.
- (move_acc_to_reg): Likewise.
- (move_to_x): Likewise.
- (move_to_hl): Likewise.
- (move_to_de): Likewise.
- * config/rs6000/rs6000.c (emit_frame_save): Likewise.
- (rs6000_emit_savres_rtx): Likewise.
- (rs6000_emit_prologue): Likewise.
- * reorg.c (update_reg_unused_notes): Likewise.
- * rtl.h (remove_note): Adjust prototype.
- * rtlanal.c (remove_note): Make argument type rtx_insn *.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/alpha/alpha.c (alpha_legitimize_address_1): Split up
- variables so some can be rtx_insn *.
- (alpha_emit_xfloating_libcall): Likewise.
- * config/mips/mips.c (mips_call_tls_get_addr): Likewise.
- (mips_legitimize_tls_address): Likewise.
- * optabs.c (expand_binop): Likewise.
- * reload1.c (gen_reload): Likewise.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (relax_delay_slots): Split up the trial variable.
-
-2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type
- of variables rtx_insn *.
- * config/arm/arm.c (arm_call_tls_get_addr): Likewise.
- (legitimize_tls_address): Likewise.
- * config/bfin/bfin.c (hwloop_optimize): Likewise.
- (bfin_gen_bundles): Likewise.
- * config/c6x/c6x.c (reorg_split_calls): Likewise.
- (c6x_reorg): Likewise.
- * config/frv/frv.c (frv_reorder_packet): Likewise.
- * config/i386/i386.c (ix86_split_idivmod): Likewise.
- * config/ia64/ia64.c (ia64_expand_compare): Likewise.
- * config/m32c/m32c.c (m32c_prepare_shift): Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/s390/s390.c (s390_fix_long_loop_prediction): Likewise.
- * config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise.
- (sh_expand_cmpnstr): Likewise.
- (sh_expand_strlen): Likewise.
- (sh_expand_setmem): Likewise.
- * config/sh/sh.md: Likewise.
- * emit-rtl.c (emit_pattern_before): Likewise.
- * except.c: Likewise.
- * final.c: Likewise.
- * jump.c: Likewise.
-
-2016-11-01 Jason Merrill <jason@redhat.com>
-
- * tree-inline.c (copy_tree_body_r): Only copy the taken branch of
- a COND_EXPR with constant condition.
-
-2016-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (gen_variable_die): Remove again origin_die variable
- and its initialization.
-
-2016-11-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * dwarf2out.c (output_rnglists): Wrap basebuf, len in
- HAVE_AS_LEB128.
-
-2016-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME
- argument, don't call add_linkage_name if it is true.
- (gen_variable_die): For C++ inline static data members, consider the
- initial call when old_die is NULL to be declaration and call
- add_name_and_src_coords_attributes in that case with true as
- NO_LINKAGE_NAME. Add DW_AT_inline attribute if needed.
- (gen_member_die): For C++ inline static data members, emit a
- definition DIE right away in DW_TAG_compile_unit context.
-
-2016-11-01 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/78166
- * config/pa/pa.md: Add new shift/add patterns to handle
- (plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
-
-2016-11-01 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa-protos.h
- (xtensa_use_return_instruction_p): New prototype.
- * config/xtensa/xtensa.c (xtensa_current_frame_size,
- xtensa_callee_save_size): Remove.
- (struct machine_function): Add new fields: current_frame_size,
- callee_save_size, frame_laid_out and epilogue_done.
- (compute_frame_size, xtensa_expand_prologue,
- xtensa_expand_epilogue): Replace xtensa_callee_save_size with
- cfun->machine->callee_save_size and xtensa_current_frame_size
- with cfun->machine->current_frame_size.
- (compute_frame_size): Update cfun->machine->frame_laid_out and
- don't update frame layout after reload completion.
- (xtensa_expand_epilogue): Set cfun->machine->epilogue_done
- instead of zeroing xtensa_current_frame_size.
- (xtensa_use_return_instruction_p): New function.
- * config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
- declaration.
- (INITIAL_ELIMINATION_OFFSET): Use return value of
- compute_frame_size instead of xtensa_current_frame_size value.
- * config/xtensa/xtensa.md ("return" pattern): Use new predicate
- function xtensa_use_return_instruction_p instead of inline code.
-
-2016-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * tree.h (BLOCK_IN_COLD_SECTION_P): Define.
- * final.c (final_scan_insn): Set BLOCK_IN_COLD_SECTION_P.
- * dwarf2out.c (rnglist_idx): New variable.
- (struct dw_ranges): Add label, idx and maybe_new_sec fields.
- (DEBUG_RNGLISTS_SECTION): Define.
- (ranges_base_label): New variable.
- (size_of_die) <case dw_val_class_range_list>: If using
- DW_FORM_rnglistx, count size of uleb128 of range list index.
- (value_format) <case dw_val_class_range_list>: For
- -gdwarf-5 -gsplit-dwarf return DW_FORM_rnglistx.
- (output_range_list_offset): Handle -gdwarf-5 .debug_rnglists
- offsets. Multiply dwarf < 5 offsets by 2 * DWARF_ADDR_SIZE.
- (add_ranges_num): Remove useless prototype. Don't multiply
- by 2 * DWARF2_ADDR_SIZE. Add maybe_new_sec argument, adjust
- for new fields added to dw_ranges struct.
- (add_ranges): Add maybe_new_sec argument and pass it
- through to add_ranges_num.
- (note_rnglist_head): New function.
- (add_ranges_by_labels): Pass true as maybe_new_sec to
- add_ranges_num, call note_rnglist_head on the head of the list.
- (output_ranges): Add function comment. Switch to
- .debug_ranges section here and emit .Ldebug_ranges0 label.
- (index_rnglists, output_rnglists): New functions.
- (gen_subprogram_die): Formatting fixes.
- (add_high_low_attributes): Don't divide offsets
- by 2 * DWARF2_ADDR_SIZE. Call note_rnglist_head on the
- first list element or when pointing into the middle of
- a list. Pass true as second argument to add_ranges on the
- first block fragment after cold/hot section switch.
- (init_sections_and_labels): For -gdwarf-5 use .debug_rnglists
- section instead of .debug_ranges. Initialize
- ranges_base_label if -gdwarf-5 -gsplit-dwarf.
- (dwarf2out_finish): For -gdwarf-5 -gsplit-dwarf call
- index_rnglists and add DW_AT_rnglists_base attr. Don't switch
- to dwarf_ranges_section here or emit .Ldebug_ranges0 label.
- Call output_rnglists for -gdwarf-5.
- (dwarf2out_c_finalize): Clear rnglist_idx.
-
-2016-11-01 Fritz Reese <fritzoreese@gmail.com>
-
- * combine.c (simplify_compare_const): Add gcc_fallthrough.
-
-2016-11-01 Bilyan Borisov <bilyan.borisov@arm.com>
- Tamar Christina <tamar.christina@arm.com>
-
- * config/arm/arm-c.c (arm_cpu_builtins): New macro definition.
- * config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc.
- (vmaxnmq_f32): Likewise.
- (vminnm_f32): Likewise.
- (vminnmq_f32): Likewise.
- * config/arm/arm_neon_builtins.def (vmaxnm): New builtin.
- (vminnm): Likewise.
- * config/arm/neon.md (neon_<fmaxmin_op><mode>, VCVTF): New
- expander.
-
-2016-10-31 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (VSX_EXTRACT_FL): New iterator for all
- binary floating point types supported by the hardware except for
- double.
- (vsx_xvcvsxwdp_df): Provide scalar result alternative to the
- vector instruction for optimizing extracting a SImode from a
- V4SImode vector and converting it to floating point.
- (vsx_xvcvuxwdp_df): Likewise.
- (vsx_extract_si): On ISA 3.0, allow extract target and temporary
- registers to be any VSX register. Move stores to the end of the
- constraints.
- (vsx_extract_si_<uns>float_df): New combiner pattern and splitter
- to optimize extracting a SImode from a V4SImode vector and
- converting it to a binary floating point type supported by the
- hardware. Use the vector converts instead of extracting the
- element, sign extending it, and then converting it to double.
- Other floating point types than double first convert to double,
- then the double is converted to that type.
- (vsx_extract_si_<uns>float_<mode>): Likewise.
-
-2016-10-31 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/driver-aarch64.c (host_detect_local_cpu):
- Rewrite handling of part num to handle the case where
- multiple implementers share the same part num.
-
-2016-10-31 Jan Kratochvil <jan.kratochvil@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5.
- (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Likewise.
-
-2016-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name.
- (use_debug_types): Adjust comment for DWARF5 DW_UT_type units.
- (new_die): Handle DW_TAG_skeleton_unit like DW_TAG_compile_unit.
- (is_cu_die, is_unit_die): Likewise.
- (should_move_die_to_comdat, break_out_comdat_types): Adjust
- comments for DWARF5 DW_UT_type units.
- (output_compilation_unit_header): Add UT argument, output
- start of DWARF5 .debug_info section header.
- (output_comp_unit): Add dwo_id argument. Adjust
- output_compilation_unit_header caller, for DW_UT_split_compile
- emit dwo_id field, otherwise padding1. Emit padding2 field.
- (add_top_level_skeleton_die_attrs): Add DW_AT_dwo_name
- rather than DW_AT_GNU_dwo_name attr for -gdwarf-5.
- (output_skeleton_debug_sections): Add dwo_id argument, for
- -gdwarf-5 emit DWARF 5 DW_UT_skeleton header.
- (output_comdat_type_unit): For -gdwarf-5 emit .debug_info
- DW_UT_type or DW_UT_split_type units rather than .debug_types.
- (dwarf2out_finish): Use DW_TAG_skeleton_unit rather than
- DW_TAG_compile_unit for skeleton unit die. Don't add
- DW_AT_GNU_dwo_id attributes for -gdwarf-5, instead pass checksum
- address to output_comp_unit and output_skeleton_debug_sections.
-
- * dwarf2out.c (debug_line_str_section): New variable.
- (debug_line_str_hash): Likewise.
- (DEBUG_LINE_STR_SECTION): Define.
- (set_indirect_string): Handle DW_FORM_line_strp like
- DW_FORM_strp.
- (find_string_form): Fix up formatting.
- (size_of_die): Handle DW_FORM_line_strp like DW_FORM_strp.
- Fix up indentation.
- (output_die): Handle DW_FORM_line_strp.
- (DWARF5_USE_DEBUG_LINE_STR): Define.
- (output_line_string): New function.
- (output_file_names): Add -gdwarf-5 support.
- (output_line_info): Likewise.
- (init_sections_and_labels): Initialize debug_line_str_section.
- (output_indirect_string): Change 2nd argument from void *
- to enum dwarf_form form, compare with form rather than
- DW_FORM_strp.
- (output_indirect_strings): Pass DW_FORM_strp to
- output_indirect_string traversion.
- (dwarf2out_finish): Output .debug_line_str strings.
- (dwarf2out_c_finalize): Clear debug_line_str_section and
- debug_line_str_hash.
-
-2016-10-31 Tom Tromey <tom@tromey.com>
-
- PR debug/77315
- * dwarf2out.c (mem_loc_descriptor): Use DW_OP_form_tls_address.
- (resolve_args_picking_1): Move DW_OP_form_tls_address case next to
- DW_OP_GNU_push_tls_address case.
- (loc_list_from_tree_1): Use DW_OP_form_tls_address.
-
-2016-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.h (struct dw_loc_descr_node): Adjust comment
- for frame_offset_rel bit.
- (struct array_descr_info): Add rank field.
- * dwarf2out.c (struct loc_descr_context): Add placeholder_arg
- and placeholder_seen fields.
- (resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup
- and DW_OP_over. Optimize DW_OP_pick 0 into DW_OP_dup and
- DW_OP_pick 1 into DW_OP_over.
- (function_to_dwarf_procedure, type_byte_size, field_byte_offset,
- gen_variant_part): Clear placeholder_{arg,seen}.
- (loc_list_from_tree_1): Drop const from context argument.
- Handle integral PLACEHOLDER_EXPR if context->placeholder_arg.
- (loc_list_for_address_of_addr_expr_of_indirect_ref,
- loc_list_from_tree, loc_descriptor_from_tree): Drop const from
- context argument.
- (add_scalar_info): Drop const from context argument. Handle
- context->placeholder_arg.
- (add_bound_info): Drop const from context argument.
- (gen_descr_array_type_die): Drop const from ctx variable.
- Initialize placeholder_arg and placeholder_seen. Add DW_AT_rank
- attribute and use a single DW_TAG_generic_subrange instead of
- 7 DW_TAG_subrange_type for assumed rank arrays.
-
- * dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
- * dwarf2out.c (struct dw_loc_list_struct): Change emitted field
- from bool to 1-bit uchar bitfield. Add num_assigned and
- offset_emitted bitfields.
- (dw_val_equal_p): Compare v.val_lbl_id rather than v.val_unsigned
- for dw_val_class_lineptr and dw_val_class_macptr. Handle
- dw_val_class_loclistsptr.
- (new_addr_loc_descr): Fix up formatting.
- (DEBUG_LOCLISTS_SECTION, DEBUG_DWO_LOCLISTS_SECTION): Define.
- (add_AT_low_high_pc): Fix up formatting.
- (add_AT_loclistsptr): New function.
- (AT_lbl): Allow dw_val_class_loclistsptr.
- (print_dw_val, attr_checksum, attr_checksum_ordered, same_dw_val_p):
- Handle dw_val_class_loclistsptr.
- (loc_list_idx): New variable.
- (output_loclists_offsets, assign_location_list_indexes): New
- functions.
- (size_of_die): For dw_val_class_loc_list -gsplit-dwarf -gdwarf-5
- add size_of_uleb128 of the index. Drop never used
- dwarf_split_debug_info AT_index handling. Handle
- dw_val_class_loclistsptr.
- (value_format): Return DW_FORM_loclistsx for dw_val_class_loc_list
- if -gsplit-dwarf -gdwarf-5. Handle dw_val_class_loclistsptr.
- (output_loc_list): Handle DWARF 5 .debug_loclists* format.
- (output_loc_list_offset): Handle -gsplit-dwarf -gdwarf-5
- DW_FORM_loclistx indexes.
- (output_attr_index_or_value): Fix up formatting. Don't handle
- dw_val_class_loc_list here.
- (output_die): Formatting fixes. Handle dw_val_class_loclistsptr.
- For dw_val_class_loc_list call output_loc_list_offset rather than
- output_attr_index_or_value.
- (init_sections_and_labels): For -gdwarf-5 use .debug_loclists
- or .debug_loclists.dwo section name for debug_loc_section.
- (resolve_addr_in_expr): Formatting fix.
- (index_location_lists): Likewise.
- (dwarf2out_finish): If there are any location lists, for
- -gsplit-dwarf -gdwarf-5 add DW_AT_loclists_base attribute. Call
- index_location_lists only if have_location_lists. Call
- assign_location_list_indexes for -gsplit-dwarf -gdwarf-5. Emit
- .debug_loclists{,.dwo} section header for -gdwarf-5, for -gdwarf-5
- -gsplit-dwarf also emit offset table.
-
- * dwarf2out.c (DWARF_LARGEST_DATA_FORM_BITS): Define.
- (size_of_die, value_format, output_die): Use
- DW_FORM_data16 for 128-bit dw_val_class_const_double or
- dw_val_class_wide_int.
-
- * dwarf2out.c (dwarf_op): Renamed to ...
- (dwarf_OP): ... this.
- (convert_descriptor_to_mode, scompare_loc_descriptor,
- minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
- implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr): Adjust
- callers.
- (dwarf_AT, dwarf_TAG): New functions.
- (check_die): Disallow DW_AT_call_all_calls next to
- DW_AT_GNU_all_call_sites.
- (gen_call_site_die): Use dwarf_TAG and dwarf_AT with DWARF 5 tag
- and attributes instead of the corresponding GNU tag and attributes.
- (gen_subprogram_die): Likewise. Emit call site information even
- for -gdwarf-5 -gstrict-dwarf. Replace DW_AT_GNU_defaulted with
- DW_AT_defaulted in comment.
- (resolve_addr): Handle DW_AT_call_origin attribute on
- DW_TAG_call_site DIE like DW_AT_abstract_origin on
- DW_TAG_GNU_call_site DIE.
-
- * dwarf2out.c (dwarf_op): New function.
- (size_of_loc_descr): Handle DW_OP_{implicit_pointer,entry_value},
- DW_OP_{const,regval,deref}_type and DW_OP_{convert,reinterpret}.
- (output_loc_operands, output_loc_operands_raw): Likewise.
- (resolve_args_picking_1, prune_unused_types_walk_loc_descr,
- mark_base_types, hash_loc_operands, compare_loc_operands): Likewise.
- (resolve_addr_in_expr): Likewise. Only punt for !dwarf_strict
- if dwarf_version < 5.
- (convert_descriptor_to_mode): Use dwarf_op (DW_OP_xxx) instead of
- DW_OP_GNU_xxx.
- (scompare_loc_descriptor, ucompare_loc_descriptor,
- minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
- implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr,
- optimize_location_into_implicit_ptr): Likewise. Only punt for
- !dwarf_strict if dwarf_version < 5.
- (string_cst_pool_decl): Adjust comment.
- (non_dwarf_expression): Handle DW_OP_implicit_pointer.
-
- * dwarf2out.h (enum dw_val_class): Add dw_val_class_const_implicit,
- dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
- (struct dw_val_node): Add val_file_implicit field.
- * dwarf2out.c (dw_val_equal_p, print_dw_val, attr_checksum,
- attr_checksum_ordered, same_dw_val_p, size_of_die, value_format,
- output_die): Handle dw_val_class_const_implicit,
- dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
- (abbrev_die_table): Change into va_gc vec.
- (abbrev_die_table_allocated, abbrev_die_table_in_use,
- ABBREV_DIE_TABLE_INCREMENT): Remove.
- (AT_int, AT_unsigned, AT_file): Allow dw_val_class_*_implicit.
- (abbrev_opt_start, abbrev_usage_count, sorted_abbrev_dies): New
- variables.
- (build_abbrev_table): Adjust for abbrev_die_table being a va_gc vec.
- If abbrev_opt_start, fill in abbrev_usage_count and abbrev_dies
- vectors.
- (die_abbrev_cmp, optimize_implicit_const, optimize_abbrev_table): New
- functions.
- (output_die_abbrevs): For DW_FORM_implicit_const emit sleb128 with
- the implicit value.
- (output_abbrev_section): Adjust for abbrev_die_table being a va_gc
- vec.
- (output_comp_unit): Initialize abbrev_opt_start if emitting the main
- unit. Call optimize_abbrev_table.
- (dwarf2out_init, dwarf2out_finish, dwarf2out_c_finalize): Adjust for
- abbrev_die_table being a va_gc vec.
-
- PR tree-optimization/77860
- * tree-ssa-reassoc.c (eliminate_using_constants): Handle
- also integral complex and vector constants.
-
- * dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op,
- optimize_macinfo_range, save_macinfo_strings): Replace
- DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
- (output_macinfo): Likewise. Emit .debug_macro* rather than
- .debug_macinfo* even for -gstrict-dwarf -gdwarf-5.
- (init_sections_and_labels): Use .debug_macro* labels rather than
- .debug_macinfo* labels even for -gstrict-dwarf -gdwarf-5.
- (dwarf2out_finish): Use DW_AT_macros instead of DW_AT_macro_info
- or DW_AT_GNU_macros for -gdwarf-5.
-
-2016-10-31 Waldemar Brodkorb <wbx@openadk.org>
-
- * config/microblaze/linux.h (UCLIBC_DYNAMIC_LINKER): Define.
-
-2016-09-11 Le-Chun Wu <lcwu@google.com>
- Mark Wielaard <mjw@redhat.com>
-
- * common.opt (Wshadow=global): New option. Default for -Wshadow.
- (Wshadow=local): New option.
- (Wshadow-local): Hidden alias for -Wshadow=local.
- (Wshadow=compatible-local): New option.
- (Wshadow-compatible-local): Hidden alias for
- -Wshadow=compatible-local.
- * doc/invoke.texi: Document Wshadow=global, Wshadow=local and
- Wshadow=compatible-local.
-
-2016-10-31 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
- Check slp defs for COND_EXPR by swapping/inverting operands if the
- new parameter SWAP indicates so.
- (vect_build_slp_tree_1): New parameter SWAP. Check COND_EXPR stmt
- is isomorphic to the first stmt via swapping/inverting. Store swap
- information in the new parameter SWAP.
- (vect_build_slp_tree): New local array SWAP and pass it to function
- vect_build_slp_tree_1. Cleanup result handling code for function
- call to vect_get_and_check_slp_defs. Skip operand swapping if the
- order of operands has been fixed as indicated by SWAP[i].
-
-2016-10-31 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
- unnecessary data dependence check after visited store stmt.
-
-2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/71915
- PR tree-optimization/71490
- * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add
- stride_type field.
- (find_basis_for_base_expr): Require stride types to match when
- seeking a basis.
- (alloc_cand_and_find_basis): Record the stride type.
- (slsr_process_phi): Pass stride type to alloc_cand_and_find_basis.
- (backtrace_base_for_ref): Pass types to legal_cast_p_1 rather than
- the expressions having those types.
- (slsr_process_ref): Pass stride type to alloc_cand_and_find_basis.
- (create_mul_ssa_cand): Likewise.
- (create_mul_imm_cand): Likewise.
- (create_add_ssa_cand): Likewise.
- (create_add_imm_cand): Likewise.
- (legal_cast_p_1): Change interface to accept types rather than the
- expressions having those types.
- (legal_cast_p): Pass types to legal_cast_p_1.
- (slsr_process_cast): Pass stride type to
- alloc_cand_and_find_basis.
- (slsr_process_copy): Likewise.
- (dump_candidate): Display stride type when a cast exists.
- (create_add_on_incoming_edge): Introduce a cast when necessary for
- the stride type.
- (analyze_increments): Change the code checking for invalid casts
- to rely on the stride type, and update the documentation and
- example. Change the code checking for pointer multiplies to rely
- on the stride type.
- (insert_initializers): Introduce a cast when necessary for the
- stride type. Use the stride type for the type of the initializer.
-
-2016-10-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * config/arm/arm.c (arm_const_not_ok_for_debug_p): Use VAR_P.
-
-2016-10-29 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/77919
- * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
- into memory if both modes are complex and their inner modes have the
- same precision. If the two modes are different complex modes, convert
- each part separately and generate a new CONCAT.
-
-2016-10-29 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa64-hpux.h (FINI_SECTION_ASM_OP): Define to null string.
-
-2016-10-29 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78148
- * gimple-ssa-store-merging.c
- (imm_store_chain_info::output_merged_store): Use build_aligned_type
- instead of SET_TYPE_ALIGN on shared integral type.
-
-2016-10-29 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
- (MALLOC_ABI_ALIGNMENT): Define to 128 on all targets except SOM.
- Adjust comment.
-
-2016-10-28 Jeff Law <law@redhat.com>
-
- * config/vax/vax.h (REGNO_REG_CLASS): Access the REGNO argument.
- * config/spu/spu.h (REGNO_REG_CLASS): Likewise.
-
-2016-10-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/sourcebuild.texi (Ada Tests): Remove mention of gcc chapter.
-
-2016-10-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * target.def (min_arithmetic_precision): New hook.
- * doc/tm.texi.in (Misc): Add TARGET_MIN_ARITHMETIC_PRECISION.
- * doc/tm.texi: Regenerate.
- * internal-fn.c (expand_arith_overflow): Adjust handling of target
- dependent support by means of TARGET_MIN_ARITHMETIC_PRECISION.
- * targhooks.c (default_min_arithmetic_precision): New function.
- * targhooks.h (default_min_arithmetic_precision): Declare.
- * config/sparc/sparc.c (TARGET_MIN_ARITHMETIC_PRECISION): Define.
- (sparc_min_arithmetic_precision): New function.
-
-2016-10-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/71847
- * combine.c (change_zero_ext): Handle zero_ext of hard registers.
- Swap commutative operands in new RTL if needed. Handle zero_ext
- in the set_dest.
- (recog_for_combine): Pass *pnewpat to change_zero_ext instead of
- PATTERN (insn).
-
-2016-10-28 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
- Kugan Vivekanandarajah <kuganv@linaro.org>
- Jim Wilson <jim.wilson@linaro.org>
-
- PR tree-optimization/43721
- * target.def: New hook expand_divmod_libfunc.
- * doc/tm.texi.in: Add hook for TARGET_EXPAND_DIVMOD_LIBFUNC.
- * doc/tm.texi: Regenerate.
- * internal-fn.def: Add new entry for DIVMOD ifn.
- * internal-fn.c (expand_DIVMOD): New.
- * tree-ssa-math-opts.c: Include optabs-libfuncs.h, tree-eh.h,
- targhooks.h.
- (widen_mul_stats): Add new field divmod_calls_inserted.
- (target_supports_divmod_p): New.
- (divmod_candidate_p): Likewise.
- (convert_to_divmod): Likewise.
- (pass_optimize_widening_mul::execute): Call calculate_dominance_info,
- renumber_gimple_stmt_uids at beginning of function. Call
- convert_to_divmod and record stats for divmod.
- * config/arm/arm.c (arm_expand_divmod_libfunc): Override hook
- TARGET_EXPAND_DIVMOD_LIBFUNC.
- * doc/sourcebuild.texi: Add items for arm_divmod_simode, divmod,
- divmod_simode.
-
-2016-10-28 Eric Botcazou <ebotcazou@adacore.com>
- Segher Boessenkool <segher@kernel.crashing.org>
-
- * dojump.c (do_jump_by_parts_greater_rtx): Invert probability when
- swapping the arms of the branch.
- * internal-fn.c (expand_addsub_overflow): Use a straight-line code
- sequence for the generic signed-signed-signed case.
-
-2016-10-28 Jeff Law <law@redhat.com>
-
- * config/bfin/bfin.c (bfin_legitimate_address_p): Add missing
- fallthru comment.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
-
-2016-10-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/78029
- * function.c (prologue_contains, epilogue_contains): New functions.
- (record_prologue_seq, record_epilogue_seq): New functions.
- * function.h (prologue_contains, epilogue_contains,
- record_prologue_seq, record_epilogue_seq): New declarations.
- * sched-deps.c (sched_analyze_insn): Make dependencies to prevent
- mixing prologue and epilogue insns.
- (init_deps): Initialize the new fields in struct deps_desc.
- * sched-int.h (struct deps_desc): New fields last_prologue,
- last_epilogue, and last_logue_was_epilogue.
- * shrink-wrap.c (emit_common_heads_for_components): Record all
- emitted prologue and epilogue insns.
- (emit_common_tails_for_components): Ditto.
- (insert_prologue_epilogue_for_components): Ditto.
-
-2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/22141
- * Makefile.in (OBJS): Add gimple-ssa-store-merging.o.
- * common.opt (fstore-merging): New Optimization option.
- * opts.c (default_options_table): Add entry for
- OPT_ftree_store_merging.
- * fold-const.h (can_native_encode_type_p): Declare prototype.
- * fold-const.c (can_native_encode_type_p): Define.
- * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define.
- (PARAM_MAX_STORES_TO_MERGE): Likewise.
- * timevar.def (TV_GIMPLE_STORE_MERGING): New timevar.
- * passes.def: Insert pass_tree_store_merging.
- * tree-pass.h (make_pass_store_merging): Declare extern
- prototype.
- * gimple-ssa-store-merging.c: New file.
- * doc/invoke.texi (Optimization Options): Document
- -fstore-merging.
- (--param documentation): Document store-merging-allow-unaligned
- and max-stores-to-merge.
-
-2016-10-28 Will Schmidt <will_schmidt@vnet.ibm.com>
-
- PR middle-end/72747
- * gimplify.c (gimplify_init_constructor): Move emit of constructor
- assignment to earlier in the if/else logic.
-
-2016-10-28 Richard Biener <rguenther@suse.de>
-
- PR middle-end/78128
- PR middle-end/71002
- * fold-const.c (make_bit_field_ref): Only adjust alias set
- when the original alias set was zero.
-
-2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_adjust_loop_scan_osc): New function.
- (s390_adjust_loops): New function.
- (s390_reorg): Invoke s390_adjust_loops.
- * config/s390/s390.md (UNSPEC_OSC_BREAK): New constant.
- ("osc_break"): New insn definition.
-
-2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.opt: Support alternate cpu level naming (archXX).
- * config.gcc: Support alternate archXX cpu levels with
- --with-arch= and --with-tune=.
- * config/s390/linux.h: Translate new archXX cpu levels to the
- original names when calling GAS.
- * config/s390/tpf.h: Likewise.
- * doc/invoke.texi: Document the alternate cpu level names.
-
-2016-10-28 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/77919
- * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
- MEM if mode1 is not a complex mode.
-
- PR rtl-optimization/78132
- * ree.c (combine_reaching_defs): Give up if copy_needed and
- !HARD_REGNO_MODE_OK (REGNO (src_reg), dst_mode).
-
-2016-10-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (<*vlop:code><VL:mode>3): Remove leading '*'.
-
-2016-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (wH constraint): Add new
- constraints for allowing 32-bit integers (and eventually 8/16-bit
- integers) into the vector registers.
- (wI constraint): Likewise.
- (wJ constraint): Likewise.
- (wK constraint): Likewise.
- * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
- -mvsx-small-integer as a default option for ISA 2.07
- (i.e. power8).
- (POWERPC_MASKS): Likewise.
- * config/rs6000/rs6000.opt (-mvsx-small-integer): Add new debug
- switch to turn off small integer support in vector registers.
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Eliminate
- test for -mupper-regs-di, since it is already done with the
- reg_add[mode].scalar_in_vsx_p. Add support for the switch
- -mvsx-small-integer.
- (rs6000_debug_reg_global): Add support for wH, wI, wJ, and wK
- constraints.
- (rs6000_setup_reg_addr_masks): Likewise.
- (rs6000_init_hard_regno_mode_ok): Likewise.
- (rs6000_option_override_internal): Add consistency checks for
- -mvsx-small-integer.
- (rs6000_secondary_reload_simple_move): SImode is a simple move if
- -mvsx-small-integer.
- (rs6000_secondary_reload): Use std::swap.
- (rs6000_preferred_reload_class): Don't prefer FLOAT_REGS over
- VSX_REGS for small integers in vector registers, since there is no
- D-FORM address mode for such types.
- (rs6000_register_move_cost): Use FIRST_FPR_REGNO instead of 32.
- (rs6000_opt_masks): Add -mvsx-small-integer.
- * config/rs6000/vsx.md (VSINT_84): Add SImode for small integer
- support.
- (VSX_EXTRACT_I2): Clone VSX_EXTRACT_I, but drop V4SI since SImode
- extracts can be done on ISA 2.07.
- (vsx_extract_<mode>): Add support for small integers in vsx
- registers.
- (vsx_extract_<mode>_p9): Use 'v' instead of VSX_EX, since we no
- longer support V4SImode in this pattern.
- (vsx_extract_si): New insn to support extraction of SImode in ISA
- 2.07 using either xxextractuw or vspltw.
- (vsx_extract_<mode>_p8): Use 'v' instead of VSX_EX, since we no
- longer support V4SImode in this pattern.
- * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wH, wI,
- wJ, and wK constraints.
- * config/rs6000/rs6000.md (f32_sv): Use correct instruction for
- storing SDmode with VSX instructions.
- (zero_extendsi<mode>2): Reorder pattern, so RLDICL comes after the
- GPR load and before the FPR and VSX loads. Remove ??, ! from the
- constraints. Add MFVSRWZ and XXEXTRACTUW instructions to support
- small integers in vector registers.
- (extendsi<mode>2): Reorder pattern, so EXTSW comes after the GPR
- load and before the FPR and VSX loads. Remove ??, ! from the
- constraints. Add VEXTSW2D support for small integers in vector
- registers.
- (lfiwax): Remove ! constraint. Add VEXTSW2D support for small
- integers in vector registers.
- (floatsi<mode>2_lfiwax): If -mvsx-small-integer issue a normal
- move instead of using an UNSPEC.
- (lfiwzx): Remove ! constraint. Add XXEXTRACTUW support for small
- integers in vector registers.
- (floatunssi<mode>2_lfiwzx): If -mvsx-small-integer issue a normal
- move instead of using an UNSPEC.
- (movsi_internal1): Add support for -mvsx-small-integer. Align
- columns so that it is more readable.
- (SImode splitter for ISA 3.0 constants): Add splitter for
- -128..127 constants that can easily be constructed on ISA 3.0.
- * doc/md.texi (PowerPC Constraints): Document wH, wI, wJ, and wK
- constraints.
-
-2016-10-27 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/78025
- * omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd
- functions.
-
-2016-10-27 Aldy Hernandez <aldyh@redhat.com>
-
- * builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating
- PIC_OFFSET_TABLE_REGNUM twice.
-
-2016-10-27 Bin Cheng <bin.cheng@arm.com>
-
- * match.pd ((convert (op:s (convert@2 @0) (convert?@3 @1)))): Add
- support for constant operand for OP.
-
-2016-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (gen_member_die): Only reparent_child instead of
- splice_child_die if child doesn't have DW_AT_specification attribute.
-
-2016-10-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_HAVE_LDREX): Define for ARMv8-M Baseline.
- (TARGET_HAVE_LDREXBH): Likewise.
- (TARGET_HAVE_LDACQ): Likewise.
-
-2016-10-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (arm_split_atomic_op): Add function comment. Add
- logic to to decide whether to copy over old value to register for new
- value.
- * config/arm/sync.md: Add comments explaning why mode and code
- attribute are not defined in iterators.md
- (thumb1_atomic_op_str): New code attribute.
- (thumb1_atomic_newop_str): Likewise.
- (thumb1_atomic_fetch_op_str): Likewise.
- (thumb1_atomic_fetch_newop_str): Likewise.
- (thumb1_atomic_fetch_oldop_str): Likewise.
- (atomic_exchange<mode>): Add new ARMv8-M Baseline only alternatives to
- mirror the more restrictive constraints of the Thumb-1 insns after
- split compared to Thumb-2 counterpart insns.
- (atomic_<sync_optab><mode>): Likewise. Add comment to keep constraints
- in sync with non atomic version.
- (atomic_nand<mode>): Likewise.
- (atomic_fetch_<sync_optab><mode>): Likewise.
- (atomic_fetch_nand<mode>): Likewise.
- (atomic_<sync_optab>_fetch<mode>): Likewise.
- (atomic_nand_fetch<mode>): Likewise.
- * config/arm/thumb1.md (thumb1_addsi3): Add comment to keep contraint
- in sync with atomic version.
- (thumb1_subsi3_insn): Likewise.
- (thumb1_andsi3_insn): Likewise.
- (thumb1_iorsi3_insn): Likewise.
- (thumb1_xorsi3_insn): Likewise.
-
-2016-10-27 Nick Clifton <nickc@redhat.com>
-
- * plugin.c (register_plugin_info): Produce an error message if the
- plugin is not found in the hash table.
-
-2016-10-27 Bin Cheng <bin.cheng@arm.com>
-
- * match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
- New pattern.
-
-2016-10-26 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- PR target/78056
- * config/rs6000/rs6000.c (spe_init_builtins): Modify loops to not
- define builtin functions from the bdesc_spe_predicates or
- bdesc_spe_evsel arrays if the builtin mask is not compatible with
- the current compiler configuration.
- (paired_init_builtins): Modify loop to not define define builtin
- functions from the bdesc_paried_preds array if the builtin mask is
- not compatible with the current compiler configuration.
- (altivec_init_builtins): Modify loops to not define the
- __builtin_altivec_stxvl function nor the builtin functions from
- the bdesc_dst or bdesc_altivec_preds, or bdesc_abs arrays if the
- builtin mask is not compatible with the current compiler
- configuration.
-
-2016-10-26 Jeff Law <law@redhat.com>
-
- * config/sh/sh.c (output_branch): Add missing fallthru comments.
- (gen_shl_and): Likewise.
- * config/sh/sh.md (movsicc): Add missing fallthru comments.
-
- * config/mips/mips.c (mips16_constant_cost): Add missing
- fallthru comments.
- (mips16_build_call_stub): Increase buffer size. Adjust
- fallthru comment.
-
-2016-10-26 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl.c (rtx_writer::print_rtx_operand_code_u): Print
- INSN_UIDs for all insns in compact mode.
- (rtx_writer::print_rtx): Likewise.
- * print-rtl.h (rtx_writer::flag_compact): Update comment.
- * rtl-tests.c (selftest::test_dumping_insns): Update expected
- output to include INSN_UID.
- (selftest::test_uncond_jump): Likewise.
-
-2016-10-26 Pat Haugen <pthaugen@us.ibm.com>
-
- * haifa-sched.c (call_used_regs_num): Rename to...
- (call_saved_regs_num): ...this.
- (fixed_regs_num): New variable.
- (sched_pressure_start_bb): Subtract out fixed_regs. Scale call_saved
- regs not call_used.
- (alloc_global_sched_pressure_data): Compute call_saved and fixed regs.
-
-2016-10-26 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl-function.c (print_rtx_function): Rewrite in terms of
- class rtx_writer.
- * print-rtl.c (outfile): Delete global.
- (sawclose): Likewise.
- (indent): Likewise.
- (in_call_function_usage): Likewise.
- (flag_compact): Likewise.
- (flag_simple): Likewise.
- (rtx_writer::rtx_writer): New ctor.
- (print_rtx_operand_code_0): Convert to...
- (rtx_writer::print_rtx_operand_code_0): ...this.
- (print_rtx_operand_code_e): Convert to...
- (rtx_writer::print_rtx_operand_code_e): ...this.
- (print_rtx_operand_codes_E_and_V): Convert to...
- (rtx_writer::print_rtx_operand_codes_E_and_V): ...this.
- (print_rtx_operand_code_i): Convert to...
- (rtx_writer::print_rtx_operand_code_i): ...this.
- (print_rtx_operand_code_r): Convert to...
- (rtx_writer::print_rtx_operand_code_r): ...this.
- (print_rtx_operand_code_u): Convert to...
- (rtx_writer::print_rtx_operand_code_u): ...this.
- (print_rtx_operand): Convert to...
- (rtx_writer::print_rtx_operand): ...this.
- (print_rtx): Convert to...
- (rtx_writer::print_rtx): ...this.
- (print_inline_rtx): Rewrite in terms of class rtx_writer.
- (debug_rtx): Likewise.
- (print_rtl): Convert to...
- (rtx_writer::print_rtl): ...this.
- (print_rtl): Reimplement in terms of class rtx_writer.
- (print_rtl_single): Rewrite in terms of class rtx_writer.
- (print_rtl_single_with_indent): Convert to..
- (rtx_writer::print_rtl_single_with_indent): ...this.
- (print_simple_rtl): Rewrite in terms of class rtx_writer.
- * print-rtl.h (flag_compact): Delete decl.
- (class rtx_writer): New class.
- * rtl-tests.c (selftest::assert_rtl_dump_eq): Rewrite in terms of
- class rtx_writer.
-
-2016-10-26 Jeff Law <law@redhat.com>
-
- * config/microblaze/microblaze.c (tls_mentioned_p): Avoid
- fallthru.
-
- * config/arc/arc.c (acr_print_operand): Adjust fallthru comment.
- (check_if_valid_sleep_operand): Add missing fallthru comment.
- (arc_register_move_cost): Increase buffer size.
- * config/arc/arc.md (cbranch4si_scratch): Add missing fallthru
- comment.
- * config/arc/predicates.md (move_str_operand): Avoid fallthru.
-
- * config/cr16/cr16.c (cr16_print_operand): Add missing fallthru
- comment. Add gcc_unreachable for path that should never happen.
-
- * config/epiphany/epiphany.c (epiphany_print_operand): Adjust
- fallthru comment.
-
-2016-10-26 Jakub Jelinek <jakub@redhat.com>
- Martin Liska <mliska@suse.cz>
-
- PR fortran/77973
- * gimplify.c (gimplify_adjust_omp_clauses_1): For all added map
- clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable
- on outer context if any.
-
-2016-10-26 Jakub Jelinek <jakub@redhat.com>
-
- * gen-pass-instances.awk (adjust_linenos): Increment pass_lines[p]
- by increment rather than double it.
- (insert_remove_pass): Strip leading whitespace from args[3]. Don't
- emit a space before args[4].
- (END): Don't emit a space before with_arg.
-
-2016-10-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/sync.md (atomic_compare_and_swap<mode>_1): Add new ARMv8-M
- Baseline only alternatives to (i) hold store atomic success value in a
- return register rather than a scratch register, (ii) use a low register
- for it and to (iii) ensure the cbranchsi insn generated by the split
- respect the constraints of Thumb-1 cbranchsi4_insn and
- cbranchsi4_scratch.
- * config/arm/thumb1.md (cbranchsi4_insn): Add comment to indicate
- constraints must match those in atomic_compare_and_swap.
- (cbranchsi4_scratch): Likewise.
-
-2016-10-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (arm_expand_compare_and_swap): Add new bdst local
- variable. Add the new parameter to the insn generator. Set that
- parameter to be CC flag for 32-bit targets, bval otherwise. Set the
- return value from the negation of that parameter for Thumb-1, keeping
- the logic unchanged otherwise except for using bdst as the destination
- register of the compare_and_swap insn.
- (arm_split_compare_and_swap): Add explanation about how is the value
- returned to the function comment. Rename scratch variable to
- neg_bval. Adapt initialization of variables holding operands to the
- new operand numbers. Use return register to hold result of store
- exclusive for Thumb-1, scratch register otherwise. Construct the
- appropriate cbranch for Thumb-1 targets, keeping the logic unchanged
- for 32-bit targets. Guard Z flag setting to restrict to 32bit targets.
- Use gen_cbranchsi4 rather than hand-written conditional branch to loop
- for strongly ordered compare_and_swap.
- * config/arm/predicates.md (cc_register_operand): New predicate.
- * config/arm/sync.md (atomic_compare_and_swap<mode>_1): Use a
- match_operand with the new predicate to accept either the CC flag or a
- destination register for the boolean return value, restricting it to
- CC flag only via constraint. Adapt operand numbers accordingly.
-
-2016-10-26 Jeff Law <law@redhat.com>
-
- * config/fr30/fr30.c (fr30_print_operand): Adjust fallthru comment.
-
- * config/frv/frv.c (comparison_string): Do not fall through after
- an error.
-
- * config/iq2000/iq2000.c (iq2000_function_arg): Adjust fallthru
- comment.
- (expand_one_builtin): Add missing break.
-
- * config/m32c/m32c.c (encode_pattern_1): Add fallthru comment.
- (m32c_legitimate_address_p): Likewise.
-
- * config/m32r/m32r.c (m32r_print_operand): Adjust fallthru comment.
-
- * config/mcore/mcore.c (mcore_gen_compare): Adjust fallthru comments.
-
- * config/microblaze/microblaze.c (microblaze_function_arg): Adjust
- fallthru comment.
-
- * config/msp430/msp430.c (msp430_legitimate_address_p): Adjust
- fallthru comment.
-
- * config/nios2/nios2.c (nios2_rtx_costs): Avoid fallthru.
-
- * config/rl78/rl78.c (rl78_calculate_death_notes): Add fallthru
- comment.
- (rl78_asm_ctor_dtor): Increase buffer size.
-
- * config/stormy16/stormy16.c (xstormy16_asm_output_destrutor): Increase
- buffer size.
- (xstormy16_asm_output_constructor): Likewise.
-
- * config/pa/pa.c (pa_asm_output_mi_thunk): Increase buffer
- size.
-
- * config/h8300/h8300.c (h8300_print_operand): Adjust FALLTHRU
- comment to silence warning.
-
- * config/spu/spu.c (spu_sched_reorder): Add missing fallthru comment.
- (spu_legitimate_address_p): Fix logic error and add missing fallthru
- comment.
-
-2016-10-26 Michael Matz <matz@suse.de>
-
- PR tree-optimization/78060
- PR tree-optimization/78061
- PR tree-optimization/78088
- * tree-ssa-loop-split.c (easy_exit_values): New function.
- (tree_ssa_split_loops): Use it.
- (compute_new_first_bound): Change order of operations,
- fix invalid use of types.
-
-2016-10-26 Georg-Johann Lay <avr@gjlay.de>
-
- gen-pass-instances.awk is sensitive to the order in which
- passes are added; passes that appear later have to be added first.
-
- PR target/71676
- PR target/71678
- * config/avr/avr-passes.def: Swap order of directives for
- gen-pass-instances.awk.
-
-2016-10-25 Jeff Law <law@redhat.com>
-
- * config/vax/vax.c (vad_address_cost_1): Add missing FALLTHRU comment.
- (vax_notice_update_cc): Likewise.
-
-2016-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * config.gcc (sparc*-*-solaris2*): Adjust.
- (sparc64-*-linux*): Likewise.
- * config/sparc/default-64.h: Rename to...
- * config/sparc/default64.h: ...this.
- * config/sparc/sparc.c (sparc_option_override): Replace TARGET_64BIT
- with TARGET_ARCH64.
- (sparc_mangle_type): Replace !TARGET_64BIT with TARGET_ARCH32.
- * config/sparc/sparc.h: Minor tweaks.
- * config/sparc/sparc.md: Replace !TARGET_64BIT and !TARGET_ARCH64 with
- TARGET_ARCH32 throughout. Minor various tweaks throughout.
-
-2016-10-25 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (fcache::file_patch): Add comment about lifetime.
- (selftest::cpp_reader_ptr): New class.
- (selftest::lexer_test): Convert m_parser from cpp_reader *
- to a cpp_reader_ptr, and move m_tempfile to after it.
- (selftest::lexer_test::lexer_test): Update for above reordering.
- (lexer_test::~lexer_test): Move cleanup of m_parser to
- cpp_reader_ptr's dtor.
-
-2016-10-25 David Malcolm <dmalcolm@redhat.com>
-
- * toplev.c (toplev::main): Remove call to
- location_adhoc_data_fini.
-
-2016-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.
- * tree.c (int_fits_type_p): Likewise. Adjust head comment.
-
-2016-10-25 David Malcolm <dmalcolm@redhat.com>
-
- * ggc-tests.c (forcibly_ggc_collect): Rename to...
- (selftest::forcibly_ggc_collect): ...this, and remove "static".
- (test_basic_struct): Update for above renaming.
- (test_length): Likewise.
- (test_union): Likewise.
- (test_finalization): Likewise.
- (test_deletable_global): Likewise.
- (test_inheritance): Likewise.
- (test_chain_next): Likewise.
- (test_user_struct): Likewise.
- (test_tree_marking): Likewise.
- * selftest-run-tests.c (selftest::run_tests): Call
- selftest::forcibly_ggc_collect at the end of the selftests.
- * selftest.h (selftest::forcibly_ggc_collect): New decl.
-
-2016-10-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/78102
- * optabs.def (vcondeq_optab, vec_cmpeq_optab): New optabs.
- * optabs.c (expand_vec_cond_expr): For comparison codes
- EQ_EXPR and NE_EXPR, attempt vcondeq_optab as fallback.
- (expand_vec_cmp_expr): For comparison codes
- EQ_EXPR and NE_EXPR, attempt vec_cmpeq_optab as fallback.
- * optabs-tree.h (expand_vec_cmp_expr_p, expand_vec_cond_expr_p):
- Add enum tree_code argument.
- * optabs-query.h (get_vec_cmp_eq_icode, get_vcond_eq_icode): New
- inline functions.
- * optabs-tree.c (expand_vec_cmp_expr_p): Add CODE argument. For
- CODE EQ_EXPR or NE_EXPR, attempt to use vec_cmpeq_optab as
- fallback.
- (expand_vec_cond_expr_p): Add CODE argument. For CODE EQ_EXPR or
- NE_EXPR, attempt to use vcondeq_optab as fallback.
- * tree-vect-generic.c (expand_vector_comparison,
- expand_vector_divmod, expand_vector_condition): Adjust
- expand_vec_cmp_expr_p and expand_vec_cond_expr_p callers.
- * tree-vect-stmts.c (vectorizable_condition,
- vectorizable_comparison): Likewise.
- * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern,
- check_bool_pattern, search_type_for_mask_1): Likewise.
- * expr.c (do_store_flag): Likewise.
- * doc/md.texi (@code{vec_cmpeq@var{m}@var{n}},
- @code{vcondeq@var{m}@var{n}}): Document.
- * config/i386/sse.md (vec_cmpeqv2div2di, vcondeq<VI8F_128:mode>v2di):
- New expanders.
-
-2016-10-25 Jeff Law <law@redhat.com>
-
- * config/v850/v850.c (v850_handle_data_area_attribute): Fix fallthru
- comment.
- (v850_output_aligned_bss): Add missing break.
-
- * config/m68k/m68k.c (m68k_get_reloc_decoration): Add gcc_unreachable.
-
-2016-10-25 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/78106
- * sanopt.c (imm_dom_path_with_freeing_call): Handle gasm
- statements as they can also contain possibly a freeing call.
-
-2016-10-25 H.J. Lu <hongjiu.lu@intel.com>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/78099
- * common.opt: Mark flag_ipa_icf_variables as Optimization flag.
- * ipa-icf.c (sem_function::get_hash): Add target optimization
- node to hash.
-
-2016-10-25 Wilco Dijkstra <wdijkstr@arm.com>
-
- PR target/78041
- * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
- Remove partial overlap check for shift by 1.
- (ashldi3_neon): Likewise.
-
-2016-10-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/constraints.md (Q constraint): Document its use for
- Thumb-1.
- (Pf constraint): New constraint for relaxed, consume or relaxed memory
- models.
- * config/arm/sync.md (atomic_load<mode>): Add new ARMv8-M Baseline only
- alternatives to allow any register when memory model matches Pf and
- thus lda is used, but only low registers otherwise. Use unpredicated
- output template for Thumb-1 targets.
- (atomic_store<mode>): Likewise for stl.
- (arm_load_exclusive<mode>): Add new ARMv8-M Baseline only alternative
- whose output template does not have predication.
- (arm_load_acquire_exclusive<mode>): Likewise.
- (arm_load_exclusivesi): Likewise.
- (arm_load_acquire_exclusivesi): Likewise.
- (arm_store_release_exclusive<mode>): Likewise.
- (arm_store_exclusive<mode>): Use unpredicated output template for
- Thumb-1 targets.
-
-2016-10-25 Jakub Jelinek <jakub@redhat.com>
-
- * internal-fn.def (LAUNDER): New internal function.
- * internal-fn.c (expand_LAUNDER): New function.
-
-2016-10-25 Georg-Johann Lay <avr@gjlay.de>
- Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com>
-
- New avr target pass to work around performance loss by PR fix.
-
- PR target/71676
- PR target/71678
- * config/avr/avr.md (casesi_<mode>_sequence) [qi,hi]: New insn.
- (*cmp<mode>) [qi,qq,uqq,hi,hq,uhq,ha,uha]: Rename to cmp<mode>3.
- * config/avr/predicates.md (extend_operator): New.
- * config/avr/avr-passes.def (avr_pass_casesi): Register new pass.
- * config/avr/avr-protos.h (avr_casei_sequence_check_operands)
- (make_avr_pass_casesi): New prototypes.
- * config/avr/avr.c (print-rtl.h): Include it.
- (pass_data avr_pass_data_casesi): Data for new pass.
- (avr_pass_casesi): New class implementing rtl_opt_pass .avr-casesi.
- (make_avr_pass_casesi, avr_parallel_insn_from_insns)
- (avr_is_casesi_sequence, avr_casei_sequence_check_operands)
- (avr_optimize_casesi): New functions.
-
-2016-10-25 Georg-Johann Lay <avr@gjlay.de>
- Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com>
-
- PR target/71676
- PR target/71678
- * config/avr/avr.md (casesi): Rewrite avoiding subregs of SI.
-
-2016-10-24 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or
- DW_AT_rvalue_reference attributes.
-
-2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * doc/invoke.text (Wint-in-bool-context): Update documentation.
- * value-prof.c (stringop_block_profile): Fix a warning.
-
-2016-10-24 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/77735
- * builtins.c (string_length): New function.
- (c_strlen): Use string_length. Correctly handle wide strings.
- * gimple-ssa-sprintf.c (target_max_value, target_size_max): New
- functions.
- (target_int_max): Call target_max_value.
- (format_result::knownrange): New data member.
- (fmtresult::fmtresult): Define default constructor.
- (format_integer): Use it and set format_result::knownrange.
- Handle global constants.
- (format_floating_max): Add third argument.
- (format_floating): Recompute maximum value for %a for each argument.
- (get_string_length): Use fmtresult default ctor.
- (format_string): Set format_result::knownrange.
- (format_directive): Check format_result::knownrange.
- (add_bytes): Same. Correct caret placement in diagnostics.
- (pass_sprintf_length::compute_format_length): Set
- format_result::knownrange.
- (pass_sprintf_length::handle_gimple_call): Use target_size_max.
-
-2016-10-24 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use
- VAR_P (x) instead of TREE_CODE (x) == VAR_DECL.
-
-2016-10-24 Ximin Luo <infinity0@pwned.gg>
-
- PR debug/77985
- * dwarf2out.c (file_table_relative_p): Remove.
- (gen_compile_unit_die, dwarf2out_early_finish): Emit DW_AT_comp_dir
- also for absolute paths.
- * doc/tm.texi: Update.
- * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Remove.
- * target.def (force_at_comp_dir): Remove hook.
- * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Remove define.
-
-2016-10-24 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore
- backedges when identifying the single predecessor to take
- conditional info from. Use SCEV to get at ranges for loop IVs.
- * lto-streamer-out.c (lto_write_mode_table): CSE inner mode to
- avoid false warning.
-
-2016-10-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/78093
- * doc/extend.texi (AVR Variable Attributes) [absdata]: Document it.
- * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro.
- (avr_address_tiny_absdata_p): New static function.
- (avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use
- it to determine validity of constant addresses.
- (avr_attribute_table) [absdata]: New variable attribute...
- (avr_handle_absdata_attribute): ...and handler.
- (avr_decl_absdata_p): New static function.
- (avr_encode_section_info) [AVR_TINY]: Use it to add flag
- AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs.
- (avr_address_cost) [AVR_TINY]: absdata addresses cost 2.
-
-2016-10-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78076
- * tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux
- also on the loop tree root.
-
-2016-10-24 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_fold_builtin): Handle
- IX86_BUILTIN_BEXTR{,I}{32,64}, IX86_BUILTIN_BZHI{32,64},
- IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
- (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_BZHI{32,64},
- IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
-
-2016-10-24 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/77966
- * opts.c (finish_options): Skip conditionally.
-
-2016-10-23 Martin Sebor <msebor@redhat.com>
-
- PR target/77837
- * config/rs6000/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define.
- * config/rs6000/linux64.h (TARGET_PRINTF_POINTER_FORMAT): Likewise.
-
-2016-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (cpu_feature): Minor tweak.
- (enabled): Likewise.
- (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn,
- movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64,
- sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64,
- mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis,
- <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2,
- fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise.
-
-2016-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT
- with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4.
-
-2016-10-21 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-cores.def: Rewrite so IMP and PART are
- integer constants.
- * config/aarch64/driver-aarch64.c (struct aarch64_core_data): Change
- implementer_id to unsigned char.
- Change part_no to unsigned int.
- (AARCH64_BIG_LITTLE): New define.
- (INVALID_IMP): New define.
- (INVALID_CORE): New define.
- (cpu_data): Change the last element's implementer_id and part_no to
- integers.
- (valid_bL_string_p): Rewrite to ..
- (valid_bL_core_p): this for integers instead of strings.
- (parse_field): New function.
- (contains_string_p): Rewrite to ...
- (contains_core_p): this for integers and only for the part_no.
- (host_detect_local_cpu): Rewrite handling of implementation and
- par num to be integers; simplifying the code.
-
-2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Create nonzero
- value range for pointers in more cases.
-
-2016-10-21 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_add_constant_internal):
- Add extra argument to allow emitting the move immediate.
- Use add/sub with positive immediate.
- (aarch64_add_constant): Add inline function.
- (aarch64_add_sp): Likewise.
- (aarch64_sub_sp): Likewise.
- (aarch64_expand_prologue): Call aarch64_sub_sp.
- (aarch64_expand_epilogue): Call aarch64_add_sp.
- Decide when to leave out move.
- (aarch64_output_mi_thunk): Call aarch64_add_constant.
-
-2016-10-21 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_layout_frame):
- Align FP callee-saves.
-
-2016-10-21 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/adxintrin.h (_subborrow_u32, _addcarry_u32,
- _addcarryx_u32, _subborrow_u64, _addcarry_u64, _addcarryx_u64):
- Formatting fixes.
- * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
- _rdseed64_step): Likewise.
- * config/i386/tbmintrin.h (__bextri_u32): Likewise.
-
- PR target/78057
- * config/i386/i386.c: Include fold-const-call.h, tree-vrp.h
- and tree-ssanames.h.
- (ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64}
- with INTEGER_CST argument.
- (ix86_gimple_fold_builtin): New function.
- (TARGET_GIMPLE_FOLD_BUILTIN): Define.
-
- * dwarf2out.c (ranges_table): Change into vec<dw_ranges, va_gc> *.
- (ranges_by_label): Change into vec<dw_ranges_by_label, va_gc> *.
- (ranges_table_allocated, ranges_table_in_use,
- ranges_by_label_allocated, ranges_by_label_in_use,
- RANGES_TABLE_INCREMENT): Removed.
- (add_ranges_num): Use vec_safe_push into ranges_table.
- (add_ranges_by_labels): Use vec_safe_push into ranges_by_label.
- (output_ranges): Adjust for ranges_table and ranges_by_label
- conversion from arrays to vec.
- (add_high_low_attributes, dwarf2out_finish): Adjust for range_table
- conversion from arrays to vec.
- (dwarf2out_c_finalize): Don't clear ranges_table_allocated,
- ranges_table_in_use, ranges_by_label_allocated and
- ranges_by_label_in_use. Set ranges_by_label to NULL instead of 0.
-
- * dwarf2out.c (gen_variable_die): Emit DW_AT_const_expr attribute
- if needed. Re-add origin_die variable and its initialization.
-
- * gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns
- even for -fstack-reuse=none, or for volatile vars etc.
-
-2016-10-21 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl-function.c (flag_compact): Move extern decl to...
- * print-rtl.h (flag_compact): ...here.
- * rtl-tests.c (selftests::assert_rtl_dump_eq): New function.
- (ASSERT_RTL_DUMP_EQ): New macro.
- (selftest::test_dumping_regs): New function.
- (selftest::test_dumping_insns): New function.
- (selftest::test_uncond_jump): Add uses of ASSERT_RTL_DUMP_EQ on
- the insns.
- (selftest::rtl_tests_c_tests): Call the new test functions.
-
-2016-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
- (outgoing_edges_match): Likewise.
- (try_crossjump_to_edge): Likewise.
- * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
- (rtl_tidy_fallthru_edge): Likewise.
- * rtl.h (tablejump_p): Adjust prototype.
- * rtlanal.c (tablejump_p): Return the label as a rtx_insn *.
-
-2016-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h (label_ref_label): New function.
- (set_label_ref_label): New function.
- (LABEL_REF_LABEL): Delete.
- * alias.c (rtx_equal_for_memref_p): Adjust.
- * cfgbuild.c (make_edges): Likewise.
- (purge_dead_tablejump_edges): Likewise.
- * cfgexpand.c (convert_debug_memory_address): Likewise.
- * cfgrtl.c (patch_jump_insn): Likewise.
- * combine.c (distribute_notes): Likewise.
- * cse.c (hash_rtx_cb): Likewise.
- (exp_equiv_p): Likewise.
- (fold_rtx): Likewise.
- (check_for_label_ref): Likewise.
- * cselib.c (rtx_equal_for_cselib_1): Likewise.
- (cselib_hash_rtx): Likewise.
- * emit-rtl.c (mark_label_nuses): Likewise.
- * explow.c (convert_memory_address_addr_space_1): Likewise.
- * final.c (output_asm_label): Likewise.
- (output_addr_const): Likewise.
- * gcse.c (add_label_notes): Likewise.
- * genconfig.c (walk_insn_part): Likewise.
- * genrecog.c (validate_pattern): Likewise.
- * ifcvt.c (cond_exec_get_condition): Likewise.
- (noce_emit_store_flag): Likewise.
- (noce_get_alt_condition): Likewise.
- (noce_get_condition): Likewise.
- * jump.c (maybe_propagate_label_ref): Likewise.
- (mark_jump_label_1): Likewise.
- (redirect_exp_1): Likewise.
- (rtx_renumbered_equal_p): Likewise.
- * lra-constraints.c (operands_match_p): Likewise.
- * print-rtl.c (print_value): Likewise.
- * reload.c (find_reloads): Likewise.
- * reload1.c (set_label_offsets): Likewise.
- * reorg.c (get_branch_condition): Likewise.
- * rtl-tests.c (test_uncond_jump): Likewise.
- * rtl.c (rtx_equal_p_cb): Likewise.
- (rtx_equal_p): Likewise.
- * rtlanal.c (reg_mentioned_p): Likewise.
- (rtx_referenced_p): Likewise.
- (get_condition): Likewise.
- * varasm.c (const_hash_1): Likewise.
- (compare_constant): Likewise.
- (const_rtx_hash_1): Likewise.
- (output_constant_pool_1): Likewise.
-
-2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/71627
- * reload.c (find_valid_class_1): Allow regclass if atleast one
- regno in regclass is ok. Compute and use rclass size based on
- actually available regnos for mode in rclass.
-
-2016-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc-modes.def (CCV): New.
- (CCXV): Likewise.
- * config/sparc/predicates.md (v_comparison_operator): New.
- (icc_comparison_operator): Add support for CCV/CCXV.
- (xcc_comparison_operator): Likewise.
- * config/sparc/sparc.c (output_cbranch): Likewise.
- (sparc_print_operand): Likewise.
- * config/sparc/sparc.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
- (uaddvdi4): New expander.
- (addvdi4): Likewise.
- (uaddvdi4_sp32): New instruction.
- (addvdi4_sp32): Likewise.
- (uaddvsi4): New expander.
- (addvsi4): Likewise.
- (cmp_ccc_plus_sltu_set): New instruction.
- (cmp_ccv_plus): Likewise.
- (cmp_ccxv_plus): Likewise.
- (cmp_ccv_plus_set): Likewise.
- (cmp_ccxv_plus_set): Likewise.
- (cmp_ccv_plus_sltu_set): Likewise.
- (uaddvdi4): New expander.
- (subvdi4): Likewise.
- (usubdi4_sp32): New instruction.
- (subvdi4_sp32): Likewise.
- (usubvsi4): New expander.
- (subvsi4): Likewise.
- (cmpsi_minus_sltu_set): New instruction.
- (cmp_ccv_minus): Likewise.
- (cmp_ccxv_minus): Likewise.
- (cmp_ccv_minus_set): Likewise.
- (cmp_ccxv_minus_set): Likewise.
- (cmp_ccv_minus_sltu_set): Likewise.
- (unegvdi3): New expander.
- (negvdi3): Likewise.
- (unegdi3_sp32): New instruction.
- (negvdi3_sp32): Likewise.
- (unegvsi3): New expander.
- (negvsi3): Likewise.
- (cmp_ccc_neg_sltu_set): New instruction.
- (cmp_ccv_neg): Likewise.
- (cmp_ccxv_neg): Likewise.
- (cmp_ccv_neg_set): Likewise.
- (cmp_ccxv_neg_set): Likewise.
- (cmp_ccv_neg_sltu_set): Likewise.
-
- * tree-ssa-loop-split.c: Remove trailing spaces.
- * match.pd: Likewise.
-
-2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/78038
- * ree.c (get_defs): Return NULL if a defining insn for REG cannot
- be deduced to set REG through the RTL structure.
- (make_defs_and_copies_lists): Return false on a failing get_defs call.
-
-2016-10-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/78051
- * tree-vrp.c (evrp_dom_walker::before_dom_children): Update stmt
- and mark replaced if folding did something.
-
-2016-10-21 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_assemble_visibility): Swap "internal"
- and "protected" in visibility types.
- (rs6000_xcoff_declare_function_name): Fix formatting.
- (rs6000_xcoff_declare_object_name): Fix formatting.
-
-2016-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ
- and IX86_BUILTIN_HUGE_VALQ here ...
- (ix86_expand_builtin): ... not here.
-
-2016-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * doc/gty.texi (for_user): Use @item next to @findex.
-
-2016-10-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78037
- * config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16.
- (__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32.
- (__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64.
- * config/i386/lzcntintrin.h (__lzcnt_u16): Call
- __builtin_ia32_lzcnt_u16.
- (__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32.
- (__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64.
- * config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs.
- (ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator.
- (bmi_tzcnt_<mode>): New expander.
- (*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
- (*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns.
- (clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator.
- (lzcnt_<mode>): New expander.
- (*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
- (*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns.
- * config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New.
- (UINT64_FTYPE_UINT64): New.
- * config/i386/i386-builtin.def (__builtin_clzs): Remove description.
- (__builtin_ia32_lzcnt_u16): New description.
- (__builtin_ia32_lzcnt_u32): Ditto.
- (__builtin_ia32_lzcnt_u64): Ditto.
- (__builtin_ctzs): Remove description.
- (__builtin_ia32_tzcnt_u16): New description.
- (__builtin_ia32_tzcnt_u32): Ditto.
- (__builtin_ia32_tzcnt_u64): Ditto.
- * config/i386/i386.c (ix86_expand_args_builtin): Handle
- UINT_FTYPE_UINT and UINT64_FTYPE_UINT64.
-
-2016-10-20 Martin Liska <mliska@suse.cz>
-
- PR lto/78049
- * lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value
- comparison with STMT_UID_NOT_IN_RANGE.
- (fixup_call_stmt_edges): Do not fixup edges of a thunk in
- LTRANS.
-
-2016-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * compare-elim.c (conforming_compare): Accept UNSPECs.
- (find_comparison_dom_walker::before_dom_children): Deal with
- instructions both using and killing the flags register.
- (equivalent_reg_at_start): New function extracted from...
- (try_eliminate_compare): ...here. Use it and add support for
- registers and UNSPECs as second operand of the compare.
- * config/visium/visium-modes.def (CCV): New.
- * config/visium/predicates.md (visium_v_comparison_operator): New.
- (visium_branch_operator): Deal with CCV mode.
- * config/visium/visium.c (visium_select_cc_mode): Likewise.
- (output_cbranch): Likewise.
- * config/visium/visium.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
- (uaddv<mode>4): New expander.
- (addv<mode>4): Likewise.
- (add<mode>3_insn_set_carry): New instruction.
- (add<mode>3_insn_set_overflow): Likewise.
- (addsi3_insn_set_overflow): Likewise.
- (usubv<mode>4): New expander.
- (subv<mode>4): Likewise.
- (sub<mode>3_insn_set_carry): New instruction.
- (sub<mode>3_insn_set_overflow): Likewise.
- (subsi3_insn_set_overflow): Likewise.
- (unegv<mode>3): New expander.
- (negv<mode>3): Likewise.
- (neg<mode>2_insn_set_overflow): New instruction.
- (addv_tst<mode>): Likewise.
- (subv_tst<mode>): Likewise.
- (negv_tst<mode>): Likewise.
- (cbranch<mode>4_addv_insn): New splitter and instruction.
- (cbranch<mode>4_subv_insn): Likewise.
- (cbranch<mode>4_negv_insn): Likewise.
-
-2016-10-20 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-alias.c (ptrs_compare_unequal): Remove code duplication.
- Handle decls possibly not bound.
- * tree-ssa-structalias.c (get_constraint_for_ssa_var): Add
- nothing_id for decls that might not be bound if we are interested
- for the address.
- (get_constraint_for_component_ref): Deal with that.
-
-2016-10-20 Michael Matz <matz@suse.de>
-
- Loop splitting.
- * common.opt (-fsplit-loops): New flag.
- * passes.def (pass_loop_split): Add.
- * opts.c (default_options_table): Add OPT_fsplit_loops entry at -O3.
- (enable_fdo_optimizations): Add loop splitting.
- * timevar.def (TV_LOOP_SPLIT): Add.
- * tree-pass.h (make_pass_loop_split): Declare.
- * tree-ssa-loop-manip.h (rewrite_into_loop_closed_ssa_1): Declare.
- * tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h,
- * tree-ssa-loop-split.c: New file.
- * Makefile.in (OBJS): Add tree-ssa-loop-split.o.
- * doc/invoke.texi (fsplit-loops): Document.
- * doc/passes.texi (Loop optimization): Add paragraph about loop
- splitting.
-
-2016-10-20 Richard Biener <rguenther@suse.de>
-
- * cgraphunit.c (analyze_functions): Set node->definition to
- false to signal symbol removal to debug_hooks->late_global_decl.
- * ipa.c (symbol_table::remove_unreachable_nodes): When not in
- WPA signal symbol removal to the debuginfo machinery.
- * dwarf2out.c (dwarf2out_late_global_decl): Instead of
- using early_finised to guard the we're called for symbol
- removal case look at the symtabs definition flag.
- (gen_variable_die): Remove redundant check.
-
-2016-10-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("prefetch"): Add fallthrough comment.
-
-2016-10-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR tree-optimization/53979
- * match.pd ((a ^ b) | a -> a | b): New pattern.
-
-2016-10-19 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa64-hpux.h (PA_INIT_FRAME_DUMMY_ASM_OP): Move to
- config/pa/pa64-hpux-lib.h.
- (PA_CRTBEGIN_HACK): Likewise.
- (DTOR_LIST_BEGIN): Likewise.
-
-2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
- register only if "in" and "out" are different registers.
-
-2016-10-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * omp-low.c (pass_oacc_device_lower::gate): New method.
- (execute): Always call execute_oacc_device_lower.
-
-2016-10-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77916
- PR tree-optimization/77937
- * gimple-ssa-strength-reduction.c (analyze_increments): Remove
- stopgap fix.
- (insert_initializers): Requirement of initializer for -1 should be
- based on pointer-typedness of the candidate basis.
-
-2016-10-19 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/78005
- * tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Compute
- upper (included) bound for niters of prolog loop.
- (vect_gen_scalar_loop_niters): Change parameter VF to VFM1.
- Compute niters of scalar loop above which vectorized loop is
- preferred, as well as the upper (included) bound for the niters.
- (vect_do_peeling): Record niter bound for loops accordingly.
-
-2016-10-19 Thomas Schwinge <thomas@codesourcery.com>
-
- PR lto/77458
- * tree-core.h (enum tree_index): Put the complex types after their
- component types.
- * tree-streamer.c (verify_common_node_recorded): New function.
- (preload_common_nodes) <TREE_CODE (node) == COMPLEX_TYPE>: Use it.
-
-2016-10-19 Martin Liska <mliska@suse.cz>
-
- * cgraph.h (cgraph_edge::binds_to_current_def_p):
- Replace NULL with false as a return value.
-
-2016-10-19 Thomas Schwinge <thomas@codesourcery.com>
-
- PR tree-optimization/78024
- * omp-low.c (oacc_loop_discovery): Call clear_bb_flags before, and
- don't clear BB_VISITED after processing.
-
-2016-10-19 Richard Biener <rguenther@suse.de>
-
- * domwalk.c (dom_walker::walk): Use RPO order.
-
-2016-10-19 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (evrp_dom_walker::evrp_dom_walker): Initialize
- stmts_to_remove.
- (evrp_dom_walker::~evrp_dom_walker): Free it.
- (evrp_dom_walker::stmts_to_remove): Add.
- (evrp_dom_walker::before_dom_children): Mark PHIs and stmts
- whose output we fully propagate for removal. Propagate
- into BB destination PHI arguments.
- (execute_early_vrp): Remove queued stmts. Dump value ranges
- before stmt removal.
-
-2016-10-18 Aldy Hernandez <aldyh@redhat.com>
-
- * Makefile.in (OBJS): Add gimple-ssa-warn-alloca.o.
- * passes.def: Add two instances of pass_walloca.
- * tree-pass.h (make_pass_walloca): New.
- * gimple-ssa-warn-alloca.c: New file.
- * doc/invoke.texi: Document -Walloca, -Walloca-larger-than=, and
- -Wvla-larger-than= options.
-
-2016-10-18 Thomas Schwinge <thomas@codesourcery.com>
-
- * cfg.c (clear_bb_flags): Use FOR_ALL_BB_FN.
- * config/nvptx/nvptx.c (nvptx_find_sese): Likewise.
-
-2016-10-18 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.h (vec_xl_len): New macro.
- (vec_xst_len): New macro.
- (vec_cmpnez): New macro.
- (vec_cntlz_lsbb): New macro.
- (vec_cnttz_lsbb): New macro.
- (vec_xlx): New macro.
- (vec_xrx): New macro.
- (vec_all_nez): New C++ predicate template.
- (vec_any_eqz): New C++ predicate template.
- (vec_all_ne): Revised C++ predicate template under _ARCH_PWR9
- conditional compilation.
- (vec_any_eq): Revised C++ predicate template under _ARCH_PWR9
- conditional compilation.
- (vec_all_nez): New macro.
- (vec_any_eqz): New macro.
- (vec_all_ne): Revised macro under _ARCH_PWR9 conditional
- compilation.
- (vec_any_eq): Revised macro under _ARCH_PWR9 conditional
- compilation.
- * config/rs6000/vector.md (VI): Moved this mode iterator
- definition from altivec.md to vector.md.
- (UNSPEC_NEZ_P): New value.
- (vector_ne_<mode>_p): New expansion for implementation of
- vec_all_ne and vec_any_eq built-in functions.
- (vector_nez_<mode>_p): New expansion for implementation of
- vec_all_nez and vec_any_eqz built-in functions.
- (vector_ne_v2di_p): New expansion for implementation of vec_all_ne
- and vec_any_eq built-in function.
- (cr6_test_for_zero): New commentary to explain this expansion.
- (cr6_test_for_zero_reverse): New commentary to explain this expansion.
- (cr6_test_for_lt): New commentary to explain this expansion.
- (cr6_test_for_lt_reverse): New commentary to explain this
- expansion.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded function prototypes for vec_all_ne, vec_all_nez,
- vec_any_eq, vec_any_eqz, vec_cmpnez, vec_cntlz_lsbb,
- vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx, and vec_xrx
- built-in functions.
- (altivec_resolve_overloaded_builtin): Modify the handling of
- ALTIVEC_BUILTIN_VEC_CMPNE to use the Power9 instructions when
- the compiler is configured to support TARGET_P9_VECTOR.
- * config/rs6000/rs6000-builtin.def (BU_ALTIVEC_P): Add commentary
- to explain the special processing that is given to predicate
- built-ins introduced using this macro.
- (BU_ALTIVEC_OVERLOAD_P): Add commentary to alert maintainers to
- the special processing given to predicate built-ins introduced
- using this macro.
- (BU_VSX_P): Likewise.
- (BU_P8V_AV_P): Likewise.
- (BU_P9V_AV_P): Likewise.
- (BU_P9V_AV_X): New macro.
- (BU_P9V_64BIT_AV_X): New macro.
- (BU_P9V_VSX_3): New macro.
- (BU_P9V_OVERLOAD_P): New macro.
- (LXVL): New BU_P9V_64BIT_VSX_2.
- (VEXTUBLX): New BU_P9V_AV_2.
- (VEXTUBRX): Likewise.
- (VEXTUHLX): Likewise.
- (VEXTUHRX): Likewise.
- (VEXTUWLX): Likewise.
- (VEXTUWRX): Likewise.
- (STXVL): New BU_P9V_64BIT_AV_X.
- (VCLZLSBB): New BU_P9V_AV_1.
- (VCTZLSBB): Likewise.
- (CMPNEB): New BU_P9V_AV_2.
- (CMPNEH): Likewise.
- (CMPNEW): Likewise.
- (CMPNEF): Likewise.
- (CMPNED): Likewise.
- (VCMPNEB_P): New BU_P9V_AV_P.
- (VCMPNEH_P): Likewise.
- (VCMPNEW_P): Likewise.
- (VCMPNED_P): Likewise.
- (VCMPNEFP_P): Likewise.
- (VCMPNEDP_P): Likewise.
- (CMPNEZB): New BU_P9V_AV_2.
- (CMPNEZH): Likewise.
- (CMPNEZW): Likewise.
- (VCMPNEZB_P): New BU_P9V_AV_P.
- (VCMPNEZH_P): Likewise.
- (VCMPNEZW_P): Likewise.
- (LXVL): New BU_P9V_OVERLOAD_2.
- (STXVL): New BU_P9V_OVERLOAD_3.
- (VEXTULX): New BU_P9V_OVERLOAD_2.
- (VEXTURX): Likewise.
- (CMPNEZ): Likewise.
- (VCMPNEZ_P): New BU_P9V_OVERLOAD_P.
- (VCMPNE_P): Likewise.
- (VCLZLSBB): New BU_P9V_OVERLOAD_1.
- (VCTZLSBB): Likewise.
- * config/rs6000/rs6000.c (altivec_expand_predicate_builtin): Add
- comment to explain mode used for scratch register.
- (altivec_expand_stxvl_builtin): New function.
- (altivec_expand_builtin): Add case for new constant P9V_BUILTIN_STXVL.
- (altivec_init_builtins): Add initialized variable
- void_ftype_v16qi_pvoid_long and use this type to define the
- built-in function __builtin_altivec_stxvl.
- * config/rs6000/vsx.md (UNSPEC_LXVL): New value.
- (UNSPEC_STXVL): New value.
- (UNSPEC_VCLZLSBB): New value.
- (UNSPEC_VCTZLSBB): New value.
- (UNSPEC_VEXTUBLX): New value.
- (UNSPEC_VEXTUHLX): New value.
- (UNSPEC_VEXTUWLX): New value.
- (UNSPEC_VEXTUBRX): New value.
- (UNSPEC_VEXTUHRX): New value.
- (UNSPEC_VEXTUWRX): New value.
- (UNSPEC_VCMPNEB): New value.
- (UNSPEC_VCMPNEZB): New value.
- (UNSPEC_VCMPNEH): New value.
- (UNSPEC_VCMPNEZH): New value.
- (UNSPEC_VCMPNEW): New value.
- (UNSPEC_VCMPNEZW): New value.
- (*vsx_ne_<mode>_p): New insn for vector test all not equal with
- vector of integer modes.
- (*vsx_ne_<mode>_p): New insn for vector test all not equal with
- vector of float or double modes.
- (*vector_nez_<mode>_p): New insn for vector test all not equal or
- zero.
- (lxvl): New expand for load VSX vector with length.
- (*lxvl): New insn for load VSX vector with length.
- (stxvl): New expand for store VSX vector with length.
- (*stxvl): New insn for store VSX vector with length.
- (vcmpneb): New insn for vector of byte compare not equal.
- (vcmpnezb): New insn for vector of byte compare not equal or zero.
- (vcmpneh): New insn for vector of half word compare not equal.
- (vcmpnezh): New insn for vector of half word compare not equal or
- zero.
- (vcmpnew): New insn for vector of word compare not equal.
- (vcmpne<VSs>): New insn for vector of float or double compare not
- equal.
- (vcmpnezw): New insn for vector of word compare not equal or zero.
- (vclzlsbb): New insn for vector count leading zero
- least-significant bits byte.
- (vctzlsbb): New insn for vector count trailing zero least
- signficant bits byte.
- (vextublx): New insn for vector extract unsigned byte left
- indexed.
- (vextubrx): New insn for vector extract unsigned byte right
- indexed.
- (vextuhlx): New insn for vector extract unsigned half word left
- indexed.
- (vextuhrx): New insn for vector extract unsigned half word right
- indexed.
- (vextuwlx): New insn for vector extract unsigned word left
- indexed.
- (vextuwrx): New insn for vector extract unsigned word right
- indexed.
- * config/rs6000/rs6000.h (RS6000_BTC_CONST): Enhance comment to
- clarify intent of this constant.
- * config/rs6000/altivec.md (VI): Move this mode iterator to vsx.md.
- * doc/extend.texi (PowerPC Altivec Built-in Functions): Add
- documentation for vec_all_nez, vec_any_eqz, vec_cmpnez,
- vec_cntlz_lsbb, vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx,
- and vec_xrx functions.
-
-2016-10-18 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/65950
- * predict.c (is_exit_with_zero_arg): New function.
- (tree_bb_level_predictions): Don't consider paths leading to exit(0)
- as nottaken.
-
-2016-10-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77991
- * config/i386/i386.c (legitimize_tls_address)
- <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
- convert dest to Pmode if different than Pmode.
-
-2016-10-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77916
- * gimple-ssa-strength-reduction.c (analyze_increments): Reinstate
- stopgap fix, as pointers with -1 increment are still broken.
-
-2016-10-18 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Move storage
- mapping class decoration from here...
- (rs6000_xcoff_encode_section): ...to here.
-
- (rs6000_savres_strategy) [AIX,ELFv2]: Inline FPR save and restore
- if shrink-wrapping and optimizing for speed.
-
-2016-10-18 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
- not visited but non-executable predecessors. Return taken edge.
- Simplify conditions and refactor propagation vs. folding step.
-
-2016-10-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Do not select
- {SAVE,REST}_MULTIPLE if shrink-wrapping separate components.
- (rs6000_get_separate_components): Assert we do not have those
- strategies selected.
-
-2016-10-18 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-propagate.h (substitute_and_fold): Adjust prototype.
- * tree-ssa-propagate.c (ssa_prop_fini): Remove final BB_VISITED
- clearing.
- (substitute_and_fold_dom_walker): Adjust constructor.
- (substitute_and_fold_dom_walker::before_dom_children): Remove
- do_dce flag and handling (always true).
- (substitute_and_fold): Likewise.
- * tree-vrp.c (vrp_finalize): Adjust.
- (execute_early_vrp): Remove final BB_VISITED clearing.
- * tree-ssa-ccp.c (ccp_finalize): Adjust.
- * tree-ssa-copy.c (fini_copy_prop): Likewise.
- * ira.c (ira): Call clear_bb_flags.
-
-2016-10-18 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_operand::gen_gimple_expr): Use get_name to
- get at the operand to look at with TREE_OPERAND for generic
- sub-nodes.
-
-2016-10-18 David Malcolm <dmalcolm@redhat.com>
-
- * genattrtab.c (attr_string): Use rtx_reader_ptr for call to
- copy_md_ptr_loc.
- (gen_attr): Use rtx_reader_ptr for lookup_enum_type call.
- (write_test_expr): Use rtx_reader_ptr for calls to
- fprint_c_condition.
- (write_attr_value): Likewise.
- * genconditions.c (write_one_condition): Use rtx_reader_ptr for
- call to print_md_ptr_loc.
- (write_one_condition): Likewise for calls to print_c_condition.
- * genconstants.c: Include "statistics.h" and "vec.h".
- (main): Update for conversion to member functions.
- * genemit.c (emit_c_code): Use rtx_reader_ptr for
- call to print_md_ptr_loc.
- * genenums.c: Include "statistics.h" and "vec.h".
- (main): Update for conversion of traverse_enum_types to a method.
- * genmddeps.c: Include "statistics.h" and "vec.h".
- * genoutput.c (process_template): Use rtx_reader_ptr for call to
- print_md_ptr_loc.
- * genpreds.c (write_predicate_subfunction): Likewise.
- (write_predicate_expr): Likewise for calls to print_c_condition.
- * genrecog.c (print_test): Likewise.
- * gensupport.c (process_rtx): Likewise for calls to
- copy_md_ptr_loc and join_c_conditions.
- (alter_test_for_insn): Likewise for call to join_c_conditions.
- (process_substs_on_one_elem): Likewise.
- (gen_mnemonic_setattr): Update for move of string_obstack to a
- field of rtx_reader.
- (mnemonic_htab_callback): Likewise. Fix formatting.
- (gen_mnemonic_attr): Likewise.
- * gentarget-def.c (def_target_insn): Use rtx_reader_ptr for calls
- to print_c_condition.
- * read-md.c: Include "statistics.h" and "vec.h".
- (string_obstack): Convert this global to field "m_string_obstack"
- of class rtx_reader.
- (ptr_locs): Likewise, as "m_ptr_locs".
- (ptr_loc_obstack): Likewise, as "m_ptr_loc_obstack".
- (joined_conditions): Likewise, as "m_joined_conditions".
- (joined_conditions_obstack): Likewise, as "m_joined_conditions_obstack".
- (md_constants): Likewise, as "m_md_constants".
- (enum_types): Likewise, as "m_enum_types".
- (set_md_ptr_loc): Convert to...
- (rtx_reader::set_md_ptr_loc): ...member function.
- (get_md_ptr_loc): Convert to...
- (rtx_reader::get_md_ptr_loc): ...member function.
- (copy_md_ptr_loc): Convert to...
- (rtx_reader::copy_md_ptr_loc): ...member function.
- (fprint_md_ptr_loc): Convert to...
- (rtx_reader::fprint_md_ptr_loc): ...member function.
- (print_md_ptr_loc): Convert to...
- (rtx_reader::print_md_ptr_loc): ...member function.
- (join_c_conditions): Convert to...
- (rtx_reader::join_c_conditions): ...member function.
- (fprint_c_condition): Convert to...
- (rtx_reader::fprint_c_condition): ...member function.
- (print_c_condition): Convert to...
- (rtx_reader::print_c_condition): ...member function.
- (read_name): Convert to...
- (rtx_reader::read_name): ...member function.
- (read_escape): Convert to...
- (rtx_reader::read_escape): ...member function.
- (read_quoted_string): Convert to...
- (rtx_reader::read_quoted_string): ...member function.
- (read_braced_string): Convert to...
- (rtx_reader::read_braced_string): ...member function.
- (read_string): Convert to...
- (rtx_reader::read_string): ...member function.
- (read_skip_construct): Convert to...
- (rtx_reader::read_skip_construct): ...member function.
- (handle_constants): Convert to...
- (rtx_reader::handle_constants): ...member function.
- (traverse_md_constants): Convert to...
- (rtx_reader::traverse_md_constants): ...member function.
- (handle_enum): Convert to...
- (rtx_reader::handle_enum): ...member function.
- (lookup_enum_type): Convert to...
- (rtx_reader::lookup_enum_type): ...member function.
- (traverse_enum_types): Convert to...
- (rtx_reader::traverse_enum_types): ...member function.
- (rtx_reader::rtx_reader): Move initializations
- of various former global data from rtx_reader::read_md_files to
- here, as fields, along with the call to unlock_std_streams.
- (rtx_reader::~rtx_reader): Clean up m_base_dir, and clean up
- the new fields.
- (rtx_reader::read_md_files): Move initializations of various
- global data from here to the ctor.
- * read-md.h (read_name): Convert to...
- (rtx_reader::read_name): ...member function.
- (rtx_reader::read_escape): New method decl.
- (read_quoted_string): Convert to...
- (rtx_reader::read_quoted_string): ...member function.
- (rtx_reader::read_braced_string): New method decl.
- (read_string): Convert to...
- (rtx_reader::read_string): ...member function.
- (rtx_reader::read_skip_construct): New method decl.
- (rtx_reader::set_md_ptr_loc): New method decl.
- (rtx_reader::get_md_ptr_loc): New method decl.
- (copy_md_ptr_loc): Convert to...
- (rtx_reader::copy_md_ptr_loc): ...member function.
- (fprint_md_ptr_loc): Convert to...
- (rtx_reader::fprint_md_ptr_loc): ...member function.
- (print_md_ptr_loc): Convert to...
- (rtx_reader::print_md_ptr_loc): ...member function.
- (rtx_reader::lookup_enum_type): New method decl.
- (rtx_reader::traverse_enum_types): New method decl.
- (rtx_reader::handle_constants): New method decl.
- (traverse_md_constants): Convert to...
- (rtx_reader::traverse_md_constants): ...member function.
- (rtx_reader::handle_enum): New method decl.
- (rtx_reader::join_c_conditions): New method decl.
- (fprint_c_condition): Convert to...
- (rtx_reader::fprint_c_condition): ...member function.
- (print_c_condition): Convert to...
- (rtx_reader::print_c_condition): ...member function.
- (rtx_reader::apply_iterator_to_string): New method decl.
- (rtx_reader::copy_rtx_for_iterators): New method decl.
- (rtx_reader::read_conditions): New method decl.
- (rtx_reader::record_potential_iterator_use): New method decl.
- (rtx_reader::read_mapping): New method decl.
- (rtx_reader::read_rtx): New method decl.
- (rtx_reader::read_rtx_code): New method decl.
- (rtx_reader::read_rtx_operand): New method decl.
- (rtx_reader::read_nested_rtx): New method decl.
- (rtx_reader::read_rtx_variadic): New method decl.
- (rtx_reader::get_string_obstack): New method.
- (rtx_reader::get_md_constants): New method.
- (string_obstack): Convert global variable decl to...
- (rtx_reader::m_string_obstack): ...this new field.
- (rtx_reader::m_ptr_locs): New field.
- (rtx_reader::m_ptr_loc_obstack): New field.
- (rtx_reader::m_joined_conditions): New field.
- (rtx_reader::m_joined_conditions_obstack): New field.
- (rtx_reader::m_md_constants): New field.
- (rtx_reader::m_enum_types): New field.
- * read-rtl.c (apply_iterator_to_string): Convert to...
- (rtx_reader::apply_iterator_to_string): ...member function.
- (copy_rtx_for_iterators): Convert to...
- (rtx_reader::copy_rtx_for_iterators): ...member function.
- (add_condition_to_string): Use rtx_reader_ptr for
- calls join_c_conditions.
- (apply_iterators): Use rtx_reader_ptr for calls to
- join_c_conditions and copy_rtx_for_iterators.
- (read_conditions): Convert to...
- (rtx_reader::read_conditions): ...member function.
- (record_potential_iterator_use): Convert to...
- (rtx_reader::record_potential_iterator_use): ...member function.
- (read_mapping): Convert to...
- (rtx_reader::read_mapping): ...member function.
- (read_subst_mapping): Use rtx_reader_ptr for read_string call.
- (read_rtx): Convert to...
- (rtx_reader::read_rtx): ...member function.
- (read_rtx_code): Convert to...
- (rtx_reader::read_rtx_code): ...member function.
- (read_rtx_operand): Convert to...
- (rtx_reader::read_rtx_operand): ...member function. Update for move
- of string_obstack to a field.
- (read_nested_rtx): Convert to..
- (rtx_reader::read_nested_rtx): ...member function.
- (read_rtx_variadic): Convert to..
- (rtx_reader::read_rtx_variadic): ...member function.
-
-2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (get_value_range): Check get_ptr_nonnull.
-
-2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Set value range
- for pointer type too.
- (ipcp_update_vr): set_ptr_nonnull for pointer.
-
-2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-ssa-alias.h (pt_solution_singleton_or_null_p): Renamed from
- pt_solution_singleton_p.
- * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Use renamed
- pt_solution_singleton_or_null_p from pt_solution_singleton_p.
- * tree-ssa-structalias.c (find_what_p_points_to): Preserve
- pointer nonnull computed by VRP.
- Also Conservatively set pt.null to 1.
- (pt_solution_reset): Conservatively set pt.null to 1.
- (pt_solution_singleton_or_null_p): Renamed from
- pt_solution_singleton_p.
- * tree-ssanames.h (set_ptr_nonnull): Declare.
- (get_ptr_nonnull): Likewise.
- * tree-ssanames.c (set_ptr_nonnull): New.
- (get_ptr_nonnull): Likewise.
- * tree-vrp.c (vrp_finalize): Set ptr that are nonnull.
- (evrp_dom_walker::before_dom_children): Likewise.
-
-2016-10-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
- * config/i386/i386.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
- * config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
- * config/ia64/ia64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
- * config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to.
- * config/rs6000/rs6000.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
- (rs6000_option_override_internal): Clear it if ABI_AIX.
- * config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
- * config/sparc/sparc.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ... here.
-
-2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gimple-ssa-strength-reduction.c (record_increment): Remove
- garbage comment.
-
-2016-10-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * expmed.c (expand_shift_1): Add MAY_FAIL parameter and do not assert
- that the result is non-zero if it is true.
- (maybe_expand_shift): New wrapper around expand_shift_1.
- (emit_store_flag): Call maybe_expand_shift in lieu of expand_shift.
-
-2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77916
- * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
- Don't allow a MINUS_EXPR for pointer arithmetic for either known
- or unknown strides.
- (record_increment): Increments of -1 for unknown strides just use
- a multiply initializer like other negative values.
- (analyze_increments): Remove stopgap solution for -1 increment
- applied to pointer arithmetic.
-
-2016-10-17 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * dominance.c (dom_info::dom_info): Add new constructor for region
- which is vector of basic blocks.
- (dom_init): New method to initialize members common for both
- constructors.
- (dom_info::dom_info): Invoke dom_init for partial initialization.
- (dom_info::get_idom): Add check to corner cases on basic blocks which
- are not in region.
- (dom_info::calc_dfs_tree): Check M_FAKE_EXIT_EDGE instead of M_REVERSE
- to detect unreachable bbs.
- (dom_info::calc_idoms): Likewise.
- (compute_dom_fast_query_in_region): New function.
- (calculate_dominance_info_for_region): Likewise.
- (free_dominance_info_for_region): Likewise.
- * dominance.h: Add prototypes for introduced region-based functions
- * tree-if-conv.c (build_region): New function.
- (if_convertible_loop_p_1): Invoke local version of post-dominators
- calculation before basic block predication with subsequent freeing
- post-dominator info.
- (tree_if_conversion): Remove free of post-dominator info
- (pass_if_conversion::execute): Delete detection of infinite loops
- and fake edges to exit block since post-dominator calculation is
- performed per if-converted loop only.
-
-2016-10-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/77308
- * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
- register explicitly.
- * config/arm/arm.md (ashldi3, ashrdi3, lshrdi3): Don't FAIL if
- optimizing for size.
-
-2016-10-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c: Delete inclusion of
- cortex-a57-fma-steering.h.
- (aarch64_override_options): Delete call
- to aarch64_register_fma_steering.
- * config/aarch64/aarch64-protos.h (make_pass_fma_steering): Declare.
- * config/aarch64/cortex-a57-fma-steering.h: Delete.
- * config/aarch64/aarch64-passes.def: New file.
- * config/aarch64/cortex-a57-fma-steering.c
- (aarch64_register_fma_steering): Delete definition.
- (make_pass_fma_steering): Remove static qualifier.
- * config/aarch64/t-aarch64 (PASSES_EXTRA): New directive.
- (cortex-a57-fma-steering.o): Remove dependency on
- cortex-a57-fma-steering.h.
-
-2016-10-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * explow.c (validize_mem): Do not modify the argument in-place.
-
-2016-10-17 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-streamer.c (record_common_node): Explicitly list expected
- tree codes.
-
-2016-10-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77988
- * tree-vrp.c (remove_range_assertions): Use replace_uses_by.
-
-2016-10-17 Marek Polacek <polacek@redhat.com>
-
- * Makefile.in (C_COMMON_OBJS): Add c-family/c-attribs.o.
-
-2016-10-17 Richard Biener <rguenther@suse.de>
-
- * bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED
- before using it.
-
-2016-10-17 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR tree-optimization/71636
- * match.pd (x & ((1 << b) - 1) -> x & ~(~0 << b)): New pattern.
-
-2016-10-17 Richard Biener <rguenther@suse.de>
-
- * gimplify.c (gimplify_function_tree): Do not move the outer
- binds block.
-
-2016-10-17 Jakub Jelinek <jakub@redhat.com>
-
- * langhooks.h (struct lang_hooks_for_decls): Remove
- function_decl_explicit_p, function_decl_deleted_p and
- function_decl_defaulted hooks. Add decl_dwarf_attribute hook.
- * langhooks-def.h (lhd_decl_dwarf_attribute): Declare.
- (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
- LANG_HOOKS_FUNCTION_DECL_DELETED_P,
- LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Remove.
- (LANG_HOOKS_DECL_DWARF_ATTRIBUTE): Define.
- (LANG_HOOKS_DECLS): Remove LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
- LANG_HOOKS_FUNCTION_DECL_DELETED_P and
- LANG_HOOKS_FUNCTION_DECL_DEFAULTED. Add
- LANG_HOOKS_DECL_DWARF_ATTRIBUTE.
- * langhooks.c (lhd_decl_dwarf_attribute): New function.
- * dwarf2out.c (gen_subprogram_die): Use
- lang_hooks.decls.decl_dwarf_attribute instead of
- lang_hooks.decls.function_decl_*.
-
-2016-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/37139
- PR ada/67205
- * common.opt (-ftrampolines): New option.
- * doc/invoke.texi (Code Gen Options): Document it.
- * doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
- * doc/tm.texi: Regenerate.
- * builtins.def: Add init_descriptor and adjust_descriptor.
- * builtins.c (expand_builtin_init_trampoline): Do not issue a warning
- on platforms with descriptors.
- (expand_builtin_init_descriptor): New function.
- (expand_builtin_adjust_descriptor): Likewise.
- (expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case.
- <BUILT_IN_ADJUST_DESCRIPTOR>: Likewise.
- * calls.c (prepare_call_address): Remove SIBCALLP parameter and add
- FLAGS parameter. Deal with indirect calls by descriptor and adjust.
- Set STATIC_CHAIN_REG_P on the static chain register, if any.
- (call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor.
- (expand_call): Likewise. Move around call to prepare_call_address
- and pass all flags to it.
- * cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR.
- * gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value.
- (gimple_call_set_by_descriptor): New setter.
- (gimple_call_by_descriptor_p): New getter.
- * gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR.
- (gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR.
- * langhooks.h (struct lang_hooks): Add custom_function_descriptors.
- * langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define.
- (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS.
- * rtl.h (STATIC_CHAIN_REG_P): New macro.
- * rtlanal.c (find_first_parameter_load): Skip static chain registers.
- * target.def (custom_function_descriptors): New POD hook.
- * tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR.
- (CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR.
- * tree-core.h (ECF_BY_DESCRIPTOR): New mask.
- Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR.
- * tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT.
- (build_common_builtin_nodes): Initialize init_descriptor and
- adjust_descriptor.
- * tree-nested.c: Include target.h.
- (struct nesting_info): Add 'any_descr_created' field.
- (get_descriptor_type): New function.
- (lookup_element_for_decl): New function extracted from...
- (create_field_for_decl): Likewise.
- (lookup_tramp_for_decl): ...here. Adjust.
- (lookup_descr_for_decl): New function.
- (convert_tramp_reference_op): Deal with descriptors.
- (build_init_call_stmt): New function extracted from...
- (finalize_nesting_tree_1): ...here. Adjust and deal with descriptors.
- * defaults.h (FUNCTION_ALIGNMENT): Define.
- (TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY.
- * config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
- * config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
- * config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
- * config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
-
-2016-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
- constants in CONST_VECTORs.
-
-2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
- register as destination of bmask.
- (vector_init_bshuffle): Likewise.
- * config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
- (bmaskdi_vis): Enable only in 64-bit mode.
-
-2016-10-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_get_separate_components): Do not
- make LR a separately shrink-wrapped component unless savres_strategy
- contains all of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}. Do not wrap
- GPRs unless both {SAVE,REST}_INLINE_GPRS. Do not disallow all
- wrapping when not both {SAVE,REST}_INLINE_GPRS.
-
-2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * optabs.c (expand_parity): Fix mode mismatch, add final conversion
- and keep looping on failure.
-
-2016-10-14 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl-function.c (print_edge): Omit "(flags)" when none are
- set.
- (print_rtx_function): Update example in comment for...
- * print-rtl.c (print_rtx_operand_code_r): In compact mode, print
- non-virtual pseudos with a '%' sigil followed by the regno, offset
- by (LAST_VIRTUAL_REGISTER + 1), so that the first non-virtual
- pseudo is dumped as "%0".
-
-2016-10-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/77959
- * expr.c (expand_expr_real_1) <case CONST_DECL>: For EXPAND_WRITE
- return a MEM.
-
-2016-10-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc-passes.def: New file.
- * config/sparc/t-sparc (PASSES_EXTRA): Add sparc-passes.def.
- * config/sparc/sparc-protos.h (make_pass_work_around_errata): New.
- * config/sparc/sparc.c (sparc_option_override): Don't register passes.
-
-2016-10-14 Pat Haugen <pthaugen@us.ibm.com>
-
- * loop-unroll.c (unroll_loop_runtime_iterations): Condition initial
- loop peel to loops with exit test at the beginning.
-
-2016-10-14 Pat Haugen <pthaugen@us.ibm.com>
-
- PR rtl-optimization/68212
- * cfgloopmanip.c (duplicate_loop_to_header_edge): Use preheader edge
- frequency when computing scale factor for peeled copies.
- * loop-unroll.c (unroll_loop_runtime_iterations): Fix freq/count
- values for switch/peel blocks/edges.
-
-2016-10-14 Pedro Alves <palves@redhat.com>
-
- * coretypes.h (OVERRIDE, FINAL): Delete, moved to include/ansidecl.h.
-
-2016-10-14 Catherine Moore <clm@codesourcery.com>
-
- * config/mips/mips.c (mips_prepare_pch_save): Initialize
- micromips_globals to zero.
-
-2016-10-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77979
- * tree-vrp.c (compare_name_with_value): Handle released SSA names
- in the equivalency sets.
- (compare_names): Likewise.
-
-2016-10-14 Martin Liska <mliska@suse.cz>
-
- * builtins.h(target_char_cst_p): Declare the function.
- * builtins.c (fold_builtin_memchr): Remove.
- (target_char_cst_p): Move the function from gimple-fold.c.
- (fold_builtin_3): Do not call the function.
- * gimple-fold.c (gimple_fold_builtin_memchr): New function.
- (gimple_fold_builtin): Call the function.
- * fold-const-call.c (fold_const_call_1): Handle CFN_BUILT_IN_MEMCHR.
-
-2016-10-14 Martin Liska <mliska@suse.cz>
-
- * builtins.c (fold_builtin_strcmp): Remove function.
- (fold_builtin_strncmp): Likewise.
- (fold_builtin_2): Remove call of the function.
- (fold_builtin_3): Likewise.
- * fold-const-call.c (fold_const_call): Add constant folding
- for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
- * fold-const-call.h (build_cmp_result): Declare the function.
- * gimple-fold.c (gimple_load_first_char): New function.
- (gimple_fold_builtin_string_compare): Likewise.
- (gimple_fold_builtin): Call the function.
-
-2016-10-14 Nathan Sidwell <nathan@acm.org>
-
- * gcov-io.c (gcov_open): Deconstify 'mode'.
-
-2016-10-14 Martin Liska <mliska@suse.cz>
-
- * fold-const.c (c_getstr): Support of properly \0-terminated
- string constants. New argument is added.
- * fold-const.h: New argument is added.
-
-2016-10-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
- New function.
- (aarch64_print_hint_for_core): Likewise.
- (aarch64_print_hint_for_arch): Likewise.
- (aarch64_validate_march): Use it. Fix indentation in type signature.
- (aarch64_validate_mcpu): Use aarch64_print_hint_for_core_or_arch.
- (aarch64_validate_mtune): Likewise.
- (aarch64_handle_attr_arch): Likewise.
- (aarch64_handle_attr_cpu): Likewise.
- (aarch64_handle_attr_tune): Likewise.
-
-2016-10-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab
- and udivmod_optab.
-
-2016-10-13 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.c (m68k_option_override): Check
- opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no
- instead of stack_limit_rtx.
-
-2016-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (gen_member_die): Handle inline static data member
- definitions.
-
-2016-10-13 Nathan Sidwell <nathan@acm.org>
-
- * gcov-io.c (gcov_open): Fix documentation. Simplify setting
- gcov_var.mode. Remove unnecessary fstat.
-
-2016-10-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR bootstrap/77962
- * function.c (thread_prologue_and_epilogue_insns): Call all
- make_*logue_seq in the same order as traditional. Call them
- all a second time if shrink_wrapped_separate.
-
-2016-10-13 Marek Polacek <polacek@redhat.com>
-
- * Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
- insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Don't
- use -Wno-error.
-
-2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77937
- * gimple-ssa-strength-reduction.c (analyze_increments): Set cost
- to infinite when we have a pointer with an increment of -1.
-
-2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
- into ...
- * memmodel.h: This file.
- * alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
- caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c,
- cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c,
- combine-stack-adj.c, common/config/aarch64/aarch64-common.c,
- common/config/arm/arm-common.c, common/config/bfin/bfin-common.c,
- common/config/c6x/c6x-common.c, common/config/i386/i386-common.c,
- common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c,
- compare-elim.c, config/aarch64/aarch64-builtins.c,
- config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c,
- config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c,
- config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c,
- config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c,
- config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c,
- config/darwin.c, config/epiphany/epiphany.c,
- config/epiphany/mode-switch-use.c,
- config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c,
- config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
- config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c,
- config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
- config/m68k/m68k.c, config/mcore/mcore.c,
- config/microblaze/microblaze.c, config/mmix/mmix.c,
- config/mn10300/mn10300.c, config/moxie/moxie.c,
- config/msp430/msp430.c, config/nds32/nds32-cost.c,
- config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
- config/nds32/nds32-memory-manipulation.c,
- config/nds32/nds32-predicates.c, config/nds32/nds32.c,
- config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c,
- config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c,
- config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c,
- config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc,
- config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c,
- config/stormy16/stormy16.c, config/tilegx/tilegx.c,
- config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
- config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c,
- coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c,
- df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c,
- dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c,
- expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c,
- ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c,
- ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c,
- ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c,
- loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
- lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c,
- lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c,
- lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
- postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c,
- recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
- reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c,
- rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c,
- sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c,
- stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c,
- targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c,
- tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c,
- tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c,
- tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c,
- var-tracking.c, varasm.c: Include memmodel.h.
- * genattrtab.c (write_header): Include memmodel.h in generated file.
- * genautomata.c (main): Likewise.
- * gengtype.c (open_base_files): Likewise.
- * genopinit.c (main): Likewise.
- * genconditions.c (write_header): Include memmodel.h earlier in
- generated file.
- * genemit.c (main): Likewise.
- * genoutput.c (output_prologue): Likewise.
- * genpeep.c (main): Likewise.
- * genpreds.c (write_insn_preds_c): Likewise.
- * genrecog.c (write_header): Likewise.
- * Makefile.in (PLUGIN_HEADERS): Include memmodel.h
-
-2016-10-13 David Malcolm <dmalcolm@redhat.com>
-
- * function-tests.c (selftest::test_expansion_to_rtl): Add "true"
- for new "compact" param of print_rtx_function. Check for "cinsn"
- rather than "insn".
- * print-rtl-function.c (flag_compact): New decl.
- (print_rtx_function): Add param "compact" and use it to set
- flag_compact, adding a description of the effect to the leading
- comment, and updating the example output.
- * print-rtl.c (flag_compact): New variable.
- (print_rtx_operand_code_0): Omit the JUMP_LABEL reference in compact
- mode.
- (print_rtx_operand_code_i): When printing source locations, wrap
- xloc.file in quotes. Don't print INSN_CODEs in compact mode.
- (print_rtx_operand_code_r): Don't print regnos for hard regs and
- virtuals in compact mode.
- (print_rtx_operand_code_u): Don't print insn UIDs in compact mode,
- apart from in LABEL_REFs.
- (print_rtx_operand): In case 'w', don't print in hex in compact mode.
- Don't print basic block ids in compact mode.
- (print_rtx): In compact mode, prefix the code of insns with "c",
- only print the INSN_UID of CODE_LABELs, and omit their LABEL_NUSES.
- * print-rtl.h (print_rtx_function): Add "compact" param.
-
-2016-10-13 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (TARGET_VFP): Delete.
- (TARGET_VFPD32): Remove references to TARGET_VFP.
- (TARGET_VFP3, TARGET_VFP5): Likewise.
- (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Likewise.
- (TARGET_NEON_FP16): Likewise.
- (TARGET_FMA): Likewise.
- (TARGET_CRYPTO): Likewise.
- (TARGET_NEON): Likewise.
- (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
- (FUNCTION_ARG_REGNO_P): Likewise.
- * arm.c (arm_option_check_internal): Likewise.
- (arm_option_override): Likewise.
- (use_return_insn): Likewise.
- (arm_function_value_regno_p): Likewise.
- (arm_apply_result_size): Likewise.
- (use_vfp_abi): Likewise.
- (arm_legitimate_address_outer_p): Likewise.
- (thumb2_legitimate_address_p): Likewise.
- (arm_legitimate_index_p): Likewise.
- (thumb2_legitimate_index_p): Likewise.
- (arm_legitimate_address): Likewise.
- (arm_get_vfp_saved_size): Likewise.
- (arm_emit_vfp_multi_reg_pop): Likewise.
- (arm_get_frame_offsets): Likewise.
- (arm_save_coproc_regs): Likewise.
- (arm_hard_regno_mode_ok): Likewise.
- (arm_expand_epilogue_apcs_frame): Likewise.
- (arm_expand_epilogue): Likewise.
- (arm_file_start): Likewise.
- (arm_conditional_register_usage): Likewise.
- (arm_validize_comparison): Use vfp_compare_operand directly.
- * arm-builtins.c (arm_init_builtins): Remove references to TARGET_VFP.
- (arm_expand_vfp_builtin): Use TARGET_HARD_FLOAT for detecting
- unsupported usage.
- (arm_atomic_assign_expand_fenv): Likewise.
- * arm.md (divsf3): Likewise.
- (arm_negsi2): Likewise.
- (absdf2): Likewise.
- (arm_movdi): Likewise.
- (arm_movt): Likewise.
- (cbranchsf4): Change predicate to vfp_compare_operand.
- (cbranchdf4): Change predicate to vfp_compare_operand.
- (cstorehf4): Change predicate to vfp_compare_operand.
- (cstoresf4): Change predicate to vfp_compare_operand.
- (cstoredf4): Change predicate to vfp_compare_operand.
- (vfp_pop_multiple_with_writeback): Remove references to TARGET_VFP.
- (movhi_insn_arch4, movhi_bytes): Likewise.
- * constraints.md (Dt): Likewise.
- (Dp): Likewise.
- * iterators.md (SDF): Likewise.
- * predicates.md (arm_float_compare_operand): Delete.
- (const_double_vcvt_power_of_two_reciprocal): Remove references to
- TARGET_VFP.
- (const_double_vcvt_power_of_two): Likewise.
- * thumb2.md thumb2_movsi_insn): Likewise.
- * vfp.md (arm_movhi_vfp, thumb2_movhi_vfp): Likewise.
- (movhf_vfp): Likewise.
- (arm_movsi_vfp, thumb2_movsi_vfp): Likewise.
- (movdi_vfp, movdi_vfp_cortexa8): Likewise.
- (movsf_vfp, thumb2_movsf_vfp): Likewise.
- (movdf_vfp, thumb2_movdf_vfp): Likewise.
- (movsfcc_vfp, abssf2_vfp, negsf2_vfp, addsf3_vfp): Likewise.
- (subsf3_vfp, divsf3_vfp): Likewise.
- (mulsf3_vfp, mulsf3negsf_vfp, negmulsf3_vfp): Likewise.
- (mulsf3addsf_vfp, (mulsf3subsf_vfp, mulsf3negsfaddsf_vfp): Likewise.
- (mulsf3negsfsubsf_vfp): Likewise.
- (truncsisf2_vfp, fixuns_truncsfsi2, floatsisf2_vfp): Likewise.
- (floatunssisf2, sqrtsf2_vfp): Likewise.
- (movcc_vfp): Likewise.
- (cmpsf_split_vfp, cmpsf_trap_split_vfp): Likewise.
- (cmpsf_vfp, cmpsf_trap_vfp): Likewise.
- (push_multi_vfp): Likewise.
- (set_fpscr, get_fpscr): Likewise.
- * arm-c.c (arm_cpu_builtins): Unconditionally define __VFP_FP__.
-
-2016-10-13 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (TARGET_VFP): Unconditionally define to 1.
- (arm_fpu_desc): Remove 'model' field.
- (TARGET_FPU_MODEL): Delete.
- * arm.c (all_fpus): Don't initialize the model field.
- (arm_can_inline_p): Don't check the FPU model.
- * arm-fpus.def: Remove redundant model field from all FPU
- descriptions.
-
-2016-10-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77826
- * genmatch.c (struct capture): Add value_match member.
- (commutate): Preserve value_match.
- (lower_opt_convert): Likewise.
- (lower_cond): Likewise.
- (replace_id): Likewise.
- (struct dt_operand): Add value_match member.
- (decision_tree::cmp_node): Compare it.
- (decision_tree::insert_operand): Honor it when finding and
- when appending a DT_MATCH.
- (dt_operand::gen_match_op): Generate a type check after
- operand_equal_p if ! value_match for both GENERIC and GIMPLE.
- (parser::get_internal_capture_id): New helper.
- (parser::finish_match_operand): New function lowering @@<id>.
- (parser::parse_capture): Parse @@<id> as value-match.
- (parser::parse_expr): Use get_internal_capture_id.
- (parser::parse_simplify): Call finish_match_operand.
- (walk_captures): New helper.
- * match.pd (X - (X / Y) * Y -> X % Y): Use value-matching instead
- of operand_equal_p.
- ((X /[ex] A) * A -> X): Likewise.
- ((X | Y) ^ X -> Y & ~ X): Handle constants properly by using
- convert[12] and value-matching.
- ((A | B) & (A | C) -> A | (B & C)): Likewise.
- ((X | Y) | Y -> X | Y): Likewise.
- ((X ^ Y) ^ Y -> X): Likewise.
- (A - (A & B) -> ~B & A): Likewise.
- ((T)(P + A) - (T)P -> (T) A): Likewise.
- ((T)P - (T)(P + A) -> -(T) A): Likewise.
- ((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Likewise.
- * doc/match-and-simplify.texi: Amend capture section.
-
-2016-10-13 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (umul_600): Remove predicated variant.
- (umul64_600): Likewise.
-
-2016-10-13 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (loop_niters_no_overflow): New func.
- (vect_transform_loop): Call loop_niters_no_overflow. Pass the
- no-overflow information to vect_do_peeling_for_loop_bound and
- vect_gen_vector_loop_niters.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
- iterates 1 time.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
- adjust_vec automatically.
- (slpeel_add_loop_guard): Remove param cond_expr_stmt_list. Rename
- param exit_bb to guard_to.
- (slpeel_checking_verify_cfg_after_peeling):
- (set_prologue_iterations):
- (create_lcssa_for_virtual_phi): New func which is factored out from
- slpeel_tree_peel_loop_to_edge.
- (slpeel_tree_peel_loop_to_edge):
- (iv_phi_p): New func.
- (vect_can_advance_ivs_p): Call iv_phi_p.
- (vect_update_ivs_after_vectorizer): Call iv_phi_p. Directly insert
- new gimple stmts in basic block.
- (vect_gen_niters_for_prolog_loop): Rename to...
- (vect_gen_prolog_loop_niters): ...Rename from. Change parameters and
- adjust implementation.
- (vect_update_inits_of_drs): Fix code style issue. Convert niters to
- sizetype if necessary.
- (vect_build_loop_niters): Move to here from tree-vect-loop.c. Change
- it to external function.
- (vect_gen_scalar_loop_niters, vect_gen_vector_loop_niters): New.
- (vect_gen_vector_loop_niters_mult_vf): New.
- (slpeel_update_phi_nodes_for_loops): New.
- (slpeel_update_phi_nodes_for_guard1): Reimplement.
- (find_guard_arg, slpeel_update_phi_nodes_for_guard2): Reimplement.
- (slpeel_update_phi_nodes_for_lcssa, vect_do_peeling): New.
- * tree-vect-loop.c (vect_build_loop_niters): Move to file
- tree-vect-loop-manip.c
- (vect_generate_tmps_on_preheader): Delete.
- (vect_transform_loop): Rename vectorization_factor to vf. Call
- vect_do_peeling instead of vect_do_peeling-* functions.
- * tree-vectorizer.h (vect_do_peeling): New decl.
- (vect_build_loop_niters, vect_gen_vector_loop_niters): New decls.
- (vect_do_peeling_for_loop_bound): Delete.
- (vect_do_peeling_for_alignment): Delete.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put
- duplicated loop after its preheader and after the original loop.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it
- has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (vectorizable_live_operation): Support handling
- for live variable outside loop but not in lcssa form.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * cfg.c (reset_original_copy_tables): New func.
- * cfg.h (reset_original_copy_tables): New decl.
-
-2016-10-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c/77946
- * tree.h (FALLTHROUGH_LABEL_P): Use private_flag instead of
- public_flag.
- * varasm.c (default_binds_local_p_3): Formatting fix.
-
-2016-10-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code
- style issue.
- (vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
- Remove useless code.
-
-2016-10-13 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/77943
- * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
- a different EH landing pads.
-
-2016-10-13 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77957
- * hooks.h (hook_tree_void_null): Declare.
- * hooks.c (hook_tree_void_null): New function.
- * langhooks.c (lhd_return_null_tree_v): Remove.
- * langhooks-def.h (lhd_return_null_tree_v): Remove.
- * cfgexpand.c (stack_protect_prologue): If guard_decl is NULL,
- set y to const0_rtx.
- * function.c (stack_protect_epilogue): Likewise.
- * config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine
- if TARGET_THREAD_SSP_OFFSET is defined.
- * config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise.
- * config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise.
- * config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise.
- * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise.
- * config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise.
- (ix86_stack_protect_guard): New function.
-
-2016-10-13 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (tree_add_const_value_attribute): Do not try
- rtl_for_decl_init during early phase.
- (gen_variable_die): Do not create locations during early phase.
- (gen_label_die): Likewise.
- (decls_for_scope): Do not waste time handling BLOCK_NONLOCALIZED_VARs
- twice.
-
-2016-10-12 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (evrp_dom_walker::try_find_new_range): Renamed from
- try_add_new_range and made to eturn new range.
- (evrp_dom_walker::before_dom_children): Push op1 value range before
- pushing op0 value range.
-
-2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77937
- * gimple-ssa-strength-reduction.c (analyze_increments): Use
- POINTER_TYPE_P on the candidate type to determine whether
- candidates in this chain require pointer arithmetic.
-
-2016-10-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.c (visium_gimplify_va_arg): Emit a big-endian
- correction if the type is smaller than a word.
- (visium_select_cc_mode): Add ... fall through ... comment.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (machine_function): Add new fields
- gpr_is_wrapped_separately and lr_is_wrapped_separately.
- (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
- TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
- TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
- TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
- TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
- TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
- (rs6000_get_separate_components): New function.
- (rs6000_components_for_bb): New function.
- (rs6000_disqualify_components): New function.
- (rs6000_emit_prologue_components): New function.
- (rs6000_emit_epilogue_components): New function.
- (rs6000_set_handled_components): New function.
- (rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately.
- Don't emit GPR saves if gpr_is_wrapped_separately for that register.
- (restore_saved_lr): Don't restore LR if lr_is_wrapped_separately.
- (rs6000_emit_epilogue): Don't emit GPR restores if
- gpr_is_wrapped_separately for that register. Don't make a
- REG_CFA_RESTORE note for registers we did not restore, either.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (thread_prologue_and_epilogue_insns): Call
- try_shrink_wrapping_separate. Compute the prologue_seq afterwards,
- if it has possibly changed. Compute the split_prologue_seq and
- epilogue_seq later, too.
- * shrink-wrap.c: #include cfgbuild.h and insn-config.h.
- (dump_components): New function.
- (struct sw): New struct.
- (SW): New function.
- (init_separate_shrink_wrap): New function.
- (fini_separate_shrink_wrap): New function.
- (place_prologue_for_one_component): New function.
- (spread_components): New function.
- (disqualify_problematic_components): New function.
- (emit_common_heads_for_components): New function.
- (emit_common_tails_for_components): New function.
- (insert_prologue_epilogue_for_components): New function.
- (try_shrink_wrapping_separate): New function.
- * shrink-wrap.h: Declare try_shrink_wrapping_separate.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * regrename.c (build_def_use): Invalidate chains that have a
- REG_CFA_RESTORE on some instruction.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * dce.c (delete_unmarked_insns): Don't delete instructions with
- a REG_CFA_RESTORE note.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * common.opt (-fshrink-wrap-separate): New flag.
- * doc/invoke.texi: Document it.
- * doc/tm.texi.in (Shrink-wrapping separate components): New subsection.
- * doc/tm.texi: Regenerate.
- * emit-rtl.h (struct rtl_data): New field shrink_wrapped_separate.
- * target.def (shrink_wrap): New hook vector.
- (get_separate_components, components_for_bb, disqualify_components,
- emit_prologue_components, emit_epilogue_components,
- set_handled_components): New hooks.
-
-2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_return_in_memory): Warn for
- vector return by reference only if -Wpsabi.
- (rs6000_pass_by_reference): Similarly, for argument passing.
-
-2016-10-12 David Malcolm <dmalcolm@redhat.com>
-
- * function-tests.c: Include "print-rtl.h".
- (selftest::test_expansion_to_rtl): Call print_rtx_function on the
- function, and verify what is dumped.
- * print-rtl-function.c (print_edge): New function.
- (begin_any_block): New function.
- (end_any_block): New function.
- (can_have_basic_block_p): New function.
- (print_rtx_function): Track the basic blocks of insns in the
- chain, wrapping those that are within blocks within "(block)"
- directives. Remove the "(cfg)" directive.
-
-2016-10-12 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c (selftest::read_file): New function.
- (selftest::test_read_file): New function.
- (selftest::selftest_c_tests): Call test_read_file.
- * selftest.h (selftest::read_file): New decl.
-
-2016-10-12 Richard Biener <rguenther@suse.de>
-
- PR debug/77947
- * cgraphunit.c (analyze_functions): Preserve cgraph nodes
- function context.
-
-2016-10-12 Thomas Schwinge <thomas@codesourcery.com>
-
- * lto-streamer.c: Fix LTO_STREAMER_DEBUG build.
-
- * dwarf2out.c (dwarf2_lineno_debug_hooks): Use
- dwarf2out_assembly_start.
-
- * Makefile.in (SELFTEST_FLAGS): Add -nostdinc.
-
- * Makefile.in (SELFTEST_FLAGS): New variable.
- (s-selftest, selftest-gdb, selftest-valgrind): Use it.
-
- * vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to
- early_finish hook.
-
-2016-10-12 Georg-Johann Lay <avr@gjlay.de>
-
- * rtl.h (struct rtx_def): Comment how RTX_FLAGS will be
- dumped in RTL dumps.
-
-2016-10-12 Martin Liska <mliska@suse.cz>
-
- * gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
- (gimple_fold_builtin_memory_op): Use the function.
- (gimple_fold_builtin_strchr): Likewise.
- (gimple_fold_builtin_strcat): Likewise.
- (gimple_build): Likewise.
-
-2016-10-12 Nathan Sidwell <nathan@acm.org>
-
- * diagnostic.c (diagnostc_report_diagnostic): Fix formatting.
-
-2016-10-12 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (int_loc_descriptor): Generate opcodes for another
- equivalent 32-bit constant (modulo 2**32) when that yields
- smaller instructions.
- (size_of_int_loc_descriptor): Update accordingly.
-
-2016-10-12 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (dwarf2out_early_global_decl): For nested
- functions, call dwarf2out_decl on the parent function first.
-
-2016-10-12 Richard Biener <rguenther@suse.de>
-
- * match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
- on the conversion.
-
-2016-10-12 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-propagate.c
- (substitute_and_fold_dom_walker::before_dom_children): Do not
- ignore ASSERT_EXPRs but only preserve them.
- * tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
- that have been propagated into.
- (vrp_finalize): Enable DCE for substitute_and_fold.
-
-2016-10-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77920
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
- (simplify_min_or_max_using_ranges): Pass in gsi and use it.
- (simplify_abs_using_ranges): Likewise.
- (simplify_conversion_using_ranges): Likewise.
- (simplify_stmt_using_ranges): Adjust.
-
-2016-10-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/77929
- * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
- (*ops)[ranges[i].idx]->op != ranges[i].exp case.
-
-2016-10-12 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- PR target/77934
- * config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
- needs a base register for arg 1.
-
-2016-10-12 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (Wimplicit-fallthrough) Turn into alias to
- -Wimplicit-fallthrough=3. Remove EnabledBy.
- (Wimplicit-fallthrough=): New option.
- * gimplify.c (warn_implicit_fallthrough_r): Use
- OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
- * doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
- to -Wimplicit-fallthrough=3.
- (-Wimplicit-fallthrough=): Document.
-
-2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
- and GEU in DImode if TARGET_SUBXC.
- * config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
- (seqdi<W:mode>_zero_subxc): Delete.
- (neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
- (neg_seqdi<W:mode>_zero_vis3): Delete.
- (plus_seqdi<W:mode>_zero): Likewise.
- (minus_seqdi<W:mode>_zero): Likewise.
- (plus_plus_sltu<W:mode>): Accept only register.
- (addx<W:mode>): Likewise.
- (plus_sltu<W:mode>_vis3): Likewise.
- (plus_plus_sltu<W:mode>_vis3): Likewise.
- (neg_sgeu<W:mode>_vis3): Delete.
- (minus_sgeu<W:mode>_vis3): Likewise.
- (addxc<W:mode>): Accept only registers.
- (neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
- (minus_neg_sltu<W:mode>_subxc): Accept only register.
- (neg_plus_sltu<W:mode>_subxc): Likewise.
- (minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
- (minus_minus_sltu<W:mode>_subxc): Accept only register.
- (sgeu<W:mode>_insn_subxc): Delete.
- (plus_sgeu<W:mode>_subxc): Likewise.
- (subxc<W:mode>): Accept only register.
- (scc splitter): Split always GEU again.
-
-2016-10-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/77424
- * tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
- dead conditionals. Assert that all e->aux fields are NULL.
-
-2016-10-11 David Malcolm <dmalcolm@redhat.com>
-
- * print-rtl.c (print_rtx): Rename "i" to "idx". Split out the
- operand-printing "switch" statement into...
- (print_rtx_operand_code_0): ...this new function, ...
- (print_rtx_operand_code_e): ...this new function, ...
- (print_rtx_operand_codes_E_and_V): ...this new function, ...
- (print_rtx_operand_code_i): ...this new function, ...
- (print_rtx_operand_code_r): ...this new function, ...
- (print_rtx_operand_code_u): ...this new function, ...
- (print_rtx_operand): ...and this new function.
-
-2016-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha-passes.def: New file.
- * config/alpha/t-alpha: New file.
- * config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
- (make_pass_handle_trap_shadows): New prototype.
- (make_pass_align_insns): Ditto.
- * config/alpha/alpha.c (alpha_option_override): Don't register
- passes here.
- * config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.
-
-2016-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/77924
- * config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
- distinct __ibm128 IBM extended double type if long doubles are
- 128-bits and the default format for long double is IEEE 128-bit.
-
-2016-10-11 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
- (init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
- (verify_die): New function.
- (dwarf2out_finish): Call it.
- (output_line_info): Handle case of -gsplit-dwarf without
- DWARF2_ASM_LINE_DEBUG_INFO.
-
-2016-10-11 Richard Biener <rguenther@suse.de>
-
- PR debug/77931
- * gimple-low.c (lower_gimple_bind): Handle arbitrary common
- sub-chains of BLOCK_VARS and gimple_bind_vars.
-
-2016-10-11 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * config/i386/znver1.md : Fix imov/imovx load type reservations.
-
-2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.opt (msubxc): New option.
- * doc/invoke.texi (SPARC options): Document it and tidy up.
- * doc/tm.texi.in (Condition Codes): Adjust SPARC example.
- * doc/tm.texi: Regenerate.
- * config/sparc/sparc-modes.def (CC_NOOV): Rename into...
- (CCNZ): ...this.
- (CCX_NOOV): Rename into...
- (CCXNZ): ...this.
- (CCC): New.
- (CCXC): Likewise.
- * config/sparc/predicates.m (fcc_register_operand): Simplify.
- (fcc0_register_operand): Likewise.
- (icc_register_operand): New.
- (icc_or_fcc_register_operand): Simplify.
- (nz_comparison_operator): New.
- (c_comparison_operator): Likewise.
- (noov_compare_operator): Rename into...
- (icc_comparison_operator): ...this. Use above predicates.
- (noov_compare64_operator): Rename into...
- (v9_comparison_operator): ...this and tidy up.
- (fcc_comparison_operator): New.
- (icc_or_fcc_comparison_operator): Likewise.
- (v9_register_compare_operator): Rename info...
- (v9_register_comparison_operator): ...this.
- * config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
- (sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
- for Niagara-7.
- (sparc_fixed_condition_code_regs): New function.
- (select_cc_mode): Remove ATTRIBUTE_UNUSED. Adjust for CCNZ/CCXNZ
- renaming and add support for CCC/CCXC.
- (output_cbranch): Likewise.
- (sparc_print_operand): Likewise.
- (gen_v9_scc): Remove obsolete assertion.
- (emit_scc_insn): Emit RTL directly for EQ and NE. Add direct support
- for EQ in DImode if TARGET_SUBXC. Remove test on TARGET_VIS3 for GEU.
- (output_cbcond): Remove bogus handling of CC modes.
- (sparc_register_move_cost): Return 100 for NO_REGS.
- * config/sparc/sparc.md (W): New mode iterator.
- (length): Adjust for noov_compare64_operator renaming.
- (cmpsi_sne): New instruction.
- (cmpdi_sne): Likewise.
- (seqdi_special): Delete.
- (seqdi_special): Likewise.
- (snesi<P:mode>_special): Likewise.
- (snedi_special): Likewise.
- (snedi_special_vis3): Likewise.
- (snesi patterns): Use W iterator.
- (snedi patterns): Likewise. Add TARGET_SUBXC patterns.
- (sltu patterns): Likewise.
- (sgeu patterns): Likewise.
- (scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
- (normal_branch): Use icc_comparison_operator predicate.
- (inverted_branch): Likewise.
- (cbcond_sp32): Use comparison_operator predicate.
- (cbcond_sp64): Likewise.
- (normal_int_branch_sp64): Adjust for renaming
- (inverted_int_branch_sp64): Likewise.
- (mov<I:mode>_cc_reg_sp64): Likewise.
- (movsf_cc_reg_sp6): Likewise.
- (movdf_cc_reg_sp64): Likewise.
- (movtf_cc_reg_hq_sp64): Likewise.
- (movtf_cc_reg_sp64): Likewise.
- (mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
- (movsf_cc_v9): Likewise.
- (movdf_cc_v9): Likewise.
- (movtf_cc_hq_v9): Likewise.
- (movtf_cc_v9): Likewise.
- (adddi3): Call gen_adddi3_sp32.
- (adddi3_insn_sp32): Rename to...
- (adddi3_sp32): ...this. Accept only register_operand as operand #1
- and use CCCmode for the carry.
- (addx_extend_sp32): Use CCCmode for the carry.
- (addx_extend_sp64): Delete.
- (adddi3_extend_sp32): Use CCCmode for the carry.
- (cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
- (subdi3): Call gen_subdi3_sp32.
- (subdi3_insn_sp32): Rename to...
- (subdi3_sp32): ...this and use CCmode for the carry.
- (subx_extend_sp32): Use CCCmode for the carry.
- (subx_extend_sp64): Delete.
- (subdi3_extend_sp32): Use CCmode for the carry.
- (cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
- (negdi3): Call gen_negdi3_sp32.
- (negdi3_sp32): Use CCCmode for the carry.
- (cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
- (cmp_nz_ashift_1): Use CCNZ mode.
- (cmp_nz_set_ashift_1): Likewise.
- (ctrapsi4): Use comparison_operator predicate.
- (ctrapdi4): Likewise.
- (trapsi_insn): Use icc_comparison_operator predicate.
- (trapdi_insn): Likewise.
- (edge8 patterns): Use CCNZmode.
- (edge16 patterns): Likewise.
- (edge32 patterns): Likewise.
-
-2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium-modes.def (CC_NOOV): Rename into...
- (CCNZ): ...this.
- (CC_BTST): Rename into...
- (CCC): ...this.
- * config/visium/predicates.md (real_add_operand): New.
- (visium_btst_operator): Rename into...
- (visium_equality_comparison_operator): ...this.
- (visium_noov_operator): Rename into...
- (visium_nz_comparison_operator): ...this.
- (visium_c_comparison_operator): New.
- (visium_branch_operator): Adjust and deal with all CC modes.
- * config/visium/visium.c (visium_adjust_cost): Adjust.
- (visium_split_double_add): Use the *_set_carry patterns.
- (visium_select_cc_mode): Add support for CCC mode and adjust.
- (output_cbranch): Adjust and use the carry-based operators for
- floating-point comparisons.
- * config/visium/visium.md (flags_subst_arith): Adjust.
- (addsi3_insn_set_carry): New instruction.
- (subsi3_insn_set_carry): Likewise.
- (negsi2_insn_set_carry): Likewise.
- (btst): Adjust.
- (cmp<mode>_sne): Likewise.
- (cbranch<mode>4): Use ordered_comparison_operator.
- (cbranch<mode>4_insn): Likewise.
- (cbranchsi4_btst_insn): Adjust.
-
-2016-10-11 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/77558
- * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
- special-casing.
-
-2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (build_complex_type): Add second parameter with default.
- * tree.c (build_complex_type): Add NAMED second parameter and adjust
- recursive call. Create a TYPE_DECL only if NAMED is true.
- (build_common_tree_nodes): Pass true in calls to build_complex_type.
-
-2016-10-11 Georg-Johann Lay <avr@gjlay.de>
-
- New avr-passes.def to register AVR specific passes.
-
- * config/avr/avr-passes.def: New file.
- * config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
- * config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
- (make_avr_pass_recompute_note): New proto.
- * config/avr/avr.c (make_avr_pass_recompute_notes): New function.
- (avr_pass_recompute_notes): Use anonymous namespace.
- (avr_register_passes): Remove function...
- (avr_option_override): ...and its call.
-
-2016-10-11 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
- PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
- PTF_AVOID_BRANCHLIKELY_SPEED for others.
- (mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune
- flags.
- * config/mips/mips.c (mips_option_override): Enable the branch
- likely depending on the tune flags and optimization level.
- * config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
- (PTF_AVOID_BRANCHLIKELY_SPEED): Define.
- (PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
- (PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.
-
-2016-10-11 Richard Biener <rguenther@suse.de>
-
- * lto-streamer-out.c (collect_block_tree_leafs): New helper.
- (output_function): Properly stream the whole block tree.
- * lto-streamer-in.c (input_function): Likewise.
-
-2016-10-11 Marek Polacek <polacek@redhat.com>
-
- * Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
-
-2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
- (evrp_dom_walker::before_dom_children): Infer and push new value
- ranges for x in y < x.
-
-2016-10-10 Joseph Myers <joseph@codesourcery.com>
-
- PR target/77586
- * config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
- (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
- * config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
- * config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
- * config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
- (IA64_NO_LIBGCC_TFMODE): Likewise.
-
-2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
- copying.
-
-2016-10-10 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config.gcc: Add aarch64-*-freebsd* support.
- * config.host: Likewise.
- * config/aarch64/aarch64-freebsd.h: New file.
- * config/aarch64/t-aarch64-freebsd: Ditto.
-
-2016-10-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71947
- * tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
- B with A within a single statement.
-
-2016-10-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/77824
- * gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
- zero cost for copies.
- (find_candidates_dom_walker::before_dom_children): Replace
- MODIFY_EXPR with SSA_NAME.
- (replace_mult_candidate): Likewise.
- (replace_profitable_candidates): Likewise.
-
-2016-10-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.h: Wrap more macros args in brackets and fix
-
-2016-10-10 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/gen-avr-mmcu-texi.c (string.h): Include.
-
-2016-10-10 Andreas Schwab <schwab@suse.de>
-
- PR target/77738
- * config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
- pseudo is not DImode.
-
-2016-10-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * common/config/arc/arc-common.c (arc_option_optimization_table):
- Remove compact casesi option.
- * config/arc/arc.c (arc_override_options): Use compact casesi
- option only for pre-ARCv2 cores.
- * doc/invoke.texi (mcompact-casesi): Update text.
-
-2016-10-09 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED):
- Add macro to say we can efficiently handle overlapping unaligned
- loads.
- * config/rs6000/rs6000.c (expand_block_compare): Avoid generating
- poor code for processors older than p8.
-
-2016-10-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen-pass-instances.awk: Remove GNUism.
-
-2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to
- NULL of (*ipcp_transformations)][node->uid].
-
-2016-10-09 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
- (MALLOC_ABI_ALIGNMENT): Define.
-
-2016-10-09 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa.c (target_for_debug_bind, verify_phi_args,
- ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
- VAR_OR_FUNCTION_DECL_P macros.
- * tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
- chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
- chkp_find_bounds_1): Likewise.
- * ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
- * hsa-gen.c (get_symbol_for_decl): Likewise.
- * cgraphunit.c (check_global_declaration, analyze_functions,
- handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
- Likewise.
- * gimple-fold.c (can_refer_decl_in_current_unit_p,
- canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
- Likewise.
- * tree.c (set_decl_section_name, copy_node_stat,
- need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
- merge_dllimport_decl_attributes, handle_dll_attribute,
- decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
- verify_type): Likewise.
- * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
- find_explicit_erroneous_behavior): Likewise.
- * sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
- * ipa.c (process_references): Likewise.
- * tree-chkp-opt.c (chkp_get_check_result): Likewise.
- * varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
- notice_global_symbol, assemble_variable, mark_decl_referenced,
- build_constant_desc, output_constant_def_contents, do_assemble_alias,
- make_decl_one_only, default_section_type_flags,
- categorize_decl_for_section, default_encode_section_info): Likewise.
- * trans-mem.c (requires_barrier): Likewise.
- * gimple-expr.c (mark_addressable): Likewise.
- * cfgexpand.c (add_scope_conflicts_1, expand_one_var,
- expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
- expand_debug_expr): Likewise.
- * tree-dump.c (dequeue_and_dump): Likewise.
- * ubsan.c (instrument_bool_enum_load): Likewise.
- * tree-pretty-print.c (print_declaration): Likewise.
- * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
- * tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
- * asan.c (asan_protect_global, instrument_derefs): Likewise.
- * tree-into-ssa.c (rewrite_stmt, maybe_register_def,
- pass_build_ssa::execute): Likewise.
- * var-tracking.c (var_debug_decl, track_expr_p): Likewise.
- * tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
- Likewise.
- * ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
- Likewise.
- * tree-inline.c (insert_debug_decl_map, remap_ssa_name,
- can_be_nonlocal, remap_decls, copy_debug_stmt,
- initialize_inlined_parameters, add_local_variables,
- reset_debug_binding, replace_locals_op): Likewise.
- * dse.c (can_escape): Likewise.
- * ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
- Likewise.
- * tree-diagnostic.c (default_tree_printer): Likewise.
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
- unpack_ts_decl_with_vis_value_fields,
- lto_input_ts_decl_common_tree_pointers): Likewise.
- * builtins.c (builtin_save_expr, fold_builtin_expect,
- readonly_data_expr): Likewise.
- * tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
- create_variable_info_for, set_uids_in_ptset, visit_loadstore):
- Likewise.
- * gimple-streamer-out.c (output_gimple_stmt): Likewise.
- * gimplify.c (force_constant_size, gimplify_bind_expr,
- gimplify_decl_expr, gimplify_var_or_parm_decl,
- gimplify_compound_lval, gimplify_init_constructor,
- gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
- gimplify_type_sizes): Likewise.
- * cgraphbuild.c (record_reference, record_type_list, mark_address,
- mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
- * tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
- remove_unused_locals): Likewise.
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
- ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
- * function.c (instantiate_expr, instantiate_decls_1,
- setjmp_vars_warning, add_local_decl): Likewise.
- * alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
- Likewise.
- * tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
- va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
- optimize_va_list_gpr_fpr_size): Likewise.
- * tree-nrv.c (pass_nrv::execute): Likewise.
- * tsan.c (instrument_expr): Likewise.
- * tree-ssa-dce.c (remove_dead_stmt): Likewise.
- * vtable-verify.c (verify_bb_vtables): Likewise.
- * tree-dfa.c (ssa_default_def, set_ssa_default_def,
- get_ref_base_and_extent): Likewise.
- * toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
- Likewise.
- * tree-sra.c (static bool constant_decl_p, find_var_candidates,
- analyze_all_variable_accesses): Likewise.
- * tree-nested.c (get_nonlocal_debug_decl,
- convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
- note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
- get_local_debug_decl, convert_local_omp_clauses,
- convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
- Likewise.
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
- * stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
- * dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
- dbxout_symbol, dbxout_common_check): Likewise.
- * expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
- string_constant): Likewise.
- * hsa.c (hsa_get_declaration_name): Likewise.
- * passes.c (rest_of_decl_compilation): Likewise.
- * tree-ssanames.c (make_ssa_name_fn): Likewise.
- * tree-streamer-out.c (pack_ts_decl_common_value_fields,
- pack_ts_decl_with_vis_value_fields,
- write_ts_decl_common_tree_pointers): Likewise.
- * stor-layout.c (place_field): Likewise.
- * symtab.c (symtab_node::maybe_create_reference,
- symtab_node::verify_base, symtab_node::make_decl_local,
- symtab_node::copy_visibility_from,
- symtab_node::can_increase_alignment_p): Likewise.
- * dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
- decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
- fortran_common, add_location_or_const_value_attribute,
- add_scalar_info, add_linkage_name, set_block_abstract_flags,
- local_function_static, gen_variable_die, dwarf2out_late_global_decl,
- optimize_one_addr_into_implicit_ptr,
- optimize_location_into_implicit_ptr): Likewise.
- * gimple-low.c (record_vars_into): Likewise.
- * ipa-visibility.c (update_vtable_references): Likewise.
- * tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
- Likewise.
- * lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
- DFS::DFS_write_tree_body, write_symbol): Likewise.
- * langhooks.c (lhd_warn_unused_global_decl,
- lhd_set_decl_assembler_name): Likewise.
- * attribs.c (decl_attributes): Likewise.
- * except.c (output_ttype): Likewise.
- * varpool.c (varpool_node::get_create, ctor_for_folding,
- varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
- * fold-const.c (fold_unary_loc): Likewise.
- * ipa-prop.c (ipa_compute_jump_functions_for_edge,
- ipa_find_agg_cst_from_init): Likewise.
- * omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
- expand_omp_target, lower_omp_regimplify_p,
- grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
- find_link_var_op): Likewise.
- * tree-chrec.c (chrec_contains_symbols): Likewise.
- * tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
- gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
- execute_fixup_cfg): Likewise.
-
- PR tree-optimization/77901
- * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
- if ranges[i].exp is SSA_NAME when looking for >= and only when
- ranges[i].exp is NULL or SSA_NAME when looking for the other
- comparison.
-
-2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * ipa-cp.c (ipcp_alignment_lattice): Remove.
- (ipcp_param_lattices): Remove field alignment.
- (print_all_lattices): Remove call to ipcp_alignment_lattice::print.
- (set_all_contains_variable): Remove call to
- ipcp_alignment_lattice::set_to_bottom.
- (initialize_node_lattices): Likewise.
- (propagate_alignment_accross_jump_function): Remove.
- (propagate_constants_accross_call): Remove call to
- propagate_alignment_accross_jump_function.
- (ipcp_store_alignment_results): Remove.
- (ipcp_driver): Remove call to ipcp_store_alignment_results.
- (propagate_bits_accross_jump_function): Handle ancestor jump function.
- * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
- pretty-printing of alignment jump function.
- (ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
- (ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
- alignments and remove computing ipa_alignment jump function.
- (ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
- (ipa_write_jump_functions): Remove streaming for ipa_alignment.
- (ipa_read_jump_function): Remove reading of ipa_alignment.
- (write_ipcp_transformation_info): Remove streaming for alignment
- propagation summary.
- (read_ipcp_transformation_info): Remove reading of alignment
- propagation summary.
- (ipcp_update_alignments): Remove.
- (ipcp_update_bits): Adjust to set alignment for parameters of pointer
- type.
- (ipcp_transform_function): Remove call to ipcp_update_alignments()
- and remove assignment to (*ipcp_transformations)[node->uid].alignments.
- * ipa-prop.h (ipa_alignment): Remove.
- (ipa_jump_func): Remove field alignment.
- (ipcp_transformation_summary): Remove field alignments.
- * doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
- * opts.c (default_options_table): Remove entry for fipa-cp-alignment.
- (enable_fdo_optimizations): Remove checking for fipa-cp-alignment.
-
-2016-10-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
-
- * config/visium/visium.c (visium_expand_int_cstore): Revert latest
- change.
- (visium_expand_fp_cstore): Likewise.
-
-2016-10-08 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * diagnostic-core.h (warning_at_rich_loc_n): Declare.
- * diagnostic.c (warning_at_rich_loc_n): New function.
- (diagnostic_n_impl_richloc): Likewise.
- (diagnostic_n_impl): Move most of the function to
- diagnostic_n_impl_richloc and call it.
-
-2016-10-08 Jakub Jelinek <jakub@redhat.com>
-
- * gen-pass-instances.awk: Rewritten.
- * Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
- $(PASSES_EXTRA) after passes.def to the script.
- * config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
- * config/i386/i386-passes.def: New file.
- * config/i386/i386-protos.h (make_pass_insert_vzeroupper,
- make_pass_stv): Declare.
- * config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
- false.
- (pass_stv::gate): Depending on timode_p member require TARGET_64BIT
- or !TARGET_64BIT.
- (pass_stv::clone, pass_stv::set_pass_param): New methods.
- (pass_stv::timode_p): New non-static data member.
- (ix86_option_override): Don't register passes here.
-
- * doc/invoke.texi: Document accepting Else, fallthrough.
-
- * doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
- style changes.
-
- * doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
- FALLTHRU comment styles.
-
-2016-10-07 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
- * config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
- * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
- Likewise.
- * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION):
- Likewise.
- * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
- Likewise.
- * config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
- (AARCH64_ARCH): Likewise.
- * common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION):
- Likewise.
- (AARCH64_CORE): Likewise.
- (AARCH64_ARCH): Likewise.
- * config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
- (AARCH64_EXTRA_TUNING_OPTION): Likewise.
- * config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
- (AARCH64_EXTRA_TUNING_OPTION): Likewise.
- (AARCH64_ARCH): Likewise.
- (AARCH64_CORE): Likewise.
- * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
- * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
- (AARCH64_CORE): Likewise.
- (AARCH64_ARCH): Likewise.
-
-2016-10-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split
- -mfloat128 into -mfloat128-type that enables the IEEE 128-bit
- floating point type infrastructre, and -mfloat128 that enables the
- keyword. Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__
- if -mfloat128-type. Define __ibm128 to be long double by default.
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether
- the IEEE 128-bit floating point type infrastructure should
- automatically be enabled.
- (rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type
- instead of -mfloat128 to enable KFmode.
- (rs6000_option_override_internal): Split the option -mfloat128
- into -mfloat128-type and -mfloat128. On Linux PowerPC 64-bit
- systems, automatically set -mfloat128-type, but don't enable it on
- other operating systems. Move setting the long double size and
- IEEE quad support before the IEEE 128-bit floating point changes.
- (rs6000_init_builtins): Do not create a unique type for __ibm128
- if long double is IBM extended double, instead rely on __ibm128
- being defined as 'long double'. If -mfloat128-type and not
- -mfloat128, create the KFmode type with an undocumented __ieee128
- keyword.
- (rs6000_init_libfuncs): Use -mfloat128-type instead of
- -mfloat128 for tests about the types, but keep tests for
- -mfloat128 to enable the keyword support.
- (rs6000_complex_function_value): Likewise.
- (rs6000_scalar_mode_supported_p): Likewise.
- (rs6000_floatn_mode): Likewise.
- (rs6000_c_mode_for_suffix): Likewise.
- (rs6000_opt_masks): Add -mfloat128-type.
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for
- -mfloat128-type being split from -mfloat128. Add
- -mfloat128-hardware, which was missing.
- * config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into
- -mfloat128 and -mfloat128-type:
- (-mfloat128-type): Likewise.
- * config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so
- that 64-bit Linux systems with enable -mfloat128-type by default
- on VSX systems.
- * config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise.
- (FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use
- -mfloat128-type instead of -mfloat128.
- (FLOAT128_2REG_P): Likewise.
- (MASK_FLOAT128_TYPE): Likewise.
- (ALTIVEC_ARG_MAX_RETURN): Likewise.
- (RS6000_BTM_FLOAT128): Likewise.
- (TARGET_FLOAT128): Poison old identifiers.
- (OPTION_MASK_FLOAT128): Likewise.
- (MASK_FLOAT128): Likewise.
- * config/rs6000/rs6000.md (FP): Likewise.
- (FLOAT128): Likewise.
- (fix_trunc<mode>di2): Likewise.
- (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
- (floatdi<mode>2): Likewise.
- (floatuns<SDI:mode><IEEE128:mode>2): Likewise.
- (neg<mode>2, FLOAT128 iterator): Likewise.
- (abs<mode>2, FLOAT128 iterator): Likewise.
- (ieee_128bit_negative_zero): Likewise.
- (ieee_128bit_vsx_neg<mode>2): Likewise.
- (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
- (ieee_128bit_vsx_abs<mode>2): Likewise.
- (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
- (ieee_128bit_vsx_nabs<mode>2): Likewise.
- (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
- (extendiftf2): Likewise.
- (extendifkf2): Likewise.
- (extendtfkf2): Likewise.
- (trunciftf2): Likewise.
- (truncifkf2): Likewise.
- (trunckftf2): Likewise.
- (trunctfif2): Likewise.
- (extendkftf2): Likewise.
- (trunctfkf2): Likewise.
-
-2016-10-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_immed_subreg): Zero-initialize tmp array
- before merging in bytes to pass down to real_from_target.
-
-2016-10-07 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-propagate.c (replace_phi_args_in): Remove no longer
- required hack.
- (substitute_and_fold_dom_walker::before_dom_children):
- Substitute and fold before pass specific folding to avoid
- feeding that with SSA names that will be later released.
- * tree-ssa-ccp.c (get_value_for_expr): Guard for new SSA names
- introduced by folding and visited by evaluate_stmt called during
- ccp_fold_stmt.
- (likely_value): Likewise.
- (evaluate_stmt): Likewise.
- * tree-vrp.c (simplify_truth_ops_using_ranges): Fold modified stmt.
- (simplify_div_or_mod_using_ranges): Likewise.
- (simplify_min_or_max_using_ranges): Likewise.
- (simplify_abs_using_ranges): Likewise.
- (simplify_conversion_using_ranges): Likewise.
- (simplify_float_conversion_using_ranges): Likewise.
- (simplify_stmt_using_ranges): Likewise.
-
-2016-10-07 Marek Polacek <polacek@redhat.com>
-
- * gimplify.c (should_warn_for_implicit_fallthrough): Check for
- FALLTHROUGH_LABEL_P here...
- (warn_implicit_fallthrough_r): ...not here.
-
-2016-10-07 Bernd Schmidt <bschmidt@redhat.com>
-
- PR tree-optimization/77880
- * expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
- necessary.
-
-2016-10-07 Marek Polacek <polacek@redhat.com>
-
- PR c++/77803
- * gimplify.c (last_stmt_in_scope): Add check for FALLTHROUGH ().
-
-2016-10-07 Richard Biener <rguenther@suse.de>
-
- * bitmap.h: Document constraints on bitmap modification while
- iterating over it.
-
-2016-10-07 Richard Biener <rguenther@suse.de>
-
- * bitmap.c (bitmap_elem_to_freelist): Set indx to -1.
- * bitmap.h (bmp_iter_set): When advancing to the next element
- check that we didn't remove the current one.
- (bmp_iter_and): Likewise.
- (bmp_iter_and_compl): Likewise.
- * tree-ssa.c (release_defs_bitset): Do not remove worklist bit
- we currently iterate on but keep a one-level queue.
- * sched-deps.c (remove_from_deps): Do not clear current bit
- but keep a one-level queue.
-
-2016-10-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/77664
- * tree-ssa-reassoc.c (update_range_test): Also clear low and high
- for the other ranges.
- (optimize_range_tests_diff): Fix up formatting.
- (optimize_range_tests_var_bound): New function.
- (optimize_range_tests): Use it.
-
-2016-10-07 Martin Liska <mliska@suse.cz>
-
- * coverage.c (build_gcov_exit_decl): Fix priority what
- should be really 99.
-
-2016-10-07 Richard Biener <rguenther@suse.de>
-
- * gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of
- vars in gimple_bind_vars but not in BLOCK_VARS.
-
-2016-10-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77879
- * tree-ssa-structalias.c (handle_const_call): Properly handle
- NRV return slots.
- (handle_pure_call): Likewise.
-
-2016-10-06 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor)
- (rs6000_elf_asm_out_destructor): increase size of buf to avoid
- possible overflow.
-
-2016-10-06 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-cores.def: Add a comment before each
- set of cores.
-
-2016-10-06 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR tree-optimization/77862
- * tree-vrp.c (add_equivalence): Use get_value_range so that
- num_vr_values is checked before accessing vr_values.
-
-2016-10-06 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
- POINTER_TYPE_P.
-
-2016-10-05 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71661
- * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Handle case when
- removal of a forwarder exposes a new natural loop.
-
-2016-10-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (andnot<mode>3): Add FALLTHRU comments.
- Introduce ssesuffix variable.
- (<mask_codefor><code><mode>3<mask_name>): Ditto.
- (*<code><mode>3): Ditto.
-
-2016-10-06 Jan Hubicka <hubicka@ucw.cz>
-
- * postreload.c (reload_cse_simplify): Skip also USE when detecting
- noop move.
-
-2016-10-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77855
- * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
- instead of removing the current item while iterating over the set
- which is not safe.
-
-2016-10-06 James Clarke <jrtc27@jrtc27.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/77759
- * config/sparc/sparc.c (classify_data_t): Remove int_regs field.
- (classify_registers): Don't set it
- (function_arg_slotno): Don't initialize and test it. Tidy up.
-
-2016-10-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77839
- * tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
- lattice transition.
-
-2016-10-06 Martin Liska <mliska@suse.cz>
-
- * gcc.c: Set -fprofile-update=atomic when profiling is
- enabled and -pthread is set. Warn when one combines
- -pthread and -fprofile-update=single for an app using
- profiling code.
-
-2016-10-06 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/77788
- * expmed.h (mul_highpart_cost_ptr): Add an gcc_assert.
- * gimple-ssa-strength-reduction.c (slsr_process_cast):
- Initialize a pointer to NULL.
- (slsr_process_copy): Likewise.
- * input.c (location_get_source_line): Likewise.
- * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
-
-2016-10-05 Andrew Senkevich <andrew.senkevich@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
- OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
- (ix86_handle_option): Deleted handle of OPT_mpcommit.
- * config.gcc: Deleted pcommitintrin.h
- * config/i386/pcommitintrin.h: Deleted file.
- * config/i386/cpuid.h (bit_PCOMMIT): Deleted.
- * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
- detection.
- * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
- __PCOMMIT__.
- * config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
- (PTA_PCOMMIT): Deleted define.
- (ix86_option_override_internal): Deleted handle of option.
- (ix86_valid_target_attribute_inner_p): Deleted pcommit.
- * config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT,
- __builtin_ia32_pcommit): Deleted.
- * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
- * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
- (pcommit): Deleted instruction.
- * config/i386/i386.opt: Mention -mpcommit deprecation.
- * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
-
-2016-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77874
- * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
- Remove wrong assert.
- (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
- Use <round_constraint> as operand 1 constraint.
-
-2016-10-05 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/66343
- * ubsan.c (ubsan_create_data): Call initialize_sanitizer_builtins here.
- (ubsan_instrument_float_cast): And not here.
-
- PR sanitizer/66343
- * ubsan.c (ubsan_ids): New GTY(()) array.
- (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
- instead of static local counters.
-
-2016-10-05 Martin Sebor <msebor@redhat.com>
-
- PR bootstrap/77819
- * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define macro.
- * config/linux.c (gnu_libc_printf_pointer_format): Remove.
- * targhooks.c [DEFAULT_LIBC == LIBC_UCLIBC) && SINGLE_LIBC]
- (default_printf_pointer_format): Define function.
- * targhooks.c (linux_printf_pointer_format): Define new function.
- * targhooks.h (linux_printf_pointer_format): Declare.
- (gnu_libc_printf_pointer_format): Remove declaration.
-
-2016-10-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * fold-const.c (native_encode_real): Fix logic for selecting offset
- to write to when BYTES_BIG_ENDIAN.
-
-2016-10-05 Wilco Dijkstra <wdijkstr@arm.com>
-
- * builtins.c (fold_builtin_strchr): Remove function.
- (fold_builtin_strrchr): Likewise.
- (fold_builtin2): Remove strchr, index, strrchr, rindex cases.
- * gimple-fold.c (target_char_cst_p): New function.
- (gimple_fold_builtin_strchr) Add more foldings.
- (gimple_fold_builtin): Add index, strrchr, rindex cases.
-
-2016-10-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77863
- * genmatch.c (capture_info::walk_c_expr): Diagnose unknown
- capture ids in c-exprs.
-
-2016-10-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77826
- * genmatch.c (dt_operand::gen_match_op): Amend operand_equal_p
- with types_match for GIMPLE code gen to handle type mismatched
- constants properly.
- (dt_operand::gen): Adjust.
- * match.pd ((X /[ex] A) * A -> X): Properly handle converted
- and constant A.
-
-2016-10-05 Richard Biener <rguenther@suse.de>
-
- * match.pd (copysign(x, CST) -> [-]abs (x)): New pattern.
-
-2016-10-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77842
- * genmatch.c (parser::parse_c_expr): Handle premature EOF.
-
-2016-10-05 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (dwarf2out_imported_module_or_decl): Move DWARF
- version check to protect only DW_TAG_imported_module generation.
-
-2016-10-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55152
- * match.pd (min(a,-a) -> -abs(a)): New pattern.
-
-2016-10-04 Ian Lance Taylor <iant@golang.org>
-
- * explow.c (allocate_dynamic_stack_space): Call
- do_pending_stack_adjust before handling flag_split_stack.
-
-2016-10-04 David Malcolm <dmalcolm@redhat.com>
-
- * genattrtab.c (make_internal_attr): Supply dummy column number to
- file_location ctor.
- (main): Likewise.
- * genoutput.c (init_insn_for_nothing): Likewise.
- * gensupport.c (add_define_attr): Likewise.
- * read-md.c (message_at_1): Print column number.
- (fatal_with_file_and_line): Likewise.
- (rtx_reader::read_char): Track column numbers.
- (rtx_reader::unread_char): Likewise.
- (rtx_reader::rtx_reader): Initialize m_read_md_colno.
- (rtx_reader::handle_include): Stash and restore m_read_md_colno.
- (rtx_reader::handle_file): Initialize m_read_md_colno.
- (rtx_reader::get_current_location): Supply column number to
- file_location ctor.
- * read-md.h (struct file_location): Add field "colno".
- (file_location::file_location): Likewise.
- (rtx_reader::get_colno): New accessor.
- (rtx_reader::m_read_md_colno): New field.
- (rtx_reader::m_last_line_colno): New field.
-
-2016-10-04 Jakub Jelinek <jakub@redhat.com>
-
- * doc/extend.texi (Java Exceptions): Remove.
- (java_interface): Remove.
-
-2016-10-04 Doug Gilmore <doug.gilmore@imgtec.com>
-
- PR tree-optimization/77808
- * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Check base_addr
- and addr are different before copying points-to information.
-
-2016-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove.
- * config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove.
- * config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead
- of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops.
-
-2016-10-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77399
- * tree-ssa-forwprop.c (simplify_vector_constructor): Properly
- verify the target can convert.
-
-2016-10-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77833
- * explow.c (plus_constant): Verify the mode of the constant
- pool offset before calling plus_constant.
-
-2016-10-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77407
- * match.pd (X / abs (X) -> X < 0 ? -1 : 1): Drop vector
- type support, mark with :C.
- (X / -X -> -1): Mark with :C.
-
-2016-10-04 Jakub Jelinek <jakub@redhat.com>
-
- * defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove.
- * system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison.
- * doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove.
- * doc/tm.texi: Regenerated.
- * config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove.
- * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove.
- * config/darwin.h (JCR_SECTION_NAME): Remove.
- * config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove.
- * config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove.
- * config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove.
- * config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove.
- * config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove.
- * config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove.
-
-2016-10-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * ipa-cp.c (propagate_bits_accross_jump_function): Introduce space
- between "because" and "param" in dump message in call to fprintf.
-
-2016-10-03 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71550
- PR tree-optimization/71403
- * tree-ssa-threadbackward.c: Include tree-vectorizer.h
- (profitable_jump_thread_path): Also return boolean indicating if
- the realized path will create an irreducible loop.
- Remove loop depth tests from 71403.
- (fsm_find_control_statement_thread_paths): Remove loop depth tests
- from 71403. If threading will create an irreducible loop, then
- throw away loop iteration and related information.
-
-2016-10-03 Uros Bizjak <ubizjak@gmail.com>
-
- * configure.ac (strict_warn): Merge -Wmissing-format-attribute and
- -Woverloaded-virtual checks for warning options.
- * configure: Regenerate.
-
-2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR preprocessor/77699
- * input.c (maybe_grow): Don't allocate one byte extra headroom.
- (get_next_line): Return false on error.
- (read_next_line): Removed, use get_next_line instead.
- (read_line_num): Don't copy the line.
- (location_get_source_line): Don't use static data.
- (selftest::test_reading_source_line): Add more test cases.
-
-2016-10-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- Revert
- 2016-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_avoid_const_materialization): New function.
- (noce_process_if_block): Use it.
-
-2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * doc/invoke.texi: Update -Wint-in-bool-context.
-
-2016-10-02 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (output_fde, output_call_frame_info,
- dwarf2out_do_cfi_startproc, set_indirect_string,
- gen_internal_sym, output_die, output_line_info): Use
- MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for
- ASM_GENERATE_INTERNAL_LABEL output.
-
-2016-10-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77798
- * genmatch.c (get_operand_type): Add operand position arg
- and handle COND_EXPR comparison operand with fixed boolean_type_node.
- (expr::gen_transform): Adjust.
- (dt_simplify::gen_1): Likewise.
-
-2016-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (<mask_codefor><code><mode>): Add FALLTHRU
- comments. Simplify asserts, remove unnecessary conditions.
- Formatting fixes.
- (*<code><mode>3): Likewise.
-
-2016-09-30 Jakub Jelinek <jakub@redhat.com>
-
- * doc/invoke.texi (-Wregister): Document.
-
-2016-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * configure.ac: Split CHECKING_P into CHECKING_P and
- ENABLE_EXTRA_CHECKING.
- * configure: Regenerated.
- * config.in: Adjust commment of CHECKING_P. Add ENABLE_EXTRA_CHECKING.
- * common.opt (flag_checking): Use CHECKING_P and ENABLE_EXTRA_CHECKING.
-
-2016-09-30 Prasad Ghangal <prasad.ghangal@gmail.com>
-
- PR other/31566
- * gcc.c (process_command): For @filename handling, output
- the correct name if the file does not exist.
-
-2016-09-30 Marek Polacek <polacek@redhat.com>
-
- * config/aarch64/aarch64-simd.md: Adjust fall through comments.
- * config/alpha/predicates.md: Likewise.
-
-2016-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_avoid_const_materialization): New function.
- (noce_process_if_block): Use it.
-
-2016-09-30 Martin Liska <mliska@suse.cz>
-
- * doc/invoke.texi: Document asan-use-after-return that
- it's disabled by default in runtime.
-
-2016-09-30 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (intersect_ranges): If we failed to handle
- the intersection choose a constant singleton range if available.
-
-2016-09-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77399
- * tree-ssa-forwprop.c (simplify_vector_constructor): Handle
- float <-> int conversions.
-
-2016-09-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_opt_vars): Revert last change.
-
-2016-09-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Check maximum
- ext_level before calling CPUID with 0x80000008.
- Simplify xgetbv checks.
-
-2016-09-29 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add print-rtl-function.o.
- * print-rtl-function.c: New file.
- * print-rtl.h (print_rtx_function): New decl.
-
-2016-09-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77756
- * config/i386/cpuid.h (__get_cpuid_count): New.
- (__get_cpuid): Rename __level to __leaf.
-
-2016-09-29 Marek Polacek <polacek@redhat.com>
-
- * genattrtab.c (write_attr_case): Also emit FALLTHRU marker.
-
-2016-09-29 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/77718
- * builtins.c (expand_builtin_memcmp): Don't swap args unless
- result is only being compared with zero.
-
-2016-09-29 Marek Polacek <polacek@redhat.com>
-
- * dwarf2out.c (loc_descriptor): Add fall through comment.
- (add_const_value_attribute): Likewise.
-
-2016-09-29 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.md (*arm_movsi_insn): Replace "t2" arch attribute
- with "v6t2". Move "arch" attribute above "pool_range".
- * config/arm/vfp.md (*arm_movhi_vfp): Replace "t2" arch attribute
- with "v6t2".
- (*thumb2_movhi_vfp): Likewise.
- (*arm_movhi_fp16): Likewise.
- (*thumb2_movhi_fp16): Likewise.
- (*arm_movsi_vfp): Remove "arch" attribute.
- (*thumb2_movsi_vfp): Likewise.
-
-2016-09-29 Martin Liska <mliska@suse.cz>
-
- * doc/extend.texi: Remove limitation of Objective C for
- __attribute__((constructor)) and __attribute__((destructor)).
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77768
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Handle stores to readonly memory when removing redundant stores.
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77407
- * match.pd: Add X / abs (X) -> X < 0 ? -1 : 1 and
- X / -X -> -1 simplifications.
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55152
- * match.pd: Add max(a,-a) -> abs(a) pattern.
- * tree-ssa-phiopt.c (minmax_replacement): Disable for
- HONOR_SIGNED_ZEROS types.
-
-2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
-
- * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove.
- * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison.
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (set_defs_to_varying): New helper avoiding
- writing to vr_const_varying.
- (vrp_initialize): Call it.
- (vrp_visit_stmt): Likewise.
- (evrp_dom_walker::before_dom_children): Likewise.
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Avoid emitting vector
- constructors with vector elements.
-
-2016-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77768
- * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
- with stores to a place we know has a constant value.
-
-2016-09-29 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/sysv4.opt (mgnu-attribute): New option.
- * doc/invoke.texi: Document it.
- * config/rs6000/rs6000.c (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): Define.
- (rs6000_passes_float): Comment.
- (rs6000_passes_long_double): New static var.
- (call_ABI_of_interest): Return false unless rs6000_gnu_attr is set.
- (init_cumulative_args): Set up to emit fp .gnu_attribute for
- ELF 64-bit ABIs as well as 32-bit ELF. Correct rs6000_passes_float
- to include fp values returned in vectors.
- Set rs6000_passes_long_double.
- (rs6000_function_arg_advance_1): Likewise for function args.
- (rs6000_elf_file_end): Emit fp .gnu_attribute for ELF 64-bit ABIs,
- and SPE. Emit long double tag value too.
- (rs6000_opt_vars): Add gnu-attr.
- * configure.ac (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): New ppc32 test.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2016-09-28 Jakub Jelinek <jakub@redhat.com>
-
- * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead
- of 0 < x.
- (format_floating, format_string, format_directive,
- get_destination_size, pass_sprintf_length::handle_gimple_call):
- Likewise.
-
-2016-09-28 Jakub Jelinek <jakub@redhat.com>
-
- * gimple-ssa-sprintf.c: Fix comment formatting.
- (format_integer): Use is_gimple_assign.
- (pass_sprintf_length::handle_gimple_call): Use gimple_call_builtin_p
- and gimple_call_fndecl. Reorder case BUILT_IN_SPRINTF_CHK. Fix up
- BUILT_IN_SNPRINTF_CHK comment. Replace "to to" with "to" in comment.
- (pass_sprintf_length::execute): Use is_gimple_call.
-
-2016-09-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * gimple-fold.c (gimple_fold_builtin): After failing to fold
- strchr, also try the generic folding.
-
-2016-09-28 Martin Sebor <msebor@redhat.com>
-
- PR c/77762
- * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
- Fix typos.
-
-2016-09-28 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/77683
- * gimple-ssa-sprintf.c (format_integer): Fail gracefully when
- length modifier is not expected.
- (format_floating): Ignore l length modifier and fail gracefuly
- when it isn't one of the other expected ones.
-
-2016-09-28 Martin Sebor <msebor@redhat.com>
-
- PR bootstrap/77753
- * varasm.c (assemble_addr_to_section): Increase local buffer size.
-
-2016-09-27 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (cu_die_list): New global.
- (dwarf2out_finish): Walk cu_die_list instead of limbo DIEs. Add
- main_comp_unit_die to cu_die_list if we created it.
- Move break_out_includes ...
- (dwarf2out_early_finish): ... here. Push created CU DIEs onto
- the cu_die_list.
-
-2016-09-28 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (struct die_struct): Add removed flag.
- (lookup_type_die): If the DIE is marked as removed, clear
- TYPE_SYMTAB_DIE and return NULL.
- (lookup_decl_die): If the DIE is marked as removed, remove it
- from the hash and return NULL.
- (mark_removed): New helper.
- (prune_unused_types_prune): Call it for removed DIEs.
- (gen_subprogram_die): Move the premark_used_types call to after
- DIEs for the functions scopes are generated.
- (process_scope_var): Do not re-create pruned types or type decls.
- Make sure to also re-parent type decls.
- (dwarf2out_finish): Move unused type pruning and debug_types
- handling ...
- (dwarf2out_early_finish): ... here.
-
-2016-09-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-c.c: New file.
- * config/arc/arc-c.def: Likewise.
- * config/arc/t-arc: Likewise.
- * config.gcc: Include arc-c.o as c and cpp object.
- * config/arc/arc-protos.h (arc_cpu_cpp_builtins): Add prototype.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Use
- arc_cpu_cpp_builtins.
-
-2016-09-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (*rotrsi3_cnt1): New pattern.
- (*ashlsi2_cnt1, *lshrsi3_cnt1, *ashrsi3_cnt1): Likewise.
-
-2016-09-28 Nathan Sidwell <nathan@acm.org>
-
- * gimple-pretty-print.c (dump_gimple_call_args): Simplify "' "
- printing.
-
-2016-09-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- PR tree-optimization/61056
- * gimple-fold.c (gimple_fold_builtin_strchr):
- New function to optimize strchr (s, 0) to strlen.
- (gimple_fold_builtin): Add BUILT_IN_STRCHR case.
-
-2016-09-27 Robin Dapp <rdapp@linux.vnet.ibm.com>
-
- PR tree-optimization/77724
- * tree-vect-loop-manip.c (create_intersect_range_checks_index):
- Add tree_fits_shwi_p check.
-
-2016-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * auto-inc-dec.c (try_merge): Remove break after return.
- * cselib.c (autoinc_split): Likewise.
- * explow.c (promote_mode): Likewise.
- * fixed-value.c (fixed_arithmetic): Likewise.
- * hsa.c (hsa_internal_fn::get_arity): Likewise.
- * rtlanal.c (modified_between_p, modified_in_p): Likewise.
- * trans-mem.c (get_attrs_for): Likewise.
- * tree-if-conv.c (if_convertible_stmt_p): Likewise.
- * tree-vrp.c (simplify_stmt_using_ranges): Likewise.
- * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise.
- * config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise.
- * config/c6x/c6x.c (c6x_get_unit_specifier): Likewise.
- * config/cr16/cr16.c (legitimate_pic_operand_p): Likewise.
- * config/cris/cris.c (cris_op_str): Likewise.
- * config/mn10300/mn10300.c (cc_flags_for_code): Likewise.
- * config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise.
-
-2016-09-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * internal-fn.h (IFN_UNIQUE_CODES, IFN_GOACC_LOOP_CODES,
- IFN_GOACC_REDUCTION_CODES): New.
- (enum ifn_unique_kind, enum ifn_goacc_loop_kind, enum
- ifn_goacc_reduction_kind): Use them.
- * gimple-pretty-print.c (dump_gimple_call_args): Decode first arg
- of internal functions, when applicable.
-
-2016-09-27 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/constraints.md (d): Fix documentation.
- * doc/md.texi (Machine Constraints): Update accordingly.
-
-2016-09-27 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (dwarf2out_init): Move text_section_line_info,
- cur_line_info_table initialization ...
- (dwarf2out_assembly_start): ... here.
-
-2016-09-27 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.md (*arm_movsi_insn): Add "arch" attribute.
- * config/arm/vfp.md (*arm_movhi_vfp): Likewise.
- (*thumb2_movhi_vfp): Likewise.
- (*arm_movhi_fp16): Remove predication operand from VMOV.F16
- template. Expand predicable attribute to mark VMOV.F16 as not
- predicable. Add "arch" attribute.
- (*thumb2_movhi_fp16): Likewise.
- (*arm_movsi_vfp): Break a long line. Add "arch" attribute.
- (*thumb2_movsi_vfp): Add "arch" attribute.
-
-2016-09-27 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
- VAR_DECL string.
-
-2016-09-27 Marek Polacek <polacek@redhat.com>
-
- * config/ia64/ia64.c (ia64_print_operand): Adjust fall through
- comment.
-
- * config/c6x/c6x.h: Adjust fall through comment.
- * config/sh/sh.c (final_prescan_insn): Likewise.
- * config/visium/visium.c (visium_expand_int_cstore): Likewise.
- (visium_expand_fp_cstore): Likewise.
-
-2016-09-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (const_ok_for_op): Use "Fall through" comment form
- expected by -Wimplicit-fallthrough.
- (thumb1_size_rtx_costs): Likewise.
- (thumb2_reorg): Likewise.
- (tls_mentioned_p): Add "Fall through" comment.
- (thumb2_reorg): Likewise.
- * config/arm/arm-builtins.c (arm_expand_neon_args): Use "Fall through"
- comment form expected by -Wimplicit-fallthrough.
-
-2016-09-27 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/46266
- * input.h (RESERVED_LOCATION_P): New macro.
- * profile.c (branch_prob): Use RESERVED_LOCATION_P and
- instread of comparison with UNKNOWN_LOCATION.
-
-2016-09-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77745
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- When removing redundant stores make sure to check compatibility
- of the TBAA state for downstream accesses.
- * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
- value-numbering virtual operands for store matches.
-
-2016-09-27 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
- movrt patterns. Match them before anything else in the SET case.
-
-2016-09-27 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/7970
- PR gcov-profile/16855
- PR gcov-profile/44779
- * coverage.c (build_gcov_exit_decl): New function.
- (coverage_obj_init): Call the function and generate __gcov_exit
- destructor.
- * doc/gcov.texi: Document when __gcov_exit function is called.
-
-2016-09-27 Marek Polacek <polacek@redhat.com>
-
- PR bootstrap/77751
- * Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
- insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Use
- -Wno-error instead of -Wno-implicit-fallthrough.
-
-2016-09-27 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/77749
- * gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
-
-2016-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
- * config/i386/i386.c (ix86_dep_by_shift_count_body): Add FALLTHROUGH
- comments. Remove break after return.
- (ix86_fp_compare_code_to_integer, has_dispatch,
- ix86_simd_clone_usable): Remove break after return.
-
-2016-09-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rlt-optimization/77714
- * lra-eliminations.c (eliminate_regs_in_insn): Avoid alias on
- REG_EQUAL note.
-
-2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR ipa/77677
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Use
- extract_range_from_unary_expr to convert value_range.
- * tree-vrp.c (extract_range_from_unary_expr_1): Rename to.
- (extract_range_from_unary_expr): This.
- * tree-vrp.h (extract_range_from_unary_expr): Declare.
-
-2016-09-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (movcc_internal1): Disparage using CTR or LR.
-
-2016-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/i386.c (ix86_print_operand)
- [HAVE_AS_IX86_CMOV_SUN_SYNTAX]: Add gcc_fallthrough.
- * config/sparc/sparc.c (check_pic): Add fallthrough comment.
- (epilogue_renumber): Likewise.
-
-2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/77719
- * tree-ssa-reassoc.c (make_new_ssa_for_def): Use gimple_get_lhs
- to get lhs instead of gimple_assign_lhs as stmt can be builtins too.
-
-2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
- is_mm_consume, is_mm_acquire, is_mm_release, is_mm_acq_rel,
- is_mm_seq_cst, is_mm_sync): Move to ...
- * memmodel.h: This. New file.
- * builtins.c: Include memmodel.h.
- * optabs.c: Likewise.
- * tsan.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * genconditions.c: Include memmodel.h in generated file.
- * genemit.c: Likewise.
- * genoutput.c: Likewise.
- * genpeep.c: Likewise.
- * genpreds.c: Likewise.
- * genrecog.c: Likewise.
-
-2016-09-26 David Malcolm <dmalcolm@redhat.com>
-
- * read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
- "c" instead when parsing characters. Move operand parsing into...
- (read_rtx_operand): ...this new function, renaming "i" to "idx",
- and tightening the scope of various locals.
-
-2016-09-26 Liu Hao <lh_mouse@126.com>
-
- * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
-
-2016-09-26 Marek Polacek <polacek@redhat.com>
-
- * system.h: Use __has_attribute to check whether the fallthrough
- attribute is supported.
-
-2016-09-26 Marek Polacek <polacek@redhat.com>
-
- * ipa-inline-analysis.c (find_foldable_builtin_expect): Use
- gimple_call_internal_p.
- * ipa-split.c (find_return_bb): Likewise.
- (execute_split_functions): Likewise.
- * omp-low.c (dump_oacc_loop_part): Likewise.
- (oacc_loop_xform_head_tail): Likewise.
- * predict.c (predict_loops): Likewise.
- * sanopt.c (pass_sanopt::execute): Likewise.
- * tree-cfg.c (get_abnormal_succ_dispatcher): Likewise.
- * tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
- * tree-stdarg.c (gimple_call_ifn_va_arg_p): Remove function.
- (expand_ifn_va_arg_1): Use gimple_call_internal_p.
- (expand_ifn_va_arg): Likewise.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
- (optimize_mask_stores): Likewise.
- * tree-vect-stmts.c (vect_simd_lane_linear): Likewise.
- (vect_transform_stmt): Likewise.
- * tree-vectorizer.c (vect_loop_vectorized_call): Likewise.
- * tsan.c (instrument_memory_accesses): Likewise.
-
-2016-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- Alexander Monakov <amonakov@ispras.ru>
-
- * regrename.c (rename_chains): Check
- HARD_FRAME_POINTER_IS_FRAME_POINTER rather than
- HARD_FRAME_POINTER_REGNUM when picking unavailable registers.
- * sel-sched.c (mark_unavailable_hard_regs): Likewise.
-
-2016-09-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
- (s390_sched_score): Likewise.
-
-2016-09-26 Martin Liska <mliska@suse.cz>
-
- * doc/gcov.texi: Update program output of gcov tool.
-
-2016-09-26 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/23332
- * profile.c (instrument_values): Do not handle HIST_TYPE_CONST_DELTA.
- * tree-profile.c (gimple_gen_const_delta_profiler): Remove.
- * value-prof.c (dump_histogram_value): Do not handle
- HIST_TYPE_CONST_DELTA.
- (stream_in_histogram_value): Likewise.
- (gimple_find_values_to_profile): Likewise.
- * value-prof.h (enum hist_type): Likewise.
-
-2016-09-26 Martin Liska <mliska@suse.cz>
-
- * common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
- from default sanitize recover values.
- * doc/invoke.texi: Fix documentation related to -fsanitize=leak,
- -fsanitize=address, -fsanitize=thread and -fsanitize-recover.
- * flag-types.h: Replace couple of 1 << x to 1UL << x, make it
- consistent.
- * opts.c (finish_options): Do a generic loop over options
- that can be recovered.
- (parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
- SANITIZE_RETURN.
- (common_handle_option): Likewise.
- * opts.h: Declare can_recover to sanitizer_opts_s.
-
-2016-09-26 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * target.def(elf_flags_numeric): Change documentation to present tense.
- * doc/tm.texi: Regenerate.
-
-2016-09-26 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
- insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Add
- -Wno-switch-fallthrough.
- * builtins.c (expand_builtin_int_roundingfn_2): Add gcc_fallthrough.
- (expand_builtin): Likewise.
- * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass): Likewise.
- * convert.c (convert_to_real_1): Likewise.
- (convert_to_integer_1): Likewise.
- * final.c (output_alternate_entry_point): Likewise.
- * genattrtab.c (make_canonical): Likewise.
- (write_test_expr): Likewise.
- * genpreds.c (validate_exp): Likewise.
- * gimple-ssa-strength-reduction.c
- (find_candidates_dom_walker::before_dom_children): Likewise.
- * godump.c (go_format_type): Likewise.
- * reload1.c (elimination_effects): Likewise.
- * resource.c (mark_referenced_resources): Likewise.
- (mark_set_resources): Likewise.
- * tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Likewise.
- * varasm.c (output_addressed_constants): Likewise.
-
-2016-09-26 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * common.opt (Wimplicit-fallthrough): New option.
- * doc/extend.texi: Document statement attributes and the fallthrough
- attribute.
- * doc/invoke.texi: Document -Wimplicit-fallthrough.
- * gimple.h (gimple_call_internal_p): New function.
- * gimplify.c (struct gimplify_ctx): Add in_switch_expr.
- (struct label_entry): New struct.
- (find_label_entry): New function.
- (case_label_p): New function.
- (collect_fallthrough_labels): New function.
- (last_stmt_in_scope): New function.
- (should_warn_for_implicit_fallthrough): New function.
- (warn_implicit_fallthrough_r): New function.
- (maybe_warn_implicit_fallthrough): New function.
- (expand_FALLTHROUGH_r): New function.
- (expand_FALLTHROUGH): New function.
- (gimplify_switch_expr): Call maybe_warn_implicit_fallthrough and
- expand_FALLTHROUGH for the innermost GIMPLE_SWITCH.
- (gimplify_label_expr): New function.
- (gimplify_case_label_expr): Set location.
- (gimplify_expr): Call gimplify_label_expr.
- * internal-fn.c (expand_FALLTHROUGH): New function.
- * internal-fn.def (FALLTHROUGH): New internal function.
- * langhooks.c (lang_GNU_OBJC): New function.
- * langhooks.h (lang_GNU_OBJC): Declare.
- * system.h (gcc_fallthrough): Define.
- * tree-core.h: Add FALLTHROUGH_LABEL_P comment.
- * tree.h (FALLTHROUGH_LABEL_P): Define.
-
-2016-09-26 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (stripattributes): Remove unused function.
- (DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
- Push dwarf_split_debug_info handling into init_sections_and_labels.
- (DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
- (DEBUG_MACRO_SECTION_FLAGS): Remove.
- (debug_macinfo_section_name): New global.
- (output_macinfo): Use debug_macinfo_section_name.
- (init_sections_and_labels): Split out section and label generation
- from dwarf2out_init. Set debug_macinfo_section_name.
- (dwarf2out_init): Move text section label generation and emission
- to ...
- (dwarf2out_assembly_start): ... here.
- (dwarf2out_finish): Call init_sections_and_labels before DWARF
- output starts.
-
-2016-09-26 Richard Biener <rguenther@suse.de>
-
- PR debug/77692
- * cgraphunit.c (analyze_functions): Before early removing
- global vars calls the late_global_decl debug handler mark
- the variable as readonly.
-
-2016-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
- (sh_rtx_costs): Handle SET of movt and movrt patterns.
- * cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
- declare new overloads.
- * config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
- operand.
-
-2016-09-24 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare):
- Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
-
-2016-09-24 David Edelsohn <dje.gcc@gmail.com>
-
- * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
- * configure: Regenerate.
-
-2016-09-24 Marek Polacek <polacek@redhat.com>
-
- PR c/77490
- * doc/invoke.texi: Document -Wbool-operation.
-
-2016-09-23 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (cmpmemsi): New define_expand.
- * config/rs6000/rs6000.c (expand_block_compare): New function used by
- cmpmemsi pattern to do builtin expansion of memcmp ().
- (compute_current_alignment): Add helper function for
- expand_block_compare used to compute alignment as the compare proceeds.
- (select_block_compare_mode): Used by expand_block_compare to select
- the mode used for reading the next chunk of bytes in the compare.
- (do_load_for_compare): Used by expand_block_compare to emit the load
- insns for the compare.
- (rs6000_emit_dot_insn): Moved this function to avoid a forward
- reference from expand_block_compare ().
- * config/rs6000/rs6000-protos.h (expand_block_compare): Add a
- prototype for this function.
- * config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
- target option for controlling how much code inline expansion of
- memcmp() will be allowed to generate.
-
-2016-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * hooks.c (hook_bool_bool_false, hook_bool_bool_gcc_optionsp_false,
- hook_bool_mode_false, hook_bool_mode_true,
- hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
- hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
- hook_bool_const_rtx_insn_const_rtx_insn_true,
- hook_bool_mode_uhwi_false, hook_void_FILEptr_constcharptr,
- hook_bool_FILEptr_rtx_false, hook_bool_gsiptr_false,
- hook_bool_const_tree_hwi_hwi_const_tree_false,
- hook_bool_const_tree_hwi_hwi_const_tree_true,
- default_can_output_mi_thunk_no_vcall, hook_int_uint_mode_1,
- hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
- hook_int_rtx_0, hook_int_rtx_bool_0, hook_void_tree,
- hook_void_constcharptr, hook_void_tree_treeptr, hook_void_int_int,
- hook_bool_tree_false, hook_bool_const_tree_false, hook_bool_tree_true,
- hook_bool_const_tree_true, hook_bool_tree_tree_false,
- hook_bool_tree_tree_true, hook_bool_tree_bool_false,
- hook_bool_rtx_insn_true, hook_bool_rtx_false,
- hook_bool_uintp_uintp_false,
- hook_bool_rtx_mode_int_int_intp_bool_false, hook_rtx_rtx_null,
- hook_rtx_tree_int_null, hook_uint_mode_0,
- hook_constcharptr_const_tree_null, hook_tree_tree_int_treep_bool_null,
- hook_tree_tree_tree_null, hook_tree_tree_tree_tree_null,
- hook_constcharptr_const_rtx_insn_null,
- hook_constcharptr_const_tree_const_tree_null,
- hook_constcharptr_int_const_tree_null,
- hook_constcharptr_int_const_tree_const_tree_null,
- hook_tree_const_tree_null, hook_bool_rtx_insn_int_false,
- hook_void_rtx_insn_int, hook_void_gcc_optionsp): For arguments with
- ATTRIBUTE_UNUSED, remove parameter name as well as ATTRIBUTE_UNUSED.
-
- * vec.h (vNULL): Extend comment to say = vNULL initialization
- isn't needed for static vars.
-
- * sel-sched-ir.c (sel_global_bb_info, sel_region_bb_info,
- loop_nests, s_i_d, last_added_blocks): Remove unnecessary
- = vNULL initialization of file scope vec.
- * passes.c (pass_tab, enabled_pass_uid_range_tab,
- disabled_pass_uid_range_tab): Likewise.
- * haifa-sched.c (sched_luids, h_i_d): Likewise.
- * tree-chkp-opt.c (check_infos): Likewise.
- * sel-sched.c (vec_av_set, vec_temp_moveop_nops): Likewise.
-
- * vec.h (vnull::operator vec): Add constexpr keyword for
- C++11 and later.
-
-2016-09-23 Doug Gilmore <doug.gilmore@imgtec.com>
-
- PR tree-optimization/77654
- * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add call
- to duplicate_ssa_name_ptr_info.
-
-2016-09-23 David Malcolm <dmalcolm@redhat.com>
-
- PR preprocessor/77672
- * input.c (selftest::test_lexer_string_locations_simple): Update
- test to expect location information of the terminator character
- at the location of the final closing quote.
- (selftest::test_lexer_string_locations_hex): Likewise.
- (selftest::test_lexer_string_locations_oct): Likewise.
- (selftest::test_lexer_string_locations_letter_escape_1): Likewise.
- (selftest::test_lexer_string_locations_letter_escape_2): Likewise.
- (selftest::test_lexer_string_locations_ucn4): Likewise.
- (selftest::test_lexer_string_locations_ucn8): Likewise.
- (selftest::test_lexer_string_locations_u8): Likewise.
- (selftest::test_lexer_string_locations_utf8_source): Likewise.
- (selftest::test_lexer_string_locations_concatenation_1): Likewise.
- (selftest::test_lexer_string_locations_concatenation_2): Likewise.
- (selftest::test_lexer_string_locations_concatenation_3): Likewise.
- (selftest::test_lexer_string_locations_macro): Likewise.
- (selftest::test_lexer_string_locations_long_line): Likewise.
-
-2016-09-23 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (visit_reference_op_call): Value number
- virtual definition to virtual use if the call devirtualizes
- to a const or pure function.
- (visit_use): Also visit calls we can devirtualize to a
- const or pure function.
-
-2016-09-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77697
- * tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
- signal error if we have sth ternary or unhandled.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm_neon.h (vabd_f16): New.
- (vabdq_f16): New.
- (vabs_f16): New.
- (vabsq_f16): New.
- (vadd_f16): New.
- (vaddq_f16): New.
- (vcage_f16): New.
- (vcageq_f16): New.
- (vcagt_f16): New.
- (vcagtq_f16): New.
- (vcale_f16): New.
- (vcaleq_f16): New.
- (vcalt_f16): New.
- (vcaltq_f16): New.
- (vceq_f16): New.
- (vceqq_f16): New.
- (vceqz_f16): New.
- (vceqzq_f16): New.
- (vcge_f16): New.
- (vcgeq_f16): New.
- (vcgez_f16): New.
- (vcgezq_f16): New.
- (vcgt_f16): New.
- (vcgtq_f16): New.
- (vcgtz_f16): New.
- (vcgtzq_f16): New.
- (vcle_f16): New.
- (vcleq_f16): New.
- (vclez_f16): New.
- (vclezq_f16): New.
- (vclt_f16): New.
- (vcltq_f16): New.
- (vcltz_f16): New.
- (vcltzq_f16): New.
- (vcvt_f16_s16): New.
- (vcvt_f16_u16): New.
- (vcvt_s16_f16): New.
- (vcvt_u16_f16): New.
- (vcvtq_f16_s16): New.
- (vcvtq_f16_u16): New.
- (vcvtq_s16_f16): New.
- (vcvtq_u16_f16): New.
- (vcvta_s16_f16): New.
- (vcvta_u16_f16): New.
- (vcvtaq_s16_f16): New.
- (vcvtaq_u16_f16): New.
- (vcvtm_s16_f16): New.
- (vcvtm_u16_f16): New.
- (vcvtmq_s16_f16): New.
- (vcvtmq_u16_f16): New.
- (vcvtn_s16_f16): New.
- (vcvtn_u16_f16): New.
- (vcvtnq_s16_f16): New.
- (vcvtnq_u16_f16): New.
- (vcvtp_s16_f16): New.
- (vcvtp_u16_f16): New.
- (vcvtpq_s16_f16): New.
- (vcvtpq_u16_f16): New.
- (vcvt_n_f16_s16): New.
- (vcvt_n_f16_u16): New.
- (vcvtq_n_f16_s16): New.
- (vcvtq_n_f16_u16): New.
- (vcvt_n_s16_f16): New.
- (vcvt_n_u16_f16): New.
- (vcvtq_n_s16_f16): New.
- (vcvtq_n_u16_f16): New.
- (vfma_f16): New.
- (vfmaq_f16): New.
- (vfms_f16): New.
- (vfmsq_f16): New.
- (vmax_f16): New.
- (vmaxq_f16): New.
- (vmaxnm_f16): New.
- (vmaxnmq_f16): New.
- (vmin_f16): New.
- (vminq_f16): New.
- (vminnm_f16): New.
- (vminnmq_f16): New.
- (vmul_f16): New.
- (vmul_lane_f16): New.
- (vmul_n_f16): New.
- (vmulq_f16): New.
- (vmulq_lane_f16): New.
- (vmulq_n_f16): New.
- (vneg_f16): New.
- (vnegq_f16): New.
- (vpadd_f16): New.
- (vpmax_f16): New.
- (vpmin_f16): New.
- (vrecpe_f16): New.
- (vrecpeq_f16): New.
- (vrnd_f16): New.
- (vrndq_f16): New.
- (vrnda_f16): New.
- (vrndaq_f16): New.
- (vrndm_f16): New.
- (vrndmq_f16): New.
- (vrndn_f16): New.
- (vrndnq_f16): New.
- (vrndp_f16): New.
- (vrndpq_f16): New.
- (vrndx_f16): New.
- (vrndxq_f16): New.
- (vrsqrte_f16): New.
- (vrsqrteq_f16): New.
- (vrecps_f16): New.
- (vrecpsq_f16): New.
- (vrsqrts_f16): New.
- (vrsqrtsq_f16): New.
- (vsub_f16): New.
- (vsubq_f16): New.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config.gcc (extra_headers): Add arm_fp16.h
- * config/arm/arm_fp16.h: New.
- * config/arm/arm_neon.h: Include "arm_fp16.h".
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf
- variants).
- (vmulf): New (v8hf, v4hf variants).
- (vfma): New (v8hf, v4hf variants).
- (vfms): New (v8hf, v4hf variants).
- (vsub): New (v8hf, v4hf variants).
- (vcage): New (v8hf, v4hf variants).
- (vcagt): New (v8hf, v4hf variants).
- (vcale): New (v8hf, v4hf variants).
- (vcalt): New (v8hf, v4hf variants).
- (vceq): New (v8hf, v4hf variants).
- (vcgt): New (v8hf, v4hf variants).
- (vcge): New (v8hf, v4hf variants).
- (vcle): New (v8hf, v4hf variants).
- (vclt): New (v8hf, v4hf variants).
- (vceqz): New (v8hf, v4hf variants).
- (vcgez): New (v8hf, v4hf variants).
- (vcgtz): New (v8hf, v4hf variants).
- (vcltz): New (v8hf, v4hf variants).
- (vclez): New (v8hf, v4hf variants).
- (vabd): New (v8hf, v4hf variants).
- (vmaxf): New (v8hf, v4hf variants).
- (vmaxnm): New (v8hf, v4hf variants).
- (vminf): New (v8hf, v4hf variants).
- (vminnm): New (v8hf, v4hf variants).
- (vpmaxf): New (v4hf variant).
- (vpminf): New (v4hf variant).
- (vpadd): New (v4hf variant).
- (vrecps): New (v8hf, v4hf variants).
- (vrsqrts): New (v8hf, v4hf variants).
- (vabs): New (v8hf, v4hf variants).
- (vneg): New (v8hf, v4hf variants).
- (vrecpe): New (v8hf, v4hf variants).
- (vrnd): New (v8hf, v4hf variants).
- (vrnda): New (v8hf, v4hf variants).
- (vrndm): New (v8hf, v4hf variants).
- (vrndn): New (v8hf, v4hf variants).
- (vrndp): New (v8hf, v4hf variants).
- (vrndx): New (v8hf, v4hf variants).
- (vrsqrte): New (v8hf, v4hf variants).
- (vmul_lane): Add v4hf and v8hf variants.
- (vmul_n): Add v4hf and v8hf variants.
- (vext): New (v8hf, v4hf variants).
- (vcvts): New (v8hi, v4hi variants).
- (vcvts): New (v8hf, v4hf variants).
- (vcvtu): New (v8hi, v4hi variants).
- (vcvtu): New (v8hf, v4hf variants).
- (vcvts_n): New (v8hf, v4hf variants).
- (vcvtu_n): New (v8hi, v4hi variants).
- (vcvts_n): New (v8hi, v4hi variants).
- (vcvtu_n): New (v8hf, v4hf variants).
- (vbsl): New (v8hf, v4hf variants).
- (vcvtas): New (v8hf, v4hf variants).
- (vcvtau): New (v8hf, v4hf variants).
- (vcvtms): New (v8hf, v4hf variants).
- (vcvtmu): New (v8hf, v4hf variants).
- (vcvtns): New (v8hf, v4hf variants).
- (vcvtnu): New (v8hf, v4hf variants).
- (vcvtps): New (v8hf, v4hf variants).
- (vcvtpu): New (v8hf, v4hf variants).
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-builtins.c (hf_UP): New.
- (si_UP): New.
- (vfp_builtin_data): New. Update comment.
- (enum arm_builtins): Include "arm_vfp_builtins.def".
- (ARM_BUILTIN_VFP_PATTERN_START): New.
- (arm_init_vfp_builtins): New.
- (arm_init_builtins): Add arm_init_vfp_builtins.
- (arm_expand_vfp_builtin): New.
- (arm_expand_builtins): Update for arm_expand_vfp_builtin. Fix
- long line.
- * config/arm/arm_vfp_builtins.def: New file.
- * config/arm/t-arm (arm.o): Add arm_vfp_builtins.def.
- (arm-builtins.o): Likewise.
-
-2016-09-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR ipa/77677
- * ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW
- from constant while creating value range.
-
-2016-09-23 Renlin Li <renlin.li@arm.com>
-
- * ira.c (ira): Move ira_use_lra_p initialization code to ...
- (ira_init_once): Here.
-
-2016-09-23 Uros Bizjak <ubizjak@gmail.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * hooks.h (hook_uint_uintp_false): Rename to...
- (hook_bool_uint_uintp_false): ... this.
- * hooks.c (hook_uint_uintp_false): Rename to...
- (hook_bool_uint_uintp_false): ... this.
- * target.def (elf_flags_numeric): Use hook_bool_uint_uintp_false
- instead of hook_uint_uintp_false.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-builtins.c (arm_init_neon_builtin): New.
- (arm_init_builtins): Move body of a loop to the standalone
- function arm_init_neon_builtin.
- (arm_expand_neon_builtin_1): New. Update comment. Function body
- moved from arm_neon_builtin with some white-space fixes.
- (arm_expand_neon_builtin): Move code into the standalone function
- arm_expand_neon_builtin_1.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/iterators.md (VCVTHI): New.
- (NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE. Fix a long line.
- (NEON_VAGLTE): New.
- (VFM_LANE_AS): New.
- (VH_CVTTO): New.
- (V_reg): Add HF, V4HF and V8HF. Fix white-space.
- (V_HALF): Add V4HF. Fix white-space.
- (V_if_elem): Add HF, V4HF and V8HF. Fix white-space.
- (V_s_elem): Likewise.
- (V_sz_elem): Fix white-space.
- (V_elem_ch): Likewise.
- (VH_elem_ch): New.
- (scalar_mul_constraint): Add V8HF and V4HF.
- (Is_float_mode): Fix white-space.
- (Is_d_reg): Add V4HF and V8HF. Fix white-space.
- (q): Add HF. Fix white-space.
- (float_sup): New.
- (float_SUP): New.
- (cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT.
- (neon_vfm_lane_as): New.
- * config/arm/neon.md (add<mode>3_fp16): New.
- (sub<mode>3_fp16): New.
- (mul<mode>3add<mode>_neon): New.
- (fma<VH:mode>4_intrinsic): New.
- (fmsub<VCVTF:mode>4_intrinsic): Fix white-space.
- (fmsub<VH:mode>4_intrinsic): New.
- (<absneg_str><mode>2): New.
- (neon_v<absneg_str><mode>): New.
- (neon_v<fp16_rnd_str><mode>): New.
- (neon_vrsqrte<mode>): New.
- (neon_vpaddv4hf): New.
- (neon_vadd<mode>): New.
- (neon_vsub<mode>): New.
- (neon_vmulf<mode>): New.
- (neon_vfma<VH:mode>): New.
- (neon_vfms<VH:mode>): New.
- (neon_vc<cmp_op><mode>): New.
- (neon_vc<cmp_op><mode>_fp16insn): New
- (neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New.
- (neon_vca<cmp_op><mode>): New.
- (neon_vca<cmp_op><mode>_fp16insn): New.
- (neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New.
- (neon_vc<cmp_op>z<mode>): New.
- (neon_vabd<mode>): New.
- (neon_v<maxmin>f<mode>): New.
- (neon_vp<maxmin>fv4hf: New.
- (neon_<fmaxmin_op><mode>): New.
- (neon_vrecps<mode>): New.
- (neon_vrsqrts<mode>): New.
- (neon_vrecpe<mode>): New (VH variant).
- (neon_vdup_lane<mode>_internal): New.
- (neon_vdup_lane<mode>): New.
- (neon_vcvt<sup><mode>): New (VCVTHI variant).
- (neon_vcvt<sup><mode>): New (VH variant).
- (neon_vcvt<sup>_n<mode>): New (VH variant).
- (neon_vcvt<sup>_n<mode>): New (VCVTHI variant).
- (neon_vcvt<vcvth_op><sup><mode>): New.
- (neon_vmul_lane<mode>): New.
- (neon_vmul_n<mode>): New.
- * config/arm/unspecs.md (UNSPEC_VCALE): New
- (UNSPEC_VCALT): New.
- (UNSPEC_VFMA_LANE): New.
- (UNSPECS_VFMS_LANE): New.
-
-2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*extzv<mode>_zEC12", "*extzv<mode>_z10")
- ("*extzv<mode><clobbercc_or_nocc>"):
- Correct a typo in a comment.
- Merged patterns.
- ("*insv<mode>_zEC12", "*insv<mode>_z10")
- ("*insv<mode><clobbercc_or_nocc>"): Ditto.
- ("*insv<mode>_zEC12_appendbitsleft")
- ("*insv<mode><clobbercc_or_nocc>_appendbitsleft")
- ("*insv<mode>_z10_appendbitsleft"): Ditto.
- ("*insv<mode>_zEC12_noshift", "*insv<mode>_z10_noshift")
- ("*insv<mode><clobbercc_or_nocc>_noshift"): Ditto.
- Provide pattern with operands switched.
- ("*pre_z10_extv<mode>"):
- Use new subst patterns.
- ("*extzvdi<clobbercc_or_nocc>_lshiftrt", "*<risbg_n>_ior_and_sr_ze")
- ("*extvsidi<clobbercc_or_nocc>", "*<risbg_n>_and_subregdi_rotr")
- ("*<risbg_n>_and_subregdi_rotl", "*<risbg_n>_di_and_rot")
- ("*insv_z10_noshift_cc", "*insv_z10_noshift_cconly")
- ("*<risbg_n>_<mode>_ior_and_lshiftrt")
- ("*<risbg_n>_sidi_ior_and_lshiftrt")
- ("*trunc_sidi_and_subreg_lshrt<clobbercc_or_nocc>"):
- New patterns.
- ("*extzv_<mode>_sll", "*extzv_<mode>_srl")
- ("*extzv_<mode>_srl<clobbercc_or_nocc>")
- ("*extzv_<mode>_sll<clobbercc_or_nocc>"): Renamed patterns, use risbgn
- on zEC12.
- ("SINT"): New mode_iterator with SI, HI, QI.
- * config/s390/subst.md ("clobbercc_or_nocc_subst", "z10_or_zEC12_cond")
- ("clobbercc_or_nocc", "risbg_n"): New constructs for risbg pattern
- duplication.
-
-2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/predicates.md ("contiguous_bitmask_operand"): Adapt to
- new interface of s390_contiguous_bitmask_p.
- ("contiguous_bitmask_nowrap_operand"): New predicate.
- ("*anddi3_cc", "*anddi3_cconly", "*anddi3"): Replace NxxDq with NxxDw.
- * config/s390/constraints.md ("NxxDw", "NxxSq"): Adapt to new interface
- of s390_contiguous_bitmask_p.
- ("NxxDw"): Rename NxxDq constraint to NxxDw.
- ("NxxSw"): New constraint.
- * config/s390/s390.md ("*andsi3_zarch"): Enable bitmask wraparound.
- * config/s390/s390-protos.h (s390_contiguous_bitmask_p): Updated
- interface.
- (s390_contiguous_bitmask_nowrap_p): Export.
- * config/s390/s390.c (s390_contiguous_bitmask_nowrap_p): New name of
- former s390_contiguous_bitmask_p.
- (s390_contiguous_bitmask_p): Use s390_contiguous_bitmask_nowrap_p to
- detect contiguous bit ranges with wraparound. Change signature to
- return START and END position instead of POS and LENGTH.
- (s390_contiguous_bitmask_vector_p): Remove extra code for continous bit
- ranges with wraparound.
- (s390_extzv_shift_ok): Use s390_contiguous_bitmask_nowrap_p.
- (s390_contiguous_bitmask_vector_p,s390_extzv_shift_ok,print_operand):
- Adapt to new signature of s390_contiguous_bitmask_p.
-
-2016-09-23 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop-manip.c (create_intersect_range_checks_index): New.
- (create_intersect_range_checks): New.
- (vect_create_cond_for_alias_checks): Call above function.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/iterators.md (Code iterators): Fix some white-space
- in the comments.
- (GLTE): New.
- (ABSNEG): New
- (FCVT): Moved from vfp.md.
- (VCVT_HF_US_N): New.
- (VCVT_SI_US_N): New.
- (VCVT_HF_US): New.
- (VCVTH_US): New.
- (FP16_RND): New.
- (absneg_str): New.
- (FCVTI32typename): Moved from vfp.md.
- (sup): Add UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S,
- UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S,
- UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N,
- UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N, UNSPEC_VCVTH_S_N,
- UNSPEC_VCVTH_U_N, UNSPEC_VCVTH_S and UNSPEC_VCVTH_U.
- (vcvth_op): New.
- (fp16_rnd_str): New.
- (fp16_rnd_insn): New.
- * config/arm/unspecs.md (UNSPEC_VCVT_HF_S_N): New.
- (UNSPEC_VCVT_HF_U_N): New.
- (UNSPEC_VCVT_SI_S_N): New.
- (UNSPEC_VCVT_SI_U_N): New.
- (UNSPEC_VCVTH_S): New.
- (UNSPEC_VCVTH_U): New.
- (UNSPEC_VCVTA_S): New.
- (UNSPEC_VCVTA_U): New.
- (UNSPEC_VCVTM_S): New.
- (UNSPEC_VCVTM_U): New.
- (UNSPEC_VCVTN_S): New.
- (UNSPEC_VCVTN_U): New.
- (UNSPEC_VCVTP_S): New.
- (UNSPEC_VCVTP_U): New.
- (UNSPEC_VCVTP_S): New.
- (UNSPEC_VCVTP_U): New.
- (UNSPEC_VRND): New.
- (UNSPEC_VRNDA): New.
- (UNSPEC_VRNDI): New.
- (UNSPEC_VRNDM): New.
- (UNSPEC_VRNDN): New.
- (UNSPEC_VRNDP): New.
- (UNSPEC_VRNDX): New.
- * config/arm/vfp.md (<absneg_str>hf2): New.
- (neon_vabshf): New.
- (neon_v<fp16_rnd_str>hf): New.
- (neon_vrndihf): New.
- (addhf3): New.
- (subhf3): New.
- (divhf3): New.
- (mulhf3): New.
- (*mulsf3neghf_vfp): New.
- (*negmulhf3_vfp): New.
- (*mulsf3addhf_vfp): New.
- (*mulhf3subhf_vfp): New.
- (*mulhf3neghfaddhf_vfp): New.
- (*mulhf3neghfsubhf_vfp): New.
- (fmahf4): New.
- (neon_vfmahf): New.
- (fmsubhf4_fp16): New.
- (neon_vfmshf): New.
- (*fnmsubhf4): New.
- (*fnmaddhf4): New.
- (neon_vsqrthf): New.
- (neon_vrsqrtshf): New.
- (FCVT): Move to iterators.md.
- (FCVTI32typename): Likewise.
- (neon_vcvth<sup>hf): New.
- (neon_vcvth<sup>si): New.
- (neon_vcvth<sup>_nhf_unspec): New.
- (neon_vcvth<sup>_nhf): New.
- (neon_vcvth<sup>_nsi_unspec): New.
- (neon_vcvth<sup>_nsi): New.
- (neon_vcvt<vcvth_op>h<sup>si): New.
- (neon_<fmaxmin_op>hf): New.
-
-2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md (bitoff, bitoff_plus): Neq mode attributes.
- ("*extzv<mode>_zEC12", "*insv<mode>_zEC12", "*insv<mode>_z10")
- ("*insv<mode>_zEC12_appendbitsleft")
- ("*insv<mode>_z10_appendbitsleft", "*r<noxa>sbg_<mode>_sll")
- ("*r<noxa>sbg_<mode>_srl"): Use new attributes.
-
-2016-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * ipa-cp.c (ipcp_store_vr_results): Avoid static local var zero.
- * sreal.h (sreal::min, sreal::max): Avoid static local vars,
- construct values without normalization.
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Don't initialize
- static local lhs_ops to vNULL.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/arm/arm.c (coproc_secondary_reload_class): Make HFmode
- available when FP16 instructions are available.
- (output_move_vfp): Add support for 16-bit data moves.
- (arm_validize_comparison): Fix some white-space. Support HFmode
- by conversion to SFmode.
- * config/arm/arm.md (truncdfhf2): Fix a comment.
- (extendhfdf2): Likewise.
- (cstorehf4): New.
- (movsicc): Fix some white-space.
- (movhfcc): New.
- (movsfcc): Fix some white-space.
- (*cmovhf): New.
- * config/arm/vfp.md (*arm_movhi_vfp): Disable when VFP FP16
- instructions are available.
- (*thumb2_movhi_vfp): Likewise.
- (*arm_movhi_fp16): New.
- (*thumb2_movhi_fp16): New.
- (*movhf_vfp_fp16): New.
- (*movhf_vfp_neon): Disable when VFP FP16 instructions are available.
- (*movhf_vfp): Likewise.
- (extendhfsf2): Enable when VFP FP16 instructions are available.
- (truncsfhf2): Enable when VFP FP16 instructions are available.
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- * config/s390/vx-builtins.md: Replace 'adress' with 'address'.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.c (arm_evpc_neon_vuzp): Add support for V8HF and
- V4HF modes.
- (arm_evpc_neon_vtrn): Likewise.
- (arm_evpc_neon_vrev): Likewise.
- (arm_evpc_neon_vext): Likewise.
- * config/arm/arm_neon.h (vbsl_f16): New.
- (vbslq_f16): New.
- (vdup_n_f16): New.
- (vdupq_n_f16): New.
- (vdup_lane_f16): New.
- (vdupq_lane_f16): New.
- (vext_f16): New.
- (vextq_f16): New.
- (vmov_n_f16): New.
- (vmovq_n_f16): New.
- (vrev64_f16): New.
- (vrev64q_f16): New.
- (vtrn_f16): New.
- (vtrnq_f16): New.
- (vuzp_f16): New.
- (vuzpq_f16): New.
- (vzip_f16): New.
- (vzipq_f16): New.
- * config/arm/arm_neon_buillins.def (vdup_n): New (v8hf, v4hf variants).
- (vdup_lane): New (v8hf, v4hf variants).
- (vext): New (v8hf, v4hf variants).
- (vbsl): New (v8hf, v4hf variants).
- * config/arm/iterators.md (VDQWH): New.
- (VH): New.
- (V_double_vector_mode): Add V8HF and V4HF. Fix white-space.
- (Scalar_mul_8_16): Fix white-space.
- (Is_d_reg): Add V4HF and V8HF.
- * config/arm/neon.md (neon_vdup_lane<mode>_internal): New.
- (neon_vdup_lane<mode>): New.
- (neon_vtrn<mode>_internal): Replace VDQW with VDQWH.
- (*neon_vtrn<mode>_insn): Likewise.
- (neon_vzip<mode>_internal): Likewise. Also fix white-space.
- (*neon_vzip<mode>_insn): Likewise
- (neon_vuzp<mode>_internal): Likewise.
- (*neon_vuzp<mode>_insn): Likewise
- * config/arm/vec-common.md (vec_perm_const<mode>): New.
-
-2016-09-23 Jiong Wang <jiong.wang@arm.com>
- Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.c (output_move_vfp): Weaken assert to allow HImode.
- (arm_hard_regno_mode_ok): Allow HImode values in VFP registers.
- * config/arm/arm.md (*movhi_bytes): Disable when VFP registers are
- available. Also fix some white-space.
- * config/arm/vfp.md (*arm_movhi_vfp): New.
- (*thumb2_movhi_vfp): New.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-c.c (arm_cpu_builtins): Define
- "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC" and
- "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC".
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/sourcebuild.texi (ARM-specific attributes): Add anchor for
- arm_v8_1a_neon_ok. Add entries for arm_v8_2a_fp16_scalar_ok,
- arm_v8_2a_fp16_scalar_hw, arm_v8_2a_fp16_neon_ok and
- arm_v8_2a_fp16_neon_hw.
- (Add options): Add entries for arm_v8_1a_neon, arm_v8_2a_scalar,
- arm_v8_2a_neon.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/sourcebuild.texi (ARM-specific attributes): Add entries for
- arm_fp16_alternative_ok and arm_fp16_none_ok.
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_variable::merge): Replace adress with address.
-
-2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-arches.def ("armv8.1-a"): Add FL_CRC32.
- ("armv8.2-a"): New.
- ("armv8.2-a+fp16"): New.
- * config/arm/arm-protos.h (FL2_ARCH8_2): New.
- (FL2_FP16INST): New.
- (FL2_FOR_ARCH8_2A): New.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (arm_arch8_2): New.
- (arm_fp16_inst): New.
- (arm_option_override): Set arm_arch8_2 and arm_fp16_inst. Check
- for incompatible fp16-format settings.
- * config/arm/arm.h (TARGET_VFP_FP16INST): New.
- (TARGET_NEON_FP16INST): New.
- (arm_arch8_2): Declare.
- (arm_fp16_inst): Declare.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for
- march=armv8.2-a and march=armv8.2-a+fp16.
- * config/arm/t-aprofile (Arch Matches): Add entries for armv8.2-a
- and armv8.2-a+fp16.
- * doc/invoke.texi (ARM Options): Add "-march=armv8.1-a",
- "-march=armv8.2-a" and "-march=armv8.2-a+fp16".
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- * doc/extend.texi: Remove fused-madd from i386 target options.
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- * config/i386/i386.c (ix86_valid_target_attribute_inner_p):
- Handle movbe.
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- * config/i386/i386.c (ix86_valid_target_attribute_inner_p):
- Handle crc32.
-
-2016-09-23 Martin Liska <mliska@suse.cz>
-
- PR target/71652
- * config/i386/i386.c (ix86_option_override_internal): Change
- signature and return false when there's an error related to
- arch string.
- (release_options_strings): New function.
- (ix86_valid_target_attribute_tree): Call the function.
-
-2016-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...)
- instead of vec_safe_length (CONSTRUCTOR_ELTS (...)).
- (gen_hsa_ctor_assignment): Likewise.
- * print-tree.c (print_node): Likewise.
- * tree-dump.c (dequeue_and_dump): Likewise.
- * tree-sra.c (sra_modify_constructor_assign): Likewise.
- * expr.c (store_constructor): Likewise.
- * fold-const.c (operand_equal_p): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * hsa-brig.c (hsa_op_immed::emit_to_buffer): Likewise.
- * ipa-icf-gimple.c (func_checker::compare_operand): Likewise.
-
-2016-09-23 Richard Biener <rguenther@suse.de>
-
- * hooks.h (hook_uint_uintp_false): Declare.
-
-2016-09-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
- (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
-
-2016-09-22 Martin Sebor <msebor@redhat.com>
-
- PR target/77676
- * gimple-ssa-sprintf.c (target_int_min, target_int_max): Use
- HOST_BITS_PER_WIDE_INT, make a static local variable auto.
- (target_int_min): Correct computation.
- (format_integer): Use long long as the argument for the ll length
- modifier.
- (format_floating): Use target_int_max().
- (get_string_length): Same.
- (format_string): Avoid setting the bounded flag for strings
- of unknown length.
- (try_substitute_return_value): Avoid setting range info when
- the result isn't bounded.
- * varasm.c (assemble_name): Increase buffer size.
-
-2016-09-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Terry Guo <terry.guo@arm.com>
-
- * target.def (elf_flags_numeric): New target hook.
- * targhooks.h (default_asm_elf_flags_numeric): New.
- * varasm.c (default_asm_elf_flags_numeric): New.
- (default_elf_asm_named_section): Use new target hook.
- * config/arm/arm.opt (mpure-code): New.
- * config/arm/arm.h (SECTION_ARM_PURECODE): New.
- * config/arm/arm.c (arm_asm_init_sections): Add section
- attribute to default text section if -mpure-code.
- (arm_option_check_internal): Diagnose use of option with
- non supported targets and/or options.
- (arm_asm_elf_flags_numeric): New.
- (arm_function_section): New.
- (arm_elf_section_type_flags): New.
- * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Disable
- for -mpure-code.
- * doc/texi (TARGET_ASM_ELF_FLAGS_NUMERIC): New.
- * doc/texi.in (TARGET_ASM_ELF_FLAGS_NUMERIC): Likewise.
-
-2016-09-22 Jan Hubicka <hubicka@ucw.cz>
-
- * regcprop.c (copyprop_hardreg_forward_1): Remove noop moves.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (next_cc0_user): Make argument type rtx_insn *.
- * rtl.h: Adjust prototype.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (next_active_insn): Change argument type to rtx_insn *.
- (prev_active_insn): Likewise.
- (active_insn_p): Likewise.
- * rtl.h: Adjust prototypes.
- * cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
- * config/arc/arc.md: Likewise.
- * config/pa/pa.c (branch_to_delay_slot_p): Likewise.
- (branch_needs_nop_p): Likewise.
- (use_skip_p): Likewise.
- * config/sh/sh.c (gen_block_redirect): Likewise.
- (split_branches): Likewise.
- * reorg.c (optimize_skip): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (relax_delay_slots): Likewise.
- * resource.c (mark_target_live_regs): Likewise.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/cris/cris.c (cris_asm_output_case_end): Change argument
- type to rtx_insn *.
- * emit-rtl.c (next_nonnote_nondebug_insn): Likewise.
- (prev_nonnote_nondebug_insn): Likewise.
- * config/cris/cris-protos.h: Adjust prototype.
- * rtl.h: Likewise.
- * jump.c (rtx_renumbered_equal_p): Adjust.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (prev_real_insn): Change argument type to rtx_insn *.
- * rtl.h: Adjust prototype.
- * config/sh/sh.md: Adjust.
- * dwarf2out.c (add_var_loc_to_decl): Likewise.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (next_nondebug_insn): Change argument type to rtx_insn *.
- (prev_nondebug_insn): Likewise.
- * loop-doloop.c (doloop_condition_get): Likewise.
- * rtl.h: Adjust prototype.
- * cfgloop.h: Likewise.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (next_nonnote_insn): Change argument type to rtx_insn *.
- (prev_nonnote_insn): Likewise.
- * jump.c (reversed_comparison_code_parts): Likewise.
- (reversed_comparison): Likewise.
- * rtl.h: Adjust prototypes.
- * config/arc/arc.md: Adjust.
- * cse.c (find_comparison_args): Likewise.
- * reorg.c (redundant_insn): Change return type to rtx_insn *.
- (fix_reg_dead_note): Change argument type to rtx_insn *.
- (delete_prior_computation): Likewise.
- (delete_computation): Likewise.
- (fill_slots_from_thread): Adjust.
- (relax_delay_slots): Likewise.
- * simplify-rtx.c (simplify_unary_operation_1): Likewise.
- (simplify_relational_operation_1): Likewise.
- (simplify_ternary_operation): Likewise.
-
-2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arc/arc-protos.h (arc_label_align): Change type of
- variables from rtx to rtx_insn *.
- * config/arc/arc.c (arc_label_align): Likewise.
- * config/arm/arm.c (any_sibcall_could_use_r3): Likewise.
- * config/bfin/bfin.c (workaround_speculation): Likewise.
- * config/c6x/c6x.c (find_next_cycle_insn): Likewise.
- (find_last_same_clock): Likewise.
- (reorg_split_calls): Likewise.
- * config/cris/cris-protos.h (cris_cc0_user_requires_cmp): Likewise.
- * config/cris/cris.c (cris_cc0_user_requires_cmp): Likewise.
- * config/h8300/h8300-protos.h (same_cmp_preceding_p): Likewise.
- (same_cmp_following_p): Likewise.
- * config/h8300/h8300.c (same_cmp_preceding_p): Likewise.
- (same_cmp_following_p): Likwise.
- * config/m32r/m32r.c (m32r_expand_epilogue): Likewise.
- * config/nds32/nds32-protos.h (nds32_target_alignment): Likewise.
- * config/nds32/nds32.c (nds32_target_alignment): Likewise.
- * config/rl78/rl78.c (rl78_alloc_physical_registers_op2): Likewise.
- (rl78_alloc_physical_registers_cmp): Likewise.
- (rl78_alloc_physical_registers_umul): Likewise.
- (rl78_calculate_death_notes): Likewise.
- * config/s390/s390-protos.h (s390_label_align): Likewise.
- * config/s390/s390.c (s390_label_align): Likewise.
- * config/sh/sh.c (barrier_align): Likewise.
- * config/sparc/sparc-protos.h (emit_cbcond_nop): Likewise.
- * config/sparc/sparc.c (sparc_asm_function_epilogue): Likewise.
- (emit_cbcond_nop): Likewise.
-
-2016-09-22 Martin Liska <mliska@suse.cz>
-
- PR ipa/77653
- * ipa-icf.c (sem_variable::merge): Yield merge operation if
- alias address matters, not necessarily address of original.
-
-2016-09-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77697
- * gimple-fold.c (fold_array_ctor_reference): Turn asserts into
- fold fails.
-
-2016-09-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77677
- * gimple-match-head.c (gimple_resimplify1): Drop TREE_OVERFLOW
- from constant folding results.
- (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
-
-2016-09-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77678
- * expr.c (expand_expr_real_1): Guard array access against negative
- offset.
-
-2016-09-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN instead
- of MPFR_RNDN.
- (format_floating): Likewise.
-
-2016-09-22 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/77665
- * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
- for all IFN_GOMP_SIMD_* internal fns, not just for
- IFN_GOMP_SIMD_ORDERED_*.
-
-2016-09-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/77670
- * config/rs6000/predicates.md (invert_fpmask_comparison_operator):
- New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP
- instructions when you want to invert the test.
- * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the
- correct order for XXSEL.
- (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test
- for using XSCMP{EQ,GT,GE}DP.
-
-2016-09-21 David Malcolm <dmalcolm@redhat.com>
-
- * genconstants.c (main): Introduce noop_reader and convert call
- to read_md_files to a method call.
- * genenums.c (main): Likewise.
- * genmddeps.c (main): Likewise.
- * genpreds.c (write_tm_constrs_h): Replace use of "in_fname" with
- rtx_reader_ptr->get_top_level_filename ().
- (write_tm_preds_h): Likewise.
- (write_insn_preds_c): Likewise.
- * gensupport.c (class gen_reader): New subclass of rtx_reader.
- (rtx_handle_directive): Convert to...
- (gen_reader::handle_unknown_directive): ...this.
- (init_rtx_reader_args_cb): Convert return type from bool to
- rtx_reader *. Create a gen_reader instance, using it for the
- call to read_md_files. Return it if no errors occur.
- (init_rtx_reader_args): Convert return type from bool to
- rtx_reader *.
- * gensupport.h (init_rtx_reader_args_cb): Likewise.
- (init_rtx_reader_args_cb): Likewise.
- * read-md.c (struct file_name_list): Move to class rtx_reader.
- (read_md_file): Delete in favor of rtx_reader::m_read_md_file.
- (read_md_filename): Delete in favor of
- rtx_reader::m_read_md_filename.
- (read_md_lineno): Delete in favor of rtx_reader::m_read_md_lineno.
- (in_fname): Delete in favor of rtx_reader::m_toplevel_fname.
- (base_dir): Delete in favor of rtx_reader::m_base_dir.
- (first_dir_md_include): Delete in favor of
- rtx_reader::m_first_dir_md_include.
- (last_dir_md_include_ptr): Delete in favor of
- rtx_reader::m_last_dir_md_include_ptr.
- (max_include_len): Delete.
- (rtx_reader_ptr): New.
- (fatal_with_file_and_line): Use get_filename and get_lineno
- accessors of rtx_reader_ptr.
- (require_char_ws): Likewise.
- (rtx_reader::read_char): New method, based on ::read_char.
- (rtx_reader::unread_char): New method, based on ::unread_char.
- (read_escape): Use get_filename and get_lineno accessors of
- rtx_reader_ptr.
- (read_braced_string): Use get_lineno accessor of rtx_reader_ptr.
- (read_string): Use get_filename and get_lineno accessors of
- rtx_reader_ptr.
- (rtx_reader::rtx_reader): New ctor.
- (rtx_reader::~rtx_reader): New dtor.
- (handle_include): Convert from a function to...
- (rtx_reader::handle_include): ...this method, converting
- handle_directive from a callback to a virtual function.
- (handle_file): Likewise, converting to...
- (rtx_reader::handle_file): ...this method.
- (handle_toplevel_file): Likewise, converting to...
- (rtx_reader::handle_toplevel_file): ...this method.
- (rtx_reader::get_current_location): New method.
- (parse_include): Convert from a function to...
- (rtx_reader::add_include_path): ...this method, dropping redundant
- update to unused max_include_len.
- (read_md_files): Convert from a function to...
- (rtx_reader::read_md_files): ...this method, converting
- handle_directive from a callback to a virtual function.
- (noop_reader::handle_unknown_directive): New method.
- * read-md.h (directive_handler_t): Delete this typedef.
- (in_fname): Delete.
- (read_md_file): Delete.
- (read_md_lineno): Delete.
- (read_md_filename): Delete.
- (class rtx_reader): New class.
- (rtx_reader_ptr): New decl.
- (class noop_reader): New subclass of rtx_reader.
- (read_char): Reimplement in terms of rtx_reader::read_char.
- (unread_char): Reimplement in terms of rtx_reader::unread_char.
- (read_md_files): Delete.
- * read-rtl.c (read_rtx_code): Update for deletion of globals
- read_md_filename and read_md_lineno.
-
-2016-09-21 Jason Merrill <jason@redhat.com>
-
- * input.h (from_macro_definition_at): New.
-
-2016-09-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
-
-2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR tree-optimization/77550
- * tree-vect-stmts.c (create_array_ref): Change parameters.
- (get_group_alias_ptr_type): New function.
- (vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type.
-
-2016-09-21 Marek Polacek <polacek@redhat.com>
-
- * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
- Add falls through comment.
-
-2016-09-21 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (remove_child_with_prev): Clear child->die_sib.
- (replace_child): Likewise.
- (remove_child_TAG): Adjust.
- (move_marked_base_types): Likewise.
- (prune_unused_types_prune): Clear die_sib of removed children.
-
-2016-09-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/77326
- * config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn
- touches some regs mentioned in cc_status, do CC_STATUS_INIT.
-
-2016-09-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77648
- * tree-ssa-structalias.c (process_constraint): Handle all DEREF
- with complex RHS.
- (make_transitive_closure_constraints): Adjust comment.
- (make_any_offset_constraints): New function.
- (handle_rhs_call): Make sure to first expand a pointer to all
- subfields before transitively closing it.
- (handle_const_call): Likewise. Properly expand returned
- pointers as well.
- (handle_pure_call): Likewise.
-
-2016-09-21 Richard Biener <rguenther@suse.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/77621
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
- group at non-vectorizable stmts.
-
-2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR tree-optimization/72835
- * tree-ssa-reassoc.c (make_new_ssa_for_def): New.
- (make_new_ssa_for_all_defs): Likewise.
- (zero_one_operation): Replace all SSA_NAMEs defined in the chain.
-
-2016-09-20 Martin Sebor <msebor@redhat.com>
-
- PR middle-end/49905
- * Makefile.in (OBJS): Add gimple-ssa-sprintf.o.
- * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Redefine.
- * config/linux.c (gnu_libc_printf_pointer_format): New function.
- * config/sol2.h (TARGET_PRINTF_POINTER_FORMAT): Same.
- * config/sol2.c (solaris_printf_pointer_format): New function.
- * doc/invoke.texi (-Wformat-length, -fprintf-return-value): New
- options.
- * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Document.
- * doc/tm.texi: Regenerate.
- * gimple-fold.h (get_range_strlen): New function.
- (get_maxval_strlen): Declare existing function.
- * gimple-fold.c (get_range_strlen): Add arguments and compute both
- maximum and minimum.
- (get_range_strlen): Define overload.
- (get_maxval_strlen): Adjust.
- * gimple-ssa-sprintf.c: New file and pass.
- * passes.def (pass_sprintf_length): Add new pass.
- * targhooks.h (default_printf_pointer_format): Declare new function.
- (gnu_libc_printf_pointer_format): Same.
- (solaris_libc_printf_pointer_format): Same.
- * targhooks.c (default_printf_pointer_format): Define new function.
- * tree-pass.h (make_pass_sprintf_length): Declare new function.
- * print-tree.c: Increase buffer size.
-
-2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (get_value_range): Teach PARM_DECL to use ipa-vrp results.
-
-2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * common.opt: New option -fipa-vrp.
- * ipa-cp.c (ipa_get_vr_lat): New.
- (ipcp_vr_lattice::print): Likewise.
- (print_all_lattices): Call ipcp_vr_lattice::print.
- (ipcp_vr_lattice::meet_with): New.
- (ipcp_vr_lattice::meet_with_1): Likewise.
- (ipcp_vr_lattice::top_p): Likewise.
- (ipcp_vr_lattice::bottom_p): Likewsie.
- (ipcp_vr_lattice::set_to_bottom): Likewise.
- (set_all_contains_variable): Call VR set_to_bottom.
- (initialize_node_lattices): Init VR lattices.
- (propagate_vr_accross_jump_function): New.
- (propagate_constants_accross_call): Call
- propagate_vr_accross_jump_function.
- (ipcp_store_vr_results): New.
- (ipcp_driver): Handle VR.
- * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR.
- (ipa_set_jf_unknown): Likewise.
- (ipa_compute_jump_functions_for_edge): Likewise.
- (ipa_node_params_t::duplicate): Likewise.
- (ipa_write_jump_function): Likewise.
- (ipa_read_jump_function): Likewise.
- (write_ipcp_transformation_info): Likewise.
- (read_ipcp_transformation_info): Likewise.
- (ipcp_update_vr): New.
- (ipcp_transform_function): Handle VR.
- * ipa-prop.h (struct ipa_vr): New.
- * cgraph.c: Include tree-vrp.h.
- * cgraphunit.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa.c: Likewise.
- * opts.c: Likewise.
- * toplev.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-profile.c: Likewise.
-
-2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * doc/invoke.texi: Document -fdump-tree-evrp.
- * passes.def: Define new pass_early_vrp.
- * timevar.def: Define new TV_TREE_EARLY_VRP.
- * tree-pass.h (make_pass_early_vrp): New.
- * tree-ssa-propagate.c: Make replace_uses_in non static.
- * tree-ssa-propagate.h: Export replace_uses_in.
- * tree-vrp.c (extract_range_for_var_from_comparison_expr): New.
- (extract_range_from_assert): Factor out
- extract_range_for_var_from_comparison_expr.
- (vrp_initialize_lattice): New.
- (vrp_initialize): Factor out vrp_initialize_lattice.
- (vrp_valueize): Fix it to reject complex value ranges.
- (vrp_free_lattice): New.
- (evrp_dom_walker::before_dom_children): Likewise.
- (evrp_dom_walker::after_dom_children): Likewise.
- (evrp_dom_walker::push_value_range): Likewise.
- (evrp_dom_walker::pop_value_range): Likewise.
- (execute_early_vrp): Likewise.
- (execute_vrp): Call vrp_initialize_lattice and vrp_free_lattice.
- (make_pass_early_vrp): New.
-
-2016-09-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
- instead of exact_log2.
-
-2016-09-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77621
- * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>:
- Don't return word_mode for !TARGET_VECTORIZE_DOUBLE.
- (ix86_add_stmt_cost): Penalize DFmode vector operations
- for !TARGET_VECTORIZE_DOUBLE.
-
-2016-09-20 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (Warning Options): Simplify language.
- (Optimize Options): Complete sentence.
-
-2016-09-20 David Edelsohn <dje.gcc@gmail.com>
-
- * dbxout.c (xcoff_debug_hooks): Add filename parameter to
- early_finish hook.
-
-2016-09-20 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71395
- * config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF
- inits on power8 and above, use the VMRGEW instruction instead of a
- permute.
-
- * config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec.
- (p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating
- initialization.
-
-2016-09-20 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/arm_neon.h
- (vst2_s64, vst2_u64, vst2_f64, vst2_s8): Add missing attributes.
- (vst3_s64, vst3_u64, vst3_f64, vst3_s8): Likewise.
- (vst4_s64, vst4_u64, vst4_f64, vst4_s8): Likewise.
-
-2016-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/var/vax.h (ELIMINABLE_REGS): Define.
- (INITIAL_ELIMINATION_OFFSET): Define.
-
-2016-09-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/77624
- * builtins.c (fold_builtin_atomic_always_lock_free): Only look through
- cast to void * if the cast is from some other pointer type.
-
-2016-09-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77646
- * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
- a VDEF.
-
-2016-09-20 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/arm_neon.h: Add gnu_inline and artificial
- attributes to all inlined functions and make them extern.
-
-2016-09-20 Richard Biener <rguenther@suse.de>
-
- * debug.h (gcc_debug_hooks): Add filename parameter to early_finish
- hook.
- * debug.c (do_nothing_debug_hooks): Adjust.
- * dbxout.c (dbx_debug_hooks): Likewise.
- * sdbout.c (sdb_debug_hooks): Likewise.
- * dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise.
- (dwarf2out_finish): Move producer, filename and
- path annotation ...
- (dwarf2out_early_finish): ... here. Remove in_lto_p special-casing.
- * cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust.
-
-2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR c++/77434
- * doc/invoke.texi: Document -Wint-in-bool-context.
-
- PR middle-end/77421
- * dwarf2out.c (output_loc_operands): Fix an assertion.
-
-2016-09-19 Joseph Myers <joseph@codesourcery.com>
-
- * ginclude/float.h [__STDC_WANT_IEC_60559_BFP_EXT__]
- (CR_DECIMAL_DIG): New macro.
-
-2016-09-19 Joseph Myers <joseph@codesourcery.com>
-
- * ginclude/stddef.h (max_align_t) [__i386__]: Add __float128
- element.
-
-2016-09-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/77416
- * lra-remat.c (operand_to_remat): Process hard coded insn
- registers.
-
-2016-09-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_relational_operation_1): Add transformation
- (GTU (PLUS a C) (C - 1)) --> (LTU a -C).
-
-2016-09-19 Segher Boessenkool <segher@kernel.crashing.org>
-
- * target.def (lra_p): Wordsmithing.
- * doc/tm.texi: Regenerate.
-
-2016-09-19 Jakub Jelinek <jakub@redhat.com>
- Jan Hubicka <jh@suse.cz>
-
- PR target/77587
- * cgraph.c (cgraph_node::rtl_info): Pass &avail to
- ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
- Call ultimate_alias_target just once, not up to 4 times.
-
-2016-09-19 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (early_dwarf_finished): New global.
- (set_early_dwarf::set_early_dwarf): Assert early_dwarf_finished
- is false.
- (dwarf2out_early_finish): Set early_dwarf_finished at the end,
- if called from LTO exit early.
- (dwarf2out_late_global_decl): When being during the early
- debug phase do not add locations but only const value attributes.
- Adjust the way we generate early DIEs for LTO.
-
-2016-09-19 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77605
- * tree-data-ref.c (analyze_subscript_affine_affine): Use the
- proper niter to bound the loops.
-
-2016-09-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77514
- * tree-ssa-pre.c (create_expression_by_pieces): Optimize
- search for folded stmt.
-
-2016-09-17 Jan Hubicka <hubicka@ucw.cz>
-
- * passes.def (pass_early_thread_jumps): Schedule after forwprop.
- * tree-pass.h (make_pass_early_thread_jumps): Declare.
- * tree-ssa-threadbackward.c (fsm_find_thread_path,
- fsm_find_thread_path, profitable_jump_thread_path,
- fsm_find_control_statement_thread_paths,
- find_jump_threads_backwards): Add speed_p parameter.
- (pass_data_early_thread_jumps): New pass.
- (make_pass_early_thread_jumps): New function.
-
-2016-09-17 Andreas Schwab <schwab@suse.de>
-
- * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.
- * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * recog.c (rest_of_handle_split_after_reload): Delete.
- (pass_split_after_reload::gate): New method.
- (pass_split_after_reload::execute): Call split_all_insns directly.
-
-2016-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (Integer Overflow Builtins): Fix type of out
- parameters for functions taking long long arguments.
-
-2016-09-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/77613
- * config/rs6000/rs6000.c (rtx_is_swappable_p): Add support for
- splat with truncate.
-
-2016-09-16 Jason Merrill <jason@redhat.com>
-
- * hwint.h (least_bit_hwi, pow2_or_zerop, pow2p_hwi, ctz_or_zero):
- New.
- * hwint.c (exact_log2): Use pow2p_hwi.
- (ctz_hwi, ffs_hwi): Use least_bit_hwi.
- * alias.c (memrefs_conflict_p): Use pow2_or_zerop.
- * builtins.c (get_object_alignment_2, get_object_alignment)
- (get_pointer_alignment, fold_builtin_atomic_always_lock_free): Use
- least_bit_hwi.
- * calls.c (compute_argument_addresses, store_one_arg): Use
- least_bit_hwi.
- * cfgexpand.c (expand_one_stack_var_at): Use least_bit_hwi.
- * combine.c (force_to_mode): Use least_bit_hwi.
- (contains_muldiv, find_split_point, combine_simplify_rtx)
- (simplify_if_then_else, simplify_set, force_to_mode)
- (if_then_else_cond, simplify_and_const_int_1)
- (simplify_compare_const): Use pow2p_hwi.
- * cse.c (fold_rtx): Use pow2p_hwi.
- * emit-rtl.c (set_mem_attributes_minus_bitpos, adjust_address_1):
- Use least_bit_hwi.
- * expmed.c (synth_mult, expand_divmod): Use ctz_or_zero, ctz_hwi.
- (init_expmed_one_conv): Use pow2p_hwi.
- * expr.c (is_aligning_offset): Use pow2p_hwi.
- * fold-const.c (round_up_loc, round_down_loc): Use pow2_or_zerop.
- (fold_binary_loc): Use pow2p_hwi.
- * function.c (assign_parm_find_stack_rtl): Use least_bit_hwi.
- * gimple-fold.c (gimple_fold_builtin_memory_op): Use pow2p_hwi.
- * gimple-ssa-strength-reduction.c (replace_ref): Use least_bit_hwi.
- * hsa-gen.c (gen_hsa_addr_with_align, hsa_bitmemref_alignment):
- Use least_bit_hwi.
- * ifcvt.c (noce_try_store_flag_constants): Use pow2p_hwi.
- * ipa-cp.c (ipcp_alignment_lattice::meet_with_1): Use least_bit_hwi.
- * ipa-prop.c (ipa_modify_call_arguments): Use least_bit_hwi.
- * omp-low.c (oacc_loop_fixed_partitions)
- (oacc_loop_auto_partitions): Use least_bit_hwi.
- * rtlanal.c (nonzero_bits1): Use ctz_or_zero.
- * stor-layout.c (place_field): Use least_bit_hwi.
- * tree-pretty-print.c (dump_generic_node): Use pow2p_hwi.
- * tree-sra.c (build_ref_for_offset): Use least_bit_hwi.
- * tree-ssa-ccp.c (ccp_finalize): Use least_bit_hwi.
- * tree-ssa-math-opts.c (bswap_replace): Use least_bit_hwi.
- * tree-ssa-strlen.c (handle_builtin_memcmp): Use pow2p_hwi.
- * tree-vect-data-refs.c (vect_analyze_group_access_1)
- (vect_grouped_store_supported, vect_grouped_load_supported)
- (vect_permute_load_chain, vect_shift_permute_load_chain)
- (vect_transform_grouped_load): Use pow2p_hwi.
- * tree-vect-generic.c (expand_vector_divmod): Use ctz_or_zero.
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Use ctz_or_zero.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Use
- least_bit_hwi.
- * tsan.c (instrument_expr): Use least_bit_hwi.
- * var-tracking.c (negative_power_of_two_p): Use pow2_or_zerop.
-
-2016-09-16 Andreas Schwab <schwab@suse.de>
-
- * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter
- OFFSET, not offset.
- * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-16 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77526
- * combine.c (rest_of_handle_combine): If any edges have been purged,
- free dominators if available.
-
-2016-09-16 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/77594
- * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
- through into expand_addsub_overflow after expand_neg_overflow.
-
-2016-09-15 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c
- (selftest::test_fixit_insert_containing_newline): New function.
- (selftest::test_fixit_replace_containing_newline): New function.
- (selftest::diagnostic_show_locus_c_tests): Call the above.
-
-2016-09-15 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/77503
- * tree-vect-loop.c (vectorizable_reduction): Record reduction
- code for CONST_COND_REDUCTION at analysis stage and use it at
- transform stage.
- * tree-vectorizer.h (struct _stmt_vec_info): New field.
- (STMT_VINFO_VEC_CONST_COND_REDUC_CODE): New macro.
- * tree-vect-stmts.c (new_stmt_vec_info): Initialize above new
- field.
-
-2016-09-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77544
- * fold-const.c (split_tree): Do not split constant ~X.
-
-2016-09-15 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/77425
- * sched-int.h (sd_iterator_cond): Don't update it_ptr->linkp if list
- is NULL.
-
- PR middle-end/77475
- * config/i386/i386.c (ix86_parse_stringop_strategy_string): Simplify,
- use %qs instead of %s where desirable, use argument instead of arg in
- the diagnostic wording, add list of supported strategies and
- spellcheck hint.
- (ix86_option_override_internal): Emit target("m...") instead of
- option("m...") in the diagnostic. Use %qs instead of %s in invalid
- -march/-mtune option diagnostic. Add list of supported arches/tunings
- and spellcheck hint. Remove prefix, suffix and sw variables, use
- main_args_p ? "..." : "..." in diagnostics to make translation
- possible.
-
-2016-09-15 Richard Biener <rguenther@suse.de>
-
- * dwarf2asm.h (dw2_asm_output_offset): Add overload with
- extra offset argument.
- * dwarf2asm.c (dw2_asm_output_offset): Implement that.
- * doc/tm.texi.in (ASM_OUTPUT_DWARF_OFFSET): Adjust documentation
- to reflect new offset parameter.
- * doc/tm.texi: Regenerate.
- * config/darwin.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
- * config/darwin-protos.h (darwin_asm_output_dwarf_delta): Add
- offset argument.
- (darwin_asm_output_dwarf_offset): Likewise.
- * config/darwin.c (darwin_asm_output_dwarf_delta): Add offset
- argument.
- (darwin_asm_output_dwarf_offset): Pass offset argument through.
- * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
- * config/i386/cygmin.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-15 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR fortran/72743
- * ipa-icf.c (set_alias_uids): New function.
- (sem_variable::merge): Use set_alias_uids to set DECL_PT_UID of
- all the merged variable's referring aliases.
-
-2016-09-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77514
- * tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
- only forced_stmts sequence.
-
-2016-09-15 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-ssanames.h (FOR_EACH_SSA_NAME): New.
- * cfgexpand.c (update_alias_info_with_stack_vars): Use
- FOR_EACH_SSA_NAME to iterate over SSA variables.
- (pass_expand::execute): Likewise.
- * omp-simd-clone.c (ipa_simd_modify_function_body): Likewise.
- * tree-cfg.c (dump_function_to_file): Likewise.
- * tree-into-ssa.c (pass_build_ssa::execute): Likewise.
- (update_ssa): Likewise.
- * tree-ssa-alias.c (dump_alias_info): Likewise.
- * tree-ssa-ccp.c (ccp_finalize): Likewise.
- * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
- (create_outofssa_var_map): Likewise.
- (coalesce_ssa_name): Likewise.
- * tree-ssa-operands.c (dump_immediate_uses): Likewise.
- * tree-ssa-pre.c (compute_avail): Likewise.
- * tree-ssa-sccvn.c (init_scc_vn): Likewise.
- (scc_vn_restore_ssa_info): Likewise.
- (free_scc_vn): Likwise.
- (run_scc_vn): Likewise.
- * tree-ssa-structalias.c (compute_points_to_sets): Likewise.
- * tree-ssa-ter.c (new_temp_expr_table): Likewise.
- * tree-ssa-copy.c (fini_copy_prop): Likewise.
- * tree-ssa.c (verify_ssa): Likewise.
-
-2016-09-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config.gcc (mips*-mti-elf*, mips*-mti-linux*): Set mips32r2
- and mips64r2 as default 32-bit and 64-bit architectures.
- (mips*-img-elf*, mips*-img-linux*): Set mips32r6 and mips64r6
- as default 32-bit and 64-bit architectures.
-
-2016-09-14 Pat Haugen <pthaugen@us.ibm.com>
-
- * loop-unroll.c (unroll_loop_runtime_iterations): Set probability
- of succ edge.
-
-2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * target.def (lra_p): Change commentary (for the manual) for the
- new default.
- * doc/tm.texi: Regenerate.
-
-2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/aarch64/aarch64.c (TARGET_LRA_P): Delete macro.
- * config/arm/arm.c (TARGET_LRA_P): Delete macro.
- * config/i386/i386.c (TARGET_LRA_P): Delete macro.
- * config/nds32/nds32.c (TARGET_LRA_P): Delete macro.
-
-2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * targhooks.c (default_lra_p): Return true instead of false.
-
-2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/alpha/alpha.c (TARGET_LRA_P): New macro, defined to
- hook_bool_void_false.
- * config/avr/avr.c: Ditto.
- * config/bfin/bfin.c: Ditto.
- * config/c6x/c6x.c: Ditto.
- * config/cr16/cr16.c: Ditto.
- * config/cris/cris.c: Ditto.
- * config/epiphany/epiphany.c: Ditto.
- * config/fr30/fr30.c: Ditto.
- * config/frv/frv.c: Ditto.
- * config/h8300/h8300.c: Ditto.
- * config/ia64/ia64.c: Ditto.
- * config/iq2000/iq2000.c: Ditto.
- * config/lm32/lm32.c: Ditto.
- * config/m32c/m32c.c: Ditto.
- * config/m32r/m32r.c: Ditto.
- * config/m68k/m68k.c: Ditto.
- * config/mcore/mcore.c: Ditto.
- * config/microblaze/microblaze.c: Ditto.
- * config/mmix/mmix.c: Ditto.
- * config/mn10300/mn10300.c: Ditto.
- * config/moxie/moxie.c: Ditto.
- * config/msp430/msp430.c: Ditto.
- * config/nios2/nios2.c: Ditto.
- * config/nvptx/nvptx.c: Ditto.
- * config/pa/pa.c: Ditto.
- * config/pdp11/pdp11.c: Ditto.
- * config/rl78/rl78.c: Ditto.
- * config/sparc/sparc.c: Ditto.
- * config/spu/spu.c: Ditto.
- * config/stormy16/stormy16.c: Ditto.
- * config/tilegx/tilegx.c: Ditto.
- * config/tilepro/tilepro.c: Ditto.
- * config/v850/v850.c: Ditto.
- * config/vax/vax.c: Ditto.
- * config/visium/visium.c: Ditto.
- * config/xtensa/xtensa.c: Ditto.
-
-2016-09-14 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/68260
- * tsan.c: Include target.h.
- (enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
- (BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
- (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
- BUILT_IN_ATOMIC_TEST_AND_SET entries.
- (instrument_builtin_call): Handle bool_clear and bool_test_and_set.
-
-2016-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
- Martin Liska <mliska@suse.cz>
-
- PR middle-end/77574
- * predict.c (force_edge_cold): Add braces to a condition.
-
-2016-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/77289
- * lra-constraints.c (get_final_hard_regno): Removed.
- (get_hard_regno): Add new parameter final_p.
- (get_reg_class): Directly call lra_get_elimination_hard_regno.
- (operands_match_p): Adjust call to get_hard_regno.
- (uses_hard_regs_p): Likewise.
- (process_alt_operands): Likewise.
-
-2016-09-13 Joe Seymour <joe.s@somniumtech.com>
-
- PR target/70713
- * config/msp430/msp430.c (msp430_start_function): Emit an error
- if a function is both weak and specifies an interrupt number.
-
-2016-09-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/77454
- * tree-ssa-dom.c (optimize_stmt): Set modified flag on stmt after
- changing GIMPLE_COND. Move update_stmt_if_modified call after this.
- Formatting fix.
-
-2016-09-13 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64-builtins.c
- (aarch64_init_simd_builtins): Fix builtin type signature printing.
-
-2016-09-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_pass_by_reference): Pass un-named
- SFmode and SCmode arguments by reference.
-
-2016-09-13 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert):
- Rename to...
- (selftest::test_one_liner_fixit_insert_before): ...this, and update
- for renaming of add_fixit_insert to add_fixit_insert_before.
- (selftest::test_one_liner_fixit_insert_after): New function.
- (selftest::test_one_liner_fixit_validation_adhoc_locations):
- Update for renaming of add_fixit_insert to add_fixit_insert_before.
- (selftest::test_one_liner_many_fixits): Likewise.
- (selftest::test_diagnostic_show_locus_one_liner): Update for
- renaming, call new test function.
- (selftest::test_diagnostic_show_locus_fixit_lines): Update for
- renaming of add_fixit_insert to add_fixit_insert_before.
- (selftest::test_fixit_consolidation): Likewise.
- * diagnostic.c (selftest::test_print_parseable_fixits_insert):
- Likewise.
- * edit-context.c (selftest::test_applying_fixits_insert): Rename to...
- (selftest::test_applying_fixits_insert_before): ...this.
- (selftest::test_applying_fixits_insert): Update for renaming of
- add_fixit_insert to add_fixit_insert_before.
- (selftest::test_applying_fixits_insert_after): New function.
- (selftest::test_applying_fixits_insert_after_at_line_end): New
- function.
- (selftest::test_applying_fixits_insert_after_failure): New function.
- (selftest::test_applying_fixits_multiple): Update for renaming of
- add_fixit_insert to add_fixit_insert_before.
- (selftest::change_line): Likewise.
- (selftest::test_applying_fixits_unreadable_file): Likewise.
- (selftest::test_applying_fixits_line_out_of_range): Likewise.
- (selftest::test_applying_fixits_column_validation): Likewise.
- (selftest::test_applying_fixits_column_validation): Likewise.
- (selftest::edit_context_c_tests): Update for renamed test function;
- call new test functions.
-
-2016-09-13 Pat Haugen <pthaugen@us.ibm.com>
-
- PR tree-optimization/77536
- PR rtl-optimization/68212
- * config/rs6000/rs6000.md (div->recip splitter): Remove
- optimize_insn_for_speed_p condition.
-
-2016-09-13 Maciej W. Rozycki <macro@imgtec.com>
-
- * optabs.c (prepare_cmp_insn): Update documentation comment.
-
-2016-09-13 Jakub Jelinek <jakub@redhat.com>
- Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR middle-end/77475
- * opts.h (candidates_list_and_hint): Declare.
- * opts-common.c (candidates_list_and_hint): New function.
- (cmdline_handle_error): Use it.
-
-2016-09-12 David Malcolm <dmalcolm@redhat.com>
-
- * edit-context.c (edited_line::get_len): New accessor.
- (edited_file::print_diff): Split out hunk-printing into...
- (edited_file::print_diff_hunk): New method.
- (edited_file::print_diff_line): New method.
-
-2016-09-12 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-tuning-flags.def (SLOW_UNALIGNED_LDPW):
- New tuning option.
- * config/aarch64/aarch64.c (thunderx_tunings): Enable
- AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW.
- (aarch64_operands_ok_for_ldpstp): Return false if
- AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW and the mode
- was SImode and the alignment is less than 8 byte.
- (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-
-2016-09-12 Orlando Arias <oarias@knights.ucf.edu>
-
- PR target/77570
- * config/msp430/msp430.md (delay_cycles_32x): Fix pushm/popm.
-
-2016-09-12 Marek Polacek <polacek@redhat.com>
-
- * doc/extend.texi: Use lowercase "boolean".
- * doc/invoke.texi: Likewise.
- * doc/md.texi: Likewise.
- * target.def: Likewise.
- * doc/tm.texi: Regenerated.
-
-2016-09-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/77426
- * expmed.c (synth_mult): Delete duplicate mode check.
-
-2016-09-10 Tom de Vries <tom@codesourcery.com>
-
- PR C/71602
- * builtins.c (std_canonical_va_list_type): Strictly return non-null for
- va_list type only.
- * config/i386/i386.c (ix86_canonical_va_list_type): Same.
- * gimplify.c (gimplify_va_arg_expr): Handle &va_list.
-
-2016-09-09 Peter Bergner <bergner@vnet.ibm.com>
-
- PR rtl-optimization/77289
- * lra-constraints.c (get_final_hard_regno): Add support for non hard
- register numbers. Remove support for subregs.
- (get_hard_regno): Use SUBREG_P. Don't call get_final_hard_regno().
- (get_reg_class): Delete removed get_final_hard_regno() argument.
- (uses_hard_regs_p): Call get_final_hard_regno().
-
-2016-09-09 Martin Sebor <msebor@redhat.com>
-
- PR c/77520
- PR c/77521
- * pretty-print.c (pp_quoted_string): New function.
- (pp_format): Call it for %c and %s directives.
-
-2016-09-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * doc/tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.
- (ELIMINABLE_REGS, TARGET_CAN_ELIMINATE,
- INITIAL_ELIMINATION_OFFSET) : Update documentation.
- * target.def (frame_pointer_required, can_eliminate): Likewise.
- * doc/tm.texi: Regenerated.
- * builtins.c (expand_builtin_setjmp_receiver): Remove #ifdef
- ELIMINABLE_REGS.
- * df-scan.c (df_hard_reg_init): Likewise.
- * ira.c (ira_setup_eliminable_regset): Likewise.
- * lra-eliminations.c (reg_eliminate_1, (update_reg_eliminate,
- init_elim_table): Likewise.
- * reload1.c (reg_eliminate_1, verify_initial_elim_offsets,
- set_initial_elim_offsets, update_eliminables,
- init_elim_table): Likewise.
- * rtlanal.c (get_initial_register_offset): Likewise.
- * config/ft32/ft32.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
- * config/m32r/m32r.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
- * config/moxie/moxie.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
- * config/vax/vax.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
- * config/fr30/fr30.h: Fix comment.
- * config/frv/frv.c: Likewise.
- * config/frv/frv.h: Likewise.
- * config/ft32/ft32.h: Likewise.
- * config/visium/visium.h: Likewise.
- * config/pa/pa64-linux.h: Likewise.
- * config/v850/v850.h: Likewise.
- * config/cris/cris.c: Likewise.
- * config/ia64/ia64.h: Likewise.
- * config/moxie/moxie.h: Likewise.
- * config/m32r/m32r.h: Likewise.
-
-2016-09-10 Alexander Ivchenko <alexander.ivchenko@intel.com>
-
- PR target/77267
- * config.in: Regenerate.
- * config/i386/linux-common.h (MPX_LD_AS_NEEDED_GUARD_PUSH):
- New macro.
- (MPX_LD_AS_NEEDED_GUARD_PUSH): Ditto.
- (LIBMPXWRAPPERS_SPEC): Remove "--no-whole-archive" from
- static-libmpxwrappers case.
- (LIBMPX_SPEC): Add guards with MPX_LD_AS_NEEDED_GUARD_PUSH and
- MPX_LD_AS_NEEDED_GUARD_POP.
- * configure: Regenerate.
- * configure.ac (HAVE_LD_PUSHPOPSTATE_SUPPORT): New variable.
- defined if linker support "--push-state"/"--pop-state".
-
-2016-09-09 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * doc/cpp.texi (__*_WIDTH__): Small wording fixes.
-
-2016-09-09 Joseph Myers <joseph@codesourcery.com>
-
- * doc/cpp.texi (__SCHAR_WIDTH__, __SHRT_WIDTH__, __INT_WIDTH__)
- (__LONG_WIDTH__, __LONG_LONG_WIDTH__, __PTRDIFF_WIDTH__)
- (__SIG_ATOMIC_WIDTH__, __SIZE_WIDTH__, __WCHAR_WIDTH__)
- (__WINT_WIDTH__, __INT_LEAST8_WIDTH__, __INT_LEAST16_WIDTH__)
- (__INT_LEAST32_WIDTH__, __INT_LEAST64_WIDTH__)
- (__INT_FAST8_WIDTH__, __INT_FAST16_WIDTH__, __INT_FAST32_WIDTH__)
- (__INT_FAST64_WIDTH__, __INTPTR_WIDTH__, __INTMAX_WIDTH__):
- Document.
- * ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Define
- width macros from TS 18661-1.
- * glimits.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Likewise.
-
-2016-09-08 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/77516
- * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
- OMP_CLAUSE_SAFELEN_EXPR.
-
-2016-09-07 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add substring-locations.o.
- * langhooks-def.h (class substring_loc): New forward decl.
- (lhd_get_substring_location): New decl.
- (LANG_HOOKS_GET_SUBSTRING_LOCATION): New macro.
- (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_GET_SUBSTRING_LOCATION.
- * langhooks.c (lhd_get_substring_location): New function.
- * langhooks.h (class substring_loc): New forward decl.
- (struct lang_hooks): Add field get_substring_location.
- * substring-locations.c: New file, taking definition of
- format_warning_va and format_warning_at_substring from
- c-family/c-format.c, making them non-static.
- * substring-locations.h (class substring_loc): Move class here
- from c-family/c-common.h. Add and rewrite comments.
- (format_warning_va): New decl.
- (format_warning_at_substring): New decl.
- (get_source_location_for_substring): Add comment.
-
-2016-09-07 Eric Gallager <egall@gwmail.gwu.edu>
-
- * config/i386/i386.c: Add 'U' suffix to processor feature bits
- to avoid -Wnarrowing warning.
- * config/i386/x86-tune.def: Likewise for DEF_TUNE selector bitmasks.
- * opts.c: Likewise for SANITIZER_OPT bitmasks.
-
-2016-09-07 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address):
- Avoid use of base_offset if offset already in range.
-
-2016-09-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh-protos.h (struct sh_atomic_model,
- selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
- TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
- TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Move to...
- * config/sh/sh.h (struct sh_atomic_model,
- selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
- TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
- TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): ...here.
- Guard with __cplusplus.
-
-2016-09-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69255
- * config/i386/i386.c (ix86_expand_builtin): For builtin with
- unsupported or unknown ISA, use expand_call.
-
-2016-09-06 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/77378
- PR gcov-profile/77466
- * tree-profile.c (tree_profiling): Detect whether target can use
- -fprofile-update=atomic.
-
-2016-09-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77479
- * tree-vrp.c (update_value_range): Extend overflow handling to
- VARYING.
-
-2016-09-05 Jakub Jelinek <jakub@redhat.com>
-
- PR target/77476
- * config/i386/i386.md (isa): Add x64_avx512bw.
- (*zero_extendsidi2): For alternative 11 use x64_avx512bw isa.
- (kmov_isa): New mode attr.
- (zero_extend<mode>di2): Use <kmov_isa> isa for the last alternative.
- (*zero_extend<mode>si2): Likewise.
- (*zero_extendqihi2): Use avx512dq isa for the last alternative.
-
-2016-09-05 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (SPU Options): nops -> NOPs.
- (x86 Options): Ditto.
-
-2016-09-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/77475
- * toplev.c (process_options): Temporarily set input_location
- to UNKNOWN_LOCATION around targetm.target_option.override () call.
-
-2016-09-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/77452
- * explow.c (plus_constant) <case MEM>: Extract scalar constant from
- inner-mode reference to a CONST_VECTOR constant in the constant pool.
-
-2016-09-05 Marek Polacek <polacek@redhat.com>
-
- PR c/77423
- * doc/invoke.texi: Update -Wlogical-not-parentheses documentation.
-
-2016-09-05 Jakub Jelinek <jakub@redhat.com>
-
- PR other/77421
- * gensupport.c (alter_output_for_subst_insn): Remove redundant
- *insn_out == '*' test. Don't copy unnecessary to yet another
- memory buffer, and don't leak it.
-
- PR rtl-optimization/77425
- * ipa-devirt.c (get_odr_type): Set val->id unconditionally.
-
-2016-09-03 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * ubsan.c (ubsan_use_new_style_p): Fix check for empty string.
-
-2016-09-02 David Malcolm <dmalcolm@redhat.com>
-
- * common.opt (fdiagnostics-generate-patch): New option.
- * diagnostic.c: Include "edit-context.h".
- (diagnostic_initialize): Initialize context->edit_context_ptr.
- (diagnostic_finish): Delete context->edit_context_ptr.
- (diagnostic_report_diagnostic): Add fix-it hints from the
- diagnostic to context->edit_context_ptr, if any.
- * diagnostic.h (class edit_context): Add forward decl.
- (struct diagnostic_context): Add field "edit_context_ptr".
- * doc/invoke.texi (Diagnostic Message Formatting Options): Add
- -fdiagnostics-generate-patch.
- (-fdiagnostics-generate-patch): New item.
- * toplev.c: Include "edit-context.h".
- (process_options): Set global_dc->edit_context_ptr to a new
- edit_context if the options need one.
- (toplev::main): Handle -fdiagnostics-generate-patch by using
- global_dc->edit_context_ptr.
-
-2016-09-02 Jakub Jelinek <jakub@redhat.com>
-
- PR c/65467
- * gimplify.c (gimplify_adjust_omp_clauses_1): Diagnose implicit
- map and firstprivate clauses on target construct for _Atomic
- qualified decls.
- (gimplify_adjust_omp_clauses): Diagnose explicit firstprivate clauses
- on target construct for _Atomic qualified decls.
- * omp-low.c (use_pointer_for_field): Return true for _Atomic qualified
- decls.
- * omp-simd-clone.c (simd_clone_clauses_extract): Warn and give up for
- _Atomic qualified arguments not mentioned in uniform clause.
-
-2016-09-02 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS-libcommon): Add edit-context.o.
- * diagnostic-color.c (color_dict): Add "diff-filename",
- "diff-hunk", "diff-delete", and "diff-insert".
- (parse_gcc_colors): Update default value of GCC_COLORS in comment
- to reflect above changes.
- * doc/invoke.texi (-fdiagnostics-color): Update description of
- default GCC_COLORS, and of the supported capabilities.
- * edit-context.c: New file.
- * edit-context.h: New file.
- * input.c (struct fcache): Add field "missing_trailing_newline".
- (diagnostics_file_cache_forcibly_evict_file): Initialize it to
- true.
- (add_file_to_cache_tab): Likewise.
- (fcache::fcache): Likewise.
- (get_next_line): Update c->missing_trailing_newline.
- (location_missing_trailing_newline): New function.
- * input.h (location_missing_trailing_newline): New decl.
- * selftest-run-tests.c (selftest::run_tests): Call
- edit_context_c_tests.
- * selftest.h (edit_context_c_tests): New decl.
-
-2016-09-02 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenth@suse.de>
-
- PR tree-optimization/77444
- * tree-ssa-loop-ivopts.c (cand_value_at): For pointers use sizetype
- as steptype, remove redundant initialization.
-
-2016-09-02 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/77396
- * sanopt.c: Include gimple-ssa.h, tree-phinodes.h and ssa-iterators.h.
- (sanopt_optimize_walker): Optimize away
- __asan_before_dynamic_init (...) followed by
- __asan_after_dynamic_init () without intervening memory loads/stores.
- * ipa-pure-const.c (special_builtin_state): Handle
- BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT and
- BUILT_IN_ASAN_AFTER_DYNAMIC_INIT.
-
-2016-09-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * cfg.c (free_original_copy_tables): Replace second assignment of
- bb_copy = NULL by bb_original = NULL.
-
-2016-09-02 Jakub Jelinek <jakub@redhat.com>
-
- PR other/77421
- * config/i386/i386.c (ix86_expanded_args_builtin): Remove redundant
- assignment added in r216794.
-
-2016-09-02 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add typed-splay-tree.o.
- * selftest-run-tests.c (selftest::run_tests): Call
- typed_splay_tree_c_tests.
- * selftest.h (typed_splay_tree_c_tests): New decl.
- * typed-splay-tree.c: New file.
- * typed-splay-tree.h (typed_splay_tree::foreach_fn): New typedef.
- (typed_splay_tree::max): New method.
- (typed_splay_tree::min): New method.
- (typed_splay_tree::foreach): New method.
- (typed_splay_tree::closure): New struct.
- (typed_splay_tree::inner_foreach_fn): New function.
-
-2016-09-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * ipa-cp.c (ipcp_store_bits_results): Change option name from
- -fipa-cp-bit to -fipa-bit-cp.
-
-2016-09-01 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/71831
- * tree-object-size.h: Return bool instead of the size and add
- argument for the size.
- * tree-object-size.c (compute_object_offset): Update signature.
- (addr_object_size): Same.
- (compute_builtin_object_size): Return bool instead of the size
- and add argument for the size. Handle POINTER_PLUS_EXPR when
- optimization is disabled.
- (expr_object_size): Adjust.
- (plus_stmt_object_size): Adjust.
- (pass_object_sizes::execute): Adjust.
- * builtins.c (fold_builtin_object_size): Adjust.
- * doc/extend.texi (Object Size Checking): Update.
- * ubsan.c (instrument_object_size): Adjust.
-
-2016-09-01 Martin Sebor <msebor@redhat.com>
-
- * genmatch.c (parser::parse_expr): Increase buffer size to guarantee
- it fits the output of the formatted function regardless of its
- arguments.
- * genmodes.c (parser::parse_expr): Same.
- * gimplify.c (gimplify_asm_expr): Same.
- * passes.c (pass_manager::register_one_dump_file): Same.
- * print-tree.c (print_node): Same.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md: Use VSCR_REGNO instead of 110 throughout.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md: Use VRSAVE_REGNO instead of 109 throughout.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md: Use CR6_REGNO instead of 74 throughout.
- * config/rs6000/vector.md: Ditto.
- * config/rs6000/vsx.md: Ditto.
-
-2016-09-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-inline-analysis.c (param_change_prob): Get to the base object
- first in all cases.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11,
- *restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1,
- *return_and_restore_gpregs_<mode>_r11,
- *return_and_restore_gpregs_<mode>_r12,
- *return_and_restore_gpregs_<mode>_r1,
- *return_and_restore_fpregs_<mode>_r11,
- *return_and_restore_fpregs_<mode>_r12,
- *return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO
- directly instead of via the "l" constraint. Renumber operands.
- Fix whitespace.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
- save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
- *restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
- * config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
- load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
- *call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
- *call_value_nonlocal_darwin64, reload_macho_picbase,
- reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
- * config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
- * config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
- *save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
- *save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
- *save_fpregs_<mode>_r1): Ditto.
- * config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
- *return_and_restore_gpregs_spe): Ditto.
-
-2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md
- (define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
- the use of the link register.
- (define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.
-
-2016-09-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/72827
- * config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
- reg+reg addressing for TImode.
- (rs6000_legitimate_address_p): Only allow register indirect
- addressing for TImode, even without TARGET_QUAD_MEMORY.
-
-2016-09-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77436
- * tree-chrec.c (tree_fold_binomial): Use widest_int, properly
- check whether the result fits the desired result type.
-
-2016-09-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (cbranch<mode>4): Op 2 can be const.
-
-2016-09-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
- New function.
- (TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT): Define.
-
-2016-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*ands<mode>_compare0): New pattern.
- * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_NZmode
- for comparisons of integer ZERO_EXTEND against zero.
-
-2016-09-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Also disable the
- STV pass if -mstackrealign is enabled.
-
-2016-08-31 Ilya Verbin <iverbin@gmail.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of
- AVX512IFMA.
-
-2016-08-31 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (class layout): Add field m_fixit_hints.
- (layout_range::intersects_line_p): New method.
- (test_range_contains_point_for_single_point): Rename to...
- (test_layout_range_for_single_point): ...this, and add testing
- for layout_range::intersects_line_p.
- (test_range_contains_point_for_single_line): Rename to...
- (test_layout_range_for_single_line): ...this, and add testing
- for layout_range::intersects_line_p.
- (test_range_contains_point_for_multiple_lines): Rename to...
- (test_layout_range_for_multiple_lines): ...this, and add testing
- for layout_range::intersects_line_p.
- (layout::layout): Populate m_fixit_hints.
- (layout::get_expanded_location): Handle the case of a line-span
- for a fix-it hint.
- (layout::validate_fixit_hint_p): New method.
- (get_line_span_for_fixit_hint): New function.
- (layout::calculate_line_spans): Add spans for fixit-hints.
- (layout::should_print_annotation_line_p): New method.
- (layout::print_any_fixits): Drop param "richloc", instead using
- validated fixits in m_fixit_hints. Add "const" to hint pointers.
- (diagnostic_show_locus): Avoid printing blank annotation lines.
- (selftest::test_diagnostic_context::test_diagnostic_context):
- Initialize show_column and start_span.
- (selftest::test_diagnostic_context::start_span_cb): New static
- function.
- (selftest::test_diagnostic_show_locus_fixit_lines): New function.
- (selftest::diagnostic_show_locus_c_tests): Update for function
- renamings. Call test_diagnostic_show_locus_fixit_lines.
-
-2016-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/73714
- * match.pd (a * (1 << b)): Revert change from 2016-05-23.
-
-2016-08-31 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c: Move "namespace selftest {" to top of file,
- removing explicit "selftest::" qualifiers throughout.
-
-2016-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
- New types.
- (_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
- _mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512):
- Replace builtin with vector extension.
- * config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u):
- New types.
- (_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps,
- _mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256):
- Replace builtin with vector extension.
- * config/i386/emmintrin.h (__m128i_u, __m128d_u): New types.
- (_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128):
- Replace builtin with vector extension.
- * config/i386/xmmintrin.h (__m128_u): New type.
- (_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension.
- (_mm_load_ps, _mm_store_ps): Simplify.
-
-2016-08-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.
-
-2016-08-30 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (colorizer::begin_state): Support more
- than 3 ranges per diagnostic by alternating between color 1 and
- color 2.
- (layout::layout): Replace use of rich_location::MAX_RANGES
- with richloc->get_num_locations ().
- (layout::calculate_line_spans): Replace use of
- rich_location::MAX_RANGES with m_layout_ranges.length ().
- (layout::print_annotation_line): Handle arbitrary numbers of
- ranges in caret-printing by defaulting to '^'.
- (selftest::test_one_liner_many_fixits): New function.
- (test_diagnostic_show_locus_one_liner): Call it.
- * diagnostic.c (diagnostic_initialize): Update for renaming
- of rich_location::MAX_RANGES to
- rich_location::STATICALLY_ALLOCATED_RANGES.
- * diagnostic.h (struct diagnostic_context): Likewise.
-
-2016-08-30 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c (selftest::named_temp_file::named_temp_file): New
- ctor.
- (selftest::temp_source_file::~temp_source_file): Move to...
- (selftest::named_temp_file::~named_temp_file): ...here.
- (selftest::test_named_temp_file): New function.
- (selftest::selftest_c_tests): Call test_named_temp_file.
- * selftest.h (class named_temp_file): New class.
- (class temp_source_file): Convert to a subclass of named_temp_file.
-
-2016-08-30 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Do not emit
- USEs of LR_REGNO in returns and sibcalls.
- (rs6000_output_mi_thunk): Similar.
- (rs6000_sibcall_aix): Similar.
- * config/rs6000/rs6000.md (sibcall, sibcall_value, sibcall_local32,
- sibcall_local64, sibcall_value_local32, sibcall_value_local64,
- sibcall_nonlocal_sysv<mode>, sibcall_value_nonlocal_sysv<mode>):
- Remove the USE of LR_REGNO from the patterns as well. Delete an
- obsolete comment.
- (return_internal_<mode>): Delete.
-
-2016-08-30 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_ld2<mode>_dreg_le): New.
- (aarch64_ld2<mode>_dreg_be): New.
- (aarch64_ld2<mode>_dreg): Removed.
- (aarch64_ld3<mode>_dreg_le): New.
- (aarch64_ld3<mode>_dreg_be): New.
- (aarch64_ld3<mode>_dreg): Removed.
- (aarch64_ld4<mode>_dreg_le): New.
- (aarch64_ld4<mode>_dreg_be): New.
- (aarch64_ld4<mode>_dreg): Removed.
- (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Wrapper around _le, _be.
-
-2016-08-30 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove
- redundant location param.
- (test_one_liner_fixit_remove): Likewise.
- (test_one_liner_fixit_replace): Likewise.
- (test_one_liner_fixit_replace_equal_secondary_range): Likewise.
- * gcc-rich-location.c
- (gcc_rich_location::add_fixit_misspelled_id): Eliminate call to
- get_range_from_loc. Drop overload taking a const char *.
- * gcc-rich-location.h
- (gcc_rich_location::add_fixit_misspelled_id): Drop overload taking
- a const char *.
-
-2016-08-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/linux.c (linux_libc_has_function): Return true on musl.
-
-2016-08-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config.gcc (*-*-*musl*): Disable gnu-indirect-function.
-
-2016-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
- used for abnormal egdes.
-
-2016-08-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/72866
- * tree-vect-patterns.c (search_type_for_mask): Turn into
- a small wrapper, move all code to ...
- (search_type_for_mask_1): ... this new function. Add caching
- and adjust recursive calls.
-
- PR debug/77363
- * dwarf2out.c (modified_type_die): Use lookup_type_die (type)
- instead of lookup_type_die (type_main_variant (type)) even for array
- types.
-
- PR middle-end/77377
- * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
- constant pool reference return x instead of c.
-
-2016-08-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not
- include MQ.
-
-2016-08-29 David Malcolm <dmalcolm@redhat.com>
-
- * input.c
- (selftest::test_make_location_nonpure_range_endpoints): Fix
- header comment.
-
-2016-08-29 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c
- (selftest::test_one_liner_fixit_validation_adhoc_locations): New
- function.
- (selftest::test_diagnostic_show_locus_one_liner): Call it.
- * input.c (get_pure_location): Move to libcpp/line-map.c.
- * input.h (get_pure_location): Convert decl to an inline function
- calling implementation in libcpp.
-
-2016-08-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77403
- * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
- template for intel asm dialect.
- (vec_set_hi_<mode><mask_name>): Ditto.
-
-2016-08-29 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.h (selftest::fail): Add ATTRIBUTE_NORETURN.
- (selftest::fail_formatted): Likewise.
-
-2016-08-29 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (make_location): Call get_start and get_finish
- on the endpoints to avoid storing packed ranges or ad-hoc
- ranges in them.
- (selftest::test_make_location_nonpure_range_endpoints): New function.
- (selftest::input_c_tests): Call it.
- * input.h (get_start): New inline function.
-
-2016-08-29 Tom de Vries <tom@codesourcery.com>
-
- PR c/77398
- * gimplify.c (gimplify_va_arg_expr): Replace first argument type error
- with assert.
-
-2016-08-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * Makefile.in (gcov-iov.h): Add dummy recipe.
-
-2016-08-29 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c: #include tree-vrp.h.
-
-2016-08-28 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/77324
- * config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
- HIGH+LO construct during reload.
-
-2016-08-28 Tom de Vries <tom@codesourcery.com>
-
- PR lto/70955
- * config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
- 'sysv_abi va_list' attribute.
- (ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
- (ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
- attributes.
-
-2016-08-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
- * emit-rtl.c (unshare_all_rtl_1): Adjust.
- (unshare_all_rtl_again): Likewise.
- * function.c (assign_stack_local_1): Likewise.
- (assign_stack_temp_for_type): Likewise.
-
-2016-08-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgbuild.c (make_edges): Adjust.
- * cfgrtl.c (can_delete_label_p): Likewise.
- * dwarf2cfi.c (create_trace_edges): Likewise.
- * except.c (sjlj_emit_dispatch_table): Likewise.
- * function.h (struct expr_status): make x_forced_labels a vector.
- * jump.c (rebuild_jump_labels_1): Adjust.
- * reload1.c (set_initial_label_offsets): Likewise.
- * stmt.c (force_label_rtx): Likewise.
- (expand_label): Likewise.
-
-2016-08-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * haifa-sched.c (fix_recovery_deps): Make ready_list a vector.
-
-2016-08-27 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/71077
- PR tree-optimization/68542
- * fold-const.c (fold_relational_const): Fix folding of
- VECTOR_CST comparisons that have a scalar boolean result type.
- (selftest::test_vector_folding): New static function.
- (selftest::fold_const_c_tests): Call it.
-
-2016-08-27 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/extend.texi (SPU Built-in Functions): Remove stale
- references to material formerly at IBM and Sony.
-
-2016-08-26 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/77349
- * config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.
-
-2016-08-26 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c
- (selftest::test_fixit_consolidation): New function.
- (selftest::diagnostic_show_locus_c_tests): Call it.
- * gcc-rich-location.h (gcc_rich_location): Eliminate unused
- constructor based on source_range.
-
-2016-08-26 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-color.c (color_dict): Add "fixit-insert" and
- "fixit-delete".
- (parse_gcc_colors): Update description of default GCC_COLORS.
- * diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
- (colorizer::set_fixit_insert): New method.
- (colorizer::set_fixit_delete): New method.
- (colorizer::get_color_by_name): New method.
- (colorizer::STATE_FIXIT_INSERT): New constant.
- (colorizer::STATE_FIXIT_DELETE): New constant.
- (class colorizer): Drop "_cs" suffix from fields. Delete "_ce"
- fields in favor of new field "m_stop_color". Add fields
- "m_fixit_insert" and "m_fixit_delete".
- (colorizer::colorizer): Update for above changes. Replace
- colorize_start calls with calls to get_color_by_name.
- (colorizer::begin_state): Handle STATE_FIXIT_INSERT and
- STATE_FIXIT_DELETE. Update for field renamings.
- (colorizer::finish_state): Simplify by using m_stop_color,
- rather than multiple identical "*_ce" fields.
- (colorizer::get_color_by_name): New method.
- (layout::print_any_fixits): Print insertions and replacements
- using the "fixit-insert" color, and deletions using the
- "fixit-delete" color.
- * doc/invoke.texi (-fdiagnostics-color): Update description of
- default GCC_COLORS, and of the supported capabilities.
-
-2016-08-26 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (xtensa_expand_prologue): Update
- current_function_static_stack_size variable with the static
- stack frame size of the current function when
- flag_stack_usage_info is enabled.
-
-2016-08-26 Nathan Sidwell <nathan@acm.org>
-
- * ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
- assignment inside if condition.
-
-2016-08-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69047
- * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
- extracts similar to what FRE does.
- (non_rewritable_mem_ref_base): Likewise.
-
-2016-08-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
- (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
- * config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
- Likewise.
- * config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
- * config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-
-2016-08-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70473
- * config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
- reservation duration to 15 cycles.
- (cortex_a8_vfp_macs): Likewise.
- (cortex_a8_vfp_macd): Likewise.
- (cortex_a8_vfp_divs): Likewise.
- (cortex_a8_vfp_divd): Likewise.
-
-2016-08-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
- (aarch_macro_fusion_pair_p): Use above to avoid early return.
-
-2016-08-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
- Martin Jambhor <mjambor@suse.cz>
-
- * common.opt: New option -fipa-bit-cp.
- * doc/invoke.texi: Document -fipa-bit-cp.
- * opts.c (default_options_table): Add entry for -fipa-bit-cp.
- (enable_fdo_optimizations): Check for flag_ipa_bit_cp.
- * tree-ssa-ccp.h: New header file.
- * tree-ssa-ccp.c: Include tree-ssa-ccp.h
- (bit_value_binop_1): Change to bit_value_binop_1 and export it.
- Replace all occurences of tree parameter by two new params: signop, int.
- (bit_value_unop_1): Change to bit_value_unop and export it.
- Replace all occurences of tree parameter by two new params: signop,
- int.
- (bit_value_binop): Change call from bit_value_binop_1 to
- bit_value_binop.
- (bit_value_assume_aligned): Likewise.
- (bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
- (do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
- to ccp_finalize.
- (ccp_finalize): Skip processing if val->mask == 0.
- * ipa-cp.c: Include tree-ssa-ccp.h
- (ipcp_bits_lattice): New class.
- (ipcp_param_lattice (bits_lattice): New member.
- (print_all_lattices): Call ipcp_bits_lattice::print.
- (set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom.
- (initialize_node_lattices): Likewise.
- (propagate_bits_accross_jump_function): New function.
- (propagate_constants_accross_call): Call
- propagate_bits_accross_jump_function.
- (ipcp_propagate_stage): Store parameter types when in_lto_p is true.
- (ipcp_store_bits_results): New function.
- (ipcp_driver): Call ipcp_store_bits_results.
- * ipa-prop.h (ipa_bits): New struct.
- (ipa_jump_func): Add new member bits of type ipa_bits.
- (ipa_param_descriptor): Change decl to decl_or_type.
- (ipa_get_param): Change decl to decl_or_type and assert on
- PARM_DECL.
- (ipa_get_type): New function.
- (ipcp_transformation_summary): New member bits.
- * ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
- (ipa_populate_param_decls): Likewise.
- (ipa_dump_param): Likewise.
- (ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
- function.
- (ipa_set_jf_unknown): Set ipa_bits::known to false.
- (ipa_compute_jump_functions_for_edge): Compute jump function for bits
- propagation.
- (ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
- (ipa_write_jump_function): Add streaming for ipa_bits.
- (ipa_read_jump_function): Add support for reading streamed ipa_bits.
- (write_ipcp_transformation_info): Add streaming for ipa_bits
- summary for ltrans.
- (read_ipcp_transfomration_info): Add support for reading streamed
- ipa_bits.
- (ipcp_update_bits): New function.
- (ipcp_transform_function): Call ipcp_update_bits.
-
-2016-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update.
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update.
-
-2016-08-25 David Edelsohn <dje.gcc@gmail.com>
-
- * multiple_target.c (pass_data_dispatcher_calls): Fix typo.
-
-2016-08-25 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
- Only add locations in late dwarf.
- (gen_scheduled_generic_parms_dies): Do not set early dwarf here.
- (dwarf2out_early_finish): But do it here.
-
-2016-08-24 Michael Collison <michael.collison@linaro.org>
- Michael Collison <michael.collison@arm.com>
-
- * config/arm/arm-modes.def: Add new condition code mode CC_V
- to represent the overflow bit.
- * config/arm/arm.c (maybe_get_arm_condition_code):
- Add support for CC_Vmode.
- (arm_gen_unlikely_cbranch): New function to generate common
- rtl conditional branches for overflow patterns.
- * config/arm/arm-protos.h: Add prototype for
- arm_gen_unlikely_cbranch.
- * config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
- addsi3_compareV_upper): New patterns to support signed
- builtin overflow add operations.
- (uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
- New patterns to support unsigned builtin add overflow operations.
- (subv<mode>4, sub<mode>3_compare1): New patterns to support signed
- builtin overflow subtract operations,
- (usubv<mode>4): New patterns to support unsigned builtin subtract
- overflow operations.
- (negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
- to support builtin overflow negate operations.
-
-2016-08-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- Revert
- 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * explow.c (get_dynamic_stack_size): Take known alignment of stack
- pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
- needed.
-
-2016-08-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
- MULTILIB_OPTIONS should be used. Small wording fixes.
- * genmultilib: Memorize set of all option combinations in
- combination_space. Detect if RHS of MULTILIB_REUSE uses an option not
- found in MULTILIB_OPTIONS by checking if option set is listed in
- combination_space. Output new and existing error message to stderr.
-
-2016-08-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
- -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
- Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
- (MULTILIB_REUSE): Remove reuse rules for option set including
- -mfpu=fp-armv8 and -mfpu=vfpv4
-
-2016-08-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems: Add vfp multilib.
-
-2016-08-23 Ian Lance Taylor <iant@golang.org>
-
- * config/s390/s390.c (s390_asm_file_start): Call
- default_file_start.
-
-2016-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_vector_init): Set
- initialization of all 0's to the 0 constant, instead of directly
- generating XOR. Add support for V4SImode vector initialization on
- 64-bit systems with direct move, and rework the ISA 3.0 V4SImode
- initialization. Change variables used in V4SFmode vector
- intialization. For V4SFmode vector splat on ISA 3.0, make sure
- any memory addresses are in index form. Add support for using
- VSPLTH/VSPLTB to initialize vector short and vector char vectors
- with all of the same element.
- (regno_or_subregno): New helper function to return a register
- number for either REG or SUBREG.
- (rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>.
- Use regno_or_subregno where possible.
- (rs6000_split_v4si_init_di_reg): New helper function to build up a
- DImode value from two SImode values in order to generate V4SImode
- vector initialization on 64-bit systems with direct move.
- (rs6000_split_v4si_init): Split up the insns for a V4SImode vector
- initialization.
- (rtx_is_swappable_p): V4SImode vector initialization insn is not
- swappable.
- * config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add
- declaration.
- * config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and
- attributes to initialize V8HImode and V16QImode vectors with the
- same element.
- (VSX_SPLAT_COUNT): Likewise.
- (VSX_SPLAT_SUFFIX): Likewise.
- (UNSPEC_VSX_VEC_INIT): New unspec.
- (vsx_concat_v2sf): Eliminate using 'preferred' register classes.
- Allow SFmode values to come from Altivec registers.
- (vsx_init_v4si): New insn/split for V4SImode vector initialization
- on 64-bit systems with direct move.
- (vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode
- vector initializations, to allow V4SImode vector initializations
- on 64-bit systems with direct move.
- (vsx_splat_v4si): Likewise.
- (vsx_splat_v4si_di): Likewise.
- (vsx_splat_v4sf): Likewise.
- (vsx_splat_v4sf_internal): Likewise.
- (vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred'
- register classes.
- (vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise.
- (vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support
- initializing V8HImode and V16QImode vectors with the same
- element.
- * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow
- optimization if -maltivec=be.
-
-2016-08-23 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/arm.md (arm_movqi_insn): Swap predicable_short_it
- attribute for alternatives 3 and 4.
-
-2016-08-23 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c (selftest::assert_str_contains): New function.
- (selftest::test_assertions): Verify ASSERT_STR_CONTAINS.
- * selftest.h (selftest::assert_str_contains): New decl.
- (ASSERT_STR_CONTAINS): New macro.
-
-2016-08-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77286
- * tree-vect-loop.c (vect_analyze_loop_form_1): Do not modify
- the CFG here.
- (vect_transform_loop): Split exit edges of loop and scalar
- loop if required and at the appropriate time.
-
-2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * explow.c (get_dynamic_stack_size): Take known alignment of stack
- pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
- needed.
- Correct a typo in a comment.
-
-2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*andc_split"): New splitter for and with
- complement.
-
-2016-08-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/27336
- * tree-vrp.c (infer_value_range): Handle stmts that can throw
- by looking for a non-EH edge.
- (process_assert_insertions_for): Likewise.
-
-2016-08-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/77305
- * statistics.c (statistics_counter_event): Robustify against
- NULL current_pass.
-
-2016-08-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
- for targets amdfam10 and barcelona.
-
-2016-08-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*zero_extendsidi2): Add (*r,*k) alternative.
- (zero_extend<mode>di2): Ditto.
- (*zero_extend<mode>si2): Ditto.
- (*zero_extendqihi2): Ditto.
-
-2016-08-22 Joseph Myers <joseph@codesourcery.com>
-
- PR middle-end/77269
- * builtins.c (fold_builtin_classify): Use builtin_decl_explicit
- (BUILT_IN_SIGNBIT) to expand __builtin_isinf_sign.
-
-2016-08-22 Patrick Palka <ppalka@gcc.gnu.org>
-
- * print-tree.c (print_node) [VECTOR_CST]: Coalesce the output of
- identical consecutive elements.
- [SSA_NAME]: Print the name's def stmt on its own line. When printing
- the node's def stmt, avoid printing an unwanted trailing newline by
- replacing the call to print_gimple_stmt() with its inlined body and
- adjusting it to not set pp_needs_newline and to call pp_flush()
- instead of pp_newline_and_flush().
-
-2016-08-22 Joseph Myers <joseph@codesourcery.com>
-
- * tree.h (CASE_FLT_FN_FLOATN_NX, float16_type_node)
- (float32_type_node, float64_type_node, float32x_type_node)
- (float128x_type_node): New macros.
- * builtin-types.def (BT_FLOAT16, BT_FLOAT32, BT_FLOAT64)
- (BT_FLOAT128, BT_FLOAT32X, BT_FLOAT64X, BT_FLOAT128X)
- (BT_FN_FLOAT16, BT_FN_FLOAT32, BT_FN_FLOAT64, BT_FN_FLOAT128)
- (BT_FN_FLOAT32X, BT_FN_FLOAT64X, BT_FN_FLOAT128X)
- (BT_FN_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32)
- (BT_FN_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128)
- (BT_FN_FLOAT32X_FLOAT32X, BT_FN_FLOAT64X_FLOAT64X)
- (BT_FN_FLOAT128X_FLOAT128X, BT_FN_FLOAT16_CONST_STRING)
- (BT_FN_FLOAT32_CONST_STRING, BT_FN_FLOAT64_CONST_STRING)
- (BT_FN_FLOAT128_CONST_STRING, BT_FN_FLOAT32X_CONST_STRING)
- (BT_FN_FLOAT64X_CONST_STRING, BT_FN_FLOAT128X_CONST_STRING)
- (BT_FN_FLOAT16_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32_FLOAT32)
- (BT_FN_FLOAT64_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128_FLOAT128)
- (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X)
- (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X)
- (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X): New type definitions.
- * builtins.def (DEF_GCC_FLOATN_NX_BUILTINS): New macro.
- (copysign, fabs, huge_val, inf, nan, nans): Use it.
- * builtins.c (expand_builtin): Use CASE_FLT_FN_FLOATN_NX for fabs
- and copysign.
- (fold_builtin_0): Use CASE_FLT_FN_FLOATN_NX for inf and huge_val.
- (fold_builtin_1): Use CASE_FLT_FN_FLOATN_NX for fabs.
- * doc/extend.texi (Other Builtins): Document these built-in
- functions.
- * fold-const-call.c (fold_const_call): Use CASE_FLT_FN_FLOATN_NX
- for nan and nans.
-
-2016-08-22 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Binaries): www.opencsw.org now uses https.
-
-2016-08-22 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.
-
-2016-08-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77270
- * config/i386/i386.md (prefetch): When TARGET_PRFCHW or
- TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for
- non-SSE2 athlons only, otherwise prefer SSE prefetches.
-
-2016-08-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (vrp_visit_assignment_or_call): Changed to Return VR.
- (vrp_visit_cond_stmt): Just sets TAKEN_EDGE_P.
- (vrp_visit_switch_stmt): Likewise.
- (extract_range_from_stmt): Factored out from vrp_visit_stmt.
- (extract_range_from_phi_node): Factored out from vrp_visit_phi_stmt.
- (vrp_visit_stmt): Use extract_range_from_stmt.
- (vrp_visit_phi_node): Use extract_range_from_phi_node.
-
-2016-08-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * Makefile.in: Add tree-vrp.h to GTFILES.
- * gengtype.c (open_base_files): Add tree-vrp.h.
- * asan.c: Add tree-vrp.h which now has the definition value_range_type.
- * builtins.c: Likewise.
- * fold-const.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-laddress.c: Likewise.
- * hsa-gen.c: Likewise.
- * internal-fn.c: Likewise.
- * ssa.h: Likewise.
- * targhooks.c: Liewise,
- * tree-ssa-address.c: Likewise.
- * tree-ssanames.h (value_range_type: Move to tree-vrp.h.
- * tree-vrp.c (struct value_range): Move to tree-vrp.h
- * tree-vrp.h: New file.
-
-2016-08-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR tree-optimization/61839
- * tree-vrp.c (two_valued_val_range_p): New.
- (simplify_stmt_using_ranges): Convert CST BINOP VAR where VAR is
- two-valued to VAR == VAL1 ? (CST BINOP VAL1) : (CST BINOP VAL2).
- Also Convert VAR BINOP CST where VAR is two-valued to
- VAR == VAL1 ? (VAL1 BINOP CST) : (VAL2 BINOP CST).
-
-2016-08-19 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c
- (layout::annotation_line_showed_range_p): New method.
- (layout::print_any_fixits): Remove case fixit_hint::REMOVE.
- Reimplement case fixit_hint::REPLACE to cover removals, and
- replacements where the range of the replacement isn't one
- of the ranges in the rich_location.
- (test_one_liner_fixit_replace): Likewise.
- (selftest::test_one_liner_fixit_replace_non_equal_range): New
- function.
- (selftest::test_one_liner_fixit_replace_equal_secondary_range):
- New function.
- (selftest::test_diagnostic_show_locus_one_liner): Call the new
- functions.
- * diagnostic.c (print_parseable_fixits): Remove case
- fixit_hint::REMOVE.
-
-2016-08-19 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/77270
- * config/i386/i386.c (ix86_option_override_internal): Remove
- PTA_PRFCHW from entries that also have PTA_3DNOW flag.
- Enable SSE prefetch also for TARGET_PREFETCHWT1.
- Do not try to enable TARGET_PRFCHW ISA flag here.
- * config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW.
- Rewrite expander function body.
- (*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1.
-
-2016-08-19 Joseph Myers <joseph@codesourcery.com>
-
- PR c/32187
- * tree-core.h (TI_COMPLEX_FLOAT16_TYPE)
- (TI_COMPLEX_FLOATN_NX_TYPE_FIRST, TI_COMPLEX_FLOAT32_TYPE)
- (TI_COMPLEX_FLOAT64_TYPE, TI_COMPLEX_FLOAT128_TYPE)
- (TI_COMPLEX_FLOAT32X_TYPE, TI_COMPLEX_FLOAT64X_TYPE)
- (TI_COMPLEX_FLOAT128X_TYPE, TI_FLOAT16_TYPE, TI_FLOATN_TYPE_FIRST)
- (TI_FLOATN_NX_TYPE_FIRST, TI_FLOAT32_TYPE, TI_FLOAT64_TYPE)
- (TI_FLOAT128_TYPE, TI_FLOATN_TYPE_LAST, TI_FLOAT32X_TYPE)
- (TI_FLOATNX_TYPE_FIRST, TI_FLOAT64X_TYPE, TI_FLOAT128X_TYPE)
- (TI_FLOATNX_TYPE_LAST, TI_FLOATN_NX_TYPE_LAST): New enum
- tree_index values.
- (NUM_FLOATN_TYPES, NUM_FLOATNX_TYPES, NUM_FLOATN_NX_TYPES): New
- macros.
- (struct floatn_type_info): New structure type.
- (floatn_nx_types): New variable declaration.
- * tree.h (FLOATN_TYPE_NODE, FLOATN_NX_TYPE_NODE)
- (FLOATNX_TYPE_NODE, float128_type_node, float64x_type_node)
- (COMPLEX_FLOATN_NX_TYPE_NODE): New macros.
- * tree.c (floatn_nx_types): New variable.
- (build_common_tree_nodes): Initialize _FloatN, _FloatNx and
- corresponding complex types.
- * target.def (floatn_mode): New hook.
- * targhooks.c: Include "real.h".
- (default_floatn_mode): New function.
- * targhooks.h (default_floatn_mode): New prototype.
- * doc/extend.texi (Floating Types): Document _FloatN and _FloatNx
- types.
- * doc/sourcebuild.texi (float@var{n}, float@var{n}x): Document new
- effective-target and dg-add-options keywords.
- (float@var{n}_runtime, float@var{n}x_runtime, floatn_nx_runtime):
- Document new effective-target keywords.
- * doc/tm.texi.in (TARGET_FLOATN_MODE): New @hook.
- * doc/tm.texi: Regenerate.
- * ginclude/float.h (LDBL_DECIMAL_DIG): Define to
- __LDBL_DECIMAL_DIG__, not __DECIMAL_DIG__.
- [__STDC_WANT_IEC_60559_TYPES_EXT__]: Define macros from TS
- 18661-3.
- * real.h (struct real_format): Add field ieee_bits.
- * real.c (ieee_single_format, mips_single_format)
- (motorola_single_format, spu_single_format, ieee_double_format)
- (mips_double_format, motorola_double_format)
- (ieee_extended_motorola_format, ieee_extended_intel_96_format)
- (ieee_extended_intel_128_format)
- (ieee_extended_intel_96_round_53_format, ibm_extended_format)
- (mips_extended_format, ieee_quad_format, mips_quad_format)
- (vax_f_format, vax_d_format, vax_g_format, decimal_single_format)
- (decimal_double_format, decimal_quad_format, ieee_half_format)
- (arm_half_format, real_internal_format: Initialize ieee_bits
- field.
- * config/i386/i386.c (ix86_init_builtin_types): Do not initialize
- float128_type_node. Set float80_type_node to float64x_type_node
- if appropriate and long_double_type_node not appropriate.
- * config/ia64/ia64.c (ia64_init_builtins): Likewise.
- * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format):
- Initialize ieee_bits field.
- * config/rs6000/rs6000.c (TARGET_FLOATN_MODE): New macro.
- (rs6000_init_builtins): Set ieee128_float_type_node to
- float128_type_node.
- (rs6000_floatn_mode): New function.
-
-2016-08-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
- _rdseed64_step): Uglify argument names and/or local variable names
- in inline functions.
- * config/i386/rtmintrin.h (_xabort): Likewise.
- * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
- _mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
- _mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
- _mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
- _mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
- _mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
- _mm_maskz_ternarylogic_epi32): Likewise.
- * config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
- __lwpins32, __lwpins64): Likewise.
- * config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
- _mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
- _mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
- _mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
- _mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
- _mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
- _mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
- _mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
- _mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
- _mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
- _mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
- _mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
- _mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
- _mm256_mask_i64gather_epi32): Likewise.
- * config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
- * config/i386/ia32intrin.h (__writeeflags): Likewise.
- * config/i386/pkuintrin.h (_wrpkru): Likewise.
- * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
- _mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
- _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
- _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
- _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
- _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
- _mm512_mask_prefetch_i64scatter_ps): Likewise.
- * config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
- * config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
- _mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
- _mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
- _mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
- _mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
- _mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
- _mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.
-
- * config/i386/fxsrintrin.h (_fxsave): Remove return keyword in inlines
- returning void.
- (_fxrstor, _fxsave64, _fxrstor64): Likewise.
- * config/i386/xsaveintrin.h (_xsave, _xrstor, _xsave64, _xrstor64):
- Likewise.
- * config/i386/xsaveoptintrin.h (_xsaveopt, _xsaveopt64): Likewise.
- * config/i386/pkuintrin.h (_wrpkru): Likewise. Add space after
- function name.
- (_rdpkru_u32): Add space after function name.
-
- * config/i386/t-i386 (i386-c.o): Don't depend on
- i386-builtin-types.inc.
- (i386.o): Depend on i386-builtin-types.inc.
-
-2016-08-19 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/77281
- * config/arm/arm.c (neon_valid_immediate): Delete declaration.
- Use const_vec_duplicate to check for duplicated elements.
-
-2016-08-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77290
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Fix flag_tree_parallelize_loops check.
-
-2016-08-19 Richard Biener <rguenther@suse.de>
-
- * match.pd (x | 0 -> x): Add.
-
-2016-08-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77286
- * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
- Deal with virtual PHIs being out-of-order.
-
-2016-08-18 David Malcolm <dmalcolm@redhat.com>
-
- * doc/invoke.texi (fverbose-asm): Note that source code lines
- are emitted, and provide an example.
- * final.c (asm_show_source): New function.
- (final_scan_insn): Call asm_show_source.
-
-2016-08-18 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (colorizer::colorizer): Replace diagnostic
- param with diagnostic_kind.
- (class colorizer): Similarly replace field m_diagnostic with
- m_diagnostic_kind.
- (colorizer::colorizer): Replace diagnostic
- param with diagnostic_kind.
- (colorizer::begin_state): Update for above field change.
- (layout::layout): Replace diagnostic param with rich_location *
- and diagnostic_kind.
- (diagnostic_show_locus): Replace diagnostic param with richloc
- and diagnostic_kind.
- (class selftest::test_diagnostic_context): New class.
- (selftest::test_diagnostic_show_locus_unknown_location): New
- function.
- (selftest::test_one_liner_simple_caret): New function.
- (selftest::test_one_liner_caret_and_range): New function.
- (selftest::test_one_liner_multiple_carets_and_ranges): New
- function.
- (selftest::test_one_liner_fixit_remove): New function.
- (selftest::test_one_liner_fixit_replace): New function.
- (selftest::test_diagnostic_show_locus_one_liner): New function.
- (selftest::diagnostic_show_locus_c_tests): Call the new test
- functions.
- * diagnostic.c (diagnostic_initialize): Initialize
- colorize_source_p, show_ruler_p and parseable_fixits_p.
- (default_diagnostic_finalizer): Update for change to
- diagnostic_show_locus.
- (diagnostic_append_note): Likewise.
- * diagnostic.h (diagnostic_show_locus): Replace
- const diagnostic_info * param with location * and diagnostic_t.
-
-2016-08-18 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (saved_line_table): New global.
- (class selftest::temp_line_table): Rename to line_table_test and
- move declaration to selftest.h, and drop field m_old_line_table.
- (selftest::temp_line_table::temp_line_table): Rename ctor to...
- (selftest::line_table_test::line_table_test): ...this. Add a
- default ctor. Store current value of line_table within
- saved_line_table.
- (selftest::temp_line_table::~temp_line_table): Rename dtor to...
- (selftest::line_table_test::~line_table_test): ...this, and
- restore line_table from the saved_line_table, rather than
- m_old_line_table.
- (selftest::test_accessing_ordinary_linemaps): Update for above
- renaming.
- (selftest::test_lexer): Likewise.
- (struct selftest::lexer_test): Likewise.
- (selftest::lexer_test::lexer_test): Likewise.
- (selftest::input_c_tests): Move the looping over test cases from
- here into...
- (selftest::for_each_line_table_case): New function.
- * input.h (saved_line_table): New decl.
- * selftest.h (struct selftest::line_table_case): New forward decl.
- (class selftest::line_table_test): New class, moved here from
- selftest::temp_line_table in input.c, and renamed.
- (selftest::for_each_line_table_case): New decl.
-
-2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/72839
- * config/i386/i386.c (lakemont_cost): Set MOVE_RATIO to 17.
-
-2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR middle-end/70895
- * gimplify.c (omp_add_variable): Adjust/add variable mapping on
- enclosing parallel construct for reduction variables on OpenACC loop
- directives.
-
-2016-08-18 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (copy_dwarf_procedure): Remove obsolete comment.
- (new_dwarf_proc_die): Emit DW_TAG_dwarf_procedure DIEs even for
- -gdwarf-3.
- (function_to_dwarf_procedure): Update comment.
-
-2016-08-18 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (diagnostics_file_cache_forcibly_evict_file): New
- function.
- * input.h (diagnostics_file_cache_forcibly_evict_file): New
- declaration.
- * selftest.c (selftest::temp_source_file::~temp_source_file):
- Evict m_filename from the diagnostic file cache.
-
-2016-08-18 Richard Biener <rguenther@suse.de>
-
- * tree-pass.h (make_pass_materialize_all_clones): Declare.
- * ipa.c (pass_data_materialize_all_clones, pass_materialize_all_clones,
- make_pass_materialize_all_clones): New simple IPA pass encapsulating
- clone materialization.
- * passes.def (all_late_ipa_passes): Start with
- pass_materialize_all_clones.
- * cgraphunit.c (symbol_table::compile): Remove call to
- materialize_all_clones.
- * tree-into-ssa.c: Include statistics.h.
- (update_ssa): Count number of times we do incremental/rewrite
- SSA update.
-
-2016-08-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/77282
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- When doing auto-parallelizing also prevent use of PHIs that
- carry dependences across loop backedges.
-
-2016-08-18 Tamar Christina <tamar.christina@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.
-
-2016-08-18 Richard Biener <rguenther@suse.de>
-
- * ssa-iterators.h (ssa_vuse_operand): New inline.
- * tree-if-conv.c (ifc_temp_var): Update virtual operand.
- (predicate_all_scalar_phis): Use remove_phi_node to remove
- phi nodes predicated. Delay removing virtual PHIs.
- (predicate_mem_writes): Update virtual operands.
- (combine_blocks): Likewise. Propagate out remaining virtual PHIs.
- (tree_if_conversion): Do not rewrite virtual SSA form.
- * tree-phinodes.c (release_phi_node): Make static.
- * tree-phinodes.h (release_phi_node): Remove.
-
-2016-08-18 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
- codes that appear in bdesc_* arrays, instead include i386-builtin.def
- twice to define those.
- (bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
- bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
- bdesc_multi_arg): Define by including i386-builtin.def the third time.
- * config/i386/i386-builtin.def: New file.
-
-2016-08-17 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (get_source_range_for_char): Rename to...
- (selftest::get_source_range_for_char): ...this, and move within
- the #if CHECKING_P guard.
- (get_num_source_ranges_for_substring): Rename to...
- (selftest::get_num_source_ranges_for_substring): ...this, move
- within the #if CHECKING_P guard, and make static.
- (selftest::assert_num_substring_ranges): Initialize
- actual_num_ranges.
-
-2016-08-18 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/72771
- * reload.c (find_reloads): Don't assume that a subreg mem is OK
- when find_reloads_toplev returns address_reloaded==-1.
- (alternative_allows_const_pool_ref): Update comment.
-
-2015-08-17 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71752
- * tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
- * tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
-
-2016-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
- instead of testing ECF_NORETURN bit in gimple_call_flags.
- * tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
- * predict.c (tree_bb_level_predictions): Likewise.
- * gimple-low.c (gimple_stmt_may_fallthru): Likewise.
-
- PR middle-end/77259
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
- turning a call into __builtin_unreachable-like noreturn call, adjust
- gimple_call_set_fntype.
- * tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
- gimple_call_fntype has void return type.
-
-2016-08-17 Chung-Lin Tang <cltang@codesourcery.com>
-
- * omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
- maybe_lookup_decl, to handle nested acc loop directives.
-
-2016-08-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/76490
- * tree-vrp.c (update_value_range): Preserve overflow infinities
- when intersecting with ranges from get_range_info.
- (operand_less_p): Handle overflow infinities correctly.
- (value_range_constant_singleton): Use vrp_operand_equal_p
- to handle overflow max/min correctly.
- (vrp_valueize): Likewise.
- (union_ranges): Likewise.
- (intersect_ranges): Likewise.
- (vrp_visit_phi_node): Improve iteration limitation to only
- apply when we'll possibly re-visit the PHI via a changed argument
- on the backedge.
-
-2016-08-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
- (MULTILIB_REQUIRED): This by specifying multilib needing to be built
- rather than those that should not be built.
-
-2016-08-17 Stanislaw Halik <sthalik@misaki.pl>
-
- PR target/66488
- * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.
-
-2016-08-17 Richard Biener <rguenther@suse.de>
-
- * tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
- (verify_vssa): New function verifying virtual SSA form.
- (verify_ssa): Call it.
- * tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
- Do not apply loop-closed SSA handling to virtuals.
- * ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
- * tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
- when rewriting their symbol.
- (prepare_def_site_for): Likewise.
- * tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
- operands of moved stmts.
-
-2016-08-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/23855
- * tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
- (tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
- find guards to hoist. Do not update SSA form but rewrite virtuals
- into loop closed SSA.
- (find_loop_guard): Adjust to skip already hoisted guards. Do
- not mark virtuals for renaming or update SSA form.
-
-2016-08-17 Martin Liska <mliska@suse.cz>
-
- * coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
- a LONG_LONG_TYPE_SIZE comparison.
- * gcov-io.h: Remove macro definitions.
- * tree-profile.c (gimple_gen_edge_profiler): Replace usage
- of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
- comparison.
-
-2016-08-16 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
- that builtins not mentioned in bdesc_* arrays come first, then
- the ones mentioned in bdesc_* arrays in the order they appear in
- the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
- IX86_BUILTIN__BDESC_*_LAST enumerator.
- (bdesc_mpx): Fix up a comment typo.
- (bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
- __builtin_ia32_vpcomneu[bwdq] builtins.
- (BDESC_VERIFY, BDESC_VERIFYS): Define.
- (ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
- enum ix86_builtins ordering.
- (ix86_expand_builtin): Use enum ix86_builtins ordering assumption
- for direct bdesc_* array member access instead of searching all the
- arrays until an fcode match is found.
-
-2016-08-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
- pattern as define_insn_and_split. Split insn before reload to
- ashl<mode>3_1.
- (*<shift_insn><mode>3_mask): Ditto. Split insn before reload to
- <shift_insn><mode>3_1.
- (*<rotate_insn><mode>3_mask): Ditto. Split insn before reload to
- <rotate_insn><mode>3_1.
-
-2016-08-16 David Malcolm <dmalcolm@redhat.com>
-
- PR c/72857
- * input.c (get_source_range_for_substring): Rename to...
- (get_source_location_for_substring): ...this, adding param
- "caret_idx", and converting output param from source_range * to
- location_t *.
- (get_source_range_for_char): New function.
- (get_num_source_ranges_for_substring): Update comment to reflect
- above renaming.
- (assert_char_at_range): Update to use get_source_range_for_char
- rather than get_source_range_for_substring.
- (test_lexer_string_locations_concatenation_2): Likewise.
- * substring-locations.h (get_source_range_for_substring): Rename
- to...
- (get_source_location_for_substring): ...this, and adding param
- "caret_idx", and converting output param from source_range * to
- location_t *.
-
-2016-08-16 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (class selftest::temp_source_file): Move to
- selftest.h.
- (selftest::temp_source_file::temp_source_file): Move to
- selftest.c.
- (selftest::temp_source_file::~temp_source_file): Likewise.
- * selftest.c (selftest::temp_source_file::temp_source_file): Move
- here from input.c.
- (selftest::temp_source_file::~temp_source_file): Likewise.
- * selftest.h (class selftest::temp_source_file): Move here from
- input.c
-
-2016-08-16 Jakub Jelinek <jakub@redhat.com>
-
- PR target/71910
- * tree-cfg.c (execute_fixup_cfg): Add node variable, use it. Before
- inlining, add cgraph edge for the added __builtin_unreachable call.
-
- PR middle-end/67485
- * expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
- only cast it to SHWI for the final comparison.
-
-2016-08-16 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/36412
- * doc/gcov.texi: Document --hash-filenames(-x).
- * gcov.c (print_usage): Add the option.
- (process_args): Process the option, sort options alphabetically.
- (md5sum_to_hex): New function.
- (make_gcov_file_name): Do the md5sum and append it to a
- filename.
-
-2016-08-16 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69848
- * config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
- and swtich operands to avoid additional NOT instruction.
- (vcond<v_cmp_mixed><mode>): Ditto.
- (vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
-
-2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/install.texi (*-*-solaris2*): Adjust latest change.
-
-2016-08-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/76783
- * tree-ssa-propagate.c (ssa_prop_init): Use RPO order. Clear
- BB visited flags at start.
-
-2016-08-16 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/72817
- PR tree-optimization/73450
- * tree-ssa-loop-niter.c (number_of_iterations_ne): Check
- multiple_of_p for adjusted IV.base.
-
-2016-08-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/72867
- * config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
- Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
- for !flag_finite_math_only or flag_signed_zeros.
- (*<code><mode>3<mask_name><round_saeonly_name>): Rename from
- *<code><mode>3_finite<mask_name><round_saeonly_name>. Do not
- depend on flag_finite_math_only.
- (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
- New insn pattern.
- (*<code><mode>3<mask_name><round_saeonly_name>): Remove.
- (*ieee_smin<mode>3): Ditto.
- (*ieee_smax<mode>3): Ditto.
- * config/i386/mmx.md (mmx_<code>v2sf3): Emit
- mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
- flag_signed_zeros.
- (*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite. Do not
- depend on flag_finite_math_only.
- (mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
- (*mmx_<code>v2sf3): Remove.
- * config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
- * config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
- flag_signed_zeros instead of !flag_unsafe_math_optimizations.
-
-2016-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/73650
- * lra-constraints.c (simple_move_p): If the insn is multiple_sets
- it is not a simple move.
-
-2016-08-15 Martin Liska <mliska@suse.cz>
-
- PR driver/72765
- * gcc.c (do_spec_1): Call save_string with the right size.
- (save_string): Do an assert about string we copy.
-
-2016-08-15 Richard Biener <rguenther@suse.de>
-
- * ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
- * config/i386/i386.c (pass_data_insert_vzeroupper): Account to
- TV_MACH_DEP.
- (pass_data_stv): Likewise.
-
-2016-08-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/73434
- * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
- TBAA info on the base when forwarding a non-invariant address.
-
-2016-08-15 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (struct checksum_attributes): Add
- at_string_length_bit_size and at_string_length_byte_size fields.
- (collect_checksum_attributes): Handle DW_AT_string_length_bit_size
- and DW_AT_string_length_byte_size.
- (die_checksum_ordered): Handle at_string_length_bit_size and
- at_string_length_byte_size.
- (gen_array_type_die): For dwarf_version >= 5 emit
- DW_AT_string_length_byte_size instead of DW_AT_byte_size.
- (adjust_string_types): For dwarf_version >= 5 remove
- DW_AT_string_length_byte_size instead of DW_AT_byte_size.
- (resolve_addr): Likewise.
-
- PR debug/71906
- * dwarf2out.c (string_types): New variable.
- (gen_array_type_die): Change early_dwarf handling of
- DW_AT_string_length, create DW_OP_call4 referencing the
- length var temporarily. Handle parameters that are pointers
- to string length.
- (adjust_string_types): New function.
- (gen_subprogram_die): Temporarily set string_types to local var,
- call adjust_string_types if needed.
- (non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
- New functions.
- (resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
-
-2016-08-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/install.texi (*-*-solaris2*): Fix version number and document
- requirement on GNU make for building libjava with the Solaris linker.
-
-2016-08-15 Martin Liska <mliska@suse.cz>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/72824
- * tree-loop-distribution.c (const_with_all_bytes_same)
- <case VECTOR_CST>: Fix a typo.
-
-2016-08-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/76342
- * config/i386/avx512fintrin.h (_mm512_undefined_epi32):
- Renamed from _mm512_undefined_si512.
- (_mm_undefined_si512): New definition.
-
-2016-08-13 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
- into PHIs and update the lattice for its def.
-
-2016-08-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/71512
- * ubsan.c (instrument_si_overflow): Pass true instead of false
- to gsi_replace.
- (pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
- of bbs. Return TODO_cleanup_cfg if any returned true.
-
-2016-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the
- ISA 3.0 MTVSRDD instruction.
- (vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to
- vecperm.
-
-2016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR tree-optimization/71083
- * tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the
- bitfield access when possible.
-
-2016-08-12 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR middle-end/71654
- * match.pd ((T)A CMP (T)B -> A CMP B): Allow (T)A to be a
- sign-changing cast from a shorter unsigned type to a wider
- signed type.
-
-2016-08-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
- vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
- vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.
-
-2016-08-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
- Correct costs for vec_construct.
-
-2016-08-12 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69848
- * tree-vectorizer.h (enum vect_def_type): New condition reduction
- type CONST_COND_REDUCTION.
- * tree-vect-loop.c (vectorizable_reduction): Support new condition
- reudction type CONST_COND_REDUCTION.
-
-2016-08-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/57326
- * tree-ssa-pre.c (fully_constant_expression): Handle simplification
- returning an SSA name.
- (phi_translate_1): When fully_constant_expression returns a NAME
- make sure we have a leader for it.
-
-2016-08-12 Martin Liska <mliska@suse.cz>
- Adam Fineman <afineman@afineman.com>
-
- * gcov.c (process_file): Create .gcov file when .gcda
- file is missing.
-
-2016-08-12 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * alias.c (find_base_value): Adjust fall through comment.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * combine.c (find_split_point): Likewise.
- (expand_compound_operation): Likewise. Add FALLTHRU.
- (make_compound_operation): Adjust fall through comment.
- (canon_reg_for_combine): Add FALLTHRU.
- (force_to_mode): Adjust fall through comment.
- (simplify_shift_const_1): Likewise.
- (simplify_comparison): Likewise.
- * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add
- FALLTHRU.
- * config/aarch64/predicates.md: Likewise.
- * config/i386/i386.c (function_arg_advance_32): Likewise.
- (ix86_gimplify_va_arg): Likewise.
- (print_reg): Likewise.
- (ix86_print_operand): Likewise.
- (ix86_build_const_vector): Likewise.
- (ix86_expand_branch): Likewise.
- (ix86_sched_init_global): Adjust fall through comment.
- (ix86_expand_args_builtin): Add FALLTHRU.
- (ix86_expand_builtin): Likewise.
- (ix86_expand_vector_init_one_var): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
- (rs6000_adjust_cost): Likewise.
- (insn_must_be_first_in_group): Likewise.
- * config/rs6000/rs6000.md: Likewise. Adjust fall through comment.
- * dbxout.c (dbxout_symbol): Adjust fall through comment.
- * df-scan.c (df_uses_record): Likewise.
- * dojump.c (do_jump): Add FALLTHRU.
- * dwarf2out.c (mem_loc_descriptor): Likewise. Adjust fall through
- comment.
- (resolve_args_picking_1): Adjust fall through comment.
- (loc_list_from_tree_1): Likewise.
- * expmed.c (make_tree): Likewise.
- * expr.c (expand_expr_real_2): Add FALLTHRU.
- (expand_expr_real_1): Likewise. Adjust fall through comment.
- * fold-const.c (const_binop): Adjust fall through comment.
- (fold_truth_not_expr): Likewise.
- (fold_cond_expr_with_comparison): Add FALLTHRU.
- (fold_binary_loc): Likewise.
- (contains_label_1): Adjust fall through comment.
- (multiple_of_p): Likewise.
- * gcov-tool.c (process_args): Add FALLTHRU.
- * genattrtab.c (check_attr_test): Likewise.
- (write_test_expr): Likewise.
- * genconfig.c (walk_insn_part): Likewise.
- * genpreds.c (validate_exp): Adjust fall through comment.
- (needs_variable): Likewise.
- * gensupport.c (get_alternatives_number): Add FALLTHRU.
- (subst_dup): Likewise.
- * gimple-pretty-print.c (dump_gimple_assign): Likewise.
- * gimplify.c (gimplify_addr_expr): Adjust fall through comment.
- (gimplify_scan_omp_clauses): Add FALLTHRU.
- (goa_stabilize_expr): Likewise.
- * graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall
- through comment.
- * hsa-gen.c (get_address_from_value): Likewise.
- * ipa-icf.c (sem_function::hash_stmt): Likewise.
- * ira.c (ira_setup_alts): Add FALLTHRU.
- * lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through
- comment.
- * lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU.
- * opts.c (common_handle_option): Likewise.
- * read-rtl.c (read_rtx_code): Likewise.
- * real.c (round_for_format): Likewise.
- * recog.c (asm_operand_ok): Likewise.
- * reginfo.c (reg_scan_mark_refs): Adjust fall through comment.
- * reload1.c (set_label_offsets): Likewise.
- (eliminate_regs_1): Likewise.
- (reload_reg_reaches_end_p): Likewise.
- * rtlanal.c (commutative_operand_precedence): Add FALLTHRU.
- (rtx_cost): Likewise.
- * sched-rgn.c (is_exception_free): Likewise.
- * simplify-rtx.c (simplify_rtx): Adjust fall through comment.
- * stor-layout.c (int_mode_for_mode): Likewise.
- * toplev.c (print_to_asm_out_file): Likewise.
- (print_to_stderr): Likewise.
- * tree-cfg.c (gimple_verify_flow_info): Likewise.
- * tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU.
- (chrec_fold_multiply): Likewise.
- (evolution_function_is_invariant_rec_p): Likewise.
- (for_each_scev_op): Likewise.
- * tree-data-ref.c (siv_subscript_p): Likewise.
- (get_references_in_stmt): Likewise.
- * tree.c (find_placeholder_in_expr): Adjust fall through comment.
- (substitute_in_expr): Likewise.
- (type_cache_hasher::equal): Likewise.
- (walk_type_fields): Likewise.
- * var-tracking.c (adjust_mems): Add FALLTHRU.
- (set_dv_changed): Adjust fall through comment.
- * varasm.c (default_function_section): Add FALLTHRU.
-
-2016-08-12 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * tree-complex.c (expand_complex_division): Add missing break.
-
-2016-08-12 Richard Biener <rguenther@suse.de>
-
- * passes.c (execute_todo): Do not push/pop TV_TODO.
- (execute_one_ipa_transform_pass): Move timevar push/pop TODO execution.
- (execute_one_pass): Likewise.
- * common.opt (ftime-report-details): New switch.
- * doc/invoke.texi (ftime-report-details): Document.
- * timevar.h (timer::print_row): Adjust signature.
- (timer::all_zero): New static helper.
- (timer::child_map_t): New typedef.
- (timer::time_var_def): Add children field.
- * timevar.c (timer::named_items::print): Adjust.
- (timer::~timer): Free timevar recorded children.
- (timer::pop_internal): When -ftime-report-details record
- time spent in sub-timevars.
- (timer::print_row): Adjust.
- (timer::print): Print sub-timevar stats, use all_zero.
- * timevar.def (TV_TODO): Remove.
-
-2016-08-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/72851
- * tree-ssa-propagate.c: Include cfganal.h. Rewrite block and stmt
- worklists to use bitmaps indexed in execution order.
- (executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
- bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
- (cfg_blocks): Make a bitmap.
- (bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
- New globals.
- (cfg_blocks_empty_p): Adjust.
- (cfg_blocks_add): Likewise.
- (cfg_blocks_get): Likewise.
- (add_ssa_edge): Likewise.
- (add_control_edge): Likewise.
- (simulate_stmt): Likewise.
- (process_ssa_edge_worklist): Likewise.
- (simulate_block): Likewise.
- (ssa_prop_init): Compute PRE order and stmt UIDs.
- (ssa_prop_fini): Adjust.
- (ssa_propagate): Adjust.
-
-2016-08-12 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if
- the currently executable edges have fixed ranges. Always
- go through update_value_range.
-
-2016-08-12 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/63240
- * langhooks-def.h
- (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
- (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
- (LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
- (LANG_HOOKS_DECLS): Add it.
- * langhooks.h (struct lang_hooks_for_decls): Add
- function_decl_defaulted. Const_tree-ify
- function_decl_explicit_p and function_decl_deleted_p.
- * dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
- attribute. Add DW_AT_deleted instead of DW_AT_GNU_deleted,
- also at strict DWARF v5.
-
- PR debug/55641
- * dwarf2out.c (decl_quals): Don't map TREE_READONLY to
- TYPE_QUAL_CONST in reference-typed decls.
-
- PR debug/49366
- * dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs
- in DW_OP_pieces, just enough to handle pointers to member
- functions.
- (gen_remaining_tmpl_value_param_die_attribute): Use a location
- expression on DWARFv5 if a constant value doesn't work.
-
-2016-08-11 David Malcolm <dmalcolm@redhat.com>
-
- * selftest-run-tests.c (selftest::run_tests): Call selftest_c_tests.
- * selftest.c (selftest::test_assertions): New function.
- (selftest::selftest_c_tests): New function.
- * selftest.h (selftest::selftest_c_tests): New declaration.
-
-2016-08-11 Richard Biener <rguenther@suse.de>
- Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR rtl-optimization/72855
- * df-core.c (df_verify): Turn off DF_VERIFY_SCHEDULED at end.
-
-2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/72863
- * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
- (vsx_store_<mode>): Likewise.
-
-2015-08-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (timode_scalar_to_vector_candidate_p): Allow
- TImode CONST_WIDE_INT store.
- (timode_scalar_chain::convert_insn): Handle CONST_WIDE_INT store.
-
-2015-08-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.h (MOVE_MAX_PIECES): Use TImode in 64-bit
- mode if unaligned SSE load and store are optimal.
-
-2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR tree-optimization/71083
- * tree-predcom.c (ref_at_iteration): Correctly align the
- reference type.
-
-2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Add INT128 types.
- * config/s390/s390-builtins.def: Add INT128 variants for the add
- sub low-level builtins dealing with TImode.
- * config/s390/s390.c (s390_expand_builtin): Allow mode conversions
- via subreg when expanding a builtin.
- * config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128,
- UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants.
- Fix comment.
- * config/s390/vecintrin.h: Adjust builtin names accordingly.
- * config/s390/vx-builtins.md ("vec_add_u128"): Remove expander.
- ("vec_addc<mode>", "vec_addc_u128"): Merge to
- "vacc<bhfgq>_<mode>".
- ("vec_adde_u128"): Rename to "vacq". Change mode to TImode.
- ("vec_addec_u128"): Rename to "vacccq". Change mode to TImode.
- ("vec_subc<mode>", "vec_subc_u128"): Merge to
- "vscbi<bhfgq>_<mode>".
- ("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode.
- ("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode.
-
-2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtins.def: Mark last operand of s390_vlvg*
-
-2016-08-11 Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/aarch64-simd.md (vcond<mode><mode>): Delete
- unused declaration.
- (vcond<v_cmp_mixed><mode>): Ditto.
- (vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
-
-2016-08-11 Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Init
- variable explicitly, also assert on it before use.
-
-2016-08-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/72772
- * cfgloopmanip.c (create_preheader): Use split_edge if there
- is a single loop entry, avoiding degenerate PHIs.
-
-2016-08-11 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove
- unconditional TODO_cleanup_cfg.
- (pass_thread_jumps::execute): Initialize loops, perform a CFG
- cleanup only if we threaded a jump.
-
-2016-08-11 Alan Modra <amodra@gmail.com>
-
- PR target/71680
- * lra-constraints.c (simplify_operand_subreg): Allow subreg
- mode for mem when SLOW_UNALIGNED_ACCESS if inner mode is also
- slow. Emit two reloads for slow mem case, first loading in
- fast innermode, then converting to required mode.
-
-2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.h (vec_extract_exp): New macro.
- (vec_extract_sig): New macro.
- (vec_insert_exp): New macro.
- (vec_test_data_class): New macro.
- (scalar_extract_exp): New macro.
- (scalar_extract_sig): New macro.
- (scalar_insert_exp): New macro.
- (scalar_test_data_class): New macro.
- (scalar_test_neg): New macro.
- (scalar_cmp_exp_gt): New macro.
- (scalar_cmp_exp_lt): New macro.
- (scalar_cmp_exp_eq): New macro.
- (scalar_cmp_exp_unordered): New macro.
- * config/rs6000/predicates.md (u7bit_cint_operand): New predicate
- to enforce constraint that operand is a 7-bit unsigned literal.
- * config/rs6000/rs6000-builtin.def (BU_P9V_64BIT_VSX_1): New macro
- for power9 built-ins.
- (BU_P9V_VSX_2): Likewise.
- (BU_P9V_64BIT_VSX_2): Likewise.
- (VSEEDP): Add scalar extract exponent support.
- (VSEESP): Add scalar extract signature support.
- (VSTDCNDP): Add scalar test negative support.
- (VSTDCNSP): Likewise.
- (VSIEDP): Add scalar insert exponent support.
- (VSCEDPGT): Add scalar compare exponent greater than support.
- (VSCEDPLT): Add scalar compare exponent less than support.
- (VSCEDPEQ): Add scalar compare exponent test-for-equality support.
- (VSCEDPUO): Add scalar compare exponent test-for-unordered support.
- (VSTDCDP): Add scalar test data class support.
- (VSTDCSP): Likewise.
- (VSEEDP): Add overload support for scalar extract exponent
- operation.
- (VSESDP): Add overload support for scalar extract signature
- operation.
- (VSTDCN): Add overload support for scalar test negative
- operation.
- (VSTDCNDP): Add overload support for scalar test negative
- operation.
- (VSTDCNSP): Add overload support for scalar test negative
- operation.
- (VSIEDP): Add overload support for scalar insert exponent
- operation.
- (VSTDC): Add overload support for scalar test data class
- operation.
- (VSTDCDP): Add overload support for scalar test data class
- operation.
- (VSTDCSP): Add overload support for scalar test data class
- opreation.
- (VSCEDPGT): Add overload support for scalar compare exponent
- greater than operation.
- (VSCEDPLT): Add overload support for scalar compare exponent
- less than operation.
- (VSCEDPEQ): Add overload support for scalar compare exponent
- test-for-equality operation.
- (VSCEDPUO): Add overload support for scalar compare exponent
- test-for-unordered operation.
- (VEEDP): Add vector extract exponent support.
- (VEESP): Likewise.
- (VESDP): Add vector extract significand support.
- (VESSP): Likewise.
- (VIEDP): Add vector insert exponent support.
- (VIESP): Likewise.
- (VTDCDP): Add vector test data class support.
- (VTDCSP): Likewise.
- (VES): Add overload support for vector extract significand operation.
- (VESDP): Likewise.
- (VESSP): Likewise
- (VEE): Add overload support for vector extract exponent operation.
- (VEEDP): Likewise.
- (VEESP): Likewise.
- (VTDC): Add overload support for vector test data class operation.
- (VTDCDP): Likewise.
- (VTDCSP): Likewise.
- (VIE): Add overload support for vector insert exponent operation.
- (VIEDP): Likewise.
- (VIESP): Likewise.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded binary floating point functions.
- (altivec_resolve_overloaded_builtin): Improve error messages to
- distinguish between functions not supported in the current
- compiler configuration and functions that were invoked with an
- invalid parameter combination, and include the built-in function
- name in both error messages.
- * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_name):
- New prototype.
- * config/rs6000/rs6000.c (rs6000_overloaded_builtin_name): New
- function.
- (rs6000_expand_binop_builtin): Add check to enforce that argument
- 2 of the test data class operations is a 7-bit unsigned literal.
- (rs6000_invalid_builtin): Add code to issue an error message if a
- built-in function that requires the power9_vector and -m32
- command-line options is compiled without these options.
- * config/rs6000/vsx.md (UNSPEC_VSX_SXEXPDP): New value.
- (UNSPEC_VSX_SXSIGDP): New value.
- (UNSPEC_VSX_SXSIGPDP): New value.
- (UNSPEC_VSX_SIEXPDP): New value.
- (UNSPEC_VSX_SCMPEXPDP): New value.
- (UNSPEC_VSX_STSTDC): New value.
- (UNSPEC_VSX_VXEXP): New value.
- (UNSPEC_VSX_VXSIG): New value.
- (UNSPEC_VSX_VIEXP): New value.
- (UNSPEC_VSX_VTSTDC): New value.
- (xsxexpdp): New insn for scalar extract exponent.
- (xsxsigdp): New insn for scalar extract significand.
- (xsiexpdp): New insn for scalar insert exponent.
- (xscmpexpdp_<code>): New expansion for scalar compare exponents.
- (*xscmpexpdp): New insn for scalar compare exponents.
- (xststdc<Fvsx): New expansion for both single- and
- double-precision scalar test data class operations.
- (xststdcneg<Fvsx>): New expansion for both single- and
- double-precision scalar test for negative value operations.
- (*xststdc<Fvsx>): New insn for scalar test data class
- operation.
- (xvxexp<VSs>): New insn for single- and double-precision
- vector extract exponent operation.
- (xvxsig<VSs>): New insn for single- and double-precision
- vector extract significand operation.
- (xviexp<VSs>): New insn for single- and double-precision
- vector insert exponent operation.
- (xvtstdc<VSs>): New insn for single- and double-precision
- vector test data class operation.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
- built-in functions to represent the Power9 binary floating-point
- support instructions.
-
-2016-08-10 bin cheng <bin.cheng@arm.com>
-
- * doc/sourcebuild.texi (@item vect_cond_mixed): New item.
-
-2016-08-10 Alan Lawrence <alan.lawrence@arm.com>
- Renlin Li <renlin.li@arm.com>
- Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/iterators.md (V_cmp_mixed, v_cmp_mixed): New.
- * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Call
- gen_vcondv2div2di instead of gen_aarch64_vcond_internalv2div2di.
- (aarch64_vcond_internal<mode><mode>): Delete pattern.
- (aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): Ditto.
- (vcond<v_cmp_result><mode>): Ditto.
- (vcond<mode><mode>): Re-implement using vec_cmp and vcond_mask.
- (vcondu<mode><mode>): Ditto.
- (vcond<v_cmp_mixed><mode>): New pattern.
- (vcondu<mode><v_cmp_mixed>): New pattern.
- (aarch64_cmtst<mode>): Revise comment using aarch64_vcond instead
- of aarch64_vcond_internal.
-
-2016-08-10 Alan Lawrence <alan.lawrence@arm.com>
- Renlin Li <renlin.li@arm.com>
- Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_cmp<mode><mode>): New pattern.
- (vec_cmp<mode><v_cmp_result>): New pattern.
- (vec_cmpu<mode><mode>): New pattern.
- (vcond_mask_<mode><v_cmp_result>): New pattern.
-
-2016-08-10 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/71734
- * tree-ssa-loop-im.c (ref_indep_loop_p): Add new argument
- REF_LOOP, invoke ref_indep_loop_p_1.
- (outermost_indep_loop): Pass LOOP argumnet where REF was defined
- to ref_indep_loop_p.
- (ref_indep_loop_p_1): Fix commentary, add argument REF_LOOP,
- combine it with ref_indep_lopp_p_2, update SAFELEN if only REF
- is inside LOOP, do not cache dpendence value for loops with
- non-zero SAFELEN.
- (ref_indep_loop_p_2): Delete function.
- (can_sm_ref_p): Pass LOOP as additional argument to
- ref_indep_loop_p.
-
-2016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/72853
- * config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op
- being an offsettable address.
-
-2016-08-10 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/58306
- * tree-profile.c (gimple_init_edge_profiler): Create conditionally
- atomic variants of profile update functions.
-
-2016-08-10 Martin Liska <mliska@suse.cz>
-
- Cherry picked (and modified) from google-4_7 branch
- 2012-12-26 Rong Xu <xur@google.com>
- * common.opt (fprofile-update): Add new flag.
- * coretypes.h: Define enum profile_update.
- * doc/invoke.texi: Document -fprofile-update.
- * gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and
- GCOV_TYPE_ATOMIC_FETCH_ADD_FN.
- * tree-profile.c (gimple_init_edge_profiler): Generate
- also atomic profiler update.
- (gimple_gen_edge_profiler): Likewise.
-
-2016-08-10 David Malcolm <dmalcolm@redhat.com>
-
- * toplev.c (finalize): Set aux_info_file, asm_out_file, and
- stack_usage_file to NULL after fclose calls.
-
-2016-08-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/71873
- * reload.c (push_reload): Compute subreg_in_class for
- subregs of constants and plus expressions. Remove special
- handling of SYMBOL_REFs.
-
-2016-08-10 Alan Modra <amodra@gmail.com>
-
- PR target/71680
- * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return
- SImode for TARGET_E500_DOUBLE when given SImode.
-
-2016-08-09 David Wohlferd <dw@LimeGreenSocks.com>
-
- * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
- unused variable __O.
-
-2016-08-09 Martin Liska <mliska@suse.cz>
-
- * doc/gcov.texi: Change _gcov_dump to __gcov_dump and
- _gcov_reset to __gcov_reset.
- * doc/gcov-tool.texi: Fix typo.
-
-2016-08-09 Martin Liska <mliska@suse.cz>
-
- * value-prof.c (gimple_divmod_values_to_profile): Do not
- instrument MOD histogram if a value is not a SSA name.
-
-2016-08-09 Martin Liska <mliska@suse.cz>
-
- * value-prof.c (dump_histogram_value): Swap pow2 and non-pow2
- values.
-
-2016-08-09 Renlin Li <renlin.li@arm.com>
-
- PR middle-end/64971
- * calls.c (prepare_call_address): Convert funexp to Pmode when
- necessary.
- * config/aarch64/aarch64.md (sibcall): Remove fix for PR 64971.
- (sibcall_value): Likewise.
-
-2016-08-09 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * cselib.c (cselib_expand_value_rtx_1): Add return.
- * gengtype.c (dbgprint_count_type_at): Likewise.
- * hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise.
- * reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning.
-
-2016-08-09 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/71981
- * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
- if instance is a MEM_REF.
-
-2016-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/72843
- * config/i386/i386.md (*movtf_internal): Use
- lra_in_progress || reload_completed instead of !can_create_pseudo_p
- in the insn constraint.
- (*movxf_internal): Ditto.
- (*movdf_internal): Ditto.
- (*movsf_internal): Ditto.
-
-2016-08-09 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/72772
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
- for expanded base.
-
-2016-08-09 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/72772
- * tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete
- parameter STOP.
- * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete
- parameter STOP and update calls. Move expand_simple_operations
- function call from here...
- (simplify_using_initial_conditions): ...to here. Delete parameter
- STOP.
- (tree_simplify_using_condition): Delete parameter STOP.
- * tree-scalar-evolution.c (simple_iv_with_niters): Update call to
- simplify_using_initial_conditions.
-
-2016-08-09 Matthew Fortune <matthew.fortune@imgtec.com>
-
- PR c/65345
- * config/mips/mips.c (mips_atomic_assign_expand_fenv):
- Use create_tmp_var_raw instead of create_tmp_var.
-
-2016-08-09 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-threadbackward.c (profitable_jump_thread_path):
- Treat same SSA names related.
-
-2016-08-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/72824
- * tree-loop-distribution.c (const_with_all_bytes_same): Verify
- real_zerop is not negative.
-
-2016-08-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71802
- * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Make sure to catch
- all merge opportunities with the predecessor.
-
-2016-08-09 Richard Biener <rguenther@suse.de>
-
- PR ipa/68273
- * ipa-prop.c (ipa_modify_formal_parameters): Build
- parameter types with natural alignment also for the
- over-aligned case.
-
-2016-08-08 Andi Kleen <ak@linux.intel.com>
-
- * tree-vrp.c (get_single_symbol): Always initialize inv and neg.
-
-2016-08-08 David Malcolm <dmalcolm@redhat.com>
-
- PR c/64955
- * langhooks-def.h (LANG_HOOKS_RUN_LANG_SELFTESTS): New default
- do-nothing langhook.
- (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_RUN_LANG_SELFTESTS.
- * langhooks.h (struct lang_hooks): Add run_lang_selftests.
- * selftest-run-tests.c: Include "tree.h" and "langhooks.h".
- (selftest::run_tests): Call lang_hooks.run_lang_selftests.
-
-2016-08-08 David Malcolm <dmalcolm@redhat.com>
-
- PR bootstrap/72844
- * input.c: Ensure that HAVE_ICONV is defined.
-
-2016-08-08 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/72781
- * omp-low.c (lower_lastprivate_clauses): Set TREE_NO_WARNING on the
- private vars for lastprivate and for linear iterator.
-
- PR middle-end/68762
- * omp-simd-clone.c: Include varasm.h.
- (simd_clone_create): Copy over DECL_COMDAT, DECL_WEAK, DECL_EXTERNAL,
- DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, DECL_DLLIMPORT_P and for
- DECL_ONE_ONLY call make_decl_one_only. Fix up spelling in comment and
- update function name.
-
-2016-07-29 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/driver-avr.c (specfiles_doc_url): Remove.
- (avr_diagnose_devicespecs_error): Remove.
- (avr_devicespecs_file): Remove composing absolute path for specfile
- and its verbose info. Remove conditions to check specs-file,
-
-2016-08-08 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/72821
- * lra-spills.c (regno_in_use_p): Don't use BLOCK_FOR_INSN on barriers,
- just return false for them.
-
-2016-08-08 Alan Modra <amodra@gmail.com>
-
- PR target/72771
- * config/rs6000/rs6000.c (toc_relative_expr_p): Allow (lo_sum (high))
- toc refs created during reload. Update function comment.
-
-2016-08-08 Alan Modra <amodra@gmail.com>
-
- PR target/72802
- * config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort
- alternatives. Put loads first, then stores, and reg/reg moves
- within same class later. Delete attr length.
-
-2016-08-08 Alan Modra <amodra@gmail.com>
-
- PR target/72802
- * config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test.
- (mem_operand_ds_form): New predicate.
- * config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare.
- * config/rs6000/constraints.md (wY): Use mem_operand_df_form.
- * config/rs6000/predicates.md (offsettable_mem_14bit_operand): Delete.
- * config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF.
- (extendsfdf2_fpr): Replace o constraint with wY.
-
-2016-08-07 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-threadbackward.c: Include tree-inline.h
- (profitable_jump_thread_path): Use estimate_num_insns to estimate
- size of copied block; for cold paths reduce duplication.
- (find_jump_threads_backwards): Remove redundant tests.
- (pass_thread_jumps::gate): Enable for -Os.
-
-2016-08-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c/72816
- * stor-layout.c (layout_decl): Fix up formatting.
- (relayout_decl): Allow DECL to be FIELD_DECL.
-
-2016-08-07 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.md (fix_trunc<mode>si2): Fix mode of reg.
-
-2016-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * data-streamer-in.c (streamer_read_wide_int): New.
- (streamer_read_widest_int): Renamed function.
- * data-streamer-out.c (streamer_write_wide_int): New
- (streamer_write_widest_int): Renamed function.
- * lto-streamer-in.c (streamer_read_wi): Renamed and moved to
- data-stream-in.c.
- (input_cfg): Call renamed function.
- * lto-streamer-out.c (streamer_write_wi): Renamed and moved to
- data-stream-out.c.
- (output_cfg): Call renamed function.
- * data-streamer.h: Add declarations.
-
-2016-08-08 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * tree-ssa-ccp.c (extend_mask): New param sgn.
- Remove ORing with wi::mask.
- (get_default_value): Adjust call to extend_mask to pass sign.
- (evaluate_stmt): Likewise.
-
-2016-08-06 Jakub Jelinek <jakub@redhat.com>
-
- * gcov.c (handle_cycle): Use INTTYPE_MAXIMUM (int64_t) instead of
- INT64_MAX.
-
-2016-08-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Disable
- transform if operand's type is pointer to function or method.
-
-2016-08-05 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/18046
- * tree-ssa-threadedge.c: Include cfganal.h.
- (simplify_control_statement_condition): If simplifying a
- GIMPLE_SWITCH, replace the index operand of the GIMPLE_SWITCH
- with the dominating ASSERT_EXPR before handing it off to VRP.
- Mention that a CASE_LABEL_EXPR may be returned.
- (thread_around_empty_blocks): Adjust to handle
- simplify_control_statement_condition() returning a
- CASE_LABEL_EXPR.
- (thread_through_normal_block): Likewise.
- * tree-vrp.c (simplify_stmt_for_jump_threading): Simplify
- a switch statement by trying to determine which case label
- will be taken.
-
-2016-08-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/69847
- * lra-constraints.c (process_invariant_for_inheritance): Save
- pattern instead of src.
- (remove_inheritance_pseudos): Use the pattern. Add assert.
-
-2016-08-05 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (string_concat::string_concat): New constructor.
- (string_concat_db::string_concat_db): New constructor.
- (string_concat_db::record_string_concatenation): New method.
- (string_concat_db::get_string_concatenation): New method.
- (string_concat_db::get_key_loc): New method.
- (class auto_cpp_string_vec): New class.
- (get_substring_ranges_for_loc): New function.
- (get_source_range_for_substring): New function.
- (get_num_source_ranges_for_substring): New function.
- (class selftest::lexer_test_options): New class.
- (struct selftest::lexer_test): New struct.
- (class selftest::ebcdic_execution_charset): New class.
- (selftest::ebcdic_execution_charset::s_singleton): New variable.
- (selftest::lexer_test::lexer_test): New constructor.
- (selftest::lexer_test::~lexer_test): New destructor.
- (selftest::lexer_test::get_token): New method.
- (selftest::assert_char_at_range): New function.
- (ASSERT_CHAR_AT_RANGE): New macro.
- (selftest::assert_num_substring_ranges): New function.
- (ASSERT_NUM_SUBSTRING_RANGES): New macro.
- (selftest::assert_has_no_substring_ranges): New function.
- (ASSERT_HAS_NO_SUBSTRING_RANGES): New macro.
- (selftest::test_lexer_string_locations_simple): New function.
- (selftest::test_lexer_string_locations_ebcdic): New function.
- (selftest::test_lexer_string_locations_hex): New function.
- (selftest::test_lexer_string_locations_oct): New function.
- (selftest::test_lexer_string_locations_letter_escape_1): New function.
- (selftest::test_lexer_string_locations_letter_escape_2): New function.
- (selftest::test_lexer_string_locations_ucn4): New function.
- (selftest::test_lexer_string_locations_ucn8): New function.
- (selftest::uint32_from_big_endian): New function.
- (selftest::test_lexer_string_locations_wide_string): New function.
- (selftest::uint16_from_big_endian): New function.
- (selftest::test_lexer_string_locations_string16): New function.
- (selftest::test_lexer_string_locations_string32): New function.
- (selftest::test_lexer_string_locations_u8): New function.
- (selftest::test_lexer_string_locations_utf8_source): New function.
- (selftest::test_lexer_string_locations_concatenation_1): New
- function.
- (selftest::test_lexer_string_locations_concatenation_2): New
- function.
- (selftest::test_lexer_string_locations_concatenation_3): New
- function.
- (selftest::test_lexer_string_locations_macro): New function.
- (selftest::test_lexer_string_locations_stringified_macro_argument):
- New function.
- (selftest::test_lexer_string_locations_non_string): New function.
- (selftest::test_lexer_string_locations_long_line): New function.
- (selftest::test_lexer_char_constants): New function.
- (selftest::input_c_tests): Call the new test functions once per
- case within the line_table test matrix.
- * input.h (struct string_concat): New struct.
- (struct location_hash): New struct.
- (class string_concat_db): New class.
- * substring-locations.h: New header.
-
-2016-08-05 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/72810
- * tree-vrp.c (simplify_switch_using_ranges): Avoid changing
- the type of the case labels when truncating.
-
-2016-08-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR Target/72819
- * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
- (aarch64_fp16_ptr_type_node): Likewise.
- * config/aarch64/aarch64-simd-builtins.c
- (aarch64_fp16_ptr_type_node): Define.
- (aarch64_init_fp16_types): New, refactored out of...
- (aarch64_init_builtins): ...here, update to call
- aarch64_init_fp16_types.
- * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
- HFmode.
- (aapcs_vfp_sub_candidate): Likewise.
-
-2016-08-05 Martin Liska <mliska@suse.cz>
- Joshua Cranmer <Pidgeot18@gmail.com>
-
- * gcov.c (line_t::has_block): New function.
- (enum loop_type): New enum.
- (handle_cycle): New function.
- (unblock): Likewise.
- (circuit): Likewise.
- (get_cycles_count): Likewise.
- (accumulate_line_counts): Use new loop detection algorithm.
-
-2016-08-05 Martin Liska <mliska@suse.cz>
-
- * gcov.c (output_intermediate_file): Rename
- function_info::line_next to next_file_fn.
- (process_file): Likewise.
- (read_graph_file): Likewise.
- (accumulate_line_counts): Likewise.
- (output_lines): Likewise.
-
-2016-08-05 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
- restriction on threading to a loop header.
-
-2016-08-05 Richard Biener <rguenther@suse.de>
-
- * tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
- * cfghooks.c (force_nonfallthru): If we ended up splitting a latch
- adjust loop info accordingly.
-
-2016-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (extract_range_basic): Check cfun->after_inlining
- before folding call to __builtin_constant_p with parameters to false.
-
-2016-08-05 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete
- code accidentally committed 2016-05-02 providing class when given
- NO_REGS.
-
-2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-vrp.c (simplify_switch_using_ranges): Try to truncate
- the case label ranges that partially overlap with OP's value
- range.
-
-2016-08-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/72805
- * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
- Cast builtin function result to __mmask16 instead of __mmask8.
- (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
- (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
- (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
-
-2016-08-04 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.h (ASSERT_TRUE): Reimplement in terms of...
- (ASSERT_TRUE_AT): New macro.
- (ASSERT_FALSE): Reimplement in terms of...
- (ASSERT_FALSE_AT): New macro.
- (ASSERT_STREQ_AT): Fix typo in comment.
-
-2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
-
- * gimple.c (preprocess_case_label_vec_for_gimple): When the case
- labels are exhaustive, designate the label with the widest
- range to be the default label.
-
-2016-08-04 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
- (thunderx_tunings): Use thunderx_vector_cost instead of
- generic_vector_cost.
-
-2016-08-04 Martin Liska <mliska@suse.cz>
-
- * gcov.c (main): Fix GNU coding style.
- (output_intermediate_file): Likewise.
- (process_file): Likewise.
- (generate_results): Likewise.
- (release_structures): Likewise.
- (create_file_names): Likewise.
- (find_source): Likewise.
- (read_graph_file): Likewise.
- (find_exception_blocks): Likewise.
- (canonicalize_name): Likewise.
- (make_gcov_file_name): Likewise.
- (mangle_name): Likewise.
- (accumulate_line_counts): Likewise.
- (output_branch_count): Likewise.
- (read_line): Likewise.
-
-2016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/71779
- * emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
- if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
- or if it was truncated.
-
- PR rtl-optimization/70903
- * cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.
-
-2016-08-04 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
- accessing SSA_NAME_PTR_INFO.
-
-2016-08-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR 70677
- * common/config/avr/avr-common.c (avr_option_optimization_table)
- [OPT_LEVELS_ALL]: Turn off -fcaller-saves.
-
-2016-08-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR 55181
- * config/avr/avr.md: New pattern to work around do_store_flag
- generating shift instructions for bit extractions.
-
-2016-08-04 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
- BITMAP_ALLOC.
- (add_equivalence): Likewise.
- (get_value_range): Allocate value range with vrp_value_range_pool.
- (vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
- (vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.
-
-2016-08-03 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Make LRA
- the default for the rs6000 port.
-
-2016-08-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR middle-end/71876
- * calls.c (special_function_p): Remove special handling of
- "setjmp_syscall", "qsetjmp", "longjmp", "siglongjmp" and the
- prefix "__x". Recognize "savectx", "vfork" and "getcontext" only
- without prefix. Remove potentially unsafe ECF_LEAF and ECF_NORETURN.
-
-2016-08-03 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/72778
- * lra-spills.c (regno_in_use_p): Check bb and regno modification.
- Don't stop on regular insns.
-
-2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
- size to DImode boundary.
- (nvptx_propagate): Likewise.
-
-2016-08-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar
- float access depend on TARGET_EFFICIENT_UNALIGNED_VSX.
- * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed
- from -mefficient-unaligned-vector. Note that this affects fp too.
-
-2016-08-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem
- cost more.
-
-2016-08-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
- to a reg. Localize vars.
-
-2016-08-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.opt: Remove negatives from help strings
- and comments.
-
-2016-08-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
- Delete duplicated code.
-
-2016-08-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/72778
- * lra-spills.c (regno_in_use_p): New.
- (lra_final_code_change): Use it.
-
-2016-08-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/69847
- * lra-int.h (struct lra-reg): Use restore_rtx instead of
- restore_regno.
- (lra_rtx_hash): New.
- * lra.c (initialize_lra_reg_info_element): Use restore_rtx instead
- of restore_regno.
- (lra_rtx_hash): Rename and move lra-remat.c::rtx_hash.
- * lra-remat.c (rtx_hash): Rename and Move to lra.c.
- * lra-spills.c (lra_final_code_change): Don't delete insn when the
- next insn is USE with the same reg as the current insn source.
- * lra-constraints.c (curr_insn_transform): Use restore_rtx instead
- of restore_regno.
- (lra_constraints_init): Call initiate_invariants.
- (lra_constraints_finish): Call finish_invariants.
- (struct invariant, invariant_t, invariant_ptr_t): New.
- (const_invariant_ptr_t, invariants, invariants_pool): New.
- (invariant_table, invariant_hash, invariant_eq_p): New.
- (insert_invariant, initiate_invariants, finish_invariants): New.
- (clear_invariants, invalid_invariant_regs): New.
- (inherit_reload_reg, split_reg, fix_bb_live_info): Use restore_rtx
- instead of restore_regno.
- (invariant_p, process_invariant_for_inheritance): New.
- (inherit_in_ebb): Implement invariant inheritance.
- (lra_inheritance): Initialize and finalize invalid_invariant_regs.
- (remove_inheritance_pseudos): Implement undoing invariant
- inheritance.
- (undo_optional_reloads, lra_undo_inheritance): Use restore_rtx
- instead of restore_regno.
- * lra-assigns.c (regno_live_length): New.
- (reload_pseudo_compare_func): Use regno_live_length.
- (assign_by_spills): Use restore_rtx instead of restore_regno.
- (lra_assign): Ditto. Initiate regno_live_length.
-
-2016-02-08 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/arm_neon.h (vminnm_f64): Add back missing 'f' from
- __builtin_aarch64_fmindf.
-
-2016-08-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/34114
- * tree-ssa-loop-niter.c (number_of_iterations_ne): Prove no-overflow
- information for more control IVs.
-
-2016-08-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/34114
- * fold-const.c (multiple_of_p): Improve MULT_EXPR, PLUS_EXPR,
- PLUS_EXPR case. Handle SSA_NAME case.
-
-2016-08-02 Tamar Christina <tamar.christina@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def
- (__builtin_aarch64_fmindf): Change BUILTIN_VDQF to BUILTIN_VDQF_DF.
- (__builtin_aarch64_fmaxdf): Likewise.
- (__builtin_aarch64_smin_nandf): Likewise.
- (__builtin_aarch64_smax_nandf): Likewise.
- * config/aarch64/aarch64-simd.md (<fmaxmin><mode>3): Remove.
- * config/aarch64/aarch64.md (<fmaxmin><mode>3): Rename to...
- (<fmaxmin><mode>3): ...this.
- * config/aarch64/arm_neon.h (vmaxnm_f64): New.
- (vminnm_f64): Likewise.
- (vmin_f64): Likewise.
- (vmax_f64): Likewise.
- * config/aarch64/iterators.md (FMAXMIN): Merge with...
- (FMAXMIN_UNS): ...this.
- (fmaxmin): Merged with
- (fmaxmin_op): ...this...
- (maxmin_uns_op): ...in to this.
-
-2016-08-01 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Add support for vec_extract on vector float, vector int, vector
- short, and vector char vector types.
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
- vector float, vector int, vector short, and vector char
- optimizations on 64-bit ISA 2.07 systems for both constant and
- variable element numbers.
- (rs6000_split_vec_extract_var): Likewise.
- * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Allow SFmode to be
- Altivec registers on ISA 2.07 and above.
- (vsx_extract_v4sf): Delete alternative that hard coded element 0,
- which never was matched due to the split occuring before register
- allocation (and the code would not have worked on little endian
- systems if it did match). Allow extracts to go to the Altivec
- registers if ISA 2.07 (power8). Change from using "" around the
- C++ code to using {}'s.
- (vsx_extract_v4sf_<mode>_load): New insn to optimize vector float
- vec_extracts when the vector is in memory.
- (vsx_extract_v4sf_var): New insn to optimize vector float
- vec_extracts when the element number is variable on 64-bit ISA
- 2.07 systems.
- (vsx_extract_<mode>, VSX_EXTRACT_I iterator): Add optimizations
- for 64-bit ISA 2.07 as well as ISA 3.0.
- (vsx_extract_<mode>_p9, VSX_EXTRACT_I iterator): Likewise.
- (vsx_extract_<mode>_p8, VSX_EXTRACT_I iterator): Likewise.
- (vsx_extract_<mode>_load, VSX_EXTRACT_I iterator): New insn to
- optimize vector int, vector short, and vector char vec_extracts
- when the vector is in memory.
- (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): New insn to
- optimize vector int, vector short, and vector char vec_extracts
- when the element number is variable.
-
-2016-08-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/71948
- * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): Use a value that
- does not overlap with other symbol flags.
-
-2016-08-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.h (aarch64_frame):
- Remove padding0 and hardfp_offset. Add locals_offset,
- initial_adjust, callee_adjust, callee_offset and final_adjust.
- * config/aarch64/aarch64.c (aarch64_layout_frame):
- Remove unused padding0 and hardfp_offset initializations.
- Choose frame layout and set frame variables accordingly.
- Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER.
- (aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER.
- (aarch64_pop_regs): Likewise.
- (aarch64_expand_prologue): Remove all decision code, just emit
- prolog according to frame variables.
- (aarch64_expand_epilogue): Remove all decision code, just emit
- epilog according to frame variables.
- (aarch64_initial_elimination_offset): Use offset to local/arg area.
-
-2015-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/72748
- * config/i386/i386.c (timode_scalar_chain::convert_insn): Call
- fix_debug_reg_uses after changing source register mode to
- V1TImode if source register is undefined.
-
-2015-08-01 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71818
- * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs
- with non invariant evolutions
-
-2016-08-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/72767
- * config/avr/avr.md (length) [branch]: Correct insn length
- attribute for forward branches.
-
-2016-08-01 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Built-in Functions): Document
- __builtin_avr_nops.
- * config/avr/builtins.def (NOPS): New.
- * config/avr/avr.c (avr_expand_nops): New static function.
- (avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS.
-
-2016-08-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_classify_address): Use DImode when
- performing aarch64_offset_7bit_signed_scaled_p check for TImode LDP/STP
- addresses.
-
-2016-08-01 Virendra Pathak <virendra.pathak@broadcom.com>
-
- * config/aarch64/aarch64.c (vulcan_tunings): Update
- vulcan L1 cache_line_size.
-
-2016-07-30 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
- function that takes a vector memory address, a hard register, an
- element number and a temporary base register, and recreates an
- address that points to the appropriate element within the vector.
- * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
- (rs6000_split_vec_extract_var): Add support for the target of a
- vec_extract with variable element number being a scalar memory
- location.
- (rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
- swappable.
- * config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
- vsx_extract_<mode>_load insn with a new insn that optimizes
- storing either element to a memory location, using scratch
- registers to pick apart the vector and reconstruct the address.
- (vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
- (vsx_extract_<mode>_store): Rework alternatives to more correctly
- support Altivec registers. Add support for ISA 3.0 Altivec d-form
- store instruction.
- (vsx_extract_<mode>_var): Add support for extracting a variable
- element number from memory.
-
-2016-07-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
- when testing for compares against constants of the form 0xabab.
-
-2016-07-29 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/57558
- * tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
- function.
- (vect_loop_versioning): Support versioning with niter assumptions.
- * tree-vect-loop.c (tree-ssa-loop.h): Include header file.
- (vect_get_loop_niters): New parameter. Reimplement to support
- assumptions in loop niter info.
- (vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
- (new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
- (vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
- Support loop versioning for niters.
- * tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
- (vect_free_loop_info_assumptions): New function.
- (vectorize_loops): Free loop niter info for loops with flag
- LOOP_F_ASSUMPTIONS set if vectorization failed.
- * tree-vectorizer.h (struct _loop_vec_info): New field
- num_iters_assumptions.
- (LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
- (LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
- (LOOP_REQUIRES_VERSIONING): New macro.
- (vect_free_loop_info_assumptions): New decl.
-
-2016-07-29 Bin Cheng <bin.cheng@arm.com>
-
- * cfgloop.h (struct loop): New field constraints.
- (LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
- (loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
- functions.
- * cfgloop.c (alloc_loop): Initialize new field.
- * cfgloopmanip.c (copy_loop_info): Copy constraints.
- * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
- Adjust niter analysis wrto loop constraints.
- * doc/loop.texi (@node Number of iterations): Add description for loop
- constraints.
-
-2016-07-29 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * config/i386/i386.c (ix86_expand_args_builtin): Add break.
- (ix86_expand_round_builtin): Likewise.
-
-2016-07-29 Segher Boessenkool <segher@kernel.crashing.org>
- Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/71976
- * combine.c (get_last_value): Return 0 if the argument for which
- the function is called has a wider mode than the recorded value.
-
-2016-07-29 Marek Polacek <polacek@redhat.com>
-
- PR c/7652
- * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
- (altivec_expand_st_builtin): Likewise.
-
-2016-07-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
- introduced in r238381.
-
-2016-07-29 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/68217
- * tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
- & sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].
-
-2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
- New declaration.
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Add support for vec_extract of vector double or vector long having
- a variable element number on 64-bit ISA 2.07 systems or newer.
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract):
- Likewise.
- (rs6000_split_vec_extract_var): New function to split a
- vec_extract built-in function with variable element number.
- (rtx_is_swappable_p): Variable vec_extracts and shifts are not
- swappable.
- * config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
- (UNSPEC_VSX_EXTRACT): Likewise.
- (vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
- direct move instructions to be generated on 64-bit ISA 2.07
- systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
- instruction.
- (vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
- arguments for vec_extract variable element.
- (vsx_extract_<mode>_var, VSX_D iterator): New insn to support
- vec_extract with variable element on V2DFmode and V2DImode
- vectors.
- * config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
- -mupper-regs-df requirement, since it isn't needed.
- (TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
- do direct moves on 64-bit systems, which allows optimization of
- vec_extract on 64-bit ISA 2.07 systems and newer.
-
-2016-07-28 Kristina Martsenko <kristina.martsenko@arm.com>
-2016-07-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md
- (zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
- statement and type.
- (<optab>qihi2_aarch64): Likewise, and split into two.
- (extendqihi2_aarch64): New.
- (zero_extendqihi2_aarch64): New.
- * config/aarch64/iterators.md (ldrxt): Remove.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
- uxtb/uxth.
-
-2016-07-28 Kristina Martsenko <kristina.martsenko@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.
-
-2016-07-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
- (aarch64_push_reg): New function to push 1 or 2 registers.
- (aarch64_pop_reg): New function to pop 1 or 2 registers.
- (aarch64_expand_prologue): Use aarch64_push_regs.
- (aarch64_expand_epilogue): Use aarch64_pop_regs.
-
-2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/71734
- * tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
- attribute instead of REF_LOOP and use it.
- (ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
- set it for Loops having non-zero safelen attribute.
- (ref_indep_loop_p): Pass zero as initial value for safelen.
-
-2016-07-28 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/72657
- PR target/72683
- * tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
- call using chkp_gimple_call_builtin_p.
- (chkp_copy_bounds_for_assign): Likewise.
-
-2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/alpha/alpha.c (alpha_adjust_cost): Adjust.
- * config/arm/arm-protos.h (struct tune_params): Likewise.
- * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
- (cortex_a9_sched_adjust_cost): Likewise.
- (fa726te_sched_adjust_cost): Likewise.
- (arm_adjust_cost): Likewise.
- * config/bfin/bfin.c (bfin_adjust_cost): Likewise.
- * config/c6x/c6x.c (c6x_adjust_cost): Likewise.
- * config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
- * config/i386/i386.c (ix86_adjust_cost): Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mep/mep.c (mep_adjust_cost): Likewise.
- * config/microblaze/microblaze.c (microblaze_adjust_cost):
- * Likewise.
- * config/mips/mips.c (mips_adjust_cost): Likewise.
- * config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
- * Likewise.
- * config/pa/pa.c (pa_adjust_cost): Likewise.
- * config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
- (rs6000_debug_adjust_cost): Likewise.
- * config/sh/sh.c (sh_adjust_cost): Likewise.
- * config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
- (hypersparc_adjust_cost): Likewise.
- (sparc_adjust_cost): Likewise.
- * config/spu/spu.c (spu_sched_adjust_cost): Likewise.
- * config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
- * config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
- * Likewise.
- * config/visium/visium.c (visium_adjust_cost): Likewise.
- * doc/tm.texi: Regenerate.
- * haifa-sched.c (dep_cost_1): Adjust.
- * target.def: Merge adjust_cost and adjust_cost_2.
-
-2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * haifa-sched.c (add_to_speculative_block): Make twins a vector.
-
-2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * store-motion.c (struct st_expr): Make pattern_regs a vector.
- (extract_mentioned_regs): Append to a vector instead of
- returning a rtx_expr_list.
- (st_expr_entry): Adjust.
- (free_st_expr_entry): Likewise.
- (store_ops_ok): Likewise.
- (store_killed_in_insn): Likewise.
- (find_moveable_store): Likewise.
-
-2016-07-28 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/68025
- * tree-profile.c (tree_profiling): Respect
- no_profile_instrument_function attribute.
- * doc/extend.texi: Document no_profile_instrument_function
- attribute.
-
-2016-07-28 Martin Liska <mliska@suse.cz>
-
- PR rtl-optimization/70944
- * combine.c (make_compound_operation):
- Do not allow make_compound_operation for vector mode
-
-2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71994
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
- before calling get_ops.
-
-2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * defaults.h (LOG2_BITS_PER_UNIT): Move from here...
- * tree.h (LOG2_BITS_PER_UNIT): ...to here.
- (BITS_PER_UNIT_LOG): Remove.
- (int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
- * expr.c (expand_assignment): Likewise.
- * stor-layout.c (initialize_sizetypes): Likewise.
-
-2016-07-27 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vector.md (vec_extract<mode>): Change the calling
- signature of rs6000_expand_vector_extract so that the element
- number is a RTX instead of a constant integer.
- * config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
- Likewise.
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
- (altivec_expand_vec_ext_builtin): Likewise.
- * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
- * config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
- MFVSRLD instruction.
-
-2016-07-27 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (get_pure_location): Move here from tree.c.
- (make_location): Likewise. Add header comment.
- (selftest::test_accessing_ordinary_linemaps): Verify
- pure_location_p, make_location, get_location_from_adhoc_loc and
- get_range_from_loc.
- * input.h (get_pure_location): Move declaration here from tree.h.
- (get_finish): Likewise for inline function.
- (make_location): Likewise for declaration.
- * tree.c (get_pure_location): Move to input.c.
- (make_location): Likewise.
- * tree.h (get_pure_location): Move declaration to tree.h.
- (get_finish): Likewise for inline function.
- (make_location): Likewise for declaration.
-
-2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR middle-end/71078
- * match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
-
-2016-07-27 David Malcolm <dmalcolm@redhat.com>
-
- * system.h (STATIC_ASSERT): Use static_assert if building
- with C++11 onwards.
-
-2016-07-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/72517
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
- Revert change to not compute read-read dependences.
-
-2016-07-27 Richard Biener <rguenther@suse.de>
-
- * predict.c (set_even_probabilities): Make nedges unsigned.
-
-2016-07-27 Martin Liska <mliska@suse.cz>
-
- * predict.c (set_even_probabilities): Handle unlikely edges.
- (combine_predictions_for_bb): Likewise.
-
-2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71869
- * config/rs6000/rs6000.c (rs6000_generate_compare): Rework
- __float128 support when we don't have hardware support, so that
- the IEEE built-in functions like isgreater, first call __unordkf3
- to make sure neither operand is a NaN, and if both operands are
- ordered, do the normal comparison.
-
-2016-07-26 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-vrp.c (dump_asserts_for): Print loc->expr instead of
- name.
- (extract_code_and_val_from_cond_with_ops): Verify that name is
- either cond_op0 or cond_op1.
-
-2016-07-26 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/18046
- * genmodes.c (emit_mode_size_inline): Emit an assert that
- verifies that mode is a valid array index.
- (emit_mode_nuinits_inline): Likewise.
- (emit_mode_inner_inline): Likewise.
- (emit_mode_unit_size_inline): Likewise.
- (emit_mode_unit_precision_inline): Likewise.
- * tree-vrp.c: Include params.h.
- (find_switch_asserts): Register edge assertions for the default
- label which correspond to the anti-ranges of each case label.
- * params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
- * doc/invoke.texi: Document it.
-
-2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
- and unnecessary call to gimple_bb.
-
-2016-07-26 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/71984
- * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
- for VOIDmode.
-
-2016-07-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/72517
- * expmed.c (extract_bit_field_1): Constrain the vector mode
- with element size matching the extraction mode size when
- choosing a better vector mode to do the extraction from.
-
-2016-07-26 Richard Biener <rguenther@suse.de>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR middle-end/70920
- * match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
- pattern.
-
-2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-structalias.c (struct scc_info): Change types of
- members to auto_sbitmap and auto_vec.
- (scc_info::scc_info): New constructor.
- (scc_info::~scc_info): New destructor.
- (init_scc_info): Remove.
- (free_scc_info): Remove.
- (find_indirect_cycles): Adjust.
- (perform_var_substitution): Likewise.
- (free_var_substitution_info): Likewise.
-
-2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-outof-ssa.c (struct elim_graph): Change type of members
- to auto_vec and auto_sbitmap.
- (elim_graph::elim_graph): New constructor.
- (delete_elim_graph): Remove.
- (expand_phi_nodes): Adjust.
-
-2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-outof-ssa.c (struct elim_graph): Remove typedef.
- (new_elim_graph): Adjust.
- (clear_elim_graph): Likewise.
- (delete_elim_graph): Likewise.
- (elim_graph_size): Likewise.
- (elim_graph_add_node): Likewise.
- (elim_graph_add_edge): Likewise.
- (elim_graph_remove_succ_edge): Likewise.
- (eliminate_name): Likewise.
- (eliminate_build): Likewise.
- (elim_forward): Likewise.
- (elim_unvisited_predecessor): Likewise.
- (elim_backward): Likewise.
- (elim_create): Likewise.
- (eliminate_phi): Likewise.
- (expand_phi_nodes): Likewise.
-
-2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * bt-load.c (compute_out): Use auto_sbitmap class.
- (link_btr_uses): Likewise.
- * cfganal.c (mark_dfs_back_edges): Likewise.
- (post_order_compute): Likewise.
- (inverted_post_order_compute): Likewise.
- (pre_and_rev_post_order_compute_fn): Likewise.
- (single_pred_before_succ_order): Likewise.
- * cfgexpand.c (pass_expand::execute): Likewise.
- * cfgloop.c (verify_loop_structure): Likewise.
- * cfgloopmanip.c (fix_bb_placements): Likewise.
- (remove_path): Likewise.
- (update_dominators_in_loop): Likewise.
- * cfgrtl.c (break_superblocks): Likewise.
- * ddg.c (check_sccs): Likewise.
- (create_ddg_all_sccs): Likewise.
- * df-core.c (df_worklist_dataflow): Likewise.
- * dse.c (dse_step3): Likewise.
- * except.c (eh_region_outermost): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- * gcse.c (prune_expressions): Likewise.
- (prune_insertions_deletions): Likewise.
- * gimple-ssa-backprop.c (backprop::~backprop): Likewise.
- * graph.c (draw_cfg_nodes_no_loops): Likewise.
- * ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
- * lcm.c (compute_earliest): Likewise.
- (compute_farthest): Likewise.
- * loop-unroll.c (unroll_loop_constant_iterations): Likewise.
- (unroll_loop_runtime_iterations): Likewise.
- (unroll_loop_stupid): Likewise.
- * lower-subreg.c (decompose_multiword_subregs): Likewise.
- * lra-lives.c: Likewise.
- * lra.c (lra): Likewise.
- * modulo-sched.c (schedule_reg_moves): Likewise.
- (optimize_sc): Likewise.
- (get_sched_window): Likewise.
- (sms_schedule_by_order): Likewise.
- (check_nodes_order): Likewise.
- (order_nodes_of_sccs): Likewise.
- (order_nodes_in_scc): Likewise.
- * recog.c (split_all_insns): Likewise.
- * regcprop.c (pass_cprop_hardreg::execute): Likewise.
- * reload1.c (reload): Likewise.
- * sched-rgn.c (haifa_find_rgns): Likewise.
- (split_edges): Likewise.
- (compute_trg_info): Likewise.
- * sel-sched.c (init_seqno): Likewise.
- * store-motion.c (remove_reachable_equiv_notes): Likewise.
- * tree-into-ssa.c (update_ssa): Likewise.
- * tree-ssa-live.c (live_worklist): Likewise.
- * tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
- * Likewise.
- (try_peel_loop): Likewise.
- * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
- * Likewise.
- * tree-ssa-pre.c (compute_antic): Likewise.
- * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
- * tree-stdarg.c (reachable_at_most_once): Likewise.
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
- * var-tracking.c (vt_find_locations): Likewise.
-
-2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * sbitmap.h (auto_sbitmap): New class.
-
-2016-07-26 Alan Modra <amodra@gmail.com>
-
- PR target/72103
- * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
- sri->t_icode.
-
-2016-07-25 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (selftest::temp_source_file::temp_source_file): Fix
- missing "%s" in fprintf.
-
-2016-07-25 John David Anglin <danglin@gcc.gnu.org>
-
- PR middle-end/71732
- * cselib.c (cselib_process_insn): Invalidate argument slots for
- const/pure calls.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
- vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
- vmulxh_lane_f16, vmulxh_laneq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64.md (fma, fnma): Support HF.
- * config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
- New.
- (<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
- (add<mode>3): Likewise.
- (sub<mode>3): Likewise.
- (mul<mode>3): Likewise.
- (div<mode>3): Likewise.
- (*div<mode>3): Likewise.
- (<fmaxmin><mode>3): Extend to HF.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
- (fabd<mode>3): Likewise.
- (<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
- (<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
- (aarch64_fmulx<mode>): Likewise.
- (aarch64_fac<optab><mode>): Likewise.
- (aarch64_frecps<mode>): Likewise.
- (<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
- (<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
- * config/aarch64/iterators.md (VHSDF_SDF): Delete.
- (VSDQ_HSDI): Support HI.
- (fcvt_target, FCVT_TARGET): Likewise.
- * config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
- vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
- vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
- vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
- vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
- vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
- vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
- vrsqrtsh_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config.gcc (aarch64*-*-*): Install arm_fp16.h.
- * config/aarch64/aarch64-builtins.c (hi_UP): New.
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
- mode.
- (aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
- (aarch64_cm<optab><mode>): Likewise.
- * config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
- (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
- (fix_trunc<GPF:mode><GPI:mode>2): Likewise.
- (sqrt<mode>2): Likewise.
- (*sqrt<mode>2): Likewise.
- (abs<mode>2): Likewise.
- (<optab><mode>hf2): New pattern for HF mode.
- (<optab>hihf2): Likewise.
- * config/aarch64/arm_neon.h: Include arm_fp16.h.
- * config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
- (w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
- Support HF mode.
- * config/aarch64/arm_fp16.h: New file.
- (vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
- vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
- vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
- vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
- vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
- vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
- vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
- vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
- vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
- vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
- vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
- vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
- vsqrth_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
- reduc_smin_scal_): Use VDQIF_F16.
- (reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
- * config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
- Use VHSDF.
- (aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
- * config/aarch64/iterators.md (VDQIF_F16): New.
- (vp): Support HF modes.
- * config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
- vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
- "*aarch64_mulx_elt_from_dup<mode>".
- (*aarch64_mul3_elt<mode>): Update schedule type.
- (*aarch64_mul3_elt_from_dup<mode>): Likewise.
- (*aarch64_fma4_elt_from_dup<mode>): Likewise.
- (*aarch64_fnma4_elt_from_dup<mode>): Likewise.
- * config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
- (f, fp): Support HF modes.
- * config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
- vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
- vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
- vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
- vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
- vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
- modes.
- * config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
- vfmsq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64-simd.md
- (aarch64_rsqrts<mode>): Extend to HF modes.
- (fabd<mode>3): Likewise.
- (<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
- (<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
- (aarch64_<maxmin_uns>p<mode>): Likewise.
- (<su><maxmin><mode>3): Likewise.
- (<maxmin_uns><mode>3): Likewise.
- (<fmaxmin><mode>3): Likewise.
- (aarch64_faddp<mode>): Likewise.
- (aarch64_fmulx<mode>): Likewise.
- (aarch64_frecps<mode>): Likewise.
- (*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
- (add<mode>3): Extend to HF modes.
- (sub<mode>3): Likewise.
- (mul<mode>3): Likewise.
- (div<mode>3): Likewise.
- (*div<mode>3): Likewise.
- * config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
- HF, V4HF and V8HF.
- * config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
- * config/aarch64/arm_neon.h (vadd_f16, vaddq_f16, vabd_f16, vabdq_f16,
- vcage_f16, vcageq_f16, vcagt_f16, vcagtq_f16, vcale_f16, vcaleq_f16,
- vcalt_f16, vcaltq_f16, vceq_f16, vceqq_f16, vcge_f16, vcgeq_f16,
- vcgt_f16, vcgtq_f16, vcle_f16, vcleq_f16, vclt_f16, vcltq_f16,
- vcvt_n_f16_s16, vcvtq_n_f16_s16, vcvt_n_f16_u16, vcvtq_n_f16_u16,
- vcvt_n_s16_f16, vcvtq_n_s16_f16, vcvt_n_u16_f16, vcvtq_n_u16_f16,
- vdiv_f16, vdivq_f16, vdup_lane_f16, vdup_laneq_f16, vdupq_lane_f16,
- vdupq_laneq_f16, vdups_lane_f16, vdups_laneq_f16, vmax_f16, vmaxq_f16,
- vmaxnm_f16, vmaxnmq_f16, vmin_f16, vminq_f16, vminnm_f16, vminnmq_f16,
- vmul_f16, vmulq_f16, vmulx_f16, vmulxq_f16, vpadd_f16, vpaddq_f16,
- vpmax_f16, vpmaxq_f16, vpmaxnm_f16, vpmaxnmq_f16, vpmin_f16, vpminq_f16,
- vpminnm_f16, vpminnmq_f16, vrecps_f16, vrecpsq_f16, vrsqrts_f16,
- vrsqrtsq_f16, vsub_f16, vsubq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
- * config/aarch64/aarch64-simd-builtins.def: Register new builtins.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
- (neg<mode>2): Likewise.
- (abs<mode>2): Likewise.
- (<frint_pattern><mode>2): Likewise.
- (l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
- (<optab><VDQF:mode><fcvt_target>2): Likewise.
- (<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
- (ftrunc<VDQF:mode>2): Likewise.
- (<optab><fcvt_target><VDQF:mode>2): Likewise.
- (sqrt<mode>2): Likewise.
- (*sqrt<mode>2): Likewise.
- (aarch64_frecpe<mode>): Likewise.
- (aarch64_cm<optab><mode>): Likewise.
- * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return false for
- HF, V4HF and V8HF.
- * config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
- (VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
- (stype): New.
- * config/aarch64/arm_neon.h (vdup_n_f16): New.
- (vdupq_n_f16): Likewise.
- (vld1_dup_f16): Use vdup_n_f16.
- (vld1q_dup_f16): Use vdupq_n_f16.
- (vabs_f16, vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16,
- vcgtz_f16, vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16,
- vcvt_f16_s16, vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16,
- vcvtq_s16_f16, vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16,
- vcvtaq_s16_f16, vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16,
- vcvtmq_s16_f16, vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16,
- vcvtnq_s16_f16, vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16,
- vcvtpq_s16_f16, vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16,
- vrecpe_f16, vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16,
- vrndi_f16, vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16,
- vrndp_f16, vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16,
- vsqrt_f16, vsqrtq_f16): New.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
- (aarch64_ext<mode>): Likewise.
- (aarch64_rev<REVERSE:rev_op><mode>): Likewise.
- * config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp,
- aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev): Support V4HFmode
- and V8HFmode.
- * config/aarch64/arm_neon.h (__INTERLEAVE_LIST): Support float16x4_t,
- float16x8_t.
- (__aarch64_vdup_lane_f16, __aarch64_vdup_laneq_f16,
- __aarch64_vdupq_lane_f16, __aarch64_vdupq_laneq_f16, vbsl_f16,
- vbslq_f16, vdup_n_f16, vdupq_n_f16, vdup_lane_f16, vdup_laneq_f16,
- vdupq_lane_f16, vdupq_laneq_f16, vduph_lane_f16, vduph_laneq_f16,
- vext_f16, vextq_f16, vmov_n_f16, vmovq_n_f16, vrev64_f16, vrev64q_f16,
- vtrn1_f16, vtrn1q_f16, vtrn2_f16, vtrn2q_f16, vtrn_f16, vtrnq_f16,
- vuzp1_f16, vuzp1q_f16, vuzp2_f16, vuzp2q_f16, vzip1_f16, vzip2q_f16):
- New.
- (vmov_n_f16): Reimplement using vdup_n_f16.
- (vmovq_n_f16): Reimplement using vdupq_n_f16..
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_add_constant): New parameter
- "frame_related_p". Generate CFA annotation when it's necessary.
- (aarch64_expand_prologue): Use aarch64_add_constant.
- (aarch64_expand_epilogue): Likewise.
- (aarch64_output_mi_thunk): Pass "false" when calling
- aarch64_add_constant.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
- sequences.
-
-2016-07-25 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
- Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
- (aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
- (aarch64_build_constant): Delete.
-
-2016-07-25 Alexander Monakov <amonakov@ispras.ru>
-
- Revert
- 2016-07-20 Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Do not set
- flag_toplevel_reorder.
-
-2016-07-25 Richard Biener <rguenther@suse.de>
-
- * cgraph.c (cgraph_node::verify_node): Compare against builtin
- by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
- * tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
- * tree-streamer.h (streamer_handle_as_builtin_p): Remove.
- (streamer_get_builtin_tree): Likewise.
- (streamer_write_builtin): Likewise.
- * lto-streamer.h (LTO_builtin_decl): Remove.
- * lto-streamer-in.c (lto_read_tree_1): Remove assert.
- (lto_input_scc): Remove LTO_builtin_decl handling.
- (lto_input_tree_1): Liekwise.
- * lto-streamer-out.c (lto_output_tree_1): Remove special
- handling of builtins.
- (DFS::DFS): Likewise.
- * tree-streamer-in.c (streamer_get_builtin_tree): Remove.
- * tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
- assert.
- (streamer_write_builtin): Remove.
-
-2016-07-25 Martin Liska <mliska@suse.cz>
-
- * lto-cgraph.c (input_symtab): Don't call get_working_sets
- if flag_auto_profile is set to true.
-
-2016-07-25 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/71868
- * cfgloopanal.c (expected_loop_iterations_unbounded): When we
- have a function with multiple latches, count them all.
-
-2016-07-25 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
-
-2016-07-25 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/71987
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
- just for SSA_NAMEs. Fix GNU coding style.
-
-2016-07-25 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/64874
- * gcov-io.h: Update command about file format.
- * gcov-iov.c (main): Adapt the numbering scheme.
-
-2016-07-24 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/66726
- * tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
- whose result is used in PHI.
- (final_range_test_p): Likewise.
- (maybe_optimize_range_tests): Likewise.
-
-2016-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Reformat two multi-line strings.
-
-2016-07-22 Martin Sebor <msebor@redhat.com>
-
- * doc/extend.texi (Compound Literals): Add '@' missed in last commit.
-
-2016-07-22 Martin Sebor <msebor@redhat.com>
-
- PR c/71560
- * doc/extend.texi (Compound Literals): Correct and clarify.
- (Cast to Union): Same.
-
-2016-07-22 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
- comments to explain why certain error messages make mention of
- undocumented options.
- (rs6000_invalid_builtin): Change error messages to replace mention
- of undocumented options with mention of the -mcpu=power9 option
- that enables those undocumented options.
- * config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
- (RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
- definition of this macro to correct an existing error.
- * config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
- mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
- descriptions of built-in functions so that they depend on
- -mcpu=power9 instead of on the corresponding undocumented flags.
- * doc/invoke.texi (Option Summary): Remove all mention of newly
- undocumented flags.
- (IBM RS/6000 and PowerPC Options): Likewise.
- * doc/md.texi (Constraints for Particuliar Machines): Remove all
- mention of newly undocumented flags.
-
-2016-07-22 Evgeny Stupachenko <evstupac@gmail.com>
-
- * ipa-cp.c (determine_versionability): Do not create constprop clones,
- when target_clones attribute is set.
-
-2016-07-22 Bin Cheng <bin.cheng@arm.com>
-
- * common.opt (funsafe-loop-optimizations): Mark ignore.
- * doc/invoke.texi (funsafe-loop-optimizations): Remove.
- * loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
- related code.
- * tree-ssa-loop-niter.c (finite_loop_p): Ditto.
- * config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.
-
-2016-07-22 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
- Parameter.
- * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
- Parameter.
- (number_of_iterations_exit): Warn missed loop optimization for
- possible infinite loops.
-
-2016-07-22 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/71216
- * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
- when to emit a ".machine" pseudo-op.
-
-2016-07-22 Martin Liska <mliska@suse.cz>
-
- PR gcov-profile/69028
- PR gcov-profile/62047
- * coverage.c (coverage_compute_lineno_checksum): Do not
- calculate checksum for fns w/o xloc.file.
- (coverage_compute_profile_id): Likewise.
-
-2016-07-22 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
- (avr_secondary_reload): ...and implementation.
- (avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
- * config/avr/avr.md (reload_in<mode>): Remove insns.
- (adjust_len) [lpm]: Remove insn attribute value.
- * config/avr/predicates.md (flash_operand): Remove insn predicate.
-
-2016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR middle-end/71876
- * builtin-attrs.def (ATTR_RT_NOTHROW_LEAF_LIST): New return twice
- attribute.
- * builtins.def (BUILT_IN_SETJMP): Use ATTR_RT_NOTHROW_LEAF_LIST here.
- * calls.c (special_function_p): Remove the special handling of the
- "__builtin_" prefix.
-
-2016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR middle-end/71876
- * calls.c (gimple_maybe_alloca_call_p): New function. Return true
- if STMT may be an alloca call.
- (gimple_alloca_call_p, alloca_call_p): Return only true for the
- builtin alloca call.
- * calls.h (gimple_maybe_alloca_call_p): New function.
- * tree-inline.c (inline_forbidden_p_stmt): Use
- gimple_maybe_alloca_call_p here.
-
-2016-07-21 David Malcolm <dmalcolm@redhat.com>
-
- * spellcheck-tree.c (best_macro_match::best_macro_match):
- Explictly specify the template arguments when invoking the base
- class constructor, to help older C++ compilers.
-
-2016-07-21 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/71953
- * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
- before builtin_decl_implicit.
-
-2016-07-21 James Greenhalgh <james.greenhalgh@arm.com>
-
- * optabs.c (emit_condiitonal_move): Short circuit for identical
- sources.
-
-2016-07-21 James Greenhalgh <james.greenhalgh@arm.com>
-
- * ifcvt.c (noce_if_info): New fields: speed_p, original_cost,
- max_seq_cost. Removed fields: then_cost, else_cost, branch_cost.
- (noce_conversion_profitable_p): New.
- (noce_try_store_flag_constants): Use it.
- (noce_try_addcc): Likewise.
- (noce_try_store_flag_mask): Likewise.
- (noce_try_cmove): Likewise.
- (noce_try_cmove_arith): Likewise.
- (bb_valid_for_noce_process_p): Add to the cost parameter rather than
- overwriting it.
- (noce_convert_multiple_sets): Move cost model to here, from...
- (bb_ok_for_noce_convert_multiple_sets) ...here.
- (noce_process_if_block): Update calls for above changes.
- (noce_find_if_block): Record new noce_if_info parameters.
-
-2016-07-21 James Greenhalgh <james.greenhalgh@arm.com>
-
- * target.def (max_noce_ifcvt_seq_cost): New.
- * doc/tm.texi.in (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Document it.
- * doc/tm.texi: Regenerate.
- * targhooks.h (default_max_noce_ifcvt_seq_cost): New.
- * targhooks.c (default_max_noce_ifcvt_seq_cost): New.
- * params.def (PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST): New.
- (PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST): Likewise.
- * doc/invoke.texi: Document new params.
-
-2016-07-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71947
- * tree-vrp.c (extract_range_from_assert): Singleton symbolic
- ranges have useful limit_vr information.
-
-2016-07-21 Richard Biener <rguenther@suse.de>
-
- * function-tests.c (build_trivial_generic_function): Set
- BLOCK_SUPERCONTEXT of DECL_INITIAL.
- * omp-low.c (create_omp_child_function): Likewise.
- (grid_expand_target_grid_body): Likewise.
- * cgraphunit.c (init_lowered_empty_function): Likewise.
- (cgraph_node::expand_thunk): Likewise.
- * tree-parloops.c (create_loop_fn): Likewise.
- * ipa.c (cgraph_build_static_cdtor_1): Likewise.
-
-2016-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo
- in comment.
-
-2016-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (any_extract, any_shiftrt): New code iterators.
- (*insv.extract, *insv.shiftrt, *insv.not-bit.0, *insv.not-bit.7)
- (*insv.xor-extract, *insv.xor1-bit.0): New insns.
- (adjust_len) [insv_notbit, insv_notbit_0, insv_notbit_7]: New
- values for insn attribute.
- * config/avr/avr.c (avr_out_insert_notbit): New function.
- (avr_adjust_insn_length): Handle ADJUST_LEN_INSV_NOTBIT,
- ADJUST_LEN_INSV_NOTBIT_0/_7.
- * config/avr/avr-protos.h (avr_out_insert_notbit): New proto.
-
-2016-07-21 Bin Cheng <bin.cheng@arm.com>
-
- * tree-chrec.c (convert_affine_scev): New parameter. Pass new arg.
- (chrec_convert_1, chrec_convert): Ditto.
- * tree-chrec.h (chrec_convert, convert_affine_scev): New parameter.
- * tree-scalar-evolution.c (interpret_rhs_expr): Pass new arg.
- * tree-vrp.c (adjust_range_with_scev): Ditto.
- * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Ditto.
- (scev_var_range_cant_overflow): New function.
- (scev_probably_wraps_p): New parameter. Call above function.
- * tree-ssa-loop-niter.h (scev_probably_wraps_p): New parameter.
-
-2016-07-21 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
- by removing computation of may_be_zero.
-
-2016-07-21 Jakub Jelinek <jakub@redhat.com>
-
- * tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
-
-2016-07-21 Andrew Sutton <andrew.n.sutton@gmail.com>
-
- Improving concepts performance and diagnostics.
- * timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars
- for constraint satisfaction and subsumption.
- * timevar.h (auto_timevar): New constructor that matches the push/pop
- pattern of usage in pt.c.
-
-2016-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * hwint.h (HOST_WIDE_INT_0): New define.
- (HOST_WIDE_INT_0U): Ditto.
- * double-int.c: Use HOST_WIDE_INT_0 instead of (HOST_WIDE_INT) 0.
- * dse.c: Use HOST_WIDE_INT_0U instead of (unsigned HOST_WIDE_INT) 0.
- * simplify-rtx.c: Ditto.
- * tree-object-size.c: Ditto.
-
-2016-07-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_encode_section_info): Remove mode size
- check.
-
-2016-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
- * combine.c: Use HOST_WIDE_INT_M1U instead of
- ~(unsigned HOST_WIDE_INT) 0.
- * double-int.h: Ditto.
- * dse.c: Ditto.
- * dwarf2asm.c:Ditto.
- * expmed.c: Ditto.
- * genmodes.c: Ditto.
- * match.pd: Ditto.
- * read-rtl.c: Ditto.
- * tree-ssa-loop-ivopts.c: Ditto.
- * tree-ssa-loop-prefetch.c: Ditto.
- * tree-vect-generic.c: Ditto.
- * tree-vect-patterns.c: Ditto.
- * tree.c: Ditto.
-
-2016-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
- constant addresses outside [0,0xc0] into a register.
- (avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn. And handle
- cases where the base address register is unused after.
- (avr_out_movhi_r_mr_reg_disp_tiny): Same.
- (avr_out_movhi_mr_r_reg_disp_tiny): Same.
- (avr_out_store_psi_reg_disp_tiny): Same.
-
-2016-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- Implement attribute progmem on reduced Tiny cores by adding
- flash offset 0x4000 to respective symbols.
-
- PR target/71948
- * doc/extend.texi (AVR Variable Attributes) [progmem]: Add
- documentation how it works on reduced Tiny cores.
- (AVR Named Address Spaces): No support for reduced Tiny.
- * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
- (avr_address_tiny_pm_p): New static function.
- (avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
- if the address is in progmem.
- (avr_assemble_integer): Same.
- (avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
- for symbol_ref in progmem.
- * config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
- magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
-
-2016-07-20 Patrick Palka <ppalka@gcc.gnu.org>
-
- * configure.ac (thin_archive_support): New variable. AC_SUBST it.
- * configure: Regenerate.
- * Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
- (USE_THIN_ARCHIVES): New variable.
- (libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
- this archive as a thin archive.
-
-2016-07-20 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (diagnostic_show_locus): If this is the
- same location as last time, don't skip if we have fix-it hints.
- Clarify the skipping logic by converting it from one "if" clause
- to repeated "if" clauses.
- * spellcheck-tree.c: Include "cpplib.h".
- (find_closest_macro_cpp_cb): Move here from c/c-decl.c.
- (best_macro_match::best_macro_match): New constructor.
- * spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
- Move here from c/c-decl.c.
- (class best_macro_match): Move here from c/c-decl.c, converting
- from a typedef to a subclass, gaining a ctor.
-
-2016-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
- * config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
- define...
- (avr_addr_space_diagnose_usage): ...and implementation.
- (avr_addr_space_supported_p): New function.
- (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
- report bad address space usage if that space is supported.
- (avr_insert_attributes): Same. No more complain about unsupported
- address spaces.
- * config/avr/avr-c.c (tm_p.h): Include it.
- (avr_cpu_cpp_builtins): Only define addr-space related built-in
- macro if avr_addr_space_supported_p.
-
-2016-07-20 Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Do not set
- flag_toplevel_reorder.
-
-2016-07-20 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-rich-location.c
- (gcc_rich_location::add_fixit_misspelled_id): New overload, taking
- a const char *.
- * gcc-rich-location.h
- (gcc_rich_location::add_fixit_misspelled_id): Likewise.
-
-2016-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- * target.def (addr_space): Add new diagnose_usage to hook vector.
- * targhooks.c (default_addr_space_diagnose_usage): Add default
- implementation and...
- * targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
- * c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
- is some address space, call targetm.addr_space.diagnose_usage.
- * doc/tm.texi.in (Named Address Spaces): Add anchor for
- TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
- * doc/tm.texi: Regenerate.
-
-2016-07-20 Martin Liska <mliska@suse.cz>
-
- PR middle-end/71898
- * graphite-isl-ast-to-gimple.c (later_of_the_two):
- Properly handly PHI stmts.
-
-2016-07-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/71503
- PR tree-optimization/71683
- * tree-if-conv.c (gen_phi_arg_condition): Record true predicate
- and break.
-
-2016-07-20 Martin Liska <mliska@suse.cz>
-
- * doc/invoke.texi (-fipa-ra): Document when the option is
- disabled. Fix a typo.
-
-2016-07-20 Martin Liska <mliska@suse.cz>
-
- * Makefile.in: Include fibonacci_heap.c
- * fibonacci_heap.c: New file.
- * fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
- (fibonacci_heap::union_with): Fix deletion of the second heap.
- * selftest-run-tests.c (selftest::run_tests): Incorporate
- fibonacci heap tests.
- * selftest.h: Declare fibonacci_heap_c_tests.
-
-2016-07-20 Martin Liska <mliska@suse.cz>
-
- * selftest-run-tests.c (selftest::run_tests): New function.
- * selftest.h (sreal_c_tests): Declare.
- * sreal.c (sreal_verify_basics): New function.
- (verify_aritmetics): Likewise.
- (sreal_verify_arithmetics): Likewise.
- (verify_shifting): Likewise.
- (sreal_verify_shifting): Likewise.
- (void sreal_c_tests): Likewise.
-
-2016-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/71916
- * cfgrtl.c (contains_no_active_insn_p): Return false also for
- bb which have a single succ fake edge.
-
-2016-07-19 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/71855
- * dwarf2out.c (gen_subprogram_die): Only call
- gen_unspecified_parameters_die while dumping early dwarf.
-
-2016-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71874
- * gimple-fold.c (fold_builtin_memory_op): Use
- get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
-
-2016-07-19 Uros Bizjak <ubizjak@gmail.com>
-
- * builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
- HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
- HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
- HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
- * combine.c: Ditto.
- * cse.c: Ditto.
- * dojump.c: Ditto.
- * double-int.c: Ditto.
- * dse.c: Ditto.
- * dwarf2out.c: Ditto.
- * expmed.c: Ditto.
- * expr.c: Ditto.
- * fold-const.c: Ditto.
- * function.c: Ditto.
- * fwprop.c: Ditto.
- * genmodes.c: Ditto.
- * hwint.c: Ditto.
- * hwint.h: Ditto.
- * ifcvt.c: Ditto.
- * loop-doloop.c: Ditto.
- * loop-invariant.c: Ditto.
- * loop-iv.c: Ditto.
- * match.pd: Ditto.
- * optabs.c: Ditto.
- * real.c: Ditto.
- * reload.c: Ditto.
- * rtlanal.c: Ditto.
- * simplify-rtx.c: Ditto.
- * stor-layout.c: Ditto.
- * toplev.c: Ditto.
- * tree-ssa-loop-ivopts.c: Ditto.
- * tree-vect-generic.c: Ditto.
- * tree-vect-patterns.c: Ditto.
- * tree.c: Ditto.
- * tree.h: Ditto.
- * ubsan.c: Ditto.
- * varasm.c: Ditto.
- * wide-int-print.cc: Ditto.
- * wide-int.cc: Ditto.
- * wide-int.h: Ditto.
-
-2016-07-19 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c (selftest::assert_streq): Handle NULL values of
- val_actual and val_expected.
-
-2016-07-19 Martin Jambor <mjambor@suse.cz>
-
- PR fortran/71688
- * trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
- rather than cgraph_create_node to get a call graph node.
-
-2016-07-19 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
- handle all tcc_constant bases and valueize SSA names.
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
- tcc_constant bases.
-
-2016-07-19 David Malcolm <dmalcolm@redhat.com>
-
- * function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
- the flags of the exit block and bb2, not just the entry block.
-
-2016-07-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71901
- * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
- align member, group stuff with the bitfield.
- (vn_ref_op_align_unit): New inline.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
- record element alignment and operand 3 unchanged.
- (ao_ref_init_from_vn_reference): Adjust.
- (valueize_refs_1): Likewise.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
-
-2016-07-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71908
- * tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
- symbolic constants in a more reliable way.
-
-2016-07-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
- comment.
- (vect_update_inits_of_drs): Likewise.
- (vect_create_cond_for_alias_checks): Likewise.
- * tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.
-
-2016-07-19 Richard Biener <rguenther@suse.de>
-
- PR lto/71907
- * lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
- with an abstract origin that is not an inlined function outer
- scope add a self-reference as abstract origin.
- * tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.
-
-2016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71493
- * config/rs6000/rs6000.c (rs6000_function_value): Fix
- unintentional System V.4 structure return breakage for structures
- with a single floating point element.
-
-2016-07-18 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/71734
- * tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
- contains REF, use it to check safelen, assume that safelen value
- must be greater 1, fix style.
- (ref_indep_loop_p_2): Add REF_LOOP argument.
- (ref_indep_loop_p): Pass LOOP as additional argument to
- ref_indep_loop_p_2.
-
-2016-07-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * cfgexpand.c (expand_stack_vars): Implement synamic stack space
- allocation in the prologue.
- * explow.c (get_dynamic_stack_base): New function to return an address
- expression for the dynamic stack base.
- (get_dynamic_stack_size): New function to do the required dynamic stack
- space size calculations.
- (allocate_dynamic_stack_space): Use new functions.
- (align_dynamic_address): Move some code from
- allocate_dynamic_stack_space to new function.
- * explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.
-
-2016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_encode_section_info): Always set
- notaligned marker if mode size is 0 or no MEM_ALIGN info could be
- found.
-
-2016-07-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71893
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
- for sizetype cast added by array_ref_element_size.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
-
-2016-07-16 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (hppa_profile_hook): Allocate stack space for
- register parameters. Remove code to initialize argument pointer
- on TARGET_64BIT. Optimize call to _mcount when it can be reached
- using a pc-relative branch. Cleanup conditional code.
- * config/pa/pa.md (call_mcount): New expander.
- (call_mcount_nonpic): New insn.
- (call_mcount_pic): New insn and split.
- (call_mcount_pic_post_reload): New insn.
- (call_mcount_64bit): New insn and split.
- (call_mcount_64bit_post_reload): New insn.
-
-2016-07-15 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/predicates.md (const_m255_to_m1_operand): New.
- * config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
- * config/avr/avr.md (add<mode>3) <ALL1>: Fix set_vzn for +/-2.
- (*cmphi.zero-extend.0, *cmphi.zero-extend.1)
- (*usum_widenqihi3, *udiff_widenqihi3)
- (*addhi3_zero_extend.const): New combiner insns.
- (andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
- just 1 bit is affected.
- * config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
- (avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.
-
-2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
-
- * omp-low.c (lower_omp_target): Mark data clauses with
- GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
- zero-length subarrays.
-
-2016-07-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71881
- * tree-loop-distribution.c (destroy_loop): Remove blocks in
- reverse DOM order to make debug temp generation happy.
-
-2016-07-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71887
- * tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
- verify it is not zero for division / modulo handling.
- (value_replacement): Adjust.
-
-2016-07-15 Virendra Pathak <virendra.pathak@broadcom.com>
- Julian Brown <julian@codesourcery.com>
-
- * config/aarch64/aarch64-cores.def: Update vulcan COSTS.
- * config/aarch64/aarch64-cost-tables.h
- (vulcan_extra_costs): New variable.
- * config/aarch64/aarch64.c
- (vulcan_addrcost_table): Likewise.
- (vulcan_regmove_cost): Likewise.
- (vulcan_vector_cost): Likewise.
- (vulcan_branch_cost): Likewise.
- (vulcan_tunings): Likewise.
-
-2016-07-15 Alexander Monakov <amonakov@ispras.ru>
-
- * cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
- (output_in_order): Loop over undefined variables too. Output them
- via assemble_undefined_decl. Skip variables that correspond to hard
- registers or have value-exprs.
- * varpool.c (symbol_table::output_variables): Handle undefined
- variables together with defined ones.
-
-2016-07-15 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (get_representative_for): Make sure to return
- the value number of SSA names.
- (phi_translate_1): get_representative_for cannot return NULL.
- (do_pre_regular_insertion): Remove redundant call to
- fully_constant_expression.
- (do_pre_partial_partial_insertion): Likewise.
-
-2016-07-15 Bin Cheng <bin.cheng@arm.com>
-
- * tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
- (derive_simple_iv_with_niters): New function.
- (simple_iv): Rewrite using simple_iv_with_niters.
- * tree-scalar-evolution.h (simple_iv_with_niters): New decl.
- * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
- function.
- (number_of_iterations_exit): Rewrite using above function.
- * tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
- Decl.
-
-2016-07-15 Richard Biener <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
- vec_construct cost.
-
-2016-07-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71872
- * tree-data-ref.c (get_references_in_stmt): Ignore references
- with is_gimple_constant get_base_address.
-
-2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
- (TARGET_HAVE_LDACQD): New macro.
- * config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
- than TARGET_HAVE_LDACQ.
- (arm_load_acquire_exclusivedi): Likewise.
- (arm_store_release_exclusivedi): Likewise.
-
-2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/71878
- * lra-constraints.c (match_reload): Pass information about other
- output operands. Create new unique register value if matching input
- operand shares same register value as output operand being considered.
- (curr_insn_transform): Record output operands already processed.
-
-2016-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65951
- PR tree-optimization/70923
- * tree-vect-patterns.c: Include mult-synthesis.h.
- (target_supports_mult_synth_alg): New function.
- (synth_lshift_by_additions): Likewise.
- (apply_binop_and_append_stmt): Likewise.
- (vect_synth_mult_by_constant): Likewise.
- (target_has_vecop_for_code): Likewise.
- (vect_recog_mult_pattern): Use above functions to synthesize vector
- multiplication by integer constants.
-
-2016-07-14 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/altivec.md (altivec_mov<mode>): Disparage
- gpr alternatives. Correct '*' placement on Y,r alternative.
- Add '*' on operand 1 of r,r alternative.
-
-2016-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c (mult_variant, choose_mult_variant): Move declaration to...
- * expmed.h: ... Here.
-
-2016-07-14 Jan Hubicka <hubicka@ucw.cz>
-
- * gimple.h (stmt_can_terminate_bb_p): New function.
- * tree-cfg.c (need_fake_edge_p): Rename to ...
- (stmt_can_terminate_bb_p): ... this; return true if stmt can
- throw external; handle const and pure calls.
- * tree-ssa-loop-niter.c (loop_only_exit_p): Use it.
-
-2016-07-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71866
- * tree-ssa-pre.c (get_constant_for_value_id): Remove.
- (do_hoist_insertion): Avoid endless recursion when we
- didn't insert anything because we managed to simplify
- things down to a constant or SSA name.
- (fully_constant_expression): Re-write in terms of ...
- * tree-ssa-sccvn.h (vn_nary_simplify): ... this. Declare.
- * tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
- vn_nary_build_or_lookup_1.
- (vn_nary_build_or_lookup_1): Added flag and renamed from ...
- (vn_nary_build_or_lookup): ... this which now wraps it.
-
-2016-07-14 Alan Modra <amodra@gmail.com>
-
- PR target/71733
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
- with p9_vector override before power9-dform override.
-
-2016-07-13 Andi Kleen <ak@linux.intel.com>
-
- * value-prof.c (gimple_value_profile_transformations): Don't run
- when auto_profile is on.
-
-2016-07-13 Andi Kleen <ak@linux.intel.com>
-
- * auto-profile.c (update_inlined_ind_target,
- afdo_indirect_call): Print information to dump file.
-
-2016-07-13 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * genrecog.c (special_predicate_operand_p): New function.
- (predicate_name): Move function.
- (validate_pattern): Don't warn about missing mode for all
- define_special_predicate predicates.
-
-2016-07-13 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-data-refs.c (vect_no_alias_p): New function.
- (vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
- resolve alias checks which are known at compilation time.
- Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
- alias checks are resolved. Move dump info for too many runtime
- alias checks to here...
- * tree-vect-loop.c (vect_analyze_loop_2): ...From here.
-
-2016-07-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/24574
- * tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
- position and add shift, rotate, divison and modulo support
- for left zero.
- (value_replacement): Pass in argument position to absorbing_element_p.
-
-2016-07-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR ipa/71633
- * ipa-inline-transform.c (inline_call): Support
- instrumented thunks.
-
-2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_HAVE_CBZ): Define.
- (TARGET_IDIV): Set for all Thumb targets provided they have hardware
- divide feature.
- * config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
- Baseline. Make initial alternative TARGET_32BIT only.
- (udivsi3): Likewise.
- * config/arm/thumb1.md (thumb1_cbz): New define_insn.
- * doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
- target.
-
-2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
- * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
- availability with TARGET_HAVE_MOVT.
- (thumb_legitimate_constant_p): Strip the high part of a label_ref.
- (thumb1_rtx_costs): Also return 0 if setting a half word constant and
- MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
- UINTVAL.
- (thumb1_size_rtx_costs): Make set of half word constant also cost 1
- extra instruction if MOVW is available. Use a cost variable
- incremented by COSTS_N_INSNS (1) when the condition match rather than
- returning an arithmetic expression based on COSTS_N_INSNS. Make
- constant with bottom half word zero cost 2 instruction if MOVW is
- available.
- * config/arm/arm.md (define_attr "arch"): Add v8mb.
- (define_attr "arch_enabled"): Set to yes if arch value is v8mb and
- target is ARMv8-M Baseline.
- (arm_movt): New unpredicable alternative for ARMv8-M Baseline.
- (arm_movtas_ze): Likewise.
- * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
- alternative for constants satisfying j constraint.
- (thumb1_movsi_insn): Likewise.
- (movsi splitter for K alternative): Tighten condition to not trigger
- if movt is available and j constraint is satisfied.
- (Pe immediate splitter): Likewise.
- (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
- constant fitting in an halfword to use MOVW.
- * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
- effective target.
-
-2016-07-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71104
- * gimplify.c (gimplify_modify_expr): Gimplify the RHS before
- gimplifying the LHS. Make sure to gimplify a returning twice
- call LHS without using SSA names.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-data-ref.c (find_data_references_in_stmt): Remove
- unnecessary call to vec::release.
- (graphite_find_data_references_in_stmt): Likewise.
- * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
- * tree-vect-stmts.c (vectorizable_condition): Likewise.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgexpand.c (expand_used_vars): Make the type of a local
- variable auto_vec.
- * genmatch.c (lower_for): Likewise.
- * haifa-sched.c (haifa_sched_init): Likewise.
- (add_to_speculative_block): Likewise.
- (create_check_block_twin): Likewise.
- * predict.c (handle_missing_profiles): Likewise.
- * tree-data-ref.c (loop_nest_has_data_refs): Likewise.
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
- * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
- Likewise.
- (maybe_lower_iteration_bound): Likewise.
- * tree-ssa-sccvn.c (DFS): Likewise.
- * tree-stdarg.c (reachable_at_most_once): Likewise.
- * tree-vect-stmts.c (vectorizable_conversion): Likewise.
- (vectorizable_store): Likewise.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
- (sccvn_dom_walker): make cond_stack an auto_vec.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ree.c (struct ext_state): Make type of members auto_vec.
- (find_and_remove_re): Adjust.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgexpand.c (struct stack_vars_data): Make type of fields
- auto_vec.
- (expand_used_vars): Adjust.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ipa.c (record_cdtor_fn): Adjust.
- (build_cdtor_fns): Likewise.
- (ipa_cdtor_merge): Make static_ctors and static_dtors local
- variables.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genextract.c (struct accum_extract): Add constructor and make
- members auto_vec.
- (gen_insn): Adjust.
-
-2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree.c (struct free_lang_data_d): Add constructor and change
- types of members to ones that automatically manage resources.
- (fld_worklist_push): Adjust.
- (find_decls_types): Likewise.
- (find_decls_types_in_eh_region): Likewise.
- (free_lang_data_in_cgraph): Stop manually creating and
- destroying members of free_lang_data_d.
-
-2016-07-13 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/68961
- * config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
- peephole variant. Use sse_reg_operand predicates.
-
-2016-07-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (x86_64_immediate_operand)
- <case CONST_INT>: Remove unneeded truncation to DImode.
- <case CONST>: Ditto.
- (x86_64_zext_immediate_operand) <case CONST>: Ditto.
-
-2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71805
- * config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
- The xxperm and xxpermr instructions require that the 2nd input
- operand overlap with the output operand, and not the 1st.
- (altivec_vperm_v8hiv16qi): Likewise.
- (altivec_vperm_<mode>_uns_internal): Likewise.
- (altivec_vpermr_<mode>_internal): Likewise.
- (vperm_v8hiv4si): Likewise.
- (vperm_v16qiv8hi): Likewise.
-
-2016-07-12 Nathan Sidwell <nathan@acm.org>
-
- * config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
- when -mno-pic-data-is-text-relative is in effect, by default.
- * doc/invoke.texi (mpic-data-is-text-relative): Document new
- behavior and clarify.
-
-2016-07-12 Martin Liska <mliska@suse.cz>
-
- * params.def: Add avg-loop niter.
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
- * cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
- * doc/invoke.texi: Document the new parameter.
-
-2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/71700
- * expr.c (store_constructor): Mask sign-extended bits when widening
- sub-word constructor element at the start of a word.
-
-2016-07-12 Martin Liska <mliska@suse.cz>
-
- * Makefile.in: Append rule for params-options.h.
- * params-options.h: New file.
-
-2016-07-12 Martin Liska <mliska@suse.cz>
-
- * ira-build.c (mark_loops_for_removal): Properly iterate
- loops.
-
-2016-07-12 Steven Bosscher <steven@gcc.gnu.org>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/23286
- PR tree-optimization/70159
- * doc/invoke.texi: Document -fcode-hoisting.
- * common.opt (fcode-hoisting): New flag.
- * opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
- * tree-ssa-pre.c (pre_stats): Add hoist_insert.
- (do_regular_insertion): Rename to ...
- (do_pre_regular_insertion): ... this and amend general comments
- on insertion strathegy.
- (do_partial_partial_insertion): Rename to ...
- (do_pre_partial_partial_insertion): ... this.
- (do_hoist_insertion): New function.
- (insert_aux): Take flags on whether to do PRE and/or hoist insertion
- and call do_hoist_insertion properly.
- (insert): Adjust.
- (pass_pre::gate): Enable also if -fcode-hoisting is enabled.
- (pass_pre::execute): Register hoist_insert stats.
-
-2016-07-12 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71716
- * gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
- for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
- is different from mode's bitsize. Small cleanup.
-
-2016-07-12 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/68961
- * fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
- to simplify to a non-constant.
-
-2016-07-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71758
- * omp-low.c (expand_omp_target): Gimplify device.
-
- PR tree-optimization/71823
- * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
- to get vec_oprnds2 from op2.
-
-2016-07-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
- Hoist common subexpressions.
- (x86_64_zext_immediate_operand) <case CONST>: Ditto.
-
-2016-07-11 Pat Haugen <pthaugen@us.ibm.com>
-
- PR target/71800
- * config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
- prevent generation of 'stxsiwx' on pre Power8 hardware.
-
-2016-07-11 David Malcolm <dmalcolm@redhat.com>
-
- * input.c: Include cpplib.h.
- (selftest::temp_source_file): New class.
- (selftest::temp_source_file::temp_source_file): New ctor.
- (selftest::temp_source_file::~temp_source_file): New dtor.
- (selftest::should_have_column_data_p): New function.
- (selftest::test_should_have_column_data_p): New function.
- (selftest::temp_line_table): New class.
- (selftest::temp_line_table::temp_line_table): New ctor.
- (selftest::temp_line_table::~temp_line_table): New dtor.
- (selftest::test_accessing_ordinary_linemaps): Add case_ param; use
- it to create a temp_line_table.
- (selftest::assert_loceq): Only verify LOCATION_COLUMN for
- locations that are known to have column data.
- (selftest::line_table_case): New struct.
- (selftest::test_reading_source_line): Move tempfile handling
- to class temp_source_file.
- (ASSERT_TOKEN_AS_TEXT_EQ): New macro.
- (selftest::assert_token_loc_eq): New function.
- (ASSERT_TOKEN_LOC_EQ): New macro.
- (selftest::test_lexer): New function.
- (selftest::boundary_locations): New array.
- (selftest::input_c_tests): Call test_should_have_column_data_p.
- Loop over a test matrix of interesting values of location and
- default_range_bits, calling test_lexer on each case in the matrix.
- Move call to test_accessing_ordinary_linemaps into the matrix.
- * selftest.h (ASSERT_EQ): Reimplement in terms of...
- (ASSERT_EQ_AT): New macro.
-
-2016-07-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/71801
- * config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
- Don't convert TImode in debug insn.
-
-2016-07-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
- * tree-core.h (tree_base::nothrow_flag): Adjust comment.
- (tree_type_common::lang_flag_7): New.
- (tree_type_common::spare): Reduce size.
- * tree.h (TYPE_ALIGN_OK): Remove.
- (TYPE_LANG_FLAG_7): New.
- (get_inner_reference): Adjust header.
- * print-tree.c (print_node): Adjust.
- * expr.c (get_inner_reference): Remove parameter keep_aligning.
- (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
- calls to get_inner_reference.
- (expand_expr_real_1): Adjust call to get_inner_reference. Remove
- handling of TYPE_ALIGN_OK.
- * builtins.c (get_object_alignment_2): Adjust call to
- get_inner_reference. Remove handling of VIEW_CONVERT_EXPR.
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
- TYPE_ALIGN_OK.
- * asan.c (instrument_derefs): Adjust calls to get_inner_reference.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * dbxout.c (dbxout_expand_expr): Likewise.
- * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
- loc_list_from_tree, fortran_common): Likewise.
- * fold-const.c (optimize_bit_field_compare,
- decode_field_reference, fold_unary_loc, fold_comparison,
- split_address_to_core_and_offset): Likewise.
- * gimple-laddress.c (execute): Likewise.
- * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
- * gimplify.c (gimplify_scan_omp_clauses): Likewise.
- * hsa-gen.c (gen_hsa_addr): Likewise.
- * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
- * tsan.c (instrument_expr): Likewise.
- * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
- * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
- * tree-affine.c (tree_to_aff_combination,
- get_inner_reference_aff): Adjust calls to get_inner_reference.
- * tree-data-ref.c (split_constant_offset_1,
- dr_analyze_innermost): Likewise.
- * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
- * tree-sra.c (ipa_sra_check_caller): Likewise.
- * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
- * tree-ssa-math-opts.c (find_bswap_or_nop_load,
- bswap_replace): Likewise.
- * tree-vect-data-refs.c (vect_check_gather,
- vect_analyze_data_refs): Likewise.
- * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
- * config/pa/pa.c (pa_emit_move_sequence): Remove handling of
- TYPE_ALIGN_OK.
-
-2016-07-11 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (selftest-valgrind): New phony target.
- * function-tests.c (selftest::build_cfg): Delete pass instances
- created by the test.
- (selftest::convert_to_ssa): Likewise.
- (selftest::test_expansion_to_rtl): Likewise.
- * tree-cfg.c (selftest::test_linear_chain): Release dominator
- vectors.
- (selftest::test_diamond): Likewise.
-
-2016-07-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71816
- * tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
- than replacing all of its operands.
-
-2016-07-11 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
- (ctr<mode>): Add unspec.
- (ctr<mode>_internal*): Likewise.
-
-2016-07-08 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
- * config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.
-
-2016-07-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/71621
- * lra-constraints.c (process_alt_operands): Check combination of
- reg class and mode.
-
-2016-07-08 Jason Merrill <jason@redhat.com>
- Richard Biener <rguenther@suse.de>
-
- P0145: Refining Expression Order for C++.
- * gimplify.c (initial_rhs_predicate_for): New.
- (gimplfy_modify_expr): Gimplify RHS before LHS.
-
-2016-07-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/71297
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Allow standard error handling to take over when a wrong number
- of arguments is presented to __builtin_vec_ld () or
- __builtin_vec_st ().
-
-2016-07-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (smax): Remove float
- variants.
- (smin): Likewise.
- (fmax): New entry.
- (fmin): Likewise.
- * config/aarch64/arm_neon.h (vmaxnm_f32): Use
- __builtin_aarch64_fmaxv2sf.
- (vmaxnmq_f32): Likewise.
- (vmaxnmq_f64): Likewise.
- (vminnm_f32): Likewise.
- (vminnmq_f32): Likewise.
- (vminnmq_f64): Likewise.
-
-2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71806
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
- enable -mfloat128-hardware by default.
- (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
- that IEEE 128-bit hardware support needs.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): If
- -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
- Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
- floating point requires.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document
- -mfloat128 and -mfloat128-hardware changes.
-
-2016-07-08 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71667
- * tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts
-
-2016-07-08 Martin Liska <mliska@suse.cz>
-
- PR middle-end/71606
- * fold-const.c (fold_convertible_p): As COMPLEX_TYPE
- folding produces SAVE_EXPRs, thus return false for the type.
-
-2016-07-07 Martin Liska <mliska@suse.cz>
-
- * file-find.c (remove_prefix): New function.
- * file-find.h (remove_prefix): Declare the function.
- * gcc-ar.c (main): Skip a folder of the wrapper if
- a wrapped binary would point to the same file.
-
-2016-07-07 Jan Hubicka <jh@suse.cz>
-
- * tree-scalar-evolution.c (iv_can_overflow_p): export.
- * tree-scalar-evolution.h (iv_can_overflow_p): Declare.
- * tree-ssa-loop-ivopts.c (alloc_iv): Use it.
-
-2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR ipa/71624
- * ipa-inline-analysis.c (compute_inline_parameters): Set
- local.can_change_signature to false for intrumentation
- thunk callees.
-
-2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
- with TARGET_HAVE_MOVT.
- (TARGET_HAVE_MOVT): Define.
- * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
- availability with TARGET_HAVE_MOVT.
- * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
- availability.
- (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
- TARGET_THUMB2.
- (symbol_refs movsi splitter): Remove TARGET_32BIT check.
- (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
- * config/arm/constraints.md (define_constraint "j"): Use
- TARGET_HAVE_MOVT to check MOVT availability.
-
-2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.
-
-2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-arches.def (armv8-m.base): Define new architecture.
- (armv8-m.main): Likewise.
- (armv8-m.main+dsp): Likewise.
- * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
- (FL_FOR_ARCH8M_MAIN): Likewise.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
- armv8-m.main+dsp to BE8_LINK_SPEC.
- * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
- (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
- * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
- Baseline and Mainline.
- (arm_option_override_internal): Also disable arm_restrict_it when
- !arm_arch_notm. Update comment for -munaligned-access to also cover
- ARMv8-M Baseline.
- (arm_file_start): Increase buffer size for printing architecture name.
- * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
- and armv8-m.main+dsp.
- (mno-unaligned-access): Clarify that this is disabled by default for
- ARMv8-M Baseline architectures as well.
-
-2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
- decide whether to prevent some libgcc routines being included for some
- multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
- link between this condition and the one in
- libgcc/config/arm/lib1func.S.
-
-2016-07-07 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c: Include alias.h.
- (compute_avail): If we have multiple VN_REFERENCEs with the
- same hashtable entry adjust that to make it a valid replacement
- for all of them with respect to alignment and aliasing
- when doing insertion.
- * tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
- * tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.
-
-2016-07-06 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/70098
- PR target/71763
- * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
- *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
- constraint.
-
-2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
- (adjust_mems): Adjust.
- (adjust_insn): Likewise.
- (prepare_call_arguments): Likewise.
-
-2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gcse.c (struct ls_expr): Make stores field a vector.
- (ldst_entry): Adjust.
- (free_ldst_entry): Likewise.
- (print_ldst_list): Likewise.
- (compute_ld_motion_mems): Likewise.
- (update_ld_motion_stores): Likewise.
-
-2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gcse.c (struct ls_expr): Remove loads field.
- (ldst_entry): Adjust.
- (free_ldst_entry): Likewise.
- (print_ldst_list): Likewise.
- (compute_ld_motion_mems): Likewise.
-
-2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * store-motion.c (struct st_expr): Make antic_stores a vector.
- (st_expr_entry): Adjust.
- (free_st_expr_entry): Likewise.
- (print_store_motion_mems): Likewise.
- (find_moveable_store): Likewise.
- (compute_store_table): Likewise.
- (remove_reachable_equiv_notes): Likewise.
- (replace_store_insn): Likewise.
- (build_store_vectors): Likewise.
-
-2016-07-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/driver-arm.c (arm_cpu_table): Add entries for cortex-a32,
- cortex-a35, cortex-a53, cortex-a57, cortex-a72, cortex-a73.
-
-2016-07-06 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/71518
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
- misalign also for outer loops with negative step.
-
-2016-07-06 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/cortex-a53.md: Use final_presence_set for in-order.
- (cortex_a53_shift): Add mov_shift.
- (cortex_a53_shift_reg): Add new reservation for register shifts.
- (cortex_a53_alu): Remove bfm.
- (cortex_a53_alu_shift): Add bfm, remove mov_shift.
- (cortex_a53_alu_extr): Add new reservation for EXTR.
- (bypasses): Improve bypass modelling.
-
-2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/50739
- * config/avr/avr.c (avr_asm_select_section): Strip off
- SECTION_DECLARED from flags when calling get_section.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vectorizer.h (vect_memory_access_type): Add
- VMAT_INVARIANT, VMAT_CONTIGUOUS_DOWN and VMAT_CONTIGUOUS_REVERSED.
- * tree-vect-stmts.c (compare_step_with_zero): New function.
- (perm_mask_for_reverse): Move further up file.
- (get_group_load_store_type): Stick to VMAT_ELEMENTWISE if the
- step is negative.
- (get_negative_load_store_type): New function.
- (get_load_store_type): Call it. Add an ncopies argument.
- (vectorizable_mask_load_store): Update call accordingly and
- remove tests for negative steps.
- (vectorizable_store, vectorizable_load): Likewise. Handle new
- memory_access_types.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vectorizer.h (vect_memory_access_type): New enum.
- (_stmt_vec_info): Add a memory_access_type field.
- (STMT_VINFO_MEMORY_ACCESS_TYPE): New macro.
- (vect_model_store_cost): Take an access type instead of a boolean.
- (vect_model_load_cost): Likewise.
- * tree-vect-slp.c (vect_analyze_slp_cost_1): Update calls to
- vect_model_store_cost and vect_model_load_cost.
- * tree-vect-stmts.c (vec_load_store_type): New enum.
- (vect_model_store_cost): Take an access type instead of a
- store_lanes_p boolean. Simplify tests.
- (vect_model_load_cost): Likewise, but for load_lanes_p.
- (get_group_load_store_type, get_load_store_type): New functions.
- (vectorizable_store): Use get_load_store_type. Record the access
- type in STMT_VINFO_MEMORY_ACCESS_TYPE.
- (vectorizable_load): Likewise.
- (vectorizable_mask_load_store): Likewise. Replace is_store
- variable with vls_type.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vectorizer.h (vect_grouped_load_supported): Add a
- single_element_p parameter.
- * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
- Check the PR65518 case here rather than in vectorizable_load.
- * tree-vect-loop.c (vect_analyze_loop_2): Update call accordignly.
- * tree-vect-stmts.c (vectorizable_load): Likewise.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vectorizer.h (gather_scatter_info): New structure.
- (vect_check_gather_scatter): Return a bool rather than a decl.
- Replace return-by-pointer arguments with a single
- gather_scatter_info *.
- * tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
- (vect_analyze_data_refs): Update call accordingly.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
- (vectorizable_mask_load_store): Likewise. Also record the
- offset dt and vectype in the gather_scatter_info.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-stmts.c (vect_model_store_cost): For non-SLP
- strided groups, use the cost of N scalar accesses instead
- of ncopies vector accesses.
- (vect_model_load_cost): Likewise.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-stmts.c (vect_cost_group_size): Delete.
- (vect_model_store_cost): Avoid calling it. Use first_stmt_p
- variable to indicate when once-per-group costs are being used.
- (vect_model_load_cost): Likewise. Fix comment and misindented code.
-
-2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-stmts.c (vectorizable_load): Remove unnecessary
- peeling-for-gaps condition.
-
-2016-07-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_vec_init): Force initializer
- element to register if it doesn't match general_operand.
-
-2016-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
- Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_split_signbit): New
- prototype.
- * config/rs6000/rs6000.c (rs6000_split_signbit): New function.
- * config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant.
- (SIGNBIT): New mode iterator.
- (Fsignbit): New mode attribute.
- (signbit<mode>2): Change operand1 to match FLOAT128 instead of
- IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128
- when direct moves are available.
- (signbit<mode>2_dm): New define_insn_and_split).
- (signbit<mode>2_dm2): New define_insn.
-
-2016-07-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/71594
- * ifcvt.c (noce_convert_multiple_sets): Wrap new_val or old_val
- into subregs of appropriate mode before trying to emit a conditional
- move.
-
-2016-07-05 Jan Hubicka <jh@suse.cz>
-
- * tree-scalar-evolution.c (iv_can_overflow_p): New function.
- (simple_iv): Use it.
-
-2016-07-05 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (nowrap_type_p): Use ANY_INTEGRAL_TYPE_P.
-
-2016-07-05 Jiong Wang <jiong.wang@arm.com>
-
- * lra-constraints.c (process_alt_operands): Don't add spilling cost for
- "offmemok".
-
-2016-07-05 Jan Hubicka <jh@suse.cz>
-
- * tree-scalar-evoluiton.c (simple_iv): Use nowrap_type to check if
- IV can overflow.
-
-2016-07-05 Richard Biener <rguenther@suse.de>
-
- * gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa):
- Handle empty else block.
- (is_feasible_trace): Likewise.
- (split_paths): Likewise.
-
-2016-07-05 Richard Biener <rguenther@suse.de>
-
- * tree-loop-distribution.c (distribute_loop): Fix issue with
- the cost model loop.
-
-2016-07-05 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/neon-testgen.ml: Delete.
- * config/arm/neon.ml: Delete.
-
-2016-07-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/71739
- * tree.c (attribute_value_equal): Use get_attribute_name instead of
- directly using TREE_PURPOSE.
-
-2016-07-04 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.h: Rename "ARMv8.1" to "ARMv8.1-A".
- * config/aarch64/aarch64_neon.h: Likewise.
- * config/aarch64/arm_neon.h: Likewise.
- * config/aarch64/atomics.md: Likewise.
- * config/aarch64/aarch64-simd-builtins.def: Likewise.
- * doc/invoke.texi: Likewise.
-
-2016-07-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md: Add "z13" cpu_facility.
- ("*mov<mode>cc"): Add support for z13 instructions lochi and locghi.
- * config/s390/predicates.md ("loc_operand"): New predicate for "load on
- condition" type instructions.
-
-2016-07-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
- Jeff Law <law@redhat.com>
-
- * explow.c (allocate_dynamic_stack_space): Simplify knowing that
- MUST_ALIGN was always true and extra_align ist always BITS_PER_UNIT.
-
-2016-07-04 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386.c (ix86_expand_vec_perm): Add handle one-operand
- permutation for TARGET_AVX512F.
- (ix86_expand_vec_one_operand_perm_avx512): New function.
- (expand_vec_perm_1): Invoke introduced function.
- * tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
- it may be not valid after vectorization.
-
-2016-07-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63874
- * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix
- typo in comment. Only force to memory if it is a weak
- external reference.
-
-2016-07-04 Matthew Wahab <matthew.wahab@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-arches.def: Add "armv8.2-a".
- * config/aarch64/aarch64.h (AARCH64_FL_V8_2): New.
- (AARCH64_FL_F16): New.
- (AARCH64_FL_FOR_ARCH8_2): New.
- (AARCH64_ISA_8_2): New.
- (AARCH64_ISA_F16): New.
- (TARGET_FP_F16INST): New.
- (TARGET_SIMD_F16INST): New.
- * config/aarch64/aarch64-option-extensions.def ("fp16"): New entry.
- ("fp"): Disabling "fp" also disables "fp16".
- * config/aarch64/aarch64-c.c (arch64_update_cpp_builtins):
- Conditionally define __ARM_FEATURE_FP16_SCALAR_ARITHMETIC
- and __ARM_FEATURE_FP16_VECTOR_ARITHMETIC.
- * doc/invoke.texi (AArch64 Options): Document "armv8.2-a" and "fp16".
-
-2016-07-04 Jan Beulich <jbeulich@suse.com>
-
- * gcc.c (default_compilers["@c-header"]): Conditionalize "-o".
-
-2016-07-01 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71720
- * config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
- the insns, use an insn form that does not adjust the offset on
- little endian systems.
-
-2016-07-01 Jan Beulich <jbeulich@suse.com>
-
- * varasm.c (get_variable_section): Validate initializer in
- named .bss-like sections.
-
-2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
- Exchange the order of the second and third operands in the vpermr
- instruction tmeplate.
-
-2016-07-01 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/71698
- * config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move):
- Disallow TDmode values.
-
-2016-07-01 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/71709
- * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
- being set, not referenced.
-
-2016-07-01 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/70729
- * tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field
- of loop since it can be not valid after transformation.
-
-2016-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (thumb_reload_in_hi): Delete.
- * config/arm/arm-protos.h (thumb_reload_in_hi): Delete prototype.
-
-2016-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
- for NULL decl.
-
-2016-06-30 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71677
- * config/rs6000/constraints.md (wY constraint): New constraint to
- match the requirements for the LXSD and STXSD instructions.
- * config/rs6000/predicates.md (offsettable_mem_14bit_operand): New
- predicate to match the requirements for the LXSD and STXSD
- instructions.
- * config/rs6000/rs6000.md (mov<mode>_hardfloat32, FMOVE64 case):
- Use constaint wY for LXSD/STXSD instructions instead of 'o' or 'Y'
- to make sure that the bottom 2 bits of offset are 0, the address
- form is offsettable, and no updating is done in the address mode.
- (mov<mode>_hardfloat64, FMOVE64 case): Likewise.
- (movdi_internal32): Likewise
- (movdi_internal64): Likewise.
-
-2016-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71707
- * tree-ssa-strlen.c (get_stridx_plus_constant): Handle already present
- strinfo even for ADDR_EXPR ptr.
-
-2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.md (darn_32): Change the condition to
- TARGET_P9_MISC instead of TARGET_MODULO.
- (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
- condition expression.
- (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
- condition expression.
- * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
- (DFP_TEST): New code iterator.
- (dfptstsfi_<code>_mode>): New define_expand.
- (*dfp_sgnfcnc_<mode>): New define_insn.
- * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
- definition next to BU_P9_MISC_1 definition and change the MASK
- value to RS6000_BTM_P9_MISC.
- (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
- (BU_P9_64BIT_MISC_0): Likewise.
- (BU_P9_DFP_MISC_0): New macro definition.
- (BU_P9_DFP_MISC_1): New macro definition.
- (BU_P9_DFP_MISC_2): New macro definition.
- (BU_P9_DFP_OVERLOAD_1): New macro definition.
- (BU_P9_DFP_OVERLOAD_2): New macro definition.
- (BU_P9_DFP_OVERLOAD_3): New macro definition.
- (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
- (TSTSFI_LT_TD): Likewise.
- (TSTSFI_EQ_DD): Likewise.
- (TSTSFI_EQ_TD): Likewise.
- (TSTSFI_GT_DD): Likewise.
- (TSTSFI_GT_TD): Likewise.
- (TSTSFI_OV_DD): Likewise.
- (TSTSFI_OV_TD): Likewise.
- (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
- (TSTSFI_LT_DD): Likewise.
- (TSTSFI_LT_TD): Likewise.
- (TSTSFI_EQ): Likewise.
- (TSTSFI_EQ_DD): Likewise.
- (TSTSFI_EQ_TD): Likewise.
- (TSTSFI_GT): Likewise.
- (TSTSFI_GT_DD): Likewise.
- (TSTSFI_GT_TD): Likewise.
- (TSTSFI_OV): Likewise.
- (TSTSFI_OV_DD): Likewise.
- (TSTSFI_OV_TD): Likewise.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded test significance functions.
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
- OPTION_MASK_P9_MISC into the representation of this mask.
- (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
- of this mask.
- * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
- RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
- non-zero.
- (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
- argument is a 6-bit unsigned literal value if the icode argument
- represents a DFP test significance built-in call.
- (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
- flag used independently and in combination with the
- RS6000_BTM_64BIT flag.
- (rs6000_opt_masks): Add entry for power9-misc command-line option.
- (rs6000_builtin_mask_names): Add entry for power9-misc
- command-line option.
- * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
- HAVE_AS_POWER9 is not a defined macro. Define MASK_P9_MISC and
- RS6000_BTM_P9_MISC macros.
- * config/rs6000/rs6000.opt: Add support for the -mpower9-misc
- option and change the description of the -mpower9-vector option to
- enable only vector instructions, removing its erroneously claimed
- support for scalar instructions.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
- the ISA 3.0 digital floating point test significance built-in
- functions.
-
-2016-06-30 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (cortexa35_tunings):
- Enable AES fusion. Use cortexa57_branch_cost.
- (cortexa53_tunings): Use cortexa57_branch_cost.
- (cortexa72_tunings): Use cortexa57_branch_cost.
- Use AUTOPREFETCHER_WEAK.
- (cortexa73_tunings): Use cortexa57_branch_cost.
-
-2016-06-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/arm_neon.h (vcopyq_lane_f32, vcopyq_lane_f64,
- vcopyq_lane_p8, vcopyq_lane_p16, vcopyq_lane_s8, vcopyq_lane_s16,
- vcopyq_lane_s32, vcopyq_lane_s64, vcopyq_lane_u8, vcopyq_lane_u16,
- vcopyq_lane_u32, vcopyq_lane_u64): Reimplement in C.
- (vcopy_lane_f32, vcopy_lane_f64, vcopy_lane_p8, vcopy_lane_p16,
- vcopy_lane_s8, vcopy_lane_s16, vcopy_lane_s32, vcopy_lane_s64,
- vcopy_lane_u8, vcopy_lane_u16, vcopy_lane_u32, vcopy_lane_u64,
- vcopy_laneq_f32, vcopy_laneq_f64, vcopy_laneq_p8, vcopy_laneq_p16,
- vcopy_laneq_s8, vcopy_laneq_s16, vcopy_laneq_s32, vcopy_laneq_s64,
- vcopy_laneq_u8, vcopy_laneq_u16, vcopy_laneq_u32, vcopy_laneq_u64,
- vcopyq_laneq_f32, vcopyq_laneq_f64, vcopyq_laneq_p8, vcopyq_laneq_p16,
- vcopyq_laneq_s8, vcopyq_laneq_s16, vcopyq_laneq_s32, vcopyq_laneq_s64,
- vcopyq_laneq_u8, vcopyq_laneq_u16, vcopyq_laneq_u32, vcopyq_laneq_u64):
- New intrinsics.
-
-2016-06-30 James Greenhalgh <james.greenhalgh@arm.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
- New define_insn.
- (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
-
-2016-06-30 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/71651
- * gcc.c (driver::build_option_suggestions): Pass "option" to
- add_misspelling_candidates.
- * opts-common.c (add_misspelling_candidates): Add "option" param;
- use it to avoid adding negated forms for options marked with
- RejectNegative.
- * opts.h (add_misspelling_candidates): Add "option" param.
-
-2016-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71693
- * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
- TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
- first when permuting bitwise operation with rotate. Cast
- TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
-
-2016-06-29 David Malcolm <dmalcolm@redhat.com>
-
- * opts.c (handle_param): Use find_param_fuzzy to offer suggestions
- for misspelled param names.
- * params.c: Include spellcheck.h.
- (find_param_fuzzy): New function.
- * params.h (find_param_fuzzy): New prototype.
- * spellcheck.c (struct edit_distance_traits<const char *>): Move to...
- * spellcheck.h (struct edit_distance_traits<const char *>):
- ...here.
-
-2016-06-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/predicates.md (const_0_to_7_operand): New
- predicate, recognize 0..7.
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
- support for doing extracts from V16QImode, V8HImode, V4SImode
- under ISA 3.0.
- * config/rs6000/vsx.md (VSX_EXTRACT_I): Mode iterator for ISA 3.0
- vector extract support.
- (VSX_EXTRACT_PREDICATE): Mode attribute to validate element number
- for ISA 3.0 vector extract.
- (VSX_EX): Constraints to use for ISA 3.0 vector extract.
- (vsx_extract_<mode>, VSX_EXTRACT_I): Add support for doing
- extracts of a constant element number from small integer vectors
- on 64-bit ISA 3.0 systems.
- (vsx_extract_<mode>_di): Likewise.
- * config/rs6000/rs6000.h (TARGET_VEXTRACTUB): New target macro to
- say when we can do ISA 3.0 vector extracts.
- * config/rs6000/rs6000.md (stfiwx): Allow DImode in Altivec
- registers, using the stxsiwx instruction.
-
-2016-06-29 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64-cores.def (qdf24xx): Use qdf24xx tuning.
- * config/aarch64/aarch64.c (qdf24xx_addrcost_table,
- qdf24xx_regmove_cost, qdf24xx_tunings): New.
- * config/arm/aarch64-cost-tables.h (qdf24xx_extra_costs): New.
- * config/arm/arm-cores.def (qdf24xx): Use qdf24xx tuning.
- * config/arm/arm.c (arm_qdf24xx_tune): New.
-
-2016-06-29 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (cortexa53_tunings):
- Increase loop alignment to 8. Set function alignment to 16.
- (cortexa35_tunings): Likewise.
- (cortexa57_tunings): Increase loop alignment to 8.
- (cortexa72_tunings): Likewise.
- (cortexa73_tunings): Likewise.
-
-2016-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/sourcebuild.texi (Effective-Target keywords): Add entries
- for arm_fp16_ok and arm_fp16_hw.
- (Add Options): Add entries for arm_fp16, arm_fp16_ieee and
- arm_fp16_alternative.
-
-2016-06-29 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/71655
- * tree-vect-stmts.c (vectorizable_comparison): Swap definition
- types when swapping operands.
-
-2016-06-29 Martin Liska <mliska@suse.cz>
-
- PR middle-end/71585
- * common.opt (flag_stack_protect): Mark the flag as optimization flag.
- * ipa-inline-transform.c (inline_call): Remove unnecessary call
- of build_optimization_node.
-
-2016-06-29 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/70729
- * tree-ssa-loop-im.c (ref_indep_loop_p_1): Consider memory reference as
- independent in loops having positive safelen value.
- * tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
- it may be not valid after vectorization.
-
-2016-06-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71625
- * tree-ssa-strlen.c (get_addr_stridx): Add PTR argument. Assume list
- is sorted by ascending list->offset. If PTR is non-NULL and there is
- previous strinfo, call get_stridx_plus_constant.
- (get_stridx): Pass exp as second argument to get_addr_stridx.
- (addr_stridxptr): Add missing list = list->next, so that there can be
- more than one entries in the list. Bump limit from 16 to 32. Ensure
- the list is sorted by ascending list->offset.
- (get_stridx_plus_constant): Adjust so that it can be also called with
- ADDR_EXPR instead of SSA_NAME as PTR.
- (handle_char_store): Pass NULL_TREE as second argument to
- get_addr_stridx.
-
-2016-06-29 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/68961
- * simplify-rtx.c (simplify_subreg): Handle VEC_CONCAT like CONCAT.
-
-2016-06-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71002
- * alias.c (component_uses_parent_alias_set_from): Handle
- type punning through union accesses by using the union alias set.
- * gimple.c (gimple_get_alias_set): Remove union type punning case.
-
-2016-07-29 Richard Biener <rguenther@suse.de>
-
- * match.pd ((T)(T2)x -> (T)x): Remove restriction on final
- precision not matching mode precision.
-
-2016-06-28 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (call_symref_64bit_post_reload): Don't call
- pa_output_arg_descriptor.
- (call_val_symref_64bit_post_reload): Likewise.
- (call_val_powf_64bit_post_reload): Likewise.
- (sibcall_internal_symref_64bit): Likewise.
- (sibcall_value_internal_symref_64bit): Likewise.
-
-2016-06-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71626
- * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
- a constant, force its SUBREG_REG into memory or register instead
- of whole op1.
-
-2016-06-28 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- PR target/58655
- * config/avr/avr.opt (-mfract-convert-truncate): Update description.
- * doc/invoke.texi (AVR Options): Document it.
-
-2016-06-28 Walter Lee <walt@tilera.com>
-
- * config/tilegx/linux.h: Do not include arch/icache.h
- (CLEAR_INSN_CACHE): Provide inlined definition directly.
- * config/tilepro/linux.h: Do not include arch/icache.h
- (CLEAR_INSN_CACHE): Provide inlined definition directly.
-
-2016-06-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adjust bitnumbering
- for big-endian BIT_FIELD_REF.
-
-2016-06-28 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
- ('size' attribute): Add '128'.
- Include power9.md.
- (*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
- *movdi_internal64, *movdf_update1): Set size attribute to '64'.
- (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
- copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
- *fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
- extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
- *xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
- *trunc<mode>df2_odd): Set size attribute to '128'.
- (*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
- * config/rs6000/power6.md (power6-fp): Include dfp type.
- * config/rs6000/power7.md (power7-fp): Likewise.
- * config/rs6000/power8.md (power8-fp): Likewise.
- * config/rs6000/power9.md: New file.
- * config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
- * config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
- *trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
- htmsimple.
- * config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
- trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
- divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
- ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
- dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
- dfp_dscri_<mode>): Change type attribute to dfp.
- * config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
- attribute to vecsimple.
- * config/rs6000/rs6000.c (power9_cost): Update costs, cache size
- and prefetch streams.
- (rs6000_option_override_internal): Remove temporary code setting
- tuning to power8. Don't set rs6000_sched_groups for power9.
- (last_scheduled_insn): Change to rtx_insn *.
- (divide_cnt, vec_load_pendulum): New variables.
- (rs6000_adjust_cost): Add Power9 to test for store->load separation.
- (rs6000_issue_rate): Set issue rate for Power9.
- (is_power9_pairable_vec_type): New.
- (power9_sched_reorder2): New.
- (rs6000_sched_reorder2): Call new function for Power9 specific
- reordering.
- (insn_must_be_first_in_group): Remove Power9.
- (insn_must_be_last_in_group): Likewise.
- (force_new_group): Likewise.
- (rs6000_sched_init): Fix initialization of last_scheduled_insn.
- Initialize divide_cnt/vec_load_pendulum.
- (_rs6000_sched_context, rs6000_init_sched_context,
- rs6000_set_sched_context): Handle context save/restore of new
- variables.
-
-2016-06-28 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
- Properly handle DECL_BIT_FIELD_REPRESENTATIVE occuring as
- COMPONENT_REF operand.
- (nonoverlapping_component_refs_p): Likewise.
- * stor-layout.c (start_bitfield_representative): Mark
- DECL_BIT_FIELD_REPRESENTATIVE as DECL_NONADDRESSABLE_P.
-
-2016-06-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in: Don't cat ../stage_current if it does not exist.
-
- * doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when
- last argument is a bit-field.
-
- PR rtl-optimization/71673
- * internal-fn.c (expand_arith_overflow_result_store): Use
- OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to
- expand_simple_binop.
-
- PR middle-end/66867
- * builtins.c (expand_ifn_atomic_compare_exchange_into_call,
- expand_ifn_atomic_compare_exchange): New functions.
- * internal-fn.c (expand_ATOMIC_COMPARE_EXCHANGE): New function.
- * tree.h (build_call_expr_internal_loc): Rename to ...
- (build_call_expr_internal_loc_array): ... this. Fix up type of
- last argument.
- * internal-fn.def (ATOMIC_COMPARE_EXCHANGE): New internal fn.
- * predict.c (expr_expected_value_1): Handle IMAGPART_EXPR of
- ATOMIC_COMPARE_EXCHANGE result.
- * builtins.h (expand_ifn_atomic_compare_exchange): New prototype.
- * gimple-fold.h (optimize_atomic_compare_exchange_p,
- fold_builtin_atomic_compare_exchange): New prototypes.
- * gimple-fold.c (optimize_atomic_compare_exchange_p,
- fold_builtin_atomic_compare_exchange): New functions..
- * tree-ssa.c (execute_update_addresses_taken): If
- optimize_atomic_compare_exchange_p, ignore &var in 2nd argument
- of call when finding addressable vars, and if such var becomes
- non-addressable, call fold_builtin_atomic_compare_exchange.
-
-2016-06-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/71670
- * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
- gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.
-
-2016-06-27 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.md ('type' attribute): Add
- veclogical,veccmpfx,vecexts,vecmove insn types.
- (*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
- copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
- p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
- (*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
- *nabs<mode>2_hw): Change type to vecmove.
- (*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
- *boolcc<mode>3_internal, *eqv<mode>3_internal,
- *one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
- *ieee_128bit_vsx_abs<mode>2_internal,
- *ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
- *ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
- *ieee128_mtvsrd_32bit): Change type to veclogical.
- (mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
- *movdi_internal32, *movdi_internal64): Update insn types.
- * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
- vsx_extract_<mode>): Change type to veclogical.
- (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
- (vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
- *vsx_sign_extend_si_v2di): Change type to vecexts.
- * config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
- type to veclogical.
- (*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
- *altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
- *altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
- (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
- * config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
- negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
- * config/rs6000/40x.md (ppc405-float): Add fpsimple.
- * config/rs6000/440.md (ppc440-fp): Add fpsimple.
- * config/rs6000/476.md (ppc476-fp): Add fpsimple.
- * config/rs6000/601.md (ppc601-fp): Add fpsimple.
- * config/rs6000/603.md (ppc603-fp): Add fpsimple.
- * config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
- * config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
- (ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
- * config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
- (ppc7450-vecsimple): Add veclogical, vecmove.
- (ppc7450-veccmp): Add veccmpfx.
- * config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
- vecmove.
- (ppc8540_vector_compare): Add veccmpfx.
- * config/rs6000/a2.md (ppca2-fp): Add fpsimple.
- * config/rs6000/cell.md (cell-fp): Add fpsimple.
- (cell-vecsimple): Add veclogical, vecmove.
- (cell-veccmp): Add veccmpfx.
- * config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
- * config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
- veccmpfx.
- * config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
- * config/rs6000/power4.md (power4-fp): Add fpsimple.
- (power4-vecsimple): Add veclogical, vecmove.
- (power4-veccmp): Add veccmpfx.
- * config/rs6000/power5.md (power5-fp): Add fpsimple.
- * config/rs6000/power6.md (power6-fp): Add fpsimple.
- (power6-vecsimple): Add veclogical, vecmove.
- (power6-veccmp): Add veccmpfx.
- * config/rs6000/power7.md (power7-fp): Add fpsimple.
- (power7-vecsimple): Add veclogical, vecmove, veccmpfx.
- * config/rs6000/power8.md (power8-fp): Add fpsimple.
- (power8-vecsimple): Add veclogical, vecmove, veccmpfx.
- * config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
- * config/rs6000/titan.md (titan_fp): Add fpsimple.
- * config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
- fpsimple.
- * config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.
-
-2016-06-27 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/71656
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
- OPTION_MASK_P9_DFORM_VECTOR.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
- disable -mpower9-dform-vector when using reload.
- (quad_address_p): Remove 'gpr_p' argument and all associated code.
- New 'strict' argument. Update all callers. Add strict addressing
- support.
- (rs6000_legitimate_offset_address_p): Remove call to
- virtual_stack_registers_memory_p.
- (rs6000_legitimize_reload_address): Add quad address support.
- (rs6000_legitimate_address_p): Move call to quad_address_p above
- call to virtual_stack_registers_memory_p. Adjust quad_address_p args
- to account for new strict usage.
- (rs6000_output_move_128bit): Adjust quad_address_p args to account
- for new strict usage.
- * config/rs6000/predicates.md (quad_memory_operand): Likewise.
-
-2016-06-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70902
- PR target/71453
- PR target/71555
- PR target/71596
- PR target/71657
- * config/i386/i386.c (ix86_spill_class): Disable condition to
- always return NO_REGS.
-
-2016-06-26 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c: Include gimple-pretty-print.h
- (predicted_by_loop_heuristics_p): Check also
- PRED_LOOP_EXIT_WITH_RECURSION
- (predict_loops): Find self recursive calls and use special purpose
- predictors for them; dump log about decisions.
- (pass_profile::execute): Dump info about #of iterations.
- * predict.def (PRED_LOOP_EXIT_WITH_RECURSION,
- (PRED_LOOP_GUARD_WITH_RECURSION): New predictors.
-
-2016-06-26 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_indirect_call): Rework to combine
- output_asm_insn calls and shorten long lines. Output .CALL
- argument descriptor using pa_output_arg_descriptor. Add various
- inline $$dyncall and other optimizations.
- (pa_attr_length_indirect_call): Adjust ordering and lengths.
-
-2016-06-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71643
- * tree-ssa-tail-merge.c (find_clusters_1): Ignore basic blocks with
- EH preds.
-
- * tree-ssa-tail-merge.c (deps_ok_for_redirect_from_bb_to_bb): Don't
- leak a bitmap if dep_bb is NULL.
-
- PR tree-optimization/71631
- * tree-ssa-reassoc.c (reassociate_bb): Pass true as last argument
- to rewrite_expr_tree even if negate_result, move new_lhs var
- declaration and initialization earlier, for powi_result set afterwards
- new_lhs to lhs. For negate_result, use new_lhs instead of tmp
- if new_lhs != lhs, and don't shadow gsi var.
-
-2016-06-24 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (predict_paths_leading_to, predict_paths_leading_to_edge):
- Add in_loop parameter.
- (predict_loops): Add loop guard heuristics.
- * predict.def (PRED_LOOP_GUARD): New heuristics.
-
-2016-06-24 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c: Include ipa-utils.h
- (tree_bb_level_prediction): Predict recursive calls.
- (tree_estimate_probability_bb): Skip inexpensive calls for call
- predictor.
- * predict.def (PRED_RECURSIVE_CALL): New.
-
-2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
- (BU_FLOAT128_1): Likewise.
- (FABSQ): Likewise.
- (COPYSIGNQ): Likewise.
- (RS6000_BUILTIN_NANQ): Likewise.
- (RS6000_BUILTIN_NANSQ): Likewise.
- (RS6000_BUILTIN_INFQ): Likewise.
- (RS6000_BUILTIN_HUGE_VALQ): Likewise.
- * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
- (TARGET_FOLD_BUILTIN): New #define.
- (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
- (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
- (rs6000_fold_builtin): New target hook implementation, handling
- folding of 128-bit NaNs and infinities.
- (rs6000_init_builtins): Initialize const_str_type_node; ensure all
- entries are filled in to avoid problems during bootstrap
- self-test; define builtins for 128-bit NaNs and infinities.
- (rs6000_opt_mask): Add entry for float128.
- * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
- (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
- (rs6000_builtin_type_index): Add RS6000_BTI_const_str.
- (const_str_type_node): New #define.
- * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
- to a define_expand that dispatches to either copysign<mode>3_soft
- or copysign<mode>3_hard.
- (copysign<mode>3_hard): Rename from copysign<mode>3.
- (copysign<mode>3_soft): New define_insn.
- * doc/extend.texi: Document new builtins.
-
-2016-06-24 Jakub Jelinek <jakub@redhat.com>
-
- * cfgloop.c (flow_loop_dump): Cast nit to uint64_t and print it using
- PRIu64 instead of lu.
-
-2016-06-24 Eric Botcazou <ebotcazou@adacore.com>
-
- PR debug/71642
- * tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just
- copy the type name.
-
-2016-06-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71647
- * omp-low.c (lower_rec_input_clauses): Convert
- omp_clause_aligned_alignment (c) to size_type_node for the
- last argument of __builtin_assume_aligned.
-
-2016-06-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure.ac (calling ___tls_get_addr via GOT): New
- assembler/linker check.
- (HAVE_AS_IX86_TLS_GET_ADDR_GOT): New. Defined to 1 if 32-bit
- assembler and linker supports calling ___tls_get_addr via GOT.
- Otherise, defined to 0.
- * config.in: Regenerated.
- * configure: Likewise.
- * config/i386/constraints.md (Yb): New constraint.
- * config/i386/i386.h (reg_class): Add TLS_GOTBASE_REGS.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/i386/i386.md (*tls_global_dynamic_32_gnu): Replace
- the b constraint with the Yb constraint. Call ___tls_get_addr
- via GOT for GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT
- is 1.
- (*tls_local_dynamic_base_32_gnu): Likewise.
- (*tls_global_dynamic_64_<mode>): Call _tls_get_addr via GOT for
- GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT is 1.
- (*tls_local_dynamic_base_64_<mode>): Likewise.
-
-2016-06-24 Martin Liska <mliska@suse.cz>
-
- * cfgloop.c (flow_loop_dump): Dump average number of loop iterations.
- * cfgloop.h: Change 'struct loop' to 'const struct loop' for a
- few functions.
- * cfgloopanal.c (expected_loop_iterations_unbounded): Set a new
- argument to true if the expected number of iterations is
- loop-based.
-
-2016-06-24 Uros Bizjak <ubizjak@gmail.com>
-
- * configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to
- assemble for 32bit target.
- (HAVE_AS_IX86_TLSGDPLT): Use $as_ix86_gas_32_opt to assemble
- and $ld_ix86_gld_32_opt to link for 32bit target.
- (HAVE_AS_IX86_TLSLDMPLT): Ditto.
- * configure: Regenerate.
-
-2016-06-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (int_log2): Delete definition and prototype.
- (shift_op): Use exact_log2 instead of int_log2.
- (vfp3_const_double_for_fract_bits): Likewise.
-
-2016-06-24 Jakub Jelinek <jakub@redhat.com>
-
- * internal-fn.c (expand_arith_set_overflow): New function.
- (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow):
- Use it.
- (expand_arith_overflow_result_store): Likewise. Handle precision
- smaller than mode precision.
- * tree-vrp.c (extract_range_basic): For imag part, handle
- properly signed 1-bit precision result.
- * doc/extend.texi (__builtin_add_overflow): Document that last
- argument can't be pointer to enumerated or boolean type.
- (__builtin_add_overflow_p): Document that last argument can't
- have enumerated or boolean type.
-
-2016-06-23 Michael Meissner <meissner@linux.vnet.ibm.com>
- Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/predicates.md (splat_input_operand): Rework.
- Don't allow constants, since the insns that use this predicate
- don't support constants. Constants are handled by other insns
- that are created via combine. During and after register
- allocation, only allow indexed or indirect addresses, and not
- general addresses. Only allow modes supported by the hardware.
- * config/rs6000/rs6000.c (xxsplitb_constant_p): Update usage
- comment. Move check for using VSPLTIS<x> to a common location,
- instead of doing it in two different places.
-
-2016-06-23 Jocelyn Mayer <l_indien@magic.fr>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Set
- PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
- <case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
- signature_CENTAUR_ebx.
-
-2016-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66232
- PR target/67400
- * configure.ac (as_ix86_tls_ldm_opt): Renamed to ...
- (as_ix86_gas_32_opt): This.
- (ld_ix86_tls_ldm_opt): Renamed to ...
- (ld_ix86_gld_32_opt): This.
- (R_386_TLS_LDM reloc): Updated.
- (R_386_GOT32X reloc): New assembler/linker check.
- (HAVE_AS_IX86_GOT32X): New. Defined to 1 if 32-bit assembler and
- linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT". Otherise,
- defined to 0.
- * config.in: Regenerated.
- * configure: Likewise.
- * config/i386/i386.c (ix86_force_load_from_GOT_p): Return
- true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode.
- (ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt
- if ix86_force_load_from_GOT_p returns true.
- (ix86_print_operand_address_as): Also support UNSPEC_GOT if
- ix86_force_load_from_GOT_p returns true.
- (ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load
- the external function address via the GOT slot.
- (ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and
- HAVE_AS_IX86_GOT32X before returning false.
- (ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in
- 32-bit mode if ix86_nopic_noplt_attribute_p returns true.
-
-2016-06-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant.
-
-2016-06-23 Andi Kleen <ak@linux.intel.com>
-
- * Makefile.in: Regenerate.
- * doc/install.texi: Document autoprofiledbootstrap.
-
-2016-06-23 Andi Kleen <ak@linux.intel.com>
-
- * config/i386/gcc-auto-profile: New file.
-
-2016-06-23 Martin Liska <mliska@suse.cz>
-
- PR middle-end/71619
- * predict.c (predict_loops): Revert the hunk that was removed
- in r237103.
-
-2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
-
- * config.gcc: Add support for arm*-*-phoenix* targets.
- * config/arm/t-phoenix: New.
- * config/phoenix.h: New.
-
-2016-06-23 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67400
- * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
- * config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
- (ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
- ix86_force_load_from_GOT_p returns true.
- (ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
- ix86_force_load_from_GOT_p returns true.
- (ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
- ix86_force_load_from_GOT_p returns true.
- (ix86_expand_move): Load the external function address via the
- GOT slot if ix86_force_load_from_GOT_p returns true.
- * config/i386/predicates.md (x86_64_immediate_operand): Return
- false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
- (x86_64_zext_immediate_operand): Ditto.
-
-2016-06-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.
-
-2016-06-22 David Malcolm <dmalcolm@redhat.com>
-
- PR c/70339
- * diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
- * diagnostic.c (pedwarn_at_rich_loc): New function.
- * spellcheck.h (best_match::best_match): Add a
- "best_distance_so_far" optional parameter.
- (best_match::set_best_so_far): New method.
- (best_match::get_best_distance): New accessor.
- (best_match::get_best_candidate_length): New accessor.
-
-2016-06-22 Nick Clifton <nickc@redhat.com>
-
- * dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
- place of GET_MODE_CLASS() == MODE_INT, so that partial integer
- modes are accepted as well.
- (ucompare_loc_descriptor): Likewise.
- (minmax_loc_descriptor): Likewise.
- (clz_loc_descriptor): Likewise.
- (popcount_loc_descriptor): Likewise.
- (bswap_loc_descriptor): Likewise.
- (rotate_loc_descriptor): Likewise.
- (mem_loc_descriptor): Likewise.
- (loc_descriptor): Likewise.
-
-2016-06-22 David Malcolm <dmalcolm@redhat.com>
-
- * common.opt (fdiagnostics-parseable-fixits): New option.
- * diagnostic.c: Include "selftest.h".
- (print_escaped_string): New function.
- (print_parseable_fixits): New function.
- (diagnostic_report_diagnostic): Call print_parseable_fixits.
- (selftest::assert_print_escaped_string): New function.
- (ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
- (selftest::test_print_escaped_string): New function.
- (selftest::test_print_parseable_fixits_none): New function.
- (selftest::test_print_parseable_fixits_insert): New function.
- (selftest::test_print_parseable_fixits_remove): New function.
- (selftest::test_print_parseable_fixits_replace): New function.
- (selftest::diagnostic_c_tests): New function.
- * diagnostic.h (struct diagnostic_context): Add field
- "parseable_fixits_p".
- * doc/invoke.texi (Diagnostic Message Formatting Options): Add
- -fdiagnostics-parseable-fixits.
- (-fdiagnostics-parseable-fixits): New option.
- * opts.c (common_handle_option): Handle
- -fdiagnostics-parseable-fixits.
- * selftest-run-tests.c (selftest::run_tests): Call
- selftest::diagnostic_c_tests.
- * selftest.h (selftest::diagnostic_c_tests): New prototype.
-
-2016-06-22 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/71488
- * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support
- comparison of boolean vectors.
- * tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison
- of boolean vectors using bitwise operations.
-
-2016-06-22 Andreas Schwab <schwab@suse.de>
-
- * config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
- Remove declaration.
-
-2016-06-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * function.c (assign_parm_setup_reg): Prevent sharing in another case.
-
-2016-06-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/i386/i386.c (print_reg): Emit an error message on attempt to
- print FLAGS_REG.
-
-2016-06-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_cortex_a73_tune): New struct.
- * config/arm/arm-cores.def (cortex-a73): New entry.
- (cortex-a73.cortex-a35): Likewise.
- (cortex-a73.cortex-a53): Likewise.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Likewise.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Handle mcpu=cortex-a73,
- mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
- * config/arm/t-aprofile: Handle mcpu=cortex-a73,
- mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
- * doc/invoke.texi (ARM Options): Document cortex-a73,
- cortex-a73.cortex-a35 and cortex-a73.cortex-a53.
-
-2016-06-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (cortexa73_tunings): New struct.
- * config/aarch64/aarch64-cores.def (cortex-a73): New entry.
- (cortex-a73.cortex-a35): Likewise.
- (cortex-a73.cortex-a53): Likewise.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (AArch64 Options): Document cortex-a73,
- cortex-a73.cortex-a35 and cortex-a73.cortex-a53 arguments to
- -mcpu and -mtune.
-
-2016-06-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_compress_debug): Remove
- --compress-debug-sections as extra as switch.
- Handle gas --compress-debug-sections=type.
- (gcc_cv_ld_compess_debug): Remove bogus ld_date check.
- Handle gld --compress-debug-sections=type.
- * configure: Regenerate.
-
-2016-06-21 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * bb-reorder.c (pass_partition_blocks::gate): Update comment.
-
-2016-06-21 John David Anglin <danglin@gcc.gnu.org>
-
- * gcov-tool.c (profile_rewrite): Use int64_t instead of long long.
- (do_rewrite): likewise.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * common/config/mep/mep-common.c: Remove.
- * config.gcc: Remove mep-* support.
- * config/mep/constraints.md: Remove.
- * config/mep/default.h: Remove.
- * config/mep/intrinsics.h: Remove.
- * config/mep/intrinsics.md: Remove.
- * config/mep/ivc2-template.h: Remove.
- * config/mep/mep-c5.cpu: Remove.
- * config/mep/mep-core.cpu: Remove.
- * config/mep/mep-default.cpu: Remove.
- * config/mep/mep-ext-cop.cpu: Remove.
- * config/mep/mep-intrin.h: Remove.
- * config/mep/mep-ivc2.cpu: Remove.
- * config/mep/mep-pragma.c: Remove.
- * config/mep/mep-protos.h: Remove.
- * config/mep/mep.c: Remove.
- * config/mep/mep.cpu: Remove.
- * config/mep/mep.h: Remove.
- * config/mep/mep.md: Remove.
- * config/mep/mep.opt: Remove.
- * config/mep/predicates.md: Remove.
- * config/mep/t-mep: Remove.
- * doc/install.texi: Remove mep-* documentation.
- * doc/md.texi: Likewise.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove support for avr-rtems.
- * config/avr/gen-avr-mmcu-specs.c: Likewise.
- * config/avr/rtems.h: Remove.
- * config/avr/t-rtems: Remove.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove m32r-rtems support.
- * config/m32r/rtems.h: Remove.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove h8300-rtems support.
- * config/h8300/rtems.h: Remove.
- * config/h8300/t-rtems: Remove.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove support for knetbsd.
- * configure.ac: Likewise.
- * config/i386/knetbsd-gnu.h: Remove. * config/i386/knetbsd-gnu64.h: Remove.
- * config/knetbsd-gnu.h: Remove.
- * configure: Regenerate.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove support for openbsd 2 and 3.
- * config/openbsd-oldgas.h: Remove.
-
-2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Remove interix support.
- * config/i386/i386-interix.h: Remove.
- * config/i386/interix.opt: Remove.
- * config/i386/t-interix: Remove.
- * configure: Regenerate.
- * configure.ac: Remove interix support.
- * doc/install.texi: Remove interix documentation.
-
-2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/rs6000.h: Add conditional preprocessing directives
- to disable Power9-specific compiler features if HAVE_AS_POWER9 is
- not defined.
-
-2016-06-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
- they are both PLACEHOLDER_EXPRs.
-
-2016-06-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * stor-layout.c (layout_type): Move setting complex MODE to
- layout_type, instead of setting it ahead of time by the caller.
- * tree.c (build_complex_type): Likewise.
-
-2016-06-21 Martin Liska <mliska@suse.cz>
-
- * predict.c (force_edge_cold): Replace imposisble with
- impossible.
-
-2016-06-21 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/i386.c (ix86_emit_swsqrtsf): Emit vrsqrt28ps.
- * config/i386/sse.md (define_expand "rsqrtv16sf2"): New.
-
-2016-06-21 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/i386.c (ix86_emit_swdivsf): Emit vrcp28ps.
-
-2016-06-21 H.J. Lu <hongjiu.lu@intel.com>
- Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/71549
- * config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
- New member function to convert V1TImode register to SUBREG
- TImode in debug insn.
- (timode_scalar_chain::convert_insn): Call fix_debug_reg_uses
- after changing register mode to V1TImode.
-
-2016-06-21 Virendra Pathak <virendra.pathak@broadcom.com>
-
- * config/aarch64/aarch64-cores.def (vulcan): New core.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi: Document vulcan as an available option.
-
-2016-06-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * cse.c (canon_asm_operands): New function extracted from...
- (canonicalize_insn): ...here. Call it to canonicalize an ASM_OPERANDS
- either standalone or member of a PARALLEL.
-
-2016-06-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/30417
- * config/avr/gen-avr-mmcu-specs.c (print_mcu):
- [*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
- [*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
-
-2016-06-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/71103
- * config/avr/avr.md (movqi): Only handle loading subreg:qi of
- constant addresses if can_create_pseudo_p.
-
-2016-06-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71588
- * tree-ssa-strlen.c (valid_builtin_call): New function.
- (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
- it.
-
-2016-06-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71581
- * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
- see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
- for conversion of scalar user var to complex type and use the
- underlying SSA_NAME_VAR in that case. If EXPR is still NULL,
- punt.
-
- PR rtl-optimization/71591
- * toplev.c (toplev::run_self_tests): If no_backend, complain and
- don't run any tests.
-
-2016-06-20 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/71571
- * config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba"
- delay-slot "nop" for PIC with CRIS v32. Also add missing leading
- space for PIC with non-v32 and the common non-PIC "jump".
-
-2016-06-20 Jakub Jelinek <jakub@redhat.com>
-
- PR target/71559
- * config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
- returned values and add UN*/LTGT/*ORDERED cases with values matching
- D operand modifier on vcmp for AVX.
-
-2016-06-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.opt
- (mpc-relative-literal-loads): Rename internal option name.
- * config/aarch64/aarch64.c
- (aarch64_nopcrelative_literal_loads): Rename to
- aarch64_pcrelative_literal_loads.
- (aarch64_expand_mov_immediate): Likewise.
- (aarch64_secondary_reload): Likewise.
- (aarch64_can_use_per_function_literal_pools_p): Likewise.
- (aarch64_override_options_after_change_1): Rename and simplify logic.
- (aarch64_classify_symbol): Merge large model checks into switch,
- remove pc-relative load check.
-
-2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
- costs relative to the cost of a register move.
-
-2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
- (vcvt_n_f64_u64): Likewise.
- (vcvt_n_s64_f64): Likewise.
- (vcvt_n_u64_f64): Likewise.
- (vcvt_f64_s64): Likewise.
- (vrecpe_f64): Likewise.
- (vcvt_f64_u64): Likewise.
- (vrecps_f64): Likewise.
-
-2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md
- (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3): Add attributes to
- iterators.
- (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>3): Likewise. Correct
- attributes.
- * config/aarch64/aarch64-builtins.c
- (aarch64_types_binop_uss_qualifiers): Delete.
- (TYPES_BINOP_USS): Likewise.
- (aarch64_types_binop_sus_qualifiers): Likewise.
- (TYPES_BINOP_SUS): Likewise.
- (aarch64_types_fcvt_from_unsigned_qualifiers): New.
- (TYPES_FCVTIMM_SUS): Likewise.
- * config/aarch64/aarch64-simd-builtins.def (scvtf): Use SHIFTIMM
- rather than BINOP.
- (ucvtf): Use FCVTIMM_SUS rather than BINOP_SUS.
- (fcvtzs): Use SHIFTIMM rather than BINOP.
- (fcvtzu): Use SHIFTIMM_USS rather than BINOP_USS.
-
-2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
- costs relative to the cost of a register move.
-
-2016-06-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_modes_tieable_p):
- Allow scalar/single vector modes to be tieable.
-
-2016-06-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.
-
-2016-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
- "alignement".
- * tree.h (TYPE_ALIGN): Likewise.
-
-2016-06-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/71103
- * config/avr/avr.md (movqi): Handle loading subreg:qi (const).
-
-2016-06-20 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_print_operand): Fix "format not a string
- literal" build warnings.
- (avr_print_operand_address): Dito.
-
-2016-06-19 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/71375
- * config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
- * config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.
-
-2016-06-18 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.
-
-2016-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/71435
- * reload1.c (reload): Pass 0 to finish_spills when called because
- update_eliminables_and_spill returns true and remove did_spill.
- (finish_spills): Adjust comment and document GLOBAL parameter.
-
-2016-06-17 DJ Delorie <dj@redhat.com>
-
- PR target/71338
- * config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
- * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
- (umulqihi3_virt): Likewise.
- * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
- (umulqihi3_real): Likewise.
-
-2016-06-17 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-reassoc.c (transform_add_to_multiply): Use auto_vec.
-
-2016-06-17 Martin Liska <mliska@suse.cz>
-
- * predict.def: PRED_LOOP_EXIT from 92 to 85.
-
-2016-06-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm_neon.h (vadd_f32): replace __FAST_MATH with
- __FAST_MATH__.
- (vaddq_f32): Likewise.
- (vmul_f32): Likewise.
- (vmulq_f32): Likewise.
- (vsub_f32): Likewise.
- (vsubq_f32): Likewise.
-
-2016-06-17 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/71347
- * tree-ssa-loop-ivopts.c (determine_group_iv_cost_address): Compute
- cost for all uses in group.
-
-2016-06-17 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Only
- insert gimple seq if it's not empty.
-
-2016-06-17 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vectorizer.h (struct dr_with_seg_len): Remove class
- member OFFSET.
- * tree-vect-data-refs.c (operator ==): Handle DR_OFFSET directly,
- rather than OFFSET.
- (comp_dr_with_seg_len_pair): Ditto.
- (vect_prune_runtime_alias_test_list): Ditto. Also Canonicalize
- struct dr_with_seg_len_pair against DR_OFFSET.
- * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Handle
- DR_OFFSET directly.
-
-2016-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/geniterators.sh: Handle parenthesised conditions.
-
-2016-06-16 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_pic_pcrel_sequence): New.
- (pa_output_lbranch): Use pa_output_pic_pcrel_sequence.
- (pa_output_millicode_call): Likewise.
- (pa_output_call): Likewise.
- (pa_output_indirect_call): Likewise.
- (pa_asm_output_mi_thunk): Likewise.
-
-2016-06-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo.
-
-2016-06-16 Martin Liska <mliska@suse.cz>
-
- * predict.c (combine_predictions_for_insn): When we find a first
- match predictor, we should consider just predictors with
- PRED_FLAG_FIRST_MATCH. Print either first match (if any) or
- DS theory predictor.
- (combine_predictions_for_bb): Likewise.
-
-2016-06-16 Jakub Jelinek <jakub@redhat.com>
-
- * gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
- with base of reference to struct.
-
-2016-06-16 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/invoke.texi (x86 Options): Document -m80387 and -mhard-float.
-
-2016-06-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/71151
- * config/avr/avr.c (avr_asm_init_sections): Remove setup of
- progmem_swtable_section.
- (progmem_swtable_section): Remove.
- (avr_asm_function_rodata_section): Remove.
- (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
- * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION: Define to 1.
-
-2016-06-16 Jocelyn Mayer <l_indien@magic.fr>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Set
- PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
- <case PROCESSOR_K8>: Pass nano-3000, nano, eden-x2 or k8 for
- signature_CENTAUR_ebx.
- * config/i386/i386.c (ix86_option_override_internal): Add
- definitions for VIA c7, samuel-2, nehemiah, esther, eden-x2, eden-x4,
- nano, nano-1000, nano-2000, nano-3000, nano-x2 and nano-x4.
- * doc/invoke.texi (x86 Options): Document new VIA -march entries.
-
-2016-06-16 Martin Liska <mliska@suse.cz>
-
- * predict.def: Add fortran loop preheader predictor.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Properly
- fold IFN_BUILTIN_EXPECT with a known constant argument.
-
-2016-06-16 Martin Liska <mliska@suse.cz>
-
- * predict.def: Add 'Fortran' to display text of all
- PRED_FORTRAN_* predictors.
-
-2016-06-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71242
- * config/ia64/ia64.c (enum ia64_builtins) [IA64_BUILTIN_NANQ]: New.
- [IA64_BUILTIN_NANSQ]: Ditto.
- (ia64_fold_builtin): New function.
- (TARGET_FOLD_BUILTIN): New define.
- (ia64_init_builtins) Declare const_string_type node.
- Add __builtin_nanq and __builtin_nansq builtin functions.
- (ia64_expand_builtin): Handle IA64_BUILTIN_NANQ and IA64_BUILTIN_NANSQ.
-
-2016-06-16 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430-opts.h (msp430_hwmult_types): Add
- MSP430_HWMULT_ prefix to enum values.
- (msp430_regions): Add MSP430_REGION_ prefix to enum values.
- * config/msp430/msp430.c: Update use of enum values.
- * config/msp430/msp430.md: Likewise.
- * config/msp430/msp430.opt: Likewise.
-
-2016-06-16 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix estimation
- of comparsions in the last iteration.
-
-2016-06-16 Claudiu Zissulescu <claziss@synopsys.com>
- Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/arc/arc.c (arc_print_operand_address): Handle pc-relative
- addresses.
- (arc_needs_pcl_p): Add GOTOFFPC.
- (arc_legitimate_pic_addr_p): Likewise.
- (arc_output_pic_addr_const): Likewise.
- (arc_legitimize_pic_address): Generate a pc-relative address using
- GOTOFFPC.
- (arc_output_libcall): Use @pcl syntax.
- (arc_delegitimize_address_0): Delegitimize ARC_UNSPEC_GOTOFFPC.
- * config/arc/arc.md ("unspec"): Add ARC_UNSPEC_GOTOFFPC.
- (*movsi_insn): Use @pcl syntax.
- (doloop_begin_i): Likewise.
-
-2016-06-16 Martin Liska <mliska@suse.cz>
-
- * predict.def: Define a new predictor.
-
-2016-06-16 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.opt (mtp-regno): Update text.
-
-2016-06-16 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.
-
-2016-06-16 Jakub Jelinek <jakub@redhat.com>
-
- PR target/71554
- * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
- (setcc + and peephole2): Likewise.
-
- PR rtl-optimization/71532
- * cse.c (cse_insn): For const/pure calls, invalidate argument passing
- memory slots.
-
-2016-06-15 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
- DImode constants with XXSPLTIB in vector registers.
- (vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
- vsx_extract_<mode>_internal{1,2} into a single insn that handles
- direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
- extraction of the element at the top of the register as a scalar
- value.
- (vsx_extract_<mode>_internal1): Likewise.
- (vsx_extract_<mode>_internal2): Likewise.
- * config/rs6000/constraints.md (wi constraint): Remove a comment
- about DImode not being allowed in Altivec registers.
- (wB constraint): New constraint for constants that can be
- generated in Altivec registers with VSPLTISW/VUPKHSW.
- * config/rs6000/predicates.md (xxspltib_constant_split): Update
- comments.
- (xxspltib_constant_nosplit): Likewise.
- * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
- support for -mupper-regs-di to enable DImode to go into Altivec
- registers.
- (POWERPC_MASKS): Likewise.
- (power7 cpu): Likewise.
- * config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
- for DImode being allowed in Altivec registers. Update wi/wj
- constraints. Set scalar_in_vmx_p flag.
- (rs6000_option_override_internal): Add checks for -mupper-regs-di.
- (xxspltib_constant_p): Allow CONST_INT's with VOIDmode. Don't
- return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
- (rs6000_opt_masks): Add -mupper-regs-di.
- * config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
- direct move to use wi and not wj.
- (lfiwzx): Likewise.
- (floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
- alternative.
- (floatunssi<mode>2_lfiwzx_mem): Likewise.
- (fix_trunc<mode>di2_fctidz): Change second alternative to allow
- any VSX register, instead of just Altivec registers, to allow
- either operand to be an Altivec register or both.
- (fixuns_trunc<mode>di2_fctiduz): Likewise.
- (movdi_internal32): Add support for -mupper-regs-di. Add support
- to load constants via XXSPLTIB or VSPLTISW. Add spacing to allow
- the alternatives and attributes to be lined up to be easier to
- read.
- (movdi_internal64): Likewise.
- (64-bit DImode splitters): Change predicates to only split loading
- up GPR registers. Add splits for using XXSPLTIB or VSPLTISW to
- load constants in ISA 3.0 or ISA 2.07 respectively.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document
- -mupper-regs-di. Update -mupper-regs-df and -mupper-regs-sf to
- mention -mcpu=power9 sets these options.
- * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
- wB constraint.
-
-2016-06-15 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- PR target/67353
- * config/avr/avr.c (avr_set_current_function): Warn misspelled
- interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
- * config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
- by default to warn misspelled interrupt/ signal handler.
- * doc/invoke.texi (AVR Options): Document it. Update description
- for -nodevicelib option.
-
-2016-06-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
- up parentheses. Use GET_MODE_UNIT_BITSIZE.
- (aarch64_<sur>shll2_n<mode>): Likewise.
-
-2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/71529
- * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
- DECL_CONTEXT for copied arguments.
-
-2016-06-15 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71483
- * tree-vect-loop.c (vectorizable_live_operation): Pick correct index
- for slp
-
-2016-06-15 Martin Liska <mliska@suse.cz>
-
- * predict.c (tree_predict_by_opcode): Call predict_edge_def
- instead of predict_edge w/o a probability.
-
-2016-06-15 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71439
- * tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
- live PHIs.
-
-2016-06-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
- register subregs in SET_SRC.
-
-2016-06-15 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_store): Remove strided grouped
- store restrictions.
-
-2016-06-15 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
- not consider dependences between accesses that belong to the
- same group.
- (vect_analyze_data_ref_dependences): Do not analyze read-read
- or self-dependences.
-
-2016-06-14 David Malcolm <dmalcolm@redhat.com>
-
- * spellcheck-tree.c: Include spellcheck-tree.h rather than
- spellcheck.h.
- (find_closest_identifier): Reimplement in terms of
- best_match<tree,tree>.
- * spellcheck-tree.h: New file.
- * spellcheck.c (struct edit_distance_traits<const char *>): New
- struct.
- (find_closest_string): Reimplement in terms of
- best_match<const char *, const char *>.
- * spellcheck.h (levenshtein_distance): Move prototype of tree-based
- overload to spellcheck-tree.h.
- (find_closest_identifier): Likewise.
- (struct edit_distance_traits<T>): New template.
- (class best_match): New class.
-
-2016-06-14 David Malcolm <dmalcolm@redhat.com>
-
- * selftest-run-tests.c (selftest::run_tests): Call
- selftest::spellcheck_tree_c_tests.
- * selftest.h (selftest::spellcheck_tree_c_tests): New decl.
- * spellcheck-tree.c: Include selftest.h and stringpool.h.
- (selftest::test_find_closest_identifier): New function.
- (selftest::spellcheck_tree_c_tests): New function.
- * spellcheck.c (selftest::test_find_closest_string): Verify that
- the order of the vec does not affect the results for this case.
- (selftest::test_data): New array.
- (selftest::test_metric_conditions): New function.
- (selftest::spellcheck_c_tests): Add a test of case-comparison.
- Call selftest::test_metric_conditions.
-
-2016-06-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (commentary): Typo.
- (BU_P9_MISC_1): Likewise.
- (BU_P9_64BIT_MISC_0): Likewise.
- (BU_P9_MISC_0): Likewise.
-
-2016-06-14 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-rich-location.c
- (gcc_rich_location::add_fixit_misspelled_id): New method.
- * gcc-rich-location.h
- (gcc_rich_location::add_fixit_misspelled_id): Add decl.
-
-2016-06-14 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/freebsd.h: Only enable unaligned access for armv6 on
- FreeBSD 11 and above.
-
-2016-06-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.
-
-2016-06-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.h: Close parenthesis in "at your option" in copyright
- boilerplate.
- * lower-subreg.h: Likewise.
-
-2016-06-14 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71526
- * genmatch.c (expr::gen_transform): Use in_type for comparisons
- if available.
-
-2015-06-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
- New function.
- (aarch64_rtx_costs): Use it. Rewrite CONST_INT_P (op1) case to handle
- mask+shift version.
- * config/aarch64/aarch64-protos.h (aarch64_mask_and_shift_for_ubfiz_p):
- New prototype.
- * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Replace
- matching condition with aarch64_mask_and_shift_for_ubfiz_p.
-
-2016-06-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71522
- * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
- copying into float copying.
-
-2016-06-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71520
- * tree-ssa-tail-merge.c (find_duplicate): Handle labels.
- (replace_block_by): Move user labels from bb1 to bb2.
-
-2016-06-14 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71310
- PR bootstrap/71510
- * expr.h (get_bit_range): Declare.
- * expr.c (get_bit_range): Export.
- * fold-const.c (optimize_bit_field_compare): Use get_bit_range and
- word_mode again to constrain the bitfield access.
-
-2016-06-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71521
- * tree-vrp.c (extract_range_from_binary_expr_1): Guard
- division int_const_binop against zero divisor.
-
-2016-06-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (signbittf2): New expander.
- * config/i386/sse.md (ptesttf2): New insn pattern.
-
-2016-06-13 David Malcolm <dmalcolm@redhat.com>
-
- PR bootstrap/71481
- * input.c (selftest::test_reading_source_line): Avoid reading from
- __FILE__ by creating a tempfile with known content and reading
- from that instead.
-
-2016-06-13 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.c (assert_pp_format_colored): Skip the test if
- GCC_COLORS is set.
- (test_pp_format): Remove comment about GCC_COLORS.
-
-2016-06-13 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (test_reading_source_line): Use SELFTEST_LOCATION.
- * pretty-print.c (assert_pp_format_va): Add location param and use
- it with ASSERT_STREQ_AT.
- (assert_pp_format): Add location param and pass it to
- assert_pp_format_va.
- (assert_pp_format_colored): Likewise.
- (ASSERT_PP_FORMAT_1): New.
- (ASSERT_PP_FORMAT_2): New.
- (ASSERT_PP_FORMAT_3): New.
- (test_pp_format): Provide SELFTEST_LOCATION throughout, either
- explicitly, or implicitly via the above macros.
- * selftest.c (selftest::pass): Use a selftest::location rather
- than file and line.
- (selftest::fail): Likewise. Print the function name.
- (selftest::fail_formatted): Likewise.
- (selftest::assert_streq): Use a selftest::location rather than
- file and line.
- * selftest.h (selftest::location): New struct.
- (SELFTEST_LOCATION): New macro.
- (selftest::pass): Accept a const location & rather than file
- and line.
- (selftest::fail): Likewise.
- (selftest::fail_formatted): Likewise.
- (selftest::assert_streq): Likewise.
- (ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
- (ASSERT_FALSE): Likewise.
- (ASSERT_EQ): Likewise.
- (ASSERT_NE): Likewise.
- (ASSERT_STREQ): Likewise.
- (ASSERT_PRED1): Likewise.
- (ASSERT_STREQ_AT): New macro.
-
-2016-06-13 David Malcolm <dmalcolm@redhat.com>
-
- * selftest.c (selftest::fail_formatted): New function.
- (selftest::assert_streq): New function.
- * selftest.h (selftests::fail_formatted): New decl.
- (selftest::assert_streq): New decl.
- (ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.
-
-2016-06-13 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71403
- * tree-ssa-threadbackward.c
- (convert_and_register_jump_thread_path): No longer accept reference
- to path. Do not pop items off the path anymore.
- (fsm_find_control_statement_thread_paths): Do not allow threading
- to a deeper loop nest. Pop the last item off the path here rather
- than in convert_and_register_jump_thread_path.
-
-2016-06-13 Evandro Menezes <e.menezes@samsung.com>
- Wilco Dijkstra <Wilco.Dijkstra@arm.com>
-
- [AArch64] Emit division using the Newton series
-
- * config/aarch64/aarch64-protos.h
- (cpu_approx_modes): Add new member "division".
- (aarch64_emit_approx_div): Declare new function.
- * config/aarch64/aarch64.c
- (generic_approx_modes): New member "division".
- (exynosm1_approx_modes): Likewise.
- (xgene1_approx_modes): Likewise.
- (aarch64_emit_approx_div): Define new function.
- * config/aarch64/aarch64.md ("div<mode>3"): New expansion.
- * config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
- * config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
- * doc/invoke.texi (-mlow-precision-div): Describe new option.
-
-2016-06-13 Evandro Menezes <e.menezes@samsung.com>
- Wilco Dijkstra <wilco.dijkstra@arm.com>
-
- [AArch64] Emit square root using the Newton series
-
- * config/aarch64/aarch64-protos.h
- (aarch64_emit_approx_rsqrt): Replace with new function
- "aarch64_emit_approx_sqrt".
- (cpu_approx_modes): New member "sqrt".
- * config/aarch64/aarch64.c
- (generic_approx_modes): New member "sqrt".
- (exynosm1_approx_modes): Likewise.
- (xgene1_approx_modes): Likewise.
- (aarch64_emit_approx_rsqrt): Replace with new function
- "aarch64_emit_approx_sqrt".
- (aarch64_override_options_after_change_1): Handle new option.
- * config/aarch64/aarch64-simd.md
- (rsqrt<mode>2): Use new function instead.
- (sqrt<mode>2): New expansion and insn definitions.
- * config/aarch64/aarch64.md: Likewise.
- * config/aarch64/aarch64.opt
- (mlow-precision-sqrt): Add new option description.
- * doc/invoke.texi (mlow-precision-sqrt): Likewise.
-
-2016-06-13 Evandro Menezes <e.menezes@samsung.com>
-
- [AArch64] Add more choices for the reciprocal square root approximation
-
- Allow a target to prefer such operation depending on the operation mode.
-
- * config/aarch64/aarch64-protos.h
- (AARCH64_APPROX_MODE): New macro.
- (AARCH64_APPROX_{NONE,ALL}): Likewise.
- (cpu_approx_modes): New structure.
- (tune_params): New member "approx_modes".
- * config/aarch64/aarch64-tuning-flags.def
- (AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
- * config/aarch64/aarch64.c
- (generic_approx_modes): New core "cpu_approx_modes" structure.
- (exynosm1_approx_modes): Likewise.
- (xgene1_approx_modes): Likewise.
- (generic_tunings): New member "approx_modes".
- (cortexa35_tunings): Likewise.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (cortexa72_tunings): Likewise.
- (exynosm1_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (use_rsqrt_p): New argument for the mode and use new member from
- "tune_params".
- (aarch64_builtin_reciprocal): Devise mode from builtin.
- (aarch64_optab_supported_p): New argument for the mode.
- * doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.
-
-2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
- RS6000_BTM_MODULO flag into the set of flags that are considered
- to be part of the common configuration.
-
-2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.h (vec_absd): New macro for vector absolute
- difference unsigned.
- (vec_absdb): New macro for vector absolute difference unsigned
- byte.
- (vec_absdh): New macro for vector absolute difference unsigned
- half-word.
- (vec_absdw): New macro for vector absolute difference unsigned word.
- * config/rs6000/altivec.md (UNSPEC_VADU): New value.
- (vadu<mode>3): New insn.
- (*p9_vadu<mode>3): New insn.
- * config/rs6000/rs6000-builtin.def (vadub): New built-in
- definition.
- (vaduh): New built-in definition.
- (vaduw): New built-in definition.
- (vadu): New overloaded built-in definition.
- (vadub): New overloaded built-in definition.
- (vaduh): New overloaded built-in definition.
- (vaduw): New overloaded built-in definition.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded vector absolute difference unsigned functions.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
- the ISA 3.0 vector absolute difference unsigned built-in functions.
-
-2016-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
- update shared_lookup_references only once after changing operands.
-
-2016-06-13 Thomas Schwinge <thomas@codesourcery.com>
-
- PR middle-end/71373
- * tree-nested.c (convert_nonlocal_omp_clauses)
- (convert_local_omp_clauses): Document missing OMP_CLAUSE_*.
-
- * tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
- * tree.def (CASE_LABEL_EXPR): Likewise.
-
-2016-06-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR bootstrap/71481
- * input.c (test_builtins): Fix an assertion.
-
-2016-06-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
- (paritysi2): Ditto.
- (isinfxf2): Ditto.
- (isinf<mode>2): Ditto.
-
-2016-06-13 Uros Bizjak <ubizjak@gmail.com>
-
- * ggc-tests.c (test_finalization): Only test need_finalization_p
- for GCC_VERSION >= 4003.
-
-2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vecintrin.h: Fix file description in comment.
-
-2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Change builtin type naming
- scheme to match builtin-types.def.
-
-2016-06-13 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (optimize_minmax_comparison): Remove.
- (fold_comparison): Remove call to the above.
- * match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
- New transformations.
-
-2016-06-13 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71416
- * tree-vect-loop.c (vectorizable_live_operation): Let worklist have
- multiple entries
-
-2016-06-13 Martin Liska <mliska@suse.cz>
-
- * predict.c (enum predictor_reason): Prefix enum with REASON_.
- (combine_predictions_for_insn): Likewise.
- (prune_predictions_for_bb): Likewise.
- (combine_predictions_for_bb): Likewise.
-
-2016-06-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71505
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
- assert match comment.
-
-2016-06-13 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/71476
- * gimplify.c (maybe_warn_switch_unreachable): Factored out of
- gimplify_switch_expr.
- (warn_switch_unreachable_r): New function.
-
-2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/71379
- * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
- one.
-
-2016-06-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64516
- * fold-const.c (fold_unary_loc): Preserve alignment when
- folding a VIEW_CONVERT_EXPR into a MEM_REF.
-
-2016-06-13 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/71458
- * toplev.c (process_options): Do not enable -fcheck-pointer-bounds
- w/ -fsanitize=bounds.
-
-2016-06-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_init_builtins): Calculate
- FLOAT128_FTYPE_CONST_STRING function type only once.
- * doc/extend.texi (x86 Built-in Functions): Update text, __float128
- built-in functions are available for x86-32 and x86-64 targets.
-
-2016-06-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71241
- * config/i386/i386.i386-builtin-types.def (CONST_STRING):
- New primitive type.
- (FLOAT128_FTYPE_CONST_STRING): New function type.
- * config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
- [IX86_BUILTIN_NANSQ]: Ditto.
- (ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
- (ix86_init_builtin_types): Declare const_string_type_node.
- (ix86_init_builtins): Add __builtin_nanq and __builtin_nansq
- builtin functions.
- (ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
- * doc/extend.texi (x86 Built-in Functions): Document
- __builtin_nanq and __builtin_nansq.
-
-2016-06-11 Jiong Wang <jiong.wang@arm.com>
-
- PR target/71061
- * config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
- * config/arm/arm.c (arm_attr_length_pop_multi): New function to return
- length for pop patterns.
- (arm_attr_length_push_multi): Update comments.
- * config/arm/arm.md (*load_multiple_with_writeback): Set "length"
- attribute.
- (*pop_multiple_with_writeback_and_return): Likewise.
- (*pop_multiple_with_return): Likewise.
-
-2016-06-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR middle-end/71310
- * fold-const.c (optimize_bit_field_compare): Don't try to use
- word_mode unconditionally for reading the bit field, look at
- DECL_BIT_FIELD_REPRESENTATIVE instead.
-
-2016-06-11 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71478
- * tree-ssa-reassoc.c (reassociate_bb): Remove (-1) from ops list for
- vector integer type.
-
-2016-06-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71494
- * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
- without LABEL_DECL, set *handled_ops_p to false instead of true.
-
-2016-06-10 Martin Sebor <msebor@redhat.com>
-
- PR c/71392
- * builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
- (ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
- * builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
- them.
- (BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
- (BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
- (BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
- (BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
- (BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
- (BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
- (BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
- (BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): Same.
-
-2016-06-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/arm/arm.h (pool_vector_label,
- return_used_this_function): Remove.
-
-2016-06-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71335
- * tree-ssa-threadbackward.c (profitable_jump_thread_path): Filter out
- zero length paths here.
- (convert_and_register_jump_thread_path): Remove hacks related to
- duplicated blocks in the jump thread path.
- (fsm_find_control_statement_thread_paths): Avoid putting the same
- block on the thread path twice, but ensure the thread path is
- unchanged from the caller's point of view.
-
-2016-06-10 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (predict_loops): Remove PRED_LOOP_BRANCH.
- * predict.def (PRED_LOOP_BRANCH): Remove.
-
-2016-06-10 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add ggc-tests.o.
- (GTFILES): Add ggc-tests.c.
- * ggc-tests.c: New file.
- * selftest-run-tests.c (selftest::run_tests): Call
- selftest::ggc_tests_c_tests.
- * selftest.h (selftest::ggc_tests_c_tests): New prototype.
-
-2016-06-10 Alexander Monakov <amonakov@ispras.ru>
-
- * match.pd (-1 / B < A): Use :c to avoid pattern duplication.
-
-2016-06-10 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- PR sanitizer/71480
- * varasm.c (place_block_symbol): Adjust alignment for asan protected
- STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.
-
-2016-06-10 Jan Hubicka <hubicka@ucw.cz>
-
- * profile.c: Include cfgloop.h.
- (branch_prob): Compute estimated number of iterations.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
- recompute estimate number of iterations from profile.
-
-2016-06-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR inline-asm/68843
- * reg-stack.c (check_asm_stack_operands): Explicit input arguments
- must be grouped on top of stack. Don't force early clobber
- on ordinary reg outputs.
-
-2016-06-10 Richard Biener <rguenther@suse.de>
-
- * targhooks.c (default_builtin_vectorization_cost): Adjust
- vec_construct cost.
-
-2016-06-10 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_builtin_memory_op): Make sure
- to fold the RHS to a constant if possible.
-
-2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
-
- PR middle-end/71373
- * tree-nested.c (convert_nonlocal_omp_clauses)
- (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
- OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
- OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
-
- * gimplify.c (gimplify_adjust_omp_clauses): Discard
- OMP_CLAUSE_TILE.
- * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
-
- * omp-low.c (scan_sharing_clauses): Don't expect
- OMP_CLAUSE__CACHE_.
-
-2016-06-10 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/71407
- PR tree-optimization/71416
- * tree-vect-loop.c (vectorizable_live_operation): Use vectype for
- BIT_FIELD_REF type.
-
-2016-06-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71477
- * cfgloop.c (alloc_loop): Initialize nb_iterations_likely_upper_bound.
-
-2016-06-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
-
-2016-06-09 Vladimir Makarov <vmakarov@redhat.com>
- Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/70751
- * lra-constraints.c (process_alt_operands): Recognize Non-pseudo
- spilled into memory.
-
-2016-06-09 Jonathan Yong <10walls@gmail.com>
-
- Revert:
- 2015-09-21 Jonathan Yong <10walls@gmail.com>
-
- * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
- sysroot/usr/lib/32api for additional win32 libraries,
- fixes failing Cygwin bootstrapping.
-
-2016-06-09 Marcin Baczyński <marbacz@gmail.com>
-
- * diagnostic.h (diagnostic_line_cutoff, diagnostic_flush_buffer):
- Delete.
-
-2016-06-09 David Malcolm <dmalcolm@redhat.com>
-
- PR bootstrap/71471
- * pretty-print.c (pp_indent): Specify that %p is printed in a
- host-dependent manner.
- (test_pp_format): Remove the test for %p.
-
-2016-06-09 Maciej W. Rozycki <macro@imgtec.com>
-
- * config/mips/mips.c (mips_output_jump): Fix formatting.
-
-2016-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71462
- * tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
- removed blocks.
-
-2016-06-09 Martin Liska <mliska@suse.cz>
-
- * predict.c (dump_prediction): Add new argument.
- (enum predictor_reason): New enum.
- (struct predictor_hash): New struct.
- (predictor_hash::hash): New function.
- (predictor_hash::equal): Likewise.
- (not_removed_prediction_p): New function.
- (prune_predictions_for_bb): Likewise.
- (combine_predictions_for_bb): Prune predictions.
-
-2016-06-09 Martin Liska <mliska@suse.cz>
-
- * predict.c (filter_predictions): New function.
- (remove_predictions_associated_with_edge): Use the filter
- function.
- (equal_edge_p): New function.
-
-2016-06-09 Stefan Bruens <stefan.bruens@rwth-aachen.de>
-
- * doc/invoke.texi (ARM Options): Use lexicographical ordering.
- Correct usage of @samp vs @option, add @samp where appropriate.
- Add -march={armv6k,armv6z,arm6zk}, remove -march=ep9312.
- Add armv6s-m and document it, as it is no official ARM name.
-
-2016-06-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (struct noce_if_info): Add transform_name field.
- (noce_try_move): Set if_info->transform_name to the function name.
- (noce_try_ifelse_collapse): Likewise.
- (noce_try_store_flag): Likewise.
- (noce_try_inverse_constants): Likewise.
- (noce_try_store_flag_constants): Likewise.
- (noce_try_addcc): Likewise.
- (noce_try_store_flag_mask): Likewise.
- (noce_try_cmove): Likewise.
- (noce_try_cmove_arith): Likewise.
- (noce_try_minmax): Likewise.
- (noce_try_abs): Likewise.
- (noce_try_sign_mask): Likewise.
- (noce_try_bitop): Likewise.
- (noce_convert_multiple_sets): Likewise.
- (noce_process_if_block): Print if_info->transform_name to
- dump_file if transformation succeeded.
-
-2016-06-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/cortex-a57.md (cortex_a57_alu):
- Handle csel type.
-
-2016-06-08 Martin Sebor <msebor@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70507
- PR c/68120
- * builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
- BUILT_IN_MUL_OVERFLOW_P): New builtins.
- * builtins.c: Include gimple-fold.h.
- (fold_builtin_arith_overflow): Handle
- BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
- (fold_builtin_3): Likewise.
- * doc/extend.texi (Integer Overflow Builtins): Document
- __builtin_{add,sub,mul}_overflow_p.
-
-2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com>
-
- * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
- SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
-
-2016-06-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_function_arg_alignment):
- Rewrite, looking one level down for records and arrays.
-
-2016-06-08 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.c: Include "selftest.h".
- (pp_format): Fix comment.
- (identifier_to_locale): Likewise.
- (selftest::test_basic_printing): New function.
- (selftest::assert_pp_format): New function.
- (selftest::test_pp_format): New function.
- (selftest::pretty_print_c_tests): New function.
- * selftest-run-tests.c (selftest::run_tests): Call
- selftest::pretty_print_c_tests.
- * selftest.h (pretty_print_c_tests): New declaration.
-
-2016-06-07 Jan Hubicka <hubicka@ucw.cz>
-
- * invoke.texi (max-loop-headers-insns): Document.
- * params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
- * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
- (ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.
-
-2016-06-08 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Remove restrictions
- on strided SLP loads and fall back to scalar loads in case
- we can't chunk them.
-
-2016-06-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71452
- * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
- type used for the SSA rewrite has enough precision to cover
- the dynamic type of the location.
-
-2016-06-08 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenther@suse.de>
-
- PR c++/71448
- * fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
- the same as DECL_P (base0) for indirect_base0. Use equality_code
- in one further place.
-
-2016-06-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * expmed.c (store_bit_field_1): Do not restrict a multiword op0
- to one word if the field is known to overlap other words.
- (extract_bit_field_1): Likewise.
- (store_split_bit_field): Remove compensating code.
- (extract_split_bit_field): Likewise.
-
-2016-06-08 Bernd Schmidt <bschmidt@redhat.com>
-
- PR debug/71432
- PR ada/71413
- * tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
- VDQF.
- * config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
- (arch64_addpv4sf): Delete.
- (reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
- "gen_aarch64_addpv4sf".
- * config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly. Use
- builtin.
- (vpadds_f32): Likewise.
- (vpaddq_f32): Likewise.
- (vpaddq_f64): Likewise.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
- VALLF.
- * config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
- to VALLF. Rename to "fabd<mode>3".
- "*fabd_scalar<mode>3): Delete.
- * config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
- Use builtin.
- (vabdd_f64): Likewise.
- (vabd_f32): Likewise.
- (vabd_f64): Likewise.
- (vabdq_f32): Likewise.
- (vabdq_f64): Likewise.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
- VALLF.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
- "aarch64_rsqrts<mode>".
- * config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
- * config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly. Use
- builtin.
- (vrsqrtsd_f64): Likewise.
- (vrsqrts_f32): Likewise.
- (vrsqrts_f64): Likewise.
- (vrsqrtsq_f32): Likewise.
- (vrsqrtsq_f64): Likewise.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
- VALLF.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
- "aarch64_rsqrte<mode>".
- * config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
- * config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly. Use
- builtin.
- (vrsqrted_f64): Likewise.
- (vrsqrte_f32): Likewise.
- (vrsqrte_f64): Likewise.
- (vrsqrteq_f32): Likewise.
- (vrsqrteq_f64): Likewise.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
- (ucvtf): Likewise.
- (fcvtzs): Likewise.
- (fcvtzu): Likewise.
- * config/aarch64/aarch64-simd.md
- (<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
- (<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
- * config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
- Use builtin.
- (vcvt_n_f32_u32): Likewise.
- (vcvt_n_s32_f32): Likewise.
- (vcvt_n_u32_f32): Likewise.
- (vcvtq_n_f32_s32): Likewise.
- (vcvtq_n_f32_u32): Likewise.
- (vcvtq_n_f64_s64): Likewise.
- (vcvtq_n_f64_u64): Likewise.
- (vcvtq_n_s32_f32): Likewise.
- (vcvtq_n_s64_f64): Likewise.
- (vcvtq_n_u32_f32): Likewise.
- (vcvtq_n_u64_f64): Likewise.
- * config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
- (VSDQ_SDI): Likewise.
- (fcvt_target): Support V4DI, V4SI and V2SI.
- (FCVT_TARGET): Likewise.
-
-2016-06-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
- (TYPES_BINOP_SUS): Likewise.
- (aarch64_simd_builtin_data): Update include file name.
- (aarch64_builtins): Likewise.
- * config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
- for conversion between scalar float-point and fixed-point.
- (ucvtf): Likewise.
- (fcvtzs): Likewise.
- (fcvtzu): Likewise.
- * config/aarch64/aarch64.md
- (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
- pattern for conversion between scalar float to fixed-pointer.
- (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
- (UNSPEC_FCVTZS): New UNSPEC enumeration.
- (UNSPEC_FCVTZU): Likewise.
- (UNSPEC_SCVTF): Likewise.
- (UNSPEC_UCVTF): Likewise.
- * config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
- Use builtin.
- (vcvtd_n_f64_u64): Likewise.
- (vcvtd_n_s64_f64): Likewise.
- (vcvtd_n_u64_f64): Likewise.
- (vcvtd_n_f32_s32): Likewise.
- (vcvts_n_f32_u32): Likewise.
- (vcvtd_n_s32_f32): Likewise.
- (vcvts_n_u32_f32): Likewise.
- * config/aarch64/iterators.md (fcvt_target): Support integer to float
- mapping.
- (FCVT_TARGET): Likewise.
- (FCVT_FIXED2F): New iterator.
- (FCVT_F2FIXED): Likewise.
- (fcvt_fixed_insn): New define_int_attr.
-
-2016-06-07 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
- some statements was removed.
-
-2016-06-08 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
- * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
- (vect_can_advance_ivs_p): likewise.
- (vect_update_ivs_after_vectorizer): likewise.
- * tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
- (vect_analyze_scalar_cycles_1): likewise.
- (vect_analyze_loop_operations): likewise.
- (report_vect_op): likewise.
- (vect_is_slp_reduction): likewise.
- (vect_is_simple_reduction): likewise.
- (get_initial_def_for_induction): likewise.
- (vect_transform_loop): likewise.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
- (vect_recog_sad_pattern): likewise.
- (vect_recog_widen_sum_pattern): likewise.
- (vect_recog_widening_pattern): likewise.
- (vect_recog_divmod_pattern): likewise.
- * tree-vect-slp.c (vect-build-slp_tree_1): likewise.
- (vect_analyze_slp_instance): likewise.
- (vect_transform_slp_perm_load): likewise.
- (vect_schedule_slp_instance): likewise.
-
-2016-06-07 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (predict_iv_comparison): Mention that heuristics is broken.
- (return_prediction): PRED_CONST_RETURN predict return as not taken.
- * predict.def (PRED_CONTINUE): Change hitrate 50->67
- (PRED_LOOP_BRANCH): Document predictor as broken.
- (PRED_LOOP_EXIT): Change hitrate 91->92.
- (PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
- (PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
- (PRED_OPCODE_POSITIVE): Change hitrate 79->64.
- (PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
- (PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
- (PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
- (PRED_CALL): Chane hitrate 71->67.
- (PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
- (PRED_GOTO): Document as unused right now.
- (PRED_CONST_RETURN): Change hitrate 67->69
- (PRED_NEGATIVE_RETURN): Change hitrate 96->98
- (PRED_NULL_RETURN): Change hitrate 91->90.
- (PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
- (PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
- (PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
-
-2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.h: Add __builtin_vec_mul.
- * config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
- special case Altivec builtin.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
- VSX_BUILTIN_VEC_MUL (replaced with special case code).
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
- code for ALTIVEC_BUILTIN_VEC_MUL.
- * config/rs6000/rs6000.c (altivec_init_builtins): Add definition
- for __builtin_vec_mul.
-
-2016-06-07 Peter Bergner <bergner@vnet.ibm.com>
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
- -mno-htm.
-
-2016-06-07 David Malcolm <dmalcolm@redhat.com>
-
- * spellcheck.c (selftest::test_find_closest_string): New function.
- (spellcheck_c_tests): Call the above.
-
-2016-06-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local variable.
-
-2016-06-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and
- Yv=Yv,C alternatives.
-
-2016-06-07 Richard Biener <rguenther@suse.de>
-
- PR c/61564
- * common.opt (ffast-math): Make Optimization.
-
-2016-06-07 Simon Dardis <simon.dardis@imgtec.com>
- Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/p5600.md (p5600_fpu_fadd): Remove checking for
- `fabs' and `fneg' type attributes.
- (p5600_fpu_fabs): Add `fmove' to the comment.
-
-2016-06-07 Jan Hubicka <hubicka@ucw.cz>
-
- * gimple.c: Include builtins.h
- (gimple_inexpensive_call_p): New function.
- * gimple.h (gimple_inexpensive_call_p): Declare.
- * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it.
- * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise;
- fix formatting.
-
-2016-06-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * diagnostic.c (diagnostic_impl, diagnostic_n_impl): New.
- (inform, inform_at_rich_loc, inform_n, warning, warning_at,
- warning_at_rich_loc, warning_n, pedwarn, permerror,
- permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc,
- sorry, fatal_error, internal_error, internal_error_no_backtrace):
- Use the above.
-
-2016-06-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71428
- * tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish
- BIT_FIELD_REF op vs. load.
-
-2016-06-07 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71423
- * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
- for signed ops.
-
-2016-06-06 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (call): Generate indirect long calls to non-local
- functions on TARGET_64BIT.
- (call_value): Likewise.
-
-2016-06-06 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from
- pattern and subsequent splitters.
- (call_val_reg_64bit_post_reload): Likewise.
-
-2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71408
- * tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for
- propagate_op_to_single_use.
-
-2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71281
- * tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt.
-
-2016-06-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
- (enum x86_dirflag_state): New enum.
- (NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
- (machine_function): Remove needs_cld.
- (ix86_current_function_needs_cld): Remove.
- * config/i386/i386.c (ix86_set_func_type): Set
- ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
- (ix86_expand_prologue): Do not emit CLD here.
- (ix86_dirflag_mode_needed): New function.
- (ix86_dirflag_mode_entry): Ditto.
- (ix86_mode_needed): Handle X86_DIRFLAG entity.
- (ix86_mode_after): Ditto.
- (ix86_mode_entry): Ditto.
- (ix86_mode_exit): Ditto.
- (ix86_emit_mode_set): Ditto.
- * config/i386/i386.md (strmov_singleop): Set
- ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
- Do not set ix86_current_function_needs_cld.
- (rep_mov): Ditto.
- (strset_singleop): Ditto.
- (rep_stos): Ditto.
- (cmpstrnqi_nz_1): Ditto.
- (cmpstrnqi_1): Ditto.
- (strlenqi_1): Ditto.
-
-2016-06-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71259
- * tree-vect-slp.c (vect_get_constant_vectors): For
- VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
- one for constant op, and use COND_EXPR for non-constant.
-
-2016-06-06 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add function-tests.o,
- hash-map-tests.o, hash-set-tests.o, rtl-tests.o,
- selftest-run-tests.o.
- (OBJS-libcommon): Add selftest.o.
- (OBJS-libcommon-target): Add selftest.o.
- (all.internal): Add "selftest".
- (all.cross): Likewise.
- (selftest): New phony target.
- (s-selftest): New target.
- (selftest-gdb): New phony target.
- (COLLECT2_OBJS): Add selftest.o.
- * bitmap.c: Include "selftest.h".
- (selftest::test_gc_alloc): New function.
- (selftest::test_set_range): New function.
- (selftest::test_clear_bit_in_middle): New function.
- (selftest::test_copying): New function.
- (selftest::test_bitmap_single_bit_set_p): New function.
- (selftest::bitmap_c_tests): New function.
- * common.opt (fself-test): New.
- * diagnostic-show-locus.c: Include "selftest.h".
- (make_range): New function.
- (test_range_contains_point_for_single_point): New function.
- (test_range_contains_point_for_single_line): New function.
- (test_range_contains_point_for_multiple_lines): New function.
- (assert_eq): New function.
- (test_get_line_width_without_trailing_whitespace): New function.
- (selftest::diagnostic_show_locus_c_tests): New function.
- * et-forest.c: Include "selftest.h".
- (selftest::test_single_node): New function.
- (selftest::test_simple_tree): New function.
- (selftest::test_disconnected_nodes): New function.
- (selftest::et_forest_c_tests): New function.
- * fold-const.c: Include "selftest.h".
- (selftest::assert_binop_folds_to_const): New function.
- (selftest::assert_binop_folds_to_nonlvalue): New function.
- (selftest::test_arithmetic_folding): New function.
- (selftest::fold_const_c_tests): New function.
- * function-tests.c: New file.
- * gimple.c: Include "selftest.h".
- Include "gimple-pretty-print.h".
- (selftest::verify_gimple_pp): New function.
- (selftest::test_assign_single): New function.
- (selftest::test_assign_binop): New function.
- (selftest::test_nop_stmt): New function.
- (selftest::test_return_stmt): New function.
- (selftest::test_return_without_value): New function.
- (selftest::gimple_c_tests): New function.
- * hash-map-tests.c: New file.
- * hash-set-tests.c: New file.
- * input.c: Include "selftest.h".
- (selftest::assert_loceq): New function.
- (selftest::test_accessing_ordinary_linemaps): New function.
- (selftest::test_unknown_location): New function.
- (selftest::test_builtins): New function.
- (selftest::test_reading_source_line): New function.
- (selftest::input_c_tests): New function.
- * rtl-tests.c: New file.
- * selftest-run-tests.c: New file.
- * selftest.c: New file.
- * selftest.h: New file.
- * spellcheck.c: Include "selftest.h".
- (selftest::levenshtein_distance_unit_test_oneway): New function,
- adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c.
- (selftest::levenshtein_distance_unit_test): Likewise.
- (selftest::spellcheck_c_tests): Likewise.
- * toplev.c: Include selftest.h.
- (toplev::run_self_tests): New.
- (toplev::main): Handle -fself-test.
- * toplev.h (toplev::run_self_tests): New.
- * tree.c: Include "selftest.h".
- (selftest::test_integer_constants): New function.
- (selftest::test_identifiers): New function.
- (selftest::test_labels): New function.
- (selftest::tree_c_tests): New function.
- * tree-cfg.c: Include "selftest.h".
- (selftest::push_fndecl): New function.
- (selftest::test_linear_chain): New function.
- (selftest::test_diamond): New function.
- (selftest::test_fully_connected): New function.
- (selftest::tree_cfg_c_tests): New function.
- * vec.c: Include "selftest.h".
- (selftest::safe_push_range): New function.
- (selftest::test_quick_push): New function.
- (selftest::test_safe_push): New function.
- (selftest::test_truncate): New function.
- (selftest::test_safe_grow_cleared): New function.
- (selftest::test_pop): New function.
- (selftest::test_safe_insert): New function.
- (selftest::test_ordered_remove): New function.
- (selftest::test_unordered_remove): New function.
- (selftest::test_block_remove): New function.
- (selftest::reverse_cmp): New function.
- (selftest::test_qsort): New function.
- (selftest::vec_c_tests): New function.c.
- * wide-int.cc: Include selftest.h and wide-int-print.h.
- (selftest::from_int <wide_int>): New function.
- (selftest::from_int <offset_int>): New function.
- (selftest::from_int <widest_int>): New function.
- (selftest::assert_deceq): New function.
- (selftest::assert_hexeq): New function.
- (selftest::test_printing <VALUE_TYPE>): New function template.
- (selftest::test_ops <VALUE_TYPE>): New function template.
- (selftest::test_comparisons <VALUE_TYPE>): New function template.
- (selftest::run_all_wide_int_tests <VALUE_TYPE>): New function
- template.
- (selftest::wide_int_cc_tests): New function.
-
-2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/37780
- * ifcvt.c (noce_try_ifelse_collapse): New function.
- Declare prototype.
- (noce_process_if_block): Call noce_try_ifelse_collapse.
- * simplify-rtx.c (simplify_cond_clz_ctz): New function.
- (simplify_ternary_operation): Use the above to simplify
- conditional CLZ/CTZ expressions.
-
-2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/37780
- * config/aarch64/aarch64.md (ctz<mode>2): Convert to
- define_insn_and_split.
-
-2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/37780
- * config/arm/arm.md (ctzsi2): Convert to define_insn_and_split.
-
-2016-06-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR c/24414
- * cfgexpand.c (expand_asm_loc): Remove handling for ADDR_EXPR.
- Implicitly clobber memory for basic asm with non-empty assembler
- string. Use targetm.md_asm_adjust also here.
- * compare-elim.c (arithmetic_flags_clobber_p): Use asm_noperands here.
- * final.c (final_scan_insn): Handle basic asm in PARALLEL block.
- * gimple.c (gimple_asm_clobbers_memory_p): Handle basic asm with
- non-empty assembler string.
- * ira.c (compute_regs_asm_clobbered): Use asm_noperands here.
- * recog.c (asm_noperands): Handle basic asm in PARALLEL block.
- (decode_asm_operands): Handle basic asm in PARALLEL block.
- (extract_insn): Handle basic asm in PARALLEL block.
- * doc/extend.texi: Mention new behavior of basic asm.
- * config/ia64/ia64 (rtx_needs_barrier): Handle ASM_INPUT here.
- * config/pa/pa.c (branch_to_delay_slot_p, branch_needs_nop_p,
- branch_needs_nop_p): Use asm_noperands.
-
-2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
-
- * config/sparc/sparc.md (cpu): Add niagara7 cpu type.
- Include the M7 SPARC DFA scheduler.
- New attribute v3pipe.
- Annotate insns with v3pipe where appropriate.
- Define cpu_feature vis4.
- Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
- Add (V8QI "8") to vbits.
- Add insns {add,sub}v8qi3
- Add insns ss{add,sub}v8qi3
- Add insns us{add,sub}{v8qi,v4hi}3
- Add insns {min,max}{v8qi,v4hi,v2si}3
- Add insns {minu,maxu}{v8qi,v4hi,v2si}3
- Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
- * config/sparc/niagara4.md: Add a comment explaining the
- discrepancy between the documented latenty numbers and the
- implemented ones.
- * config/sparc/niagara7.md: New file.
- * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
- supports SPARC5 and VIS 4.0 instructions.
- * configure: Regenerate.
- * config.in: Likewise.
- * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
- * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
- TARGET_CPU_niagara7.
- (ASM_CPU64_DEFAULT_SPEC): Likewise.
- (CPP_CPU_SPEC): Handle niagara7.
- (ASM_CPU_SPEC): Likewise.
- * config/sparc/sparc-opts.h (processor_type): Add
- PROCESSOR_NIAGARA7.
- (mvis4): New option.
- * config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
- (AS_NIAGARA7_FLAG): Define.
- (ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
- (CPP_CPU64_DEFAULT_SPEC): Likewise.
- (CPP_CPU_SPEC): Handle niagara7.
- (ASM_CPU_SPEC): Likewise.
- * config/sparc/sparc.c (niagara7_costs): Define.
- (sparc_option_override): Handle niagara7 and adjust cache-related
- parameters with better values for niagara cpus. Also support VIS4.
- (sparc32_initialize_trampoline): Likewise.
- (sparc_use_sched_lookahead): Likewise.
- (sparc_issue_rate): Likewise.
- (sparc_register_move_cost): Likewise.
- (dump_target_flag_bits): Support VIS4.
- (sparc_vis_init_builtins): Likewise.
- (sparc_builtins): Likewise.
- * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
- VIS4 4.0.
- * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
- UltraSparc M7.
- * config/sparc/sparc.opt (sparc_processor_type): New value
- niagara7.
- * config/sparc/visintrin.h (__attribute__): Prototypes for the
- VIS4 builtins.
- * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
- -mvis4.
- * doc/extend.texi (SPARC VIS Built-in Functions): Document the
- VIS4 builtins.
-
-2016-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/sourcebuild.texi (Directives): Remove extra closing braces.
-
-2016-06-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71398
- * tree-ssa-loop-ivcanon.c (unloop_loops): First unloop, then
- remove edges.
-
-2016-06-05 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.c (ft32_setup_incoming_varargs,
- ft32_expand_prolog, ft32_expand_epilogue):
- Handle pretend_args.
- * config/ft32/ft32.h: Remove OUTGOING_REG_PARM_STACK_SPACE.
- * config/ft32/ft32.md: Add pretend_returner.
-
-2016-06-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71389
- * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
- Copy op1 RTX to avoid invalid sharing.
- (ix86_expand_vector_move_misalign): Ditto.
-
-2016-06-05 John David Anglin <danglin@gcc.gnu.org>
-
- * expr.c (move_by_pieces_d::generate): Mark mode parameter with
- ATTRIBUTE_UNUSED.
-
-2016-06-05 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (predicted_by_loop_heuristics_p): New function.
- (predict_iv_comparison): Use it.
- (predict_loops): Walk from innermost loops; do not predict edges
- leaving multiple loops multiple times; implement
- PRED_LOOP_ITERATIONS_MAX heuristics.
- * predict.def (PRED_LOOP_ITERATIONS_MAX): New predictor.
-
-2016-06-05 Jan Hubicka <hubicka@ucw.cz>
-
- * cfg.c (check_bb_profile): Do not report mismatched profiles when
- only edges out of BB are EH edges.
-
-2016-06-04 Martin Sebor <msebor@redhat.com>
- Marcin Baczyński <marbacz@gmail.com>
-
- PR c/48116
- * doc/invoke.texi (-Wreturn-type): Mention not warning on return with
- a void expression in a void function.
-
-2016-06-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Do not check
- aux; dump reasons of decisions.
- (should_duplicate_loop_header_p): Likewise.
- (do_while_loop_p): Likewise.
- (ch_base::copy_headers): Dump asi num insns duplicated.
-
-2016-06-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/71405
- * tree-ssa.c (execute_update_addresses_taken): For clobber with
- incompatible type, build a new clobber with the right type instead
- of building a VIEW_CONVERT_EXPR around it.
-
-2016-06-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR tree-optimization/52171
- * config/sh/sh.c (sh_use_by_pieces_infrastructure_p): Use
- by_pieces_ninsns instead of move_by_pieces_ninsns.
-
-2016-06-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (sh_print_operand_address): Don't use hardcoded 'r0'
- for reg+reg addressing mode.
-
-2016-06-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * rs6000-c.c (c/c-tree.h): Add #include.
- (altivec_resolve_overloaded_builtin): Handle ARRAY_TYPE arguments
- in C++ when found in the base position of vec_ld or vec_st.
-
-2016-06-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Avoid
- use of profile unless profile status is PROFILE_READ.
- * profile.c (compute_branch_probabilities): Set profile status
- only after reporting predictor hitrates.
-
-2016-06-03 Joseph Myers <joseph@codesourcery.com>
-
- PR target/71276
- PR target/71277
- * common.opt (ffp-int-builtin-inexact): New option.
- * doc/invoke.texi (-fno-fp-int-builtin-inexact): Document.
- * doc/md.texi (floor@var{m}2, btrunc@var{m}2, round@var{m}2)
- (ceil@var{m}2): Document dependence on this option.
- * ipa-inline-transform.c (inline_call): Handle
- flag_fp_int_builtin_inexact.
- * ipa-inline.c (can_inline_edge_p): Likewise.
- * config/i386/i386.md (rintxf2): Do not test
- flag_unsafe_math_optimizations.
- (rint<mode>2_frndint): New define_insn.
- (rint<mode>2): Do not test flag_unsafe_math_optimizations for 387
- or !flag_trapping_math for SSE. Just use gen_rint<mode>2_frndint
- for 387 instead of extending and truncating.
- (frndintxf2_<rounding>): Test flag_fp_int_builtin_inexact ||
- !flag_trapping_math instead of flag_unsafe_math_optimizations.
- Change to frndint<mode>2_<rounding>.
- (frndintxf2_<rounding>_i387): Likewise. Change to
- frndint<mode>2_<rounding>_i387.
- (<rounding_insn>xf2): Likewise.
- (<rounding_insn><mode>2): Test flag_fp_int_builtin_inexact ||
- !flag_trapping_math instead of flag_unsafe_math_optimizations for
- x87. Test TARGET_ROUND || !flag_trapping_math ||
- flag_fp_int_builtin_inexact instead of !flag_trapping_math for
- SSE. Use ROUND_NO_EXC in constant operand of
- gen_sse4_1_round<mode>2. Just use gen_frndint<mode>2_<rounding>
- for 387 instead of extending and truncating.
-
-2016-06-03 H.J. Lu <hongjiu.lu@intel.com>
- Julia Koval <julia.koval@intel.com>
-
- PR target/66960
- PR target/67630
- PR target/67634
- PR target/67841
- PR target/68037
- PR target/68618
- PR target/68661
- PR target/69575
- PR target/69596
- PR target/69734
- * config/i386/i386-protos.h (ix86_epilogue_uses): New prototype.
- * config/i386/i386.c (ix86_conditional_register_usage): Preserve
- all registers, except for function return registers if there are
- no caller-saved registers.
- (ix86_set_func_type): New function.
- (ix86_set_current_function): Call ix86_set_func_type to set
- no_caller_saved_registers and func_type. Call reinit_regs if
- caller-saved registers are changed. Don't allow MPX, SSE, MMX
- nor x87 instructions in interrupt handler nor function with
- no_caller_saved_registers attribute.
- (ix86_function_ok_for_sibcall): Return false if there are no
- caller-saved registers.
- (type_natural_mode): Don't warn ABI change for MMX in interrupt
- handler.
- (ix86_function_arg_advance): Skip for callee in interrupt handler.
- (ix86_function_arg): Return special arguments in interrupt handler.
- (ix86_promote_function_mode): Promote pointer to word_mode only
- for normal functions.
- (ix86_can_use_return_insn_p): Don't use `ret' instruction in
- interrupt handler.
- (ix86_epilogue_uses): New function.
- (ix86_hard_regno_scratch_ok): Likewise.
- (ix86_save_reg): Preserve all registers in interrupt handler
- after reload. Preserve all registers, except for function return
- registers, if there are no caller-saved registers after reload.
- (find_drap_reg): Always use callee-saved register if there are
- no caller-saved registers.
- (ix86_minimum_incoming_stack_boundary): Return MIN_STACK_BOUNDARY
- for interrupt handler.
- (ix86_expand_prologue): Don't allow DRAP in interrupt handler.
- Emit cld instruction if stringops are used in interrupt handler
- or interrupt handler isn't a leaf function.
- (ix86_expand_epilogue): Generate interrupt return for interrupt
- handler and pop the 'ERROR_CODE' off the stack before interrupt
- return in exception handler.
- (ix86_expand_call): Disallow calling interrupt handler directly.
- If there are no caller-saved registers, mark all registers that
- are clobbered by the call which returns as clobbered.
- (ix86_handle_no_caller_saved_registers_attribute): New function.
- (ix86_handle_interrupt_attribute): Likewise.
- (ix86_attribute_table): Add interrupt and no_caller_saved_registers
- attributes.
- (TARGET_HARD_REGNO_SCRATCH_OK): Likewise.
- * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use argument
- accumulation in interrupt function if stack may be realigned to
- avoid DRAP.
- (EPILOGUE_USES): New.
- (function_type): New enum.
- (machine_function): Add func_type and no_caller_saved_registers.
- * config/i386/i386.md (UNSPEC_INTERRUPT_RETURN): New.
- (interrupt_return): New pattern.
- * doc/extend.texi: Document x86 interrupt and
- no_caller_saved_registers attributes.
-
-2016-06-03 Bernd Schmidt <bschmidt@redhat.com>
-
- PR tree-optimization/52171
- * builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere.
- (expand_builtin_memcmp): New arg RESULT_EQ. All callers changed.
- Look for constant strings. Move some code to emit_block_cmp_hints
- and use it.
- * builtins.def (BUILT_IN_MEMCMP_EQ): New.
- * defaults.h (COMPARE_MAX_PIECES): New macro.
- * expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs.
- (move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe.
- (clear_by_pieces_1): Don't declare. Move definition before use.
- (can_do_by_pieces): New static function.
- (can_move_by_pieces): Use it. Return bool.
- (by_pieces_ninsns): Renamed from move_by_pieces_ninsns. New arg
- OP. All callers changed. Handle COMPARE_BY_PIECES.
- (class pieces_addr); New.
- (pieces_addr::pieces_addr, pieces_addr::decide_autoinc,
- pieces_addr::adjust, pieces_addr::increment_address,
- pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member
- functions for it.
- (class op_by_pieces_d): New.
- (op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member
- functions for it.
- (class move_by_pieces_d, class compare_by_pieces_d,
- class store_by_pieces_d): New subclasses of op_by_pieces_d.
- (move_by_pieces_d::prepare_mode, move_by_pieces_d::generate,
- move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode,
- store_by_pieces_d::generate, store_by_pieces_d::finish_endp,
- compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode,
- compare_by_pieces_d::finish_mode): New member functions.
- (compare_by_pieces, emit_block_cmp_via_cmpmem): New static
- functions.
- (expand_cmpstrn_or_cmpmem): Moved here from builtins.c.
- (emit_block_cmp_hints): New function.
- (move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just
- use the newly defined classes.
- * expr.h (by_pieces_constfn): New typedef.
- (can_store_by_pieces, store_by_pieces): Use it in arg declarations.
- (emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare.
- (move_by_pieces_ninsns): Don't declare.
- (can_move_by_pieces): Change return value to bool.
- * target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs.
- (compare_by_pieces_branch_ratio): New hook.
- * target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES.
- (by_pieces_ninsns): Declare.
- * targethooks.c (default_use_by_pieces_infrastructure_p): Handle
- COMPARE_BY_PIECES.
- (default_compare_by_pieces_branch_ratio): New function.
- * targhooks.h (default_compare_by_pieces_branch_ratio): Declare.
- * doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document.
- * doc/tm.texi: Regenerate.
- * tree-ssa-strlen.c: Include "builtins.h".
- (handle_builtin_memcmp): New static function.
- (strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP.
- * tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq.
-
-2016-06-03 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-stmts.c (vect_stmt_relevant_p): Do not vectorize non live
- relevant stmts which are simple and invariant.
- * tree-vect-loop.c (vectorizable_live_operation): Check relevance
- instead of simple and invariant
-
-2016-06-03 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Allow live stmts.
- (vectorizable_reduction): Check for new relevant state.
- (vectorizable_live_operation): vectorize live stmts using
- BIT_FIELD_REF. Remove special case for gimple assigns stmts.
- * tree-vect-stmts.c (is_simple_and_all_uses_invariant): New function.
- (vect_stmt_relevant_p): Check for stmts which are only used live.
- (process_use): Use of a stmt does not inherit it's live value.
- (vect_mark_stmts_to_be_vectorized): Simplify relevance inheritance.
- (vect_analyze_stmt): Check for new relevant state.
- * tree-vectorizer.h (vect_relevant): New entry for a stmt which is used
- outside the loop, but not inside it.
-
-2016-06-03 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vectorizer.h (vect_get_vec_def_for_operand_1): New.
- * tree-vect-stmts.c (vect_get_vec_def_for_operand_1): New.
- (vect_get_vec_def_for_operand): Split out code.
-
-2016-06-03 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (define_peepholes for two mfcr's): Delete.
-
-2016-06-03 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-stmts.c (vectorizable_call) Remove GOMP_SIMD_LANE code.
-
-2016-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/thumb1.md (*thumb1_mulsi3): Fix typos in comment.
-
-2016-06-03 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71387
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
- to noreturn e->callee->decl that has void return type and void
- arguments, adjust gimple_call_fntype and remove lhs even if it had
- previously addressable type.
-
-2016-06-02 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71328
- * tree-ssa-threadupdate.c (duplicate_thread_path): Fix off-by-one
- error when checking for a jump back onto the copied path.
-
-2016-06-02 David Malcolm <dmalcolm@redhat.com>
-
- * config/microblaze/microblaze.c (get_branch_target): Add return
- NULL_RTX for the non-CALL_P case.
- (insert_wic_for_ilb_runout): Remove unused local "wic_addr1".
- (insert_wic): Remove unused local "j".
-
-2016-06-02 Martin Liska <mliska@suse.cz>
-
- * predict.def: Fix typo in PRED_FORTRAN_FAIL_IO display name.
-
-2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
- Julia Koval <julia.koval@intel.com>
-
- * function.c (assign_parm_setup_stack): Force source into a
- register if needed.
- * target.def (function_incoming_arg): Update documentation to
- allow arbitrary address computation based on hard register.
- * doc/tm.texi: Regenerated.
-
-2016-06-02 Martin Liska <mliska@suse.cz>
-
- * predict.c (combine_predictions_for_bb): Fix first match in
- cases where a first predictor contains more than one occurence
- in list of predictors. Take the best value in such case.
-
-2016-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/71295
- * rtlanal.c (subreg_get_info): If taking a subreg at the requested
- offset would go over the size of the inner mode reject it.
-
-2016-06-02 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*vec_concatv4si): Use v=v,v instead of
- x=x,x and v=v,m instead of x=x,m.
-
- * config/i386/sse.md (*vec_concatv2si_sse4_1): Add avx512dq v=Yv,rm
- alternative. Change x=x,x alternative to v=Yv,Yv and x=rm,C
- alternative to v=rm,C.
-
- * config/i386/sse.md (*vec_concatv2di): Add x86_avx512dq v=Yv,rm
- alternative. Change x=xm,C alternative to v=vm,C, x=x,x alternative
- to v=Yv,Yv and x=x,m to v=v,m. Use maybe_evex prefix attribute
- instead of vex for the last two above mentioned alternatives.
-
-2016-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70830
- * config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.
-
-2016-06-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/dfp.md (trunctddd2): Correct the "length" attribute.
-
-2016-06-01 David Malcolm <dmalcolm@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): Convert local
- from int to unsigned.
-
-2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
- alternatives, eliminating preferred register class. Add support
- for the MTVSRDD instruction in ISA 3.0.
- (vsx_splat_v4si_internal): Use splat_input_operand instead of
- reg_or_indexed_operand.
- (vsx_splat_v4sf_internal): Likewise.
-
-2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71186
- * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
- for loading up all 0's or all 1's.
-
-2016-06-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * doc/sourcebuild.texi (arm_acq_rel): Document new effective target.
-
-2016-06-01 Eduard Sanou <dhole@openmailbox.org>
-
- * doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
- extension.
- * gcc.c (driver_handle_option): Call set_source_date_epoch_envvar.
- * gcc.c (set_source_date_epoch_envvar): New function, sets
- the SOURCE_DATE_EPOCH environment variable to the current time.
-
-2016-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
- the factor for live Phi nodes.
-
-2016-06-01 Jan Hubicka <hubicka@ucw.cz>
-
- * loop-dolop.c (doloop_optimize): Us likely max iteration bound.
- * tree-parloops.c (parallelize_loops): likewise.
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop,
- tree_unswitch_outer_loop): likewise.
-
-2016-06-01 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/71371
- * gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
- around creation of the temporary.
-
-2016-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71366
- * tree-ssa-loop-ivcanon.c (edges_to_remove): New global.
- (unloop_loops): Move removing edges here ...
- (try_unroll_loop_completely): ... from here.
- (try_peel_loop): ... and here.
- (tree_unroll_loops_completely_1): Track parent loops via
- bitmap of header BBs.
- (tree_unroll_loops_completely): Adjust for that.
-
-2016-06-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.h (vec_slv): New macro.
- (vec_srv): New macro.
- * config/rs6000/altivec.md (UNSPEC_VSLV): New value.
- (UNSPEC_VSRV): New value.
- (vslv): New insn.
- (vsrv): New insn.
- * config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
- (vsrv): New builtin definition.
- * config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
- define argument types for new builtin.
- (P9V_BUILTIN_VSRV): Macro expansion to define argument types for
- new builtin.
- * doc/extend.texi: Document the new vec_vslv and vec_srv built-in
- functions.
-
-2016-06-01 Uros Bizjak <ubizjak@gmail.com>
- Jocelyn Mayer <l_indien@magic.fr>
-
- PR target/67310
- * config/i386/driver-i386.c (host_detect_local_cpu): Correctly
- detect processor family for signature_CENTAUR_ebx.
- <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
- signature_CENTAUR_ebx.
- <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
- <default>: Pass x86-64 for has_longmode.
-
-2016-06-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject
- undefined weak.
-
-2016-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71261
- * tree-vect-patterns.c (check_bool_pattern): Gather a hash-set
- of stmts successfully put in the bool pattern. Remove
- single-use restriction.
- (adjust_bool_pattern_cast): Add cast at the use site via the
- pattern def sequence.
- (adjust_bool_pattern): Remove recursion, maintain a hash-map
- of patterned defs. Use the pattern def seqence instead of
- multiple independent patterns.
- (sort_after_uid): New qsort compare function.
- (adjust_bool_stmts): New function to process stmts in the bool
- pattern in IL order.
- (vect_recog_bool_pattern): Adjust.
- * tree-if-conv.c (ifcvt_split_def_stmt): Remove.
- (ifcvt_walk_pattern_tree): Likewise.
- (stmt_is_root_of_bool_pattern): Likewise.
- (ifcvt_repair_bool_pattern): Likewise.
- (tree_if_conversion): Do not call ifcvt_repair_bool_pattern.
-
-2016-06-01 Jan Hubicka <hubicka@ucw.cz>
-
- * loop-unroll.c (decide_unroll_constant_iterations,
- decide_unroll_runtime_iterations, decide_unroll_stupid): Use
- likely upper bounds.
- * loop-iv.c (find_simple_exit): Dump likely upper bounds.
-
-2016-06-01 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-core.h (enum omp_clause_code): Remove
- OMP_CLAUSE_DEVICE_RESIDENT. Adjust all users.
-
-2016-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/sync.md (arm_store_exclusive<mode>):
- Use 'H' output modifier on operands[2] rather than creating a new
- entry in out-of-bounds memory of the operands array.
- (arm_store_release_exclusivedi): Likewise.
-
-2016-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_fusion_enabled_p): New function.
- * config/arm/arm-protos.h (arm_fusion_enabled_p): Declare prototype.
- * config/arm/crypto.md (crypto_<crypto_pattern>, CRYPTO_UNARY):
- Add "=w,0" alternative. Enable it when AES/AESMC fusion is enabled.
-
-2016-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-vect-loop.c (vect_determine_vectorization_factor): Also take
- into account live statements for mask producers.
-
-2016-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71311
- * match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and
- restrict to non-INTEGER_CST @0.
-
-2016-06-01 Richard Biener <rguenther@suse.de>
-
- * match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
- (relational patterns): Use :c to avoid pattern duplications.
-
-2016-06-01 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (comparison_code_p): New predicate.
- (swap_tree_comparison): New function.
- (commutate): Add for_vec parameter to append new for entries.
- Support commutating relational operators by swapping it alongside
- operands.
- (lower_commutative): Adjust.
- (dt_simplify::gen): Do not pass artificial operators to gen
- functions.
- (decision_tree::gen): Do not add artificial operators as parameters.
- (parser::parse_expr): Verify operator commutativity when :c is
- applied. Allow :C to override this.
- * match.pd: Adjust patterns to use :C instead of :c where required.
-
-2016-06-01 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/71077
- * tree-ssa-threadedge.c (simplify_control_stmt_condition_1): In
- the combining step, use boolean_false_node and boolean_true_node
- as the designated false/true return values.
-
-2016-05-31 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.def (PRED_LOOP_EXTRA_EXIT): Define.
- * predict.c (predict_iv_comparison): Also check PRED_LOOP_EXTRA_EXIT.
- (predict_extra_loop_exits): Use PRED_LOOP_EXTRA_EXIT instead of
- PRED_LOOP_EXIT.
-
-2016-05-31 Jan Hubicka <hubicka@ucw.cz>
-
- * doc/invoke.texi (-frename-registers): Drop -fpeel-loops from list
- of flags impliying the register renaming.
- * toplev.c (process_options): Do not imply flag_rename_registers with
- loop peeling.
-
-2016-05-31 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the
- default implementation.
-
-2016-05-31 Nathan Sidwell <nathan@acm.org>
-
- * dwarf2out.c (cur_line_info_table): Add GTY marker.
-
-2016-05-31 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/constraints.md (b): Remove constraint.
- * config/sh/predicates.md (arith_reg_operand): Remove
- TARGET_REGISTER_P.
- * config/sh/sh-modes.def (PDI): Remove.
- * config/sh/sh.c (sh_target_reg_class,
- sh_optimize_target_register_callee_saved): Remove functions.
- (sh_option_override): Don't set MASK_SAVE_ALL_TARGET_REGS.
- (sh_expand_epilogue): Update comment.
- (sh_hard_regno_mode_ok, sh_register_move_cost, calc_live_regs,
- sh_secondary_reload): Remove TARGET_REGS related code.
- * config/sh/sh.h (FIRST_TARGET_REG, LAST_TARGET_REG,
- TARGET_REGISTER_P): Remove macros.
- (SH_DBX_REGISTER_NUMBER, REG_ALLOC_ORDER): Remove target regs.
- * config/sh/sh.md (PR_MEDIA_REG, T_MEDIA_REG, FR23_REG, TR0_REG,
- TR1_REG, TR2_REG): Remove constants.
- * config/sh/sh.opt (SAVE_ALL_TARGET_REGS): Remove.
-
-2016-05-31 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (adddi3, subdi3, negdi2, abs<mode>2): Remove
- define_expand patterns.
- (adddi3_compact): Rename to adddi3.
- (subdi3_compact): Rename to subdi3.
- (*negdi2): Rename to negdi2.
- (*abs<mode>2): Rename to abs<mode>2.
-
-2016-05-31 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/rx/rx.md (FETCHOP_NO_MINUS): New code iterator.
- (atomic_<fetchop_name>_fetchsi): Extract minus operator into ...
- (atomic_sub_fetchsi): ... this new pattern.
- (mvtc): Add CC_REG clobber.
-
-2016-05-31 Marek Polacek <polacek@redhat.com>
-
- * gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.
-
-2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
- aarch64_fusion_enabled_p to check for fusion capabilities.
-
-2016-05-31 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71352
- * tree-ssa-reassoc.c (zero_one_operation): Handle op equal to
- minus one and a negate.
-
-2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_move): Delete.
- * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
- Delete prototype.
- * config/aarch64/iterators.md (insn_count): Add descriptive comment.
- * config/aarch64/aarch64-simd.md (*aarch64_mov<mode>, VSTRUCT modes):
- Remove use of aarch64_simd_attr_length_move, set length attribute
- directly.
- (*aarch64_be_movoi): Likewise.
- (*aarch64_be_movci): Likewise.
- (*aarch64_be_movxi): Likewise.
-
-2016-05-31 Jan Hubicka <hubicka@ucw.cz>
-
- * loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
- It no longer does that.
- * toplev.c (process_options): Do not enable flag_web with -fpeel-loops.
-
-2016-05-31 Wladimir J. van der Laan <laanwj@gmail.com>
-
- * config/aarch64/arm_neon.h (vdupb_laneq_s8): Remove spurious
- attribute __unused__.
-
-2016-05-31 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm-protos.h (arm_arch_thumb1): Declare.
- * config/arm/arm.c (arm_arch_thumb1): Define.
- (arm_option_override): Initialize arm_arch_thumb1.
- * config/arm/arm.h (arm_arch_thumb1): Declare.
- (TARGET_ARM_ARCH_ISA_THUMB): Use arm_arch_thumb to determine if target
- support Thumb-1 ISA.
-
-2016-05-31 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/71346
- * config/i386/sse.md (define_insn_and_split "*vec_extractv4sf_0"): Use
- `Yv' for scalar operand.
-
-2016-05-31 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69068
- * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
- phis with more than two args.
-
-2016-05-30 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config.gcc: Move hard float support for arm*hf*-*-freebsd* into
- armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
- target.
-
-2016-05-30 Jose E. Marchesi <jose.marchesi@oracle.com>
-
- * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
- tune_64.
- * doc/install.texi (--with-cpu-32, --with-cpu-64): Document
- support on SPARC.
- * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
- cpu_32, cpu_64, tune_32 and tune_64.
- * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.
-
-2016-05-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
-
-2016-05-30 Andi Kleen <ak@linux.intel.com>
-
- * auto-profile.c (read_profile): Replace asserts with errors
- when file does not exist.
- * gcov-io.c (gcov_read_words): Dito.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-cfg.c (print_loop): Print likely upper bounds.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
- * opts.c (default_options): Enable peel loops at -O3.
- * tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
- (try_peel_loop): Do not re-peel already peeled loops;
- use likely upper bounds; fix profile updating.
- (pass_complete_unroll::execute): Initialize peeled_loops.
-
-2016-05-30 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Scale
- computed costs by frequency of BB they belong to.
- (get_scaled_computation_cost_at): New function.
-
-2016-05-30 Alexander Monakov <amonakov@ispras.ru>
- Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/71289
- * match.pd (-1 / B < A, A > -1 / B): New transformations.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-vect-loop.c (vect_transform_loop): Update likely bounds.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit
- for peeled copies; avoid underflow when updating estimates; correctly
- scale loop profile.
-
-2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-ssa-reassoc.ci (swap_ops_for_binary_stmt): Fix typo from commit
- r236875. Corrected oe3 to oe2 as obvious.
-
-2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71269
- PR middle-end/71252
- * tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
- that inserted stmt will not dominate stmts that defines its operand.
- (rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
- (rewrite_expr_tree_parallel): Likewise.
-
-2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71252
- * tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
- all fields including stmt_to_insert are swapped.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.h (force_edge_cold): Declare.
- * predict.c (force_edge_cold): New function.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Fix profile
- updating.
- (canonicalize_loop_induction_variables): Fix formating.
-
-2016-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.c (visium_split_double_add): Minor tweaks.
- (visium_expand_copysign): Use gen_int_mode directly.
- (visium_compute_frame_size): Minor tweaks.
-
-2016-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Use
- likely_max_stmt_executions_int.
-
-2016-05-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69067
- * graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.
-
-2016-05-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71245
- * config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
- New peepholes to remove unneeded fild/fistp pairs.
- (define_peephole2 atomic_loaddi_fpu): Ditto.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (maybe_hot_frequency_p): Avoid division.
-
-2016-05-28 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi: Use https for shop.fsf.org.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use
- likely_max_stmt_executions_int.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
- likely_max_stmt_executions_int.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * profile.c (compute_branch_probabilities): Do not report hitrates
- here.
- (branch_prob): Report hitrates here.
- * predict.c (gimple_predict_edge): Do not assert profile status;
- fix formatting issues.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * predict.c (edge_predicted_by_p): New function.
- (predict_paths_for_bb): Do not put multiple predictions of the same type
- on one edge.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental
- commit.
-
-2016-05-28 Alan Modra <amodra@gmail.com>
-
- * dominance.c (verify_dominators): Don't segfault on NULL imm_bb.
-
-2016-05-28 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/71275
- * ira.c (ira): Free dominance info.
-
-2016-05-27 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/sourcebuild.texi: New address for upstream Go repository.
-
-2016-05-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.h (TARGET_ARM_V6M): Remove.
- (TARGET_ARM_V7M): Likewise.
-
-2016-05-26 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
- (thread_across_edge): Remove calls to find_jump_threads_backwards.
- * passes.def: Add jump threading passes before DOM/VRP.
- * tree-ssa-threadbackward.c (find_jump_threads_backwards): Change
- argument to a basic block from an edge. Remove tests which are
- handled elsewhere.
- (pass_data_thread_jumps, class pass_thread_jumps): New.
- (pass_thread_jumps::gate, pass_thread_jumps::execute): New.
- (make_pass_thread_jumps): Likewise.
- * tree-pass.h (make_pass_thread_jumps): Declare.
-
-2016-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium-protos.h (split_double_move): Rename into...
- (visium_split_double_move): ...this.
- (visium_split_double_add): Declare.
- * config/visium/visium.c (split_double_move): Rename into...
- (visium_split_double_move): ...this.
- (visium_split_double_add): New function.
- (visium_expand_copysign): Renumber operands for consistency.
- * config/visium/visium.md (DImode move splitter): Adjust to renaming.
- (DFmode move splitter): Likewise.
- (*addi3_insn): Split by means of visium_split_double_add.
- (*adddi3_insn_flags): Delete.
- (*plus_plus_sltu<subst_arith>): New insn.
- (*subdi3_insn): Split by means of visium_split_double_add.
- (subdi3_insn_flags): Delete.
- (*minus_minus_sltu<subst_arith>): New insn.
- (*negdi2_insn): Split by means of visium_split_double_add.
- (*negdi2_insn_flags): Delete.
-
-2016-05-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.ac: Treat a --with-headers option without argument
- the same as the default (i.e. consult sys-include directory).
- * configure: Regenerate.
-
-2016-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_fusion_enabled_p): New function.
- * config/aarch64/aarch64-protos.h (aarch64_fusion_enabled_p): Declare
- prototype.
- * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aesmc_op>v16qi):
- Add "=w,0" alternative. Enable it when AES/AESMC fusion is enabled.
-
-2016-05-27 Jiong Wang <jiong.wang@arm.com>
-
- PR target/63596
- * config/aarch64/aarch64.c (aarch64_expand_builtin_va_start): Honor
- tree-stdarg analysis results.
- (aarch64_setup_incoming_varargs): Likewise.
-
-2016-05-27 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Initialize
- va_list_gpr_counter_field and va_list_fpr_counter_field.
-
-2016-05-27 Wilco Dijkstra <wdijkstr@arm.com>
-
- PR67609
- * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Remove.
- * config/aarch64/aarch64.c
- (aarch64_cannot_change_mode_class): Remove function.
- * config/aarch64/aarch64-protos.h
- (aarch64_cannot_change_mode_class): Remove.
-
-2016-05-27 Jan Hubicka <hubicka@ucw.cz>
-
- * cfgloop.c (record_niter_bound): Record likely upper bounds.
- (likely_max_stmt_executions_int, get_likely_max_loop_iterations,
- get_likely_max_loop_iterations_int): New.
- * cfgloop.h (struct loop): Add nb_iterations_likely_upper_bound,
- any_likely_upper_bound.
- (get_likely_max_loop_iterations_int, get_likely_max_loop_iterations):
- Declare.
- * cfgloopmanip.c (copy_loop_info): Copy likely upper bounds.
- * loop-unroll.c (unroll_loop_constant_iterations): Update likely
- upper bound.
- (unroll_loop_constant_iterations): Likewise.
- (unroll_loop_runtime_iterations): Likewise.
- * lto-streamer-in.c (input_cfg): Stream likely upper bounds.
- * lto-streamer-out.c (output_cfg): Likewise.
- * tree-ssa-loop-ivcanon.c (try_peel_loop): Update likely upper
- bounds.
- (canonicalize_loop_induction_variables): Dump likely upper bounds.
- * tree-ssa-loop-niter.c (record_estimate): Record likely upper bounds.
- (likely_max_loop_iterations): New.
- (likely_max_loop_iterations_int): New.
- (likely_max_stmt_executions): New.
- * tree-ssa-loop-niter.h (likely_max_loop_iterations,
- likely_max_loop_iterations_int, likely_max_stmt_executions_int,
- likely_max_stmt_executions): Declare.
-
-2016-05-27 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/71308
- * gimple-fold.c (gimple_fold_call): Check that LHS is not null.
-
-2016-05-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md (2x risbg splitters): Use
- reg_overlap_mentioned_p instead of rtx_equal_p.
-
-2016-05-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * combine.c (make_compound_operation): Take known zero bits into
- account when checking for possible zero_extend.
-
-2016-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (ashl<mode>3, SHORT modes):
- Use const_int_operand for operand 2 predicate. Simplify expand code
- as a result.
-
-2016-05-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/71279
- * fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
- into comparison.
-
-2016-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-modes.def (CC_ZESWP, CC_SESWP): Delete.
- * config/aarch64/aarch64.c (aarch64_select_cc_mode): Remove condition
- that returns CC_SESWPmode and CC_ZESWPmode.
- (aarch64_get_condition_code_1): Remove handling of CC_SESWPmode
- and CC_SESWPmode.
- (aarch64_rtx_costs): Likewise.
-
-2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
- for ISA 3.0 min/max support.
- (rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
- conditional move support.
- (rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
- rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
- available.
- * config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
- conditional moves where the comparison type is different from move
- type.
- (fp_minmax): New code iterator for smin/smax.
- (minmax): New code attributes for min/max.
- (SMINMAX): Likewise.
- (smax<mode>3): Combine min, max insns into one insn using the
- fp_minmax code iterator. Add support for ISA 3.0 min/max
- instructions that don't need -ffast-math.
- (s<minmax><mode>3): Likewise.
- (smax<mode>3_vsx): Likewise.
- (smin<mode>3): Likewise.
- (s<minmax><mode>3_vsx): Likewise.
- (smin<mode>3_vsx): Likewise.
- (pre-VSX min/max splitters): Likewise.
- (s<minmax><mode>3_fpr): Likewise.
- (movsfcc): Rewrite floating point conditional moves to combine
- SFmode/DFmode into a single insn.
- (mov<mode>cc): Likewise.
- (movdfcc): Likewise.
- (fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
- SFDF2 iterators to handle all combinations.
- (fseldfsf4): Likewise.
- (fsel<SFDF:mode><SFDF2:mode>4): Likewise.
- (fseldfdf4): Likewise.
- (fselsfdf4): Likewise.
- (mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
- comparison instructions that set a 0/-1 mask, and use it for
- floating point conditional move via XXSEL.
- (fpmask<mode>): Likewise.
- (xxsel<mode>): Likewise.
- * config/rs6000/predicates.md (min_max_operator): Delete, no
- longer used.
- (fpmask_comparison_operaton): New insn for ISA 3.0 comparison
- instructions that generate a 0/-1 mask for use with XXSEL.
- * config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
- say whether floating point min/max is available, either through
- FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
- (TARGET_MINMAX_DF): Likewise.
-
-2016-05-27 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/71275
- * ira.c (ira): Call loop_optimizer_init to set up bb_loop_depth
- for update_equiv_regs and combine_and_move_insns.
-
-2016-05-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movqi_internal) <attr "isa">: Use
- if_then_else or cond RTXes to calculate attribute value.
- * config/i386/mmx.md (*vec_extractv2sf_1) <attr "prefix_rep">: Ditto.
- <attr "length_immediate>: Ditto.
- (*vec_extractv2sf_1) <attr "length_immediate">: Ditto.
- * config/i386/sse.md (sse_loadlps) <attr "length_immediate">: Ditto.
- (*vec_concatv2sf_sse4_1) <attr "isa">: Ditto.
- <attr "type">: Ditto.
- <attr "prefix_data16">: Ditto.
- <attr "prefix_extra">: Ditto.
- <attr "length_immediate">: Ditto.
- <attr "prefix">: Ditto.
- (vec_set<mode>_0) <attr "isa">: Ditto.
- <attr "prefix_extra">: Ditto.
- <attr "length_immediate">: Ditto.
- <attr "prefix">: Ditto.
- (*vec_interleave_highv2df) <attr "prefix_data16">: Ditto.
- (*vec_interleave_lowv2df) <attr "prefix_data16">: Ditto.
- (sse2_storelpd) <attr "prefix_data16">: Ditto.
- (sse2_loadhpd) <attr "prefix_data16">: Ditto.
- (sse2_loadlpd) <attr "prefix_data16">: Ditto.
- <attr "length_immediate">: Ditto.
- <attr "prefix">: Ditto.
- (sse2_movsd) <attr "length_immediate">: Ditto.
- <attr "prefix">: Ditto.
- (vec_concatv2df) <attr "isa">: Ditto.
- <attr "prefix">: Ditto.
- (*vec_extractv4si) <attr "prefix_extra">: Ditto.
- (*vec_extractv2di_1) <attr "isa">: Ditto.
- <attr "type">: Ditto.
- <attr "length_immediate">: Ditto.
- <attr "prefix_rex">: Ditto.
- <attr "prefix_extra">: Ditto.
- (*vec_concatv2si_sse4_1) <attr "type">: Ditto.
- <attr "prefix_extra">: Ditto.
- <attr "length_immediate">: Ditto.
- (vec_concatv2di) <attr "isa">: Ditto.
- <attr "prefix_extra">: Ditto.
- <attr "length_immediate">: Ditto.
- <attr "prefix">: Ditto.
-
-2016-05-26 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-ivopts.c (comp_cost::infinite_cost_p): New
- function.
- (operator+): Likewise.
- (operator-): Likewise.
- (comp_cost::operator+=): Likewise.
- (comp_cost::operator-=): Likewise.
- (comp_cost::operator/=): Likewise.
- (comp_cost::operator*=): Likewise.
- (operator<): Likewise.
- (operator==): Likewise.
- (operator<=): Likewise.
- (new_cost): Remove.
- (infinite_cost_p): Likewise.
- (add_costs): Likewise.
- (sub_costs): Likewise.
- (compare_costs): Likewise.
- (set_group_iv_cost): Use the newly introduced functions.
- (get_address_cost): Likewise.
- (get_shiftadd_cost): Likewise.
- (force_expr_to_var_cost): Likewise.
- (split_address_cost): Likewise.
- (ptr_difference_cost): Likewise.
- (difference_cost): Likewise.
- (get_computation_cost_at): Likewise.
- (determine_group_iv_cost_generic): Likewise.
- (determine_group_iv_cost_address): Likewise.
- (determine_group_iv_cost_cond): Likewise.
- (autoinc_possible_for_pair): Likewise.
- (determine_group_iv_costs): Likewise.
- (cheaper_cost_pair): Likewise.
- (iv_ca_recount_cost): Likewise.
- (iv_ca_set_no_cp): Likewise.
- (iv_ca_set_cp): Likewise.
- (iv_ca_cost): Likewise.
- (iv_ca_new): Likewise.
- (iv_ca_dump): Likewise.
- (iv_ca_narrow): Likewise.
- (iv_ca_prune): Likewise.
- (iv_ca_replace): Likewise.
- (try_add_cand_for): Likewise.
- (try_improve_iv_set): Likewise.
- (find_optimal_iv_set): Likewise.
-
-2016-05-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-loop-ivopts.c (loop_body_includes_call): Don't assume
- that internal functions will clobber all caller-saved registers.
-
-2016-05-26 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_case_values_threshold):
- Return a better case_values_threshold when optimizing.
-
-2016-05-26 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_combinez):
- Add ? to integer variant.
- (aarch64_combinez_be): Likewise.
-
-2016-05-26 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*vcvtps2ph_store<mask_name>): Use v constraint
- instead of x constraint.
- (vcvtps2ph256<mask_name>): Likewise.
-
- * config/i386/sse.md (*ssse3_palignr<mode>_perm): Add avx512bw
- alternative. Formatting fix.
-
- * config/i386/sse.md
- (<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Rename
- to ...
- (avx512vl_shuf_<shuffletype>32x4_1<mask_name>): ... this.
- (*avx_vperm_broadcast_v4sf): Use v constraint instead of x. Use
- maybe_evex prefix instead of vex.
- (*avx_vperm_broadcast_<mode>): Use v constraint instead of x. Handle
- EXT_REX_SSE_REG_P (op0) case in the splitter.
-
-2016-05-25 Jeff Law <law@redhat.com>
-
- PR tree-optimization/71272
- * tree-ssa-threadbackward.c (convert_and_register_jump_thread_path):
- Update comments. Add test for empty path.
-
-2016-05-25 Bill Seurer <seurer@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne.
- * config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a
- special case builtin.
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
- code for ALTIVEC_BUILTIN_VEC_CMPNE.
- * config/rs6000/rs6000.c (altivec_init_builtins): Add definition
- for __builtin_vec_cmpne.
-
-2016-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
- redundant test and bail out if the type of the new operand is not
- a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
-
-2016-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.opt (ix86_target_flags_explicit): Remove.
- (x_ix86_target_flags_explicit): Remove.
- * config/i386/i386.c (ix86_function_specific_save): Do not copy
- x_ix86_target_flags_explicit.
- (ix86_function_specific_restore): Ditto.
-
-2016-05-25 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/70738
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
- (ix86_handle_option) <case OPT_mgeneral_regs_only>: Disable
- MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only.
- * config/i386/i386.opt (ix86_target_flags): Add new Variable.
- (-mgeneral-regs-only): Add new option.
- * config/i386/i386.c (ix86_option_override_internal): Don't enable
- x87 instructions if only general registers are allowed.
- (ix86_target_string): Add ix86_flags argument. Handle additional
- flags options through ix86_flags argument. Update all callers.
- * doc/invoke.texi (x86 Options): Document -mgeneral-regs-only.
-
-2016-05-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/66940
- * ifcvt.c (noce_get_alt_condition): Check that incrementing or
- decrementing desired_val will not overflow before performing these
- operations.
-
-2016-05-25 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
- V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
- * config/i386/i386.c (enum ix86_builtins): Add
- IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
- IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
- IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
- IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
- IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
- IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
- (builtin_description bdesc_args): Add __builtin_ia32_floorps512,
- __builtin_ia32_ceilps512, __builtin_ia32_truncps512,
- __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
- __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
- __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
- __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
- Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
- __builtin_ia32_cvtps2dq512_mask.
- (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
- V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
- (ix86_builtin_vectorized_function): Handle builtins mentioned above.
- * config/i386/sse.md
- (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
- Rename to ...
- (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
- (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
- to ...
- (avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
- (avx512f_vec_pack_sfix_v8df): New define_expand.
- (avx512f_roundpd512): Rename to ...
- (avx512f_round<castmode>512): ... this. Change iterator.
- (avx512f_roundps512_sfix): New define_expand.
- (round<mode>2_sfix): Change iterator.
-
-2016-05-25 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (msp430_attr): Produce an error if a
- static interrupt handler is detected.
- * config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
- default linker script.
- * config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
- the low part of a symbolic pointer.
-
-2016-05-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71261
- * tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
- interesting stmt instead of immediate uses when looking
- for the use operand to replace.
-
-2016-05-25 Martin Liska <mliska@suse.cz>
-
- * ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.
-
-2016-05-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71264
- * tree-vect-stmts.c (vect_init_vector): Properly deal with
- vector type val.
-
-2016-05-25 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/71239
- * tree.c (array_at_struct_end_p): Do not call operand_equal_p
- if DECL_SIZE is NULL.
-
-2016-05-25 Richard Biener <rguenther@suse.de>
-
- * timevar.def (TV_TREE_LOOP_IFCVT): Add.
- * tree-if-conv.c (pass_data_if_conversion): Use it.
-
-2016-05-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * cgraph.c (cgraph_node::get_availability): Fix typo in comment.
- * symtab.c (symtab_node::binds_to_current_def_p): Likewise.
- * varpool.c (varpool_node::get_availability): Likewise.
-
-2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (VNEG iterator): New iterator for
- VNEGW/VNEGD instructions.
- (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
- (neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
- support for ISA 3.0 VNEGW/VNEGD instructions.
-
-2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
-
- * gimplify.c (omp_notice_variable): Use zero-length arrays for data
- pointers inside OACC_DATA regions.
- (gimplify_scan_omp_clauses): Prune firstprivate clause associated
- with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions.
- (gimplify_adjust_omp_clauses): Fix typo in comment.
-
-2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (VParity): New mode iterator for vector
- parity built-in functions.
- (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
- zeros.
- (p9v_parity<mode>2): Likewise.
- * config/rs6000/vector.md (VEC_IP): New mode iterator for vector
- parity.
- (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
- (parity<mode>2): ISA 3.0 expander for vector parity.
- * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
- power9 built-ins.
- (BU_P9_64BIT_MISC_0): Likewise.
- (BU_P9_MISC_0): Likewise.
- (BU_P9V_AV_1): Likewise.
- (BU_P9V_AV_2): Likewise.
- (BU_P9V_AV_3): Likewise.
- (BU_P9V_AV_P): Likewise.
- (BU_P9V_VSX_1): Likewise.
- (BU_P9V_OVERLOAD_1): Likewise.
- (BU_P9V_OVERLOAD_2): Likewise.
- (BU_P9V_OVERLOAD_3): Likewise.
- (VCTZB): Add vector count trailing zeros support.
- (VCTZH): Likewise.
- (VCTZW): Likewise.
- (VCTZD): Likewise.
- (VPRTYBD): Add vector parity support.
- (VPRTYBQ): Likewise.
- (VPRTYBW): Likewise.
- (VCTZ): Add overloaded vector count trailing zeros support.
- (VPRTYB): Add overloaded vector parity support.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloaded vector count trailing zeros and parity instructions.
- * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
- vector parity support.
- * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
- trailing zeros support.
- (vec_cntlz): Likewise.
- (vec_vctzb): Likewise.
- (vec_vctzd): Likewise.
- (vec_vctzh): Likewise.
- (vec_vctzw): Likewise.
- (vec_vprtyb): Add ISA 3.0 vector parity support.
- (vec_vprtybd): Likewise.
- (vec_vprtybw): Likewise.
- (vec_vprtybq): Likewise.
- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
- the ISA 3.0 vector count trailing zeros and vector parity built-in
- functions.
-
-2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
- when there is stmt_to_insert.
-
-2016-05-24 Martin Sebor <msebor@redhat.com>
-
- PR c++/71147
- * tree.h (complete_or_array_type_p): New inline function.
-
-2016-05-24 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
- * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
- rather than X86_TUNE_AVOID_4BYTE_PREFIXES.
-
- * config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
- Limit 1st alternative to noavx isa, split 2nd alternative into one
- noavx and one avx alternative, use *x and Bm in the former and
- x and m in the latter.
-
- * config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
- of sse4 for the first alternative, drop %v from the template
- and d operand modifier. Split second alternative into one sse4_noavx
- and one avx alternative, use *x instead of *v in the former and v
- instead of *v in the latter.
- (*sse4_1_extractps): Use noavx isa instead of * for the first
- alternative, drop %v from the template. Split second alternative into
- one noavx and one avx alternative, use *x instead of *v in the
- former and v instead of *v in the latter.
- (<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
- with noavx and the last one with avx.
- (sse4_1_phminposuw): Guard first alternative with noavx isa,
- split the second one into one noavx and one avx alternative,
- use *x and Bm in the former and x and m in the latter one.
- (<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
- alternatives.
-
- * config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
- first two alternatives to noavx, use *x instead of *v in the second
- one, add avx alternative without *.
- (sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
- sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
- sse4_1_<code>v2siv2di2<mask_name>): Likewise.
-
-2016-05-24 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):
- New function, extracted from...
- (fsm_find_control_statement_thread_paths): Here. Use the new function.
- Allow simple copies and constant initializations in the SSA chain.
-
-2016-05-24 Marek Polacek <polacek@redhat.com>
-
- PR c/71249
- * gimplify.c (gimplify_switch_expr): Look into the innermost lexical
- scope.
-
-2016-05-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/71257
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. Add
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
-
-2016-05-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71240
- * tree-ssa-math-opts.c (init_symbolic_number): Verify the source
- has integral type.
-
-2016-05-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71230
- * tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops.
-
-2016-05-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vectorizer.h (vectorizable_comparison): Delete.
- * tree-vect-loop.c (vectorizable_reduction): Remove redundant
- PURE_SLP_STMT check.
- * tree-vect-stmts.c (vectorizable_call): Likewise.
- (vectorizable_simd_clone_call): Likewise.
- (vectorizable_conversion): Likewise.
- (vectorizable_assignment): Likewise.
- (vectorizable_shift): Likewise.
- (vectorizable_operation): Likewise.
- (vectorizable_load): Likewise.
- (vectorizable_condition): Likewise.
- (vectorizable_store): Likewise. Assert that we don't have
- hybrid SLP.
- (vectorizable_comparison): Make static. Remove redundant
- PURE_SLP_STMT check.
- (vect_transform_stmt): Assert that we always have an slp_node
- if PURE_SLP_STMT.
-
-2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/neon.md (ashldi3_neon): Replace comparison of INTVAL of
- operands[2] against 1 with comparison against CONST1_RTX.
- (<shift>di3_neon): Likewise.
- * config/arm/predicates.md (const0_operand): Replace with comparison
- against CONST0_RTX.
-
-2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
- operands[2] against 1 with comparison against CONST1_RTX.
- (ashrdi3): Likewise.
- (lshrdi3): Likewise.
- (ashlsi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with
- UINTVAL.
- (ashrsi3): Likewise.
- (lshrsi3): Likewise.
- (rotrsi3): Likewise.
- (define_split above *compareqi_eq0): Likewise.
- (define_split above "prologue"): Likewise.
- * config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
- * config/arm/predicates.md (shift_operator): Likewise.
- (shift_nomul_operator): Likewise.
- (sat_shift_operator): Likewise.
- (thumb1_cmp_operand): Likewise.
- (const_neon_scalar_shift_amount_operand): Replace manual range
- check with IN_RANGE.
- * config/arm/thumb1.md (define_peephole2 above *thumb_subdi3):
- Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL.
-
-2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (andsi3): Replace cast of 1 to HOST_WIDE_INT
- with HOST_WIDE_INT_1.
- (insv): Likewise.
- * config/arm/arm.c (optimal_immediate_sequence): Replace cast of
- 1 to unsigned HOST_WIDE_INT with HOST_WIDE_INT_1U.
- (arm_canonicalize_comparison): Likewise.
- (thumb1_rtx_costs): Replace cast of 1 to HOST_WIDE_INT with
- HOST_WIDE_INT_1.
- (thumb1_size_rtx_costs): Likewise.
- (vfp_const_double_index): Replace cast of 1 to unsigned
- HOST_WIDE_INT with HOST_WIDE_INT_1U.
- (get_jump_table_size): Replace cast of 1 to HOST_WIDE_INT with
- HOST_WIDE_INT_1.
- (arm_asan_shadow_offset): Replace cast of 1 to unsigned
- HOST_WIDE_INT with HOST_WIDE_INT_1U.
- * config/arm/neon.md (vec_set<mode>): Replace cast of 1 to
- HOST_WIDE_INT with HOST_WIDE_INT_1.
-
-2016-05-24 Marek Polacek <polacek@redhat.com>
-
- * tree-cfg.h (should_remove_lhs_p): New predicate.
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
- * gimplify.c (gimplify_modify_expr): Likewise.
- * tree-cfg.c (verify_gimple_call): Likewise.
- * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
- * gimple-fold.c: Include "tree-cfg.h".
- (gimple_fold_call): Use should_remove_lhs_p.
-
-2016-05-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71253
- * cfganal.h (control_dependences): Make robust against edge
- and BB removal.
- (control_dependences::control_dependences): Remove edge_list argument.
- (control_dependences::get_edge): Remove.
- (control_dependences::get_edge_src): Add.
- (control_dependences::get_edge_dest): Likewise.
- (control_dependences::m_el): Make a vector of edge src/dest index.
- * cfganal.c (control_dependences::find_control_dependence): Adjust.
- (control_dependences::control_dependences): Likewise.
- (control_dependences::~control_dependence): Likewise.
- (control_dependences::get_edge): Remove.
- (control_dependences::get_edge_src): Add.
- (control_dependences::get_edge_dest): Likewise.
- * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use
- get_edge_src.
- (perform_tree_ssa_dce): Adjust.
- * tree-loop-distribution.c (create_edge_for_control_dependence): Use
- get_edge_src.
- (pass_loop_distribution::execute): Adjust. Do loop destroying
- conditional on changed.
-
-2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69857
- * config/arm/arm.c (gen_operands_ldrd_strd): Remove bogus early
- return. Reindent transformation comment and mention the ARM state
- behavior.
-
-2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71252
- * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert
- after build_and_add_sum creates new use stmt.
-
-2016-05-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-stmts.c (vectorizable_load): Reorder checks so that
- load_lanes/grouped_load classification comes first. Don't check
- whether the vectorization factor is a multiple of the group size
- for load_lanes.
-
-2016-05-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Set
- GROUP_GAP for single-element interleaving.
- * tree-vect-stmts.c (vectorizable_load): Remove force_peeling
- variable.
-
-2016-05-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70434
- PR c/69504
- * tree-ssa.c (non_rewritable_mem_ref_base): Make sure to mark
- bases which are accessed with non-invariant indices.
- * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Re-write
- constant index ARRAY_REFs of vectors into BIT_FIELD_REFs.
-
-2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71170
- * tree-ssa-reassoc.c (struct operand_entry): Add field stmt_to_insert.
- (add_to_ops_vec): Add stmt_to_insert.
- (add_repeat_to_ops_vec): Init stmt_to_insert.
- (insert_stmt_before_use): New.
- (transform_add_to_multiply): Remove mult_stmt insertion and add it
- to ops vector.
- (get_ops): Init stmt_to_insert.
- (maybe_optimize_range_tests): Likewise.
- (rewrite_expr_tree): Insert stmt_to_insert before use stmt.
- (rewrite_expr_tree_parallel): Likewise.
- (reassociate_bb): Likewise.
-
-2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/71201
- * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
- ISA 3.0 xxperm fusion alternative.
- (altivec_vperm_v8hiv16qi): Likewise.
- (altivec_vperm_<mode>_uns_internal): Likewise.
- (vperm_v8hiv4si): Likewise.
- (vperm_v16qiv8hi): Likewise.
-
-2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com>
- Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
- vpermr/xxpermr on ISA 3.0.
- (altivec_expand_vec_perm_le): Likewise.
- * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
- (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
- ISA 3.0.
-
-2016-05-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (IS_STACK_MODE): Enable for
- TARGET_MIX_SSE_I387. Rewrite using X87_FLOAT_MODE_P and
- SSE_FLOAT_MODE_P macros.
- * config/i386/i386.c (ix86_preferred_reload_class): Use
- IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
- Cleanup regclass processing for CONST_DOUBLE_P.
- (ix86_preferred_output_reload_class): Use IS_STACK_MODE macro.
- (ix86_rtx_costs): Remove redundant TARGET_80387 check
- with IS_STACK_MODE macro.
- * config/i386/i386.md: Replace SSE_FLOAT_MODE_P (DFmode)
- with TARGET_SSE2.
- (*movdf_internal): Use IS_STACK_MODE macro.
- (*movsf_internal): Ditto.
-
-2016-05-23 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (a * (1 << b), ~x & ~y, ~X ^ ~Y, (X ^ Y) ^ Y, ~ (-A),
- ~ (A - 1), ~(~X >> Y), ~(~X >>r Y)): Relax constraints.
-
-2016-05-23 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (profitable_jump_thread_path): New function
- extracted from ...
- (fsm_find_control_statement_thread_paths): Call it.
-
-2016-05-23 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/71234
- * ipa-cp.c (ipa_get_indirect_edge_target_1): Only check value of
- from_global_constant if t is not NULL.
-
-2016-05-23 Marek Polacek <polacek@redhat.com>
-
- PR c/49859
- * common.opt (Wswitch-unreachable): New option.
- * doc/invoke.texi: Document -Wswitch-unreachable.
- * gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable
- warning.
-
-2016-05-23 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when
- TMR_INDEX is non-NULL.
-
-2016-05-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71230
- * tree-ssa-reassoc.c (acceptable_pow_call): Move initial condition...
- (try_special_add_to_ops): ... here. Always test for single-use.
-
-2016-05-23 Martin Jambor <mjambor@suse.cz>
-
- * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
- default block if a PHI node in the original one would be resized.
-
-2016-05-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR tree-optimization/58135
- * tree-vect-slp.c: When group size is not multiple
- of vector size, allow splitting of store group at
- vector boundary.
-
-2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/arm_neon.h (vtst_p16, vtstq_p16): New.
-
-2016-05-22 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
- vec_set_hi_<mode><mask_name>): Add && <mask_avx512dq_condition>
- condition. For !TARGET_AVX512DQ, emit 32x4 instruction instead
- of 64x2.
-
- * config/i386/sse.md (vec_set_lo_v16hi, vec_set_hi_v16hi,
- vec_set_lo_v32qi, vec_set_hi_v32qi): Add alternative with
- v constraint instead of x and vinserti32x4 insn.
-
- * config/i386/sse.md (i128vldq): New mode iterator.
- (avx2_vbroadcasti128_<mode>, avx_vbroadcastf128_<mode>): Add
- avx512dq and avx512vl alternatives.
-
- * config/i386/sse.md (avx2_vec_dupv4df): Use v instead of x
- constraint, use maybe_evex prefix instead of vex.
- (vec_dupv4sf): Use v constraint instead of x for output
- operand except for noavx alternative, use Yv constraint
- instead of x for input. Use maybe_evex prefix instead of vex.
- (*vec_dupv4si): Likewise.
- (*vec_dupv2di): Likewise.
-
-2016-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/40921
- * tree-ssa-reassoc.c (try_special_add_to_ops): New.
- (linearize_expr_tree): Call try_special_add_to_ops.
- (reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR.
-
-2016-05-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * config/avr/avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET
- to computed stack_usage.
-
-2016-05-21 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- PR target/71103
- * config/avr/avr.md (define_expand "mov<mode>"): If the source
- operand is subreg (symbol_ref) then move the symbol ref to register.
-
-2016-05-21 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (array_at_struct_end_p): Look through MEM_REF.
-
-2016-05-21 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/71179
- * tree-ssa-reassoc.c (transform_add_to_multiply): Disallow float
- VECTOR type.
-
-2016-05-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
- ranges by calling get_single_symbol and tidy up. Look more closely
- into NAME + CST1 vs CST2 comparisons if type overflow is undefined.
-
-2016-05-20 Jeff Law <law@redhat.com>
-
- * bitmap.c (bitmap_find_bit): Remove useless test.
-
-2016-05-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (thread_prologue_and_epilogue_insns): Commit the
- insertion of the epilogue.
-
-2016-05-20 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/70884
- * tree-sra.c (initialize_constant_pool_replacements): Do not check
- should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
- (sort_and_splice_var_accesses): Do not consider multiple scalar reads
- of constant pool data as a reason for scalarization.
-
-2016-05-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
- for naked functions.
- (thumb1_expand_prologue): Likewise.
-
-2016-05-20 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nptx.c (nvptx_option_override): Only set
- flag_toplevel_reorder, if not explicitly specified. Set
- flag_no_common, unless explicitly specified.
-
-2016-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * calls.c (can_implement_as_sibling_call_p): Mark param
- reg_parm_stack_space with ATTRIBUTE_UNUSED.
-
-2016-05-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_rtx_costs) <case CONST_DOUBLE>:
- Use IS_STACK_MODE when calculating cost of standard 80387 constants.
- Fallthru to CONST_VECTOR case to calculate cost of standard SSE
- constants.
- <case CONST_WIDE_INT>: Calculate cost of (MEM (SYMBOL_REF)).
- (ix86_legitimate_constant_p): Use CASE_CONST_SCALAR_INT
- and CASE_CONST_ANY.
-
-2016-05-20 Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.md (sincossf3): New pattern.
-
-2016-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * calls.c (maybe_complain_about_tail_call): New function.
- (initialize_argument_information): Call
- maybe_complain_about_tail_call when clearing *may_tailcall.
- (can_implement_as_sibling_call_p): Call
- maybe_complain_about_tail_call when returning false.
- (expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set,
- ensure try_tail_call is set. Call maybe_complain_about_tail_call
- if tail-call optimization fails.
- * cfgexpand.c (expand_call_stmt): Initialize
- CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p.
- * gimple-pretty-print.c (dump_gimple_call): Dump
- gimple_call_must_tail_p.
- * gimple.c (gimple_build_call_from_tree): Call
- gimple_call_set_must_tail with the value of
- CALL_EXPR_MUST_TAIL_CALL.
- * gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL.
- (gimple_call_set_must_tail): New function.
- (gimple_call_must_tail_p): New function.
- * print-tree.c (print_node): Update printing of TREE_STATIC
- to reflect its use for CALL_EXPR_MUST_TAIL_CALL.
- * tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the
- trailing comment listing applicable flags.
- * tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro.
-
-2016-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * calls.c (expand_call): Move "Rest of purposes for tail call
- optimizations to fail" to...
- (can_implement_as_sibling_call_p): ...this new function, and
- split into multiple "if" statements.
-
-2016-05-20 Jan Hubicka <hubicka@ucw.cz>
-
- * cfgloop.h (expected_loop_iterations_unbounded,
- expected_loop_iterations): Unconstify.
- * cfgloopanal.c (expected_loop_iterations_unbounded): Sanity check the
- profile with known upper bound; return 3 when profile is absent.
- (expected_loop_iterations): Update.
-
-2016-05-20 Jan Hubicka <hubicka@ucw.cz>
-
- * loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int
- and get_max_loop_iterations_int.
-
-2016-05-20 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can not produce
- realistic upper bounds here.
-
-2016-05-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/71210
- * gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
- calls if the LHS is variable length or has addressable type.
- If targets[0]->decl is a noreturn call with void return type and
- zero arguments, adjust fntype and remove lhs in that case.
-
-2016-05-20 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/71079
- PR tree-optimization/71206
- * match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.
-
-2016-05-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
- (get_vec_alignment_for_array_decl): Likewise.
- (get_vec_alignment_for_record_decl): Likewise.
- (increase_alignment::execute): Move code to find alignment to
- get_vec_alignment_for_array_decl and call get_vec_alignment_for_decl.
- (type_align_map): New hash_map.
-
-2016-05-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/29756
- * tree.def (BIT_INSERT_EXPR): New tcc_expression tree code.
- * expr.c (expand_expr_real_2): Handle BIT_INSERT_EXPR.
- * fold-const.c (operand_equal_p): Likewise.
- (fold_ternary_loc): Add constant folding of BIT_INSERT_EXPR.
- * gimplify.c (gimplify_expr): Handle BIT_INSERT_EXPR.
- * tree-inline.c (estimate_operator_cost): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree-ssa-operands.c (get_expr_operands): Likewise.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
- * gimple.c (get_gimple_rhs_num_ops): Handle BIT_INSERT_EXPR.
- * tree-cfg.c (verify_gimple_assign_ternary): Verify BIT_INSERT_EXPR.
- * tree-ssa.c (non_rewritable_lvalue_p): We can rewrite
- vector inserts using BIT_FIELD_REF or MEM_REF on the lhs.
- (execute_update_addresses_taken): Do it.
-
-2016-05-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71185
- * tree-ssa-loop-prefetch.c (gather_memory_references): Drop
- register operations.
-
-2016-05-20 Richard Biener <rguenther@suse.de>
-
- * tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use
- gimple_seq_add_seq_without_update.
- (release_bb_predicate): Assert we have no operands to free.
- (if_convertible_loop_p_1): Calculate post dominators later.
- Do not free BB predicates here.
- (combine_blocks): Do not recompute BB predicates.
- (version_loop_for_if_conversion): Save BB predicates around
- loop versioning.
-
-2016-05-19 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (make_epilogue_seq): Remove epilogue_end parameter.
- (thread_prologue_and_epilogue_insns): Remove bb_flags. Restructure
- code. Ignore sibcalls on EDGE_IGNORE edges.
- * shrink-wrap.c (handle_simple_exit): New function. Set EDGE_IGNORE
- on edges for sibcalls that run without prologue. The rest of the
- function is combined from...
- (fix_fake_fallthrough_edge): ... this, and ...
- (try_shrink_wrapping): ... a part of this. Remove the bb_with
- function argument, make it a local variable.
-
-2016-05-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow
- --disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH
- for 32-bit mode and SEH for 64-bit.
- * config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle
- TARGET_64BIT_DEFAULT.
-
-2016-05-19 Ryan Burn <contact@rnburn.com>
-
- * Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
- * gengtype.c (open_base_files): Add cilk.h to ifiles.
-
-2016-05-19 Uros Bizjak <ubizjak@gmail.com>
-
- * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
- force pending loads from memory.
-
-2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
- (UNSPEC_DARN_32): New unspec constant.
- (UNSPEC_DARN_RAW): New unspec constant.
- (darn_32): New instruction.
- (darn_raw): New instruction.
- (darn): New instruction.
- * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
- support and documentation for this macro.
- (BU_P9_MISC_1): New macro definition.
- (BU_P9_64BIT_MISC_0): New macro definition.
- (BU_P9_MISC_0): New macro definition.
- (darn_32): New builtin definition.
- (darn_raw): New builtin definition.
- (darn): New builtin definition.
- * config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
- RS6000_BUILTIN_0 directives to surround each occurrence of
- #include "rs6000-builtin.def".
- (rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
- RS6000_BTM_64BIT flags to the returned mask, depending on
- configuration.
- (def_builtin): Correct an error in the assignments made to the
- debugging variable attr_string.
- (rs6000_expand_builtin): Add support for no-operand built-in
- functions.
- (builtin_function_type): Remove fatal_error assertion that is no
- longer valid.
- (rs6000_common_init_builtins): Add support for no-operand built-in
- functions.
- * config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
- definition.
- (RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
- definition.
- (RS6000_BTM_64BIT): New macro definition.
- * doc/extend.texi: Document __builtin_darn (void),
- __builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
- functions.
-
-2016-05-19 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Use also
- max_loop_iterations_int.
-
-2016-05-19 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/71031
- * tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
- condition and adjust the code a bit.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
- auto_vec instead of vec.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-parloops.c (oacc_entry_exit_ok): Release a vector.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * ipa-pure-const.c (set_function_state): Remove an existing
- funct_state.
- (remove_node_data): Do not free it as it's released
- in set_function_state.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release
- bitmap.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * omp-simd-clone.c (simd_clone_adjust): Release vector.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
- an auto_vec instead of re-creating it.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
- auto_vec instead of vec.
-
-2016-05-19 Martin Liska <mliska@suse.cz>
-
- * lto-section-in.c (lto_get_section_data): Call
- lto_check_version with additional argument.
- * lto-streamer.c (lto_check_version): Add new argument.
- * lto-streamer.h (lto_check_version): Likewise.
-
-2016-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
- Don't add cost of inner memory when handling sign-extended loads.
-
-2016-05-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR rtl-optimization/71148
- * cse.c (cse_main): Free dominance info.
- (rest_of_handle_cse): Don't free dominance info.
- (rest_of_handle_cse2): Likewise.
- (rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/71056
- * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
- NULL_TREE early if NEON is not available. Remove now redundant check
- in ARM_CHECK_BUILTIN_MODE.
-
-2016-05-19 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- PR sanitizer/64354
- * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add new
- builtin __SANITIZE_THREAD__ macros for fsanitize=thread switch.
- * doc/cpp.texi: Document new macros.
-
-2016-05-19 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69848
- * tree-vect-loop.c (vectorizable_reduction): Don't factor
- comparison expr out of VEC_COND_EXPR for COND_REDUCTION.
-
-2016-05-19 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (thread_prologue_and_epilogue_insn): Move the
- "goto epilogue_done" one block later.
-
-2016-05-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70729
- * passes.def: Move LIM pass before PRE. Remove no longer
- required copyprop and move first DCE out of the loop pipeline.
-
-2016-05-18 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/69265
- * Makefile.in (GCC_OBJS): Move spellcheck.o to...
- (OBJS-libcommon-target): ...here.
- * opts-common.c: Include spellcheck.h.
- (cmdline_handle_error): Build a vec of valid options and use it
- to suggest provide hints for misspelled arguments.
-
-2016-05-18 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/71100
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
- lhs if it has TREE_ADDRESSABLE type.
-
-2016-05-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71145
- * config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
- (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
-
-2016-05-18 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/69708
- * ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant
- input for NOP_EXPR pass-through functions.
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow
- aggregate global constant VAR_DECLs in constant jump functions.
-
-2016-05-18 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/69708
- * ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads
- from TREE_READONLY parameters.
-
-2016-05-18 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/69708
- * cgraph.h (cgraph_indirect_call_info): New field
- guaranteed_unmodified.
- * ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value
- to ipa_find_agg_cst_for_param, check guaranteed_unmodified when
- appropriate.
- * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also
- pass the parameter value to ipa_find_agg_cst_for_param.
- * ipa-prop.c (ipa_load_from_parm_agg): New parameter
- guaranteed_unmodified, store AA results there instead of bailing out
- if present.
- (ipa_note_param_call): Also initialize guaranteed_unmodified flag.
- (ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag.
- (find_constructor_constant_at_offset): New function.
- (ipa_find_agg_cst_from_init): Likewise.
- (ipa_find_agg_cst_for_param): Also seearch for aggregate values in
- static initializers of contants, report back through a new paameter
- from_global_constant if that was the case.
- (try_make_edge_direct_simple_call): Also pass parameter value to
- ipa_find_agg_cst_for_param, check guaranteed_unmodified when
- appropriate.
- (ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified.
- (ipa_read_indirect_edge_info): Likewise.
- * ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration.
- (ipa_load_from_parm_agg): Likewise.
-
-2016-05-18 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/71150
- * lra-constraint (process_addr_reg): Guard "in_class_p" with REG_P
- check.
-
-2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70915
- * config/rs6000/constraints.md (wE constraint): New constraint
- for a vector constant that can be loaded with XXSPLTIB.
- (wM constraint): New constraint for a vector constant of a 1's.
- (wS constraint): New constraint for a vector constant that can be
- loaded with XXSPLTIB and a vector sign extend instruction.
- * config/rs6000/predicates.md (xxspltib_constant_split): New
- predicates for wE/wS constraints.
- (xxspltib_constant_nosplit): Likewise.
- (easy_vector_constant): Add support for constants that can be
- loaded via XXSPLTIB.
- (all_ones_constant): New predicate for vector constant with all
- 1's set.
- (splat_input_operand): Add support for ISA 3.0 word splat operations.
- * config/rs6000/rs6000.c (xxspltib_constant_p): New function to
- return if a constant can be loaded with the ISA 3.0 XXSPLTIB
- instruction and possibly with a sign extension.
- (output_vec_const_move): Add support for XXSPLTIB. If we are
- loading up 0/-1 into Altivec registers, prefer using VSPLTISW
- instead of XXLXOR/XXLORC.
- (rs6000_expand_vector_init): Add support for ISA 3.0 word splat
- operations.
- (rs6000_legitimize_reload_address): Likewise.
- (rs6000_output_move_128bit): Use output_vec_const_move to emit
- constants.
- * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
- combine VSX_M and VSX_M2 into one iterator.
- (VSX_M2): Likewise.
- (VSINT_84): New iterators for loading constants with XXSPLTIB.
- (VSINT_842): Likewise.
- (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
- (xxspltib_v16qi): New insns to load up constants with the ISA 3.0
- XXSPLTIB instruction.
- (xxspltib_<mode>_nosplit): Likewise.
- (xxspltib_<mode>_split): New insn to load up constants with
- XXSPLTIB and a sign extend instruction.
- (vsx_mov<mode>): Replace single move that handled all vector types
- with separate 32-bit and 64-bit moves. Combine the movti_<bit>
- moves (when -mvsx-timode is in effect) into the main vector
- moves. Eliminate separate moves for <VSr> <VSa>, where the
- preferred register class (<VSr>) is listed first, and the
- secondary register class (<VSa>) is listed second with a '?' to
- discourage use. Prefer loading 0/-1 in any VSX register for ISA
- 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
- that if the register was involved in a slow operation, the
- clear/set operation does not wait for the slow operation to
- finish. Adjust the length attributes for 32-bit mode. Use
- rs6000_output_move_128bit and drop the use of the string
- instructions for 32-bit movti when -mvsx-timode is in effect. Use
- spacing so that the alternatives and attributes don't generate
- long lines, and put things in columns, so that it is easier to
- match up the operands and attributes with the insn alternatives.
- (vsx_mov<mode>_64bit): Likewise.
- (vsx_mov<mode>_32bit): Likewise.
- (vsx_movti_64bit): Fold movti into normal vector moves.
- (vsx_movti_32bit): Likewise.
- (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
- splat instructions.
- (vsx_splat_v4si_internal): Likewise.
- (vsx_splat_v4sf_internal): Likewise.
- (vector fusion peepholes): Use VSX_M instead of VSX_M2.
- (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
- extend vector elements.
- (vsx_sign_extend_hi_<mode>): Likewise.
- (vsx_sign_extend_si_v2di): Likewise.
- * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
- declaration.
- * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
- constraints. Add trailing period to wL documentation.
-
-2016-05-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR middle-end/71020
- * tree-dfa.h (replace_abnormal_ssa_names): Declare.
- * tree-dfa.c (replace_abnormal_ssa_names): New function.
- * tree-call-cdce.c: Include tree-dfa.h.
- (can_guard_call_p): New function, extracted from...
- (can_use_internal_fn): ...here.
- (shrink_wrap_one_built_in_call_with_conds): Remove failure path
- and return void.
- (shrink_wrap_one_built_in_call): Likewise.
- (use_internal_fn): Likewise.
- (shrink_wrap_conditional_dead_built_in_calls): Update accordingly
- and return void. Call replace_abnormal_ssa_names.
- (pass_call_cdce::execute): Check can_guard_call_p during the
- initial walk. Assume shrink_wrap_conditional_dead_built_in_calls
- will always change something.
-
-2016-05-18 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/70646
- * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
- if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
-
-2016-05-18 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/70646
- * ipa-inline.h (condition): New field size.
- * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
- for comaprison and store it into the new condition.
- (evaluate_conditions_for_known_args): Use condition size to check
- access sizes for all but CHANGED conditions.
- (unmodified_parm_1): New parameter size_p, store access size into it.
- (unmodified_parm): Likewise.
- (unmodified_parm_or_parm_agg_item): Likewise.
- (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
- (set_cond_stmt_execution_predicate): Extract access sizes and store
- them to conditions.
- (set_switch_stmt_execution_predicate): Likewise.
- (will_be_nonconstant_expr_predicate): Likewise.
- (will_be_nonconstant_predicate): Likewise.
- (inline_read_section): Stream condition size.
- (inline_write_summary): Likewise.
-
-2016-05-18 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-loop-im.c (determine_max_movement): Properly add
- condition cost to PHI cost instead of total_cost.
-
-2016-05-18 Martin Liska <mliska@suse.cz>
-
- PR fortran/70856
- * ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
- merged variables.
-
-2016-05-18 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (LTO_major_version): Bump to 6.
-
-2016-05-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (make_split_prologue_seq, make_prologue_seq,
- make_epilogue_seq): New functions, factored out from...
- (thread_prologue_and_epilogue_insns): Here.
-
-2016-05-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
- cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead
- of before. Add a comment.
-
-2016-05-18 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check invariant
- expression pointer, not pointer to the pointer.
-
-2016-05-18 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
- (avx2_pbroadcast<mode>): Add another alternative with v instead
- of x constraints in it, using <pbroadcast_evex_isa> isa.
- (avx2_pbroadcast<mode>_1): Similarly, add two such alternatives.
-
- * config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
- constraint x instead of v in second alternative, add avx512bw
- alternative.
-
- * config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
- constraint x instead of v in second alternative, add avx512bw
- alternative.
-
- * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
- constraint x instead of v in second alternative, add avx512bw
- alternative.
-
- * config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
- avx512bw alternative.
-
-2016-05-18 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static
- array to 128 chars.
- (define_insn "*andnottf3"): Ditto.
- (define_insn "*<code><mode>3"/any_logic): Ditto.
- (define_insn "*<code>tf3"/any_logic): Ditto.
- (define_insn "sse2_storehpd"): Use Yv constraint for scalar
- operand to block AVX-512VL insn variant emit when it is not enabled.
-
-2016-05-18 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
- constraint fot SF mode.
-
-2016-05-18 Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand
- modifiers.
- (define_insn "rsqrt14<mode>"): Ditto.
- (define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
- (define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
- (define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto.
- (define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
- (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"):
- Ditto.
- (define_insn "*avx512f_gatherdi<mode>"): Ditto.
- (define_insn "*avx512f_scatterdi<mode>"): Ditto.
- * config/i386/i386.c (ix86_print_operand): Expand check for size
- override codes for Intel syntax.
-
-2016-05-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71168
- * tree-loop-distribution.c (distribute_loop): Move *destroy_p
- initialization earlier.
-
-2016-05-18 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_reduc_plus_internal<mode>): Rename to...
- (reduc_plus_scal): ...This, and remove previous implementation.
-
-2016-05-18 Richard Biener <rguenther@suse.de>
-
- * passes.def: Put late dse and cd_dce in canonical order.
-
-2016-05-17 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-transform.c (preserve_function_body_p): Look for
- first non-thunk clone.
- (save_function_body): Save into first non-thunk.
- * lto-cgraph.c (lto_output_edge): When streaming thunk do not look
- up call stmt id.
- (lto_output_node): Inline thunks don't need body in every
- partition.
- * lto-streamer-in.c: Do not fixup thunk clones.
- * cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
- thunks.
- * tree-inline.c (copy_bb): Be prepared for target node to be new after
- folding suceeds.
-
-2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/63586
- * tree-ssa-reassoc.c (transform_add_to_multiply): New.
- (reassociate_bb): Call transform_add_to_multiply.
-
-2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/aarch64/aarch64.c (all_extensions): Removed unused
- static variable.
-
-2016-05-17 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
- (TARGET_FUNCTION_ARG_BOUNDARY): Override.
-
-2016-05-17 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR tree-optimization/54579
- PR middle-end/55299
- * match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.
-
-2016-05-17 Marek Polacek <polacek@redhat.com>
-
- PR ipa/71146
- * tree-inline.c (expand_call_inline): Call
- maybe_remove_unused_call_args.
-
-2016-05-17 Jim Wilson <jim.wilson@linaro.org>
-
- * doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
- * doc/invoke.texi (-mnan=2008): Change signalling to signaling.
- * doc/md.texi (fmin@var{m}3): Likewise.
-
-2016-05-17 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (X & C): New transformation.
-
-2016-05-17 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (~X & Y): New transformation.
-
-2016-05-17 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-vrp.c (simplify_truth_ops_using_ranges): Set range
- information for new SSA_NAME.
- (simplify_conversion_using_ranges): Get range through get_range_info
- instead of get_value_range.
-
-2016-05-17 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
- Remove inline assembly.
- (vmvn_s16): Likewise.
- (vmvn_s32): Likewise.
- (vmvn_u8): Likewise.
- (vmvn_u16): Likewise.
- (vmvn_u32): Likewise.
- (vmvnq_s8): Likewise.
- (vmvnq_s16): Likewise.
- (vmvnq_s32): Likewise.
- (vmvnq_u8): Likewise.
- (vmvnq_u16): Likewise.
- (vmvnq_u32): Likewise.
- (vmvn_p8): Likewise.
- (vmvnq_p16): Likewise.
-
-2016-05-17 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
- Use builtin.
- (vmul_n_s16): Likewise.
- (vmul_n_s32): Likewise.
- (vmul_n_u16): Likewise.
- (vmul_n_u32): Likewise.
- (vmulq_n_f32): Likewise.
- (vmulq_n_f64): Likewise.
- (vmulq_n_s16): Likewise.
- (vmulq_n_s32): Likewise.
- (vmulq_n_u16): Likewise.
- (vmulq_n_u32): Likewise.
-
-2016-05-17 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend
- to all supported modes. Rename to "*aarch64_mul3_elt_from_dup".
-
-2016-05-17 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
- to *aarch64_fma4_elt_from_dup<mode>.
- (*aarch64_fnma4_elt_to_128df): Rename to
- *aarch64_fnma4_elt_from_dup<mode>.
- * config/aarch64/arm_neon.h (vfma_n_f64): New.
- (vfms_n_f32): Likewise.
- (vfms_n_f64): Likewise.
- (vfmsq_n_f32): Likewise.
- (vfmsq_n_f64): Likewise.
-
-2016-05-17 Gerald Pfeifer <gerald@pfeifer.com>
-
- * wide-int.h: Change fixed_wide_int_storage from class to struct.
-
-2016-05-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71132
- * tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
- Only add control dependences for blocks in the loop.
- (build_rdg): Adjust.
- (generate_code_for_partition): Return whether loop should
- be destroyed and delay that.
- (distribute_loop): Likewise.
- (pass_loop_distribution::execute): Record loops to be destroyed
- and perform delayed destroying of loops.
-
-2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70809
- * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
-
-2016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-elf.h (ASM_OUTPUT_DEF): Delete.
-
-2016-05-17 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/71114
- * config/i386/i386.c (dimode_scalar_chain::convert_op): Fix
- insertion point for instructions generated by validize_mem.
-
-2016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (SHIFT_COUNT_TRUNCATED): Wrap definition
- in brackets.
-
-2016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c
- (aarch64_output_simd_mov_immediate): Make "buf_size" a variable
- rather than a macro.
-
-2016-05-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * doc/invoke.texi (AArch64 Options): Various updates.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
- into instrumentation thunks.
- * cif-code.def (CIF_CHKP): New.
-
-2016-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/xopintrin.h: Correct "unsinged" typo in the comments.
-
-2016-05-16 Martin Jambor <mjambor@suse.cz>
-
- * hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
- (get_symbol_for_decl): Sorry if a global symbol in under-aligned.
-
-2016-05-16 Marek Polacek <polacek@redhat.com>
-
- * gimple.c (maybe_remove_unused_call_args): Fix typos in the
- commentary.
-
-2016-05-16 Martin Jambor <mjambor@suse.cz>
-
- PR hsa/70857
- * omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
- the outlined kernel function.
-
-2016-05-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.h (ISA_HAS_LSA): Enable for -mmsa.
- (ISA_HAS_DLSA): Ditto.
-
-2016-05-16 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/m5100.md (m51_int_load): Update the latency to 2.
-
-2016-05-16 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): Revert.
- (nvptx_name_replacement): Restore. Add comment.
- (write_fn_proto, write_fn_proto_from_insn,
- nvptx_output_call_insn): Restore
- (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Delete.
-
-2016-05-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md
- (add<mode>3_compareC_cconly_imm): Remove use of %w.
- (add<mode>3_compareC_imm): Likewise.
- (<optab>si3_uxtw): Split into register and immediate variants.
- (andsi3_compare0_uxtw): Likewise.
- (and<mode>3_compare0): Likewise.
- (and<mode>3nr_compare0): Likewise.
- (stack_protect_test_<mode>): Don't use %x for memory operands.
-
-2016-05-16 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips-cpus.def (p5600): Add multi-line brackets.
-
-2016-05-16 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
- Split integer shifts into shift_reg and bfm.
- (aarch64_lshr_sisd_or_int_<mode>3): Likewise.
- (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
- (ror<mode>3_insn): Likewise.
- (<optab>si3_insn_uxtw): Likewise.
- (<optab><mode>3_insn): Change to rotate_imm.
- (extr<mode>5_insn_alt): Likewise.
- (extrsi5_insn_uxtw): Likewise.
- (extrsi5_insn_uxtw_alt): Likewise.
-
-2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
- (TARGET_INVALID_RETURN_TYPE): Remove.
- * system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
- TARGET_INVALID_RETURN_TYPE.
- * target.def (invalid_parameter_type): Remove.
- (invalid_return_type): Remove.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
- on estimating thunk bodies; do not set inline_failed to CIF_THUNK for
- calls from thunk.
- * ipa-inline-transform.c (inline_call): When inlining into thunk produce
- gimple body.
- (preserve_function_body_p): No need to preserve function body
- * cif-codes.def (CIF_THUNK): Remove.
- * cgraphclones.c (duplicate_thunk_for_node): Thunks calls are inlinable.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-inline.c (expand_call_inline): recurse after inlining thunk.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_lang_data_in_decl): Also set target/optimization flags
- for thunks.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (report_inline_failed_reason): Look into thunks, too
- (inline_small_functions): Do not look for function symbol when
- resetting caches.
-
-2016-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-cgraph.c (compute_ltrans_boundary, output_symtab): Fix handling
- of inline thunks
-
-2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
- for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE.
- Define __ARM_FP16_ARGS when appropriate.
- * config/arm/arm.c (arm_invalid_parameter_type): Remove
- declaration.
- (arm_invalid_return_type): Likewise.
- (TARGET_INVALID_PARAMETER_TYPE): Remove.
- (TARGET_INVALID_RETURN_TYPE): Remove.
- (aapcs_vfp_sub_candidate): Allow HFmode.
- (aapcs_vfp_allocate): Add comment. Support HFmode.
- (aapcs_vfp_allocate_return_reg): Likewise.
- (struct aapcs_cp_arg_layout): Slightly reword comments for
- is_return_candidate and allocate_return_reg.
- (output_mov_vfp): Update assert.
- (arm_hard_regno_mode_ok): Remove comment, update HF-mode
- condition.
- (arm_invalid_parameter_type): Remove.
- (amr_invalid_return_type): Remove.
- * config/arm/arm.h (TARGET_NEON_FP16): Fix definition.
- * config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP.
- * config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP.
-
-2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
- * config/aarch64/arch64-protos.h
- (aarch64_legitimize_reload_address): Remove.
- * config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
- Remove.
-
-2016-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure.ac: Add ACX_NONCANONICAL_HOST.
- * configure: Regenerate.
- * Makefile.in: Set host_noncanonical.
-
-2016-05-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/71097
- * config/i386/i386.md (*movtf_internal): Before register allocation,
- do not allow FP constants for CM_MEDIUM memory model, allow only
- standard FP constants for CM_LARGE and CM_LARGE_PIC models.
- (*movxf_internal): Ditto.
- (*movdf_internal): Ditto.
- (*movsf_internal): Ditto.
-
-2016-05-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67483
- * combine.c (make_compound_operation): Don't call extract_left_shift
- with negative shift amounts.
-
-2016-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/71071
- * fold-const.c (fold_checksum_tree): Allow modification
- of TYPE_ALIAS_SET during folding.
-
- * config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_prologue,
- ix86_expand_split_stack_prologue): Use HOST_WIDE_INT_C macro.
- (ix86_split_to_parts): Likewise. Fix up formatting.
-
-2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * tree-ssa-loop-ivopts.c (create_new_ivs): Cast to
- unsigned HOST_WIDE_INT with HOST_WIDE_INT_PRINT_UNSIGNED in
- printf format.
-
-2016-05-13 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): New.
- (nvptx_name_replacement): Delete.
- (write_fn_proto, write_fn_proto_from_insn,
- nvptx_output_call_insn): Remove nvptx_name_replacement call.
- (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Override.
- * langhooks.c (add_builtin_funcction_common): Call
- targetm.mangle_decl_assembler_name.
-
- * config/nvptx/nvptx.c (write_fn_proto): Handle
- BUILT_IN_ATOMIC_COMPARE_EXCHANGE_n oddity.
-
-2016-05-13 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-ivopts.c (create_new_ivs): Use HOST_WIDE_INT_PRINT_DEC
- and PRIu64 in printf format.
-
-2016-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-ssa-loop-ivanon.c (try_unroll_loop_completely): Typo fix in
- comment.
-
-2016-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
- Change --param max-completely-peeled-times to
- --param max-completely-peel-times in dump file printing.
-
-2016-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/42587
- * tree-ssa-math-opts.c (perform_symbolic_merge): Handle BIT_FIELD_REF.
- (find_bswap_or_nop_1): Likewise.
- (bswap_replace): Likewise.
-
-2016-05-13 Martin Liska <mliska@suse.cz>
-
- * tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
- Initialize a variable with default value.
-
-2016-05-13 Martin Liska <mliska@suse.cz>
-
- * doc/invoke.texi: Enhance explanation of error recovery
- of sanitizers.
-
-2016-05-13 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Fix coding style.
- (struct cost_pair): Change inv_expr_id (int) to inv_expr
- (iv_inv_expr_ent *).
- (struct iv_inv_expr_ent): Comment struct fields.
- (sort_iv_inv_expr_ent): New function.
- (struct ivopts_data): Rename inv_expr_id to max_inv_expr_id.
- (struct iv_ca): Replace used_inv_expr and num_used_inv_expr with
- a hash_map between iv_inv_expr_ent and number of usages.
- (niter_for_exit): Fix coding style.
- (tree_ssa_iv_optimize_init): Use renamed variable.
- (determine_base_object): Fix coding style.
- (alloc_iv): Likewise.
- (find_interesting_uses_outside): Likewise.
- (add_candidate_1): Likewise.
- (add_standard_iv_candidates): Likewise.
- (set_group_iv_cost): Replace inv_expr_id with inv_expr.
- (prepare_decl_rtl): Fix coding style.
- (get_address_cost): Likewise.
- (get_shiftadd_cost): Likewise.
- (force_expr_to_var_cost): Likewise.
- (compare_aff_trees): Likewise.
- (get_expr_id): Restructure the function.
- (get_loop_invariant_expr_id): Renamed to
- get_loop_invariant_expr.
- (get_computation_cost_at): Replace usage of inv_expr_id with
- inv_expr.
- (get_computation_cost): Likewise.
- (determine_group_iv_cost_generic): Likewise.
- (determine_group_iv_cost_address): Likewise.
- (iv_period): Fix coding style.
- (iv_elimination_compare_lt): Likewise.
- (may_eliminate_iv): Likewise.
- (determine_group_iv_cost_cond): Replace usage of inv_expr_id with
- inv_expr.
- (determine_group_iv_costs): Dump invariant expressions.
- (iv_ca_recount_cost): Use the newly added hash_map.
- (iv_ca_set_remove_invariants): Fix coding style.
- (iv_ca_set_add_invariants): Fix coding style.
- (iv_ca_set_no_cp): Utilize the newly added hash_map for used
- invariants.
- (iv_ca_set_cp): Likewise.
- (iv_ca_new): Initialize the newly added hash_map and remove
- initialization of fields.
- (iv_ca_free): Delete the hash_map.
- (iv_ca_dump): Dump invariant expressions.
- (iv_ca_extend): Fix coding style.
- (try_add_cand_for): Likewise.
- (create_new_ivs): Dump information about # of avg iterations and
- # of used invariant expressions.
- (rewrite_use_compare): Fix coding style.
- (free_loop_data): Set default value for max_inv_expr_id.
-
-2016-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * cse.c (rest_of_handle_cse): Use cleanup_cfg
- returned value cse_cfg_altered computation.
- (rest_of_handle_cse2): Likewise.
- (rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/53440
- * config/arm/arm.c (arm32_output_mi_thunk): New.
- (arm_output_mi_thunk): Rename to arm_thumb1_mi_thunk. Rework
- to split Thumb1 vs TARGET_32BIT functionality.
- (arm_thumb1_mi_thunk): New.
-
-2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (TARGET_OMIT_STRUCT_RETURN_REG): Set
- to true.
-
-2016-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/71080
- * config/i386/i386.c (ix86_in_large_data_p): Guard against NULL exp.
-
-2016-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * builtins.c (expand_builtin_memcmp): Do not emit the call here.
- (expand_builtin_trap): Emit a regular call.
- (set_builtin_user_assembler_name): Remove obsolete cases.
- * dse.c (scan_insn): Adjust.
- * except.c: Include calls.h.
- (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is defined,
- emit a regular call to setjmp.
- * expr.c (emit_block_move_hints): Call emit_block_copy_via_libcall.
- (block_move_libcall_safe_for_call_parm): Use memcpy builtin.
- (emit_block_move_via_libcall): Delete.
- (block_move_fn): Delete.
- (init_block_move_fn): Likewise.
- (emit_block_move_libcall_fn): Likewise.
- (emit_block_op_via_libcall): New function.
- (set_storage_via_libcall): Tidy up and use memset builtin.
- (block_clear_fn): Delete.
- (init_block_clear_fn): Likewise.
- (clear_storage_libcall_fn): Likewise.
- (expand_assignment): Call emit_block_move_via_libcall.
- Do not include gt-expr.h.
- * expr.h (emit_block_op_via_libcall): Declare.
- (emit_block_copy_via_libcall): New inline function.
- (emit_block_move_via_libcall): Likewise.
- (emit_block_comp_via_libcall): Likewise.
- (block_clear_fn): Delete.
- (init_block_move_fn): Likewise.
- (init_block_clear_fn): Likewise.
- (emit_block_move_via_libcall): Likewise.
- (set_storage_via_libcall): Add default parameter value.
- * libfuncs.h (enum libfunc_index): Remove obsolete values.
- (abort_libfunc): Delete.
- (memcpy_libfunc): Likewise.
- (memmove_libfunc): Likewise.
- (memcmp_libfunc): Likewise.
- (memset_libfunc): Likewise.
- (setbits_libfunc): Likewise.
- (setjmp_libfunc): Likewise.
- (longjmp_libfunc): Likewise.
- (profile_function_entry_libfunc): Likewise.
- (profile_function_exit_libfunc): Likewise.
- (gcov_flush_libfunc): Likewise.
- * optabs-libfuncs.c (build_libfunc_function): Set DECL_ARTIFICIAL
- and DECL_VISIBILITY on the declaration.
- (init_optabs): Do not initialize obsolete libfuncs.
- * optabs.c (prepare_cmp_insn): Call emit_block_comp_via_libcall.
- * tree-core.h (ECF_RET1): Define.
- (ECF_TM_PURE): Adjust.
- (ECF_TM_BUILTIN): Likewise.
- * tree.c (set_call_expr_flags): Deal with ECF_RET1.
- (build_common_builtin_nodes): Initialize abort builtin.
- Add ECF_RET1 on memcpy, memmove and memset builtins.
- Pass final flags for alloca and alloca_with_align builtins.
- * config/alpha/alpha.c (alpha_init_libfuncs): Do not initialize
- obsolete builtins.
- * config/ia64/ia64.c (ia64_vms_init_libfuncs): Likewise.
- * config/i386/i386.c (ix86_expand_set_or_movmem): Adjust call to
- set_storage_via_libcall and call emit_block_copy_via_libcall.
-
-2016-05-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*call_got_x32): Change operand 0 to
- DImode before it is passed to ix86_output_call_operand.
- (*call_value_got_x32): Ditto for operand 1.
-
-2016-05-12 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/70904
- * lra-constraint.c (process_addr_reg): Relax the restriction on subreg
- reload for wide mode.
-
-2016-05-12 Marek Polacek <polacek@redhat.com>
-
- PR c/70756
- * langhooks-def.h (lhd_incomplete_type_error): Adjust declaration.
- * langhooks.c (lhd_incomplete_type_error): Add location parameter.
- * langhooks.h (incomplete_type_error): Likewise.
- * tree.c (size_in_bytes_loc): Renamed from size_in_bytes. Add location
- parameter, pass it down to incomplete_type_error.
- * tree.h (size_in_bytes): New inline overload.
- (size_in_bytes_loc): Renamed from size_in_bytes.
-
-2016-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71059
- * tree-ssa-pre.c (phi_translate_1): Fully fold translated
- nary before looking up or entering the expression into the VN
- hashes.
- * tree-ssa-sccvn.c (vn_nary_build_or_lookup): Fix comment typo.
- Make sure to re-use NARYs without result as inserted by
- phi-translation.
-
-2016-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71062
- * tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
- field.
- * tree-ssa-structalias.c (set_uids_in_ptset): Set
- vars_contains_restrict if the var is a restrict tag.
- * tree-ssa-alias.c (ptrs_compare_unequal): If vars_contains_restrict
- do not disambiguate pointers against it.
- (dump_points_to_solution): Re-structure and adjust for new
- vars_contains_restrict flag.
- * gimple-pretty-print.c (pp_points_to_solution): Likewise.
-
-2016-05-12 Martin Liska <mliska@suse.cz>
-
- * doc/invoke.texi: Explain connection between
- -fsanitize-recover=address and ASAN_OPTIONS="halt_on_error=1".
-
-2016-05-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/71006
- * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
- consider COND_EXPR as a mask producer.
-
-2016-05-12 Marek Polacek <polacek@redhat.com>
-
- PR driver/71063
- * opts.c (common_handle_option): Detect missing argument for --help^.
-
-2016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70830
- * config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
- when popping the PC and within an interrupt handler routine.
- Add missing tab to output of "ldmfd".
- (output_return_instruction): Output LDMFD with SP update rather
- than POP when returning from interrupt handler.
-
-2016-05-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (isa): Add x64_avx512dq, enable if
- TARGET_64BIT && TARGET_AVX512DQ.
- * config/i386/sse.md (*vec_extract<mode>): Add avx512bw alternatives.
- (*vec_extract<PEXTR_MODE12:mode>_zext): Add avx512bw alternative.
- (*vec_extract<ssevecmodelower>_0, *vec_extractv4si_0_zext,
- *vec_extractv2di_0_sse): Use v constraint instead of x constraint.
- (*vec_extractv4si): Add avx512dq and avx512bw alternatives.
- (*vec_extractv4si_zext): Add avx512dq alternative.
- (*vec_extractv2di_1): Add x64_avx512dq and avx512bw alternatives,
- use v instead of x constraint in other alternatives where possible.
-
- * config/i386/sse.md (sse2_loadld): Use v instead of x
- constraint in alternatives 0,1,4.
-
- * config/i386/sse.md (pinsr_evex_isa): New mode attr.
- (<sse2p4_1>_pinsr<ssemodesuffix>): Add 2 alternatives with
- v constraints instead of x and <pinsr_evex_isa> isa attribute.
-
- PR target/71019
- * config/i386/sse.md (<sse2_avx2>_packssdw<mask_name>,
- <sse4_1_avx2>_packusdw<mask_name>): Make sure EVEX encoded insn
- is not emitted unless TARGET_AVX512BW.
- (<sse2_avx2>_packuswb<mask_name>, <sse2_avx2>_packsswb<mask_name>):
- Likewise. For TARGET_AVX512BW, use "=v" constraint instead of "=x"
- for the result operand.
-
- * config/i386/sse.md (*vec_setv4sf_sse4_1, sse4_1_insertps): Use v
- constraint instead of x in avx alternatives. Use maybe_evex instead
- of vex prefix.
-
- * config/i386/constraints.md (Yv): New constraint.
- * config/i386/i386.h (VALID_AVX512VL_128_REG_MODE): Allow
- TFmode and V1TImode in xmm16+ registers for TARGET_AVX512VL.
- * config/i386/i386.md (avx512fvecmode): New mode attr.
- (*pushtf): Use v constraint instead of x.
- (*movtf_internal): Likewise. For TARGET_AVX512VL and
- xmm16+ registers, use vmovdqu64 or vmovdqa64 instructions.
- (*absneg<mode>2): Use Yv constraint instead of x constraint.
- (*absnegtf2_sse): Likewise.
- (copysign<mode>3_const, copysign<mode>3_var): Likewise.
- * config/i386/sse.md (*andnot<mode>3): Add avx512vl and
- avx512f alternatives.
- (*andnottf3, *<code><mode>3, *<code>tf3): Likewise.
-
-2016-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71060
- * tree-data-ref.c (initialize_data_dependence_relation): Do not
- require exact match of DR_BASE_OBJECT but only matching address and
- type.
-
-2016-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70986
- * cfganal.c: Include cfgloop.h.
- (dfs_find_deadend): Prefer to take edges exiting loops.
-
-2016-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/pr70963.c: Require at least power8 at both
- compile and run time.
-
-2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR c/43651
- * doc/invoke.texi (Wduplicate-decl-specifier): Document new option.
-
-2016-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (legitimize_pic_address): Use
- copy_to_suggested_reg instead of gen_movsi.
-
-2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/predicates.md (quad_memory_operand): Move most of
- the code into quad_address_p and call it to share code with
- vsx_quad_dform_memory_operand.
- (vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector
- d-form support.
- * config/rs6000/rs6000.opt (-mlra): Switch to being an option mask
- bit instead of being a separate word. Split -mpower9-dform into
- two switches, -mpower9-dform-scalar and -mpower9-dform-vector.
- * config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask
- for the register class supporting 128-bit quad word memory offsets.
- (mode_supports_vsx_dform_quad): Helper function to return if the
- register class uses quad word memory offsets.
- (rs6000_debug_addr_mask): Add support for quad word memory offsets.
- (rs6000_debug_reg_global): Always print if we are using LRA or not.
- (rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form
- instructions are enabled, set up the appropriate addr_masks for
- 128-bit types.
- (rs6000_init_hard_regno_mode_ok): wb constraint is now based on
- -mpower9-dform-scalar, instead of -mpower9-dform.
- (rs6000_option_override_internal): Split -mpower9-dform into two
- switches, -mpower9-dform-scalar and -mpower9-dform-vector. The
- -mpower9-dform switch sets or clears both. If we are not using
- the LRA register allocator, do not enable -mpower9-dform-vector by
- default. If we are using LRA, enable -mpower9-dform-vector and
- -mvsx-timode if it is appropriate. Issue a warning if either
- -mpower9-dform-vector or -mvsx-timode are explicitly used without
- enabling LRA.
- (quad_address_offset_p): New helper function to return if the
- offset is legal for quad word memory instructions.
- (quad_address_p): New function to determin if GPR or vector
- register quad word memory addresses are legal.
- (mem_operand_gpr): Validate quad word address offsets.
- (reg_offset_addressing_ok_p): Add support for ISA 3.0 vector
- d-form (register + offset) instructions.
- (offsettable_ok_by_alignment): Likewise.
- (rs6000_legitimate_offset_address_p): Likewise.
- (legitimate_lo_sum_address_p): Likewise.
- (rs6000_legitimize_address): Likewise.
- (rs6000_legitimize_reload_address): Add more debug statements for
- -mdebug=addr.
- (rs6000_legitimate_address_p): Add support for ISA 3.0 vector
- d-form instructions.
- (rs6000_secondary_reload_memory): Add support for ISA 3.0 vector
- d-form instructions. Distinguish different cases in debug
- output. (rs6000_secondary_reload_inner): Add support for ISA 3.0 vector
- d-form instructions.
- (rs6000_preferred_reload_class): Likewise.
- (rs6000_output_move_128bit): Add support for ISA 3.0 d-form
- instructions. If ISA 3.0 is available, generate lxvx/stxvx instead
- of the ISA 2.06 indexed memory instructions.
- (rs6000_emit_prologue): If we have ISA 3.0 d-form instructions,
- use them to save/restore the saved vector registers instead of
- using Altivec instructions.
- (rs6000_emit_epilogue): Likewise.
- (rs6000_lra_p): Use TARGET_LRA instead of the old option word.
- (rs6000_opt_masks): Split -mpower9-dform into
- -mpower9-dform-scalar and -mpower9-dform-vector.
- (rs6000_print_options_internal): Print -mno-<switch> if <switch>
- was not selected.
- * config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit
- ISA 3.0 vector indexed memory instructions, and fold the code into
- the normal mov<mode> patterns.
- (p9_vecstore_<mode>): Likewise.
- (vsx_mov<mode>): Add support for ISA 3.0 vector d-form
- instructions.
- (vsx_movti_64bit): Likewise.
- (vsx_movti_32bit): Likewise.
- * config/rs6000/constraints.md (wO constraint): New constraint for
- ISA 3.0 vector d-form support.
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
- -mpower9-dform-scalar instead of -mpower9-dform. Add note not to
- include -mpower9-dform-vector until we switch over to LRA.
- (POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two.
- switches, -mpower9-dform-scalar and -mpower9-dform-vector.
- * config/rs6000/rs6000-protos.h (quad_address_p): Add declaration.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
- for -mpower9-dform and -mlra.
- * doc/md.texi (wO constraint): Document wO constraint.
-
-2016-05-11 Alexander Monakov <amonakov@ispras.ru>
-
- * genattr.c (main): Change 'rtx' to 'rtx_insn *' in prototypes of
- 'insn_latency', 'maximal_insn_latency', 'min_insn_conflict_delay'.
- * genautomata.c (output_internal_insn_code_evaluation): Simplify.
- Move handling of non-insn arguments inline into the sole user:
- (output_trans_func): ...here.
- (output_min_insn_conflict_delay_func): Change 'rtx' to 'rtx_insn *'
- in emitted function prototype.
- (output_internal_insn_latency_func): Ditto. Simplify.
- (output_internal_maximal_insn_latency_func): Ditto. Delete
- always-unused argument.
- (output_insn_latency_func): Ditto.
- (output_maximal_insn_latency_func): Ditto.
-
-2016-05-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71055
- * tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting
- sth with precision not equal to access size verify we don't chop
- off bits.
-
-2016-05-11 Richard Biener <rguenther@suse.de>
-
- PR debug/71057
- * dwarf2out.c (retry_incomplete_types): Set early_dwarf.
- (dwarf2out_finish): Move retry_incomplete_types call ...
- (dwarf2out_early_finish): ... here.
-
-2016-05-11 Richard Biener <rguenther@suse.de>
-
- PR middle-end/71002
- * alias.c (reference_alias_ptr_type): Preserve alias-set zero
- if the langhook insists on it.
- * fold-const.c (make_bit_field_ref): Add arg for the original
- reference and preserve its alias-set.
- (decode_field_reference): Take exp by reference and adjust it
- to the original memory reference.
- (optimize_bit_field_compare): Adjust callers.
- (fold_truth_andor_1): Likewise.
- * gimplify.c (gimplify_expr): Adjust in-SSA form test.
-
-2016-05-11 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/70807
- * cfgrtl.h (delete_insn_and_edges): Now return bool.
- * cfgrtl.c (delete_insn_and_edges): Likewise.
- * config/i386/i386.c (convert_scalars_to_vector): Remove
- redundant code.
- * cse.c (cse_insn): Compute cse_cfg_altered.
- (delete_trivially_dead_insns): Likewise.
- (cse_cc_succs): Likewise.
- (rest_of_handle_cse): Free dominance info if required.
- (rest_of_handle_cse2): Likewise.
- (rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-11 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (is_complex_IBM_long_double,
- abi_v4_pass_in_fpr): New functions.
- (rs6000_function_arg_boundary): Exclude complex IBM long double
- from 64-bit alignment when ABI_V4.
- (rs6000_function_arg, rs6000_function_arg_advance_1,
- rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
-
-2016-05-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/71028
- * cfgcleanup.c (try_optimize_cfg): Do not flip a conditional
- jump with just a return in the fallthrough block if the branch
- block contains just a return as well.
-
-2016-05-10 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_binary_loc) [(X ^ Y) & Y]: Remove and merge with...
- * match.pd ((X & Y) ^ Y): ... this.
- ((X & Y) & Y, (X | Y) | Y, (X ^ Y) ^ Y, (X & Y) & (X & Z), (X | Y)
- | (X | Z), (X ^ Y) ^ (X ^ Z)): New transformations.
-
-2016-05-10 David Malcolm <dmalcolm@redhat.com>
-
- * read-md.c (require_char_ws): New function.
- (read_string): Simplify using require_char_ws.
- (handle_constants): Likewise.
- (handle_enum): Likewise.
- (handle_file): Likewise.
- * read-md.h (require_char_ws): New declaration.
- * read-rtl.c (read_conditions): Simplify using require_char_ws.
- (read_mapping): Likewise.
- (read_rtx_code): Likewise.
- (read_nested_rtx): Likewise.
-
-2016-05-10 James Norris <jnorris@codesourcery.com>
-
- * config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o
- if offloading is enabled and -fopenacc or -fopenmp is specified.
- (CRTOFFLOADEND): Likewise.
- (STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN.
- (ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND.
-
-2016-05-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (legitimize_pic_address): Merge 64-bit and 32-bit
- gotoff_operand code paths. Use copy_to_suggested_regs and
- expand_simple_binop where appropriate. Cleanup.
-
-2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/70799
- * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Allow
- integer constants.
- (dimode_scalar_chain::vector_const_cost): New.
- (dimode_scalar_chain::compute_convert_gain): Handle constants.
- (dimode_scalar_chain::convert_op): Likewise.
- (dimode_scalar_chain::convert_insn): Likewise.
-
-2016-05-10 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (resolve_args_picking_1): Consider DW_OP_neg as an
- unary operation, not a binary one.
-
-2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/70877
- * tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
- calls with type casted fndecl.
-
-2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/70786
- * tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
- * calls.c (initialize_argument_information): Bind bounds
- with corresponding args passed by reference.
-
-2016-05-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70927
- * config/i386/sse.md (<sse>_andnot<mode>3<mask_name>),
- *<code><mode>3<mask_name>): For !TARGET_AVX512DQ and EVEX encoding,
- use vp*[dq] instead of v*p[sd] instructions and adjust mode attribute
- accordingly.
-
-2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/70963
- * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
- code for a zero scale factor.
- (vsx_xvcvdpuxds_scale): Likewise.
-
-2016-05-10 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-show-locus.c (layout::layout): Call show_ruler
- if show_ruler_p was set on the context.
- (layout::show_ruler): New method.
- * diagnostic.h (struct diagnostic_context): Add field
- "show_ruler_p".
-
-2016-05-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/71039
- * tree-ssa-phiprop.c: Include tree-ssa-loop.h.
- (chk_uses): New function.
- (propagate_with_phi): Verify we can safely replicate the lhs of an
- aggregate assignment on all incoming edges.
-
-2016-05-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/rx/rx-protos.h (is_interrupt_func, is_fast_interrupt_func):
- Forward declare.
- (rx_atomic_sequence): New class.
- * config/rx/rx.c (rx_print_operand): Use symbolic names for PSW bits.
- (is_interrupt_func, is_fast_interrupt_func): Make non-static and
- non-inline.
- (rx_atomic_sequence::rx_atomic_sequence,
- rx_atomic_sequence::~rx_atomic_sequence): New functions.
- * config/rx/rx.md (CTRLREG_PSW, CTRLREG_USP, CTRLREG_FPSW, CTRLREG_CPEN,
- CTRLREG_BPSW, CTRLREG_BPC, CTRLREG_ISP, CTRLREG_FINTV,
- CTRLREG_INTB): New constants.
- (FETCHOP): New code iterator.
- (fethcop_name, fetchop_name2): New iterator code attributes.
- (QIHI): New mode iterator.
- (atomic_exchange<mode>, atomic_exchangesi, xchg_mem<mode>,
- atomic_fetch_<fetchop_name>si, atomic_fetch_nandsi,
- atomic_<fetchop_name>_fetchsi, atomic_nand_fetchsi): New patterns.
-
-2016-05-10 Martin Liska <mliska@suse.cz>
-
- * tree-inline.c (remap_dependence_clique): Do not remap
- debugging statements.
-
-2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
- ("*fixuns_truncdfdi2_z13")
- ("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
- ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
- ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
-
-2016-05-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70497
- PR tree-optimization/28367
- * tree-ssa-sccvn.c (vn_nary_build_or_lookup): New function
- split out from ...
- (visit_reference_op_load): ... here.
- (vn_reference_lookup_3): Use it to handle subreg-like accesses
- with simplified BIT_FIELD_REFs.
- * tree-ssa-pre.c (eliminate_insert): Handle inserting BIT_FIELD_REFs.
- * tree-complex.c (extract_component): Handle BIT_FIELD_REFs
- correctly.
-
-2016-05-10 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (add_abstract_origin_attribute): Adjust
- documentation comment. For BLOCK nodes, add a
- DW_AT_abstract_origin attribute that points to the DIE generated
- for the origin BLOCK.
- (gen_lexical_block_die): Call add_abstract_origin_attribute for
- blocks from inlined functions.
-
-2016-05-10 Alan Modra <amodra@gmail.com>
-
- PR target/70947
- * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
- regrename modifying insns saving lr before __morestack call.
- * config/rs6000/rs6000.md (split_stack_return): Similarly for
- insns restoring lr after __morestack call.
-
-2016-05-09 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (set_got, set_got_labelled, lwp_llwpcb,
- lwp_lwpval<mode>3, lwp_lwpins<mode>3): Remove constraints from
- expanders.
- * config/i386/sse.md (vec_interleave_high<mode>,
- vec_interleave_low<mode>, <avx512>_vpermi2var<mode>3_maskz,
- <avx512>_vpermt2var<mode>3_maskz): Likewise.
-
-2016-05-04 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_reassociation_width): Add
- function for TARGET_SCHED_REASSOCIATION_WIDTH to enable
- parallel reassociation for power8 and forward.
-
-2016-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (absneg splitters with general regs): Use
- general_reg_operand predicate.
- (btsq peephole2): Use x86_64_immediate_operand to check if new
- value is suitable for immediate operand. Generate emitted insn
- using RTL expressions.
- (btcq peephole2): Ditto.
- (btrq peephole2): Ditto. Generate correct immediate operand
- for AND masking.
-
-2016-05-09 Richard Sandiford <richard.sandiford@arm.com>
-
- * cfgexpand.c (expand_debug_expr): Fix address offset for negative
- bitpos.
-
-2016-05-09 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-affine.c (wide_int_constant_multiple_p): Add missing
- pointer dereference.
-
-2016-05-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70985
- * match.pd (BIT_FIELD_REF -> (type)): Disable on GIMPLE when
- op0 isn't a gimple register.
-
-2016-05-09 Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/i6400.md (i6400_fpu_intadd, i6400_fpu_logic)
- (i6400_fpu_div, i6400_fpu_cmp, i6400_fpu_float, i6400_fpu_store)
- (i6400_fpu_long_pipe, i6400_fpu_logic_l, i6400_fpu_float_l)
- (i6400_fpu_mult): New cpu units.
- (i6400_msa_add_d, i6400_msa_int_add, i6400_msa_short_logic3)
- (i6400_msa_short_logic2, i6400_msa_short_logic, i6400_msa_move)
- (i6400_msa_cmp, i6400_msa_short_float2, i6400_msa_div_d)
- (i6400_msa_div_w, i6400_msa_div_h, i6400_msa_div_b)
- (i6400_msa_copy, i6400_msa_branch, i6400_fpu_msa_store)
- (i6400_fpu_msa_load, i6400_fpu_msa_move, i6400_msa_long_logic1)
- (i6400_msa_long_logic2, i6400_msa_mult, i6400_msa_long_float2)
- (i6400_msa_long_float4, i6400_msa_long_float5)
- (i6400_msa_long_float8, i6400_msa_fdiv_df)
- (i6400_msa_fdiv_sf): New reservations.
- * config/mips/p5600.md (p5600_fpu_intadd, p5600_fpu_cmp)
- (p5600_fpu_float, p5600_fpu_logic_a, p5600_fpu_logic_b)
- (p5600_fpu_div, p5600_fpu_logic, p5600_fpu_float_a)
- (p5600_fpu_float_b, p5600_fpu_float_c, p5600_fpu_float_d)
- (p5600_fpu_mult, p5600_fpu_fdiv, p5600_fpu_load): New cpu units.
- (msa_short_int_add, msa_short_logic, msa_short_logic_move_v)
- (msa_short_cmp, msa_short_float2, msa_short_logic3)
- (msa_short_store4, msa_long_load, msa_short_store)
- (msa_long_logic, msa_long_float2, msa_long_float4)
- (msa_long_float5, msa_long_float8, msa_long_mult)
- (msa_long_fdiv, msa_long_div): New reservations.
-
-2016-05-09 Robert Suchanek <robert.suchanek@imgtec.com>
- Sameera Deshpande <sameera.deshpande@imgtec.com>
- Matthew Fortune <matthew.fortune@imgtec.com>
- Graham Stott <graham.stott@imgtec.com>
- Chao-ying Fu <chao-ying.fu@imgtec.com>
-
- * config.gcc: Add MSA header file for mips*-*-* target.
- * config/mips/constraints.md (YI, YC, YZ, Unv5, Uuv5, Usv5, Uuv6)
- (Ubv8i, Urv8): New constraints.
- * config/mips/mips-ftypes.def: Add function types for MSA
- builtins.
- * config/mips/mips-modes.def (V16QI, V8HI, V4SI, V2DI, V4SF)
- (V2DF, V32QI, V16HI, V8SI, V4DI, V8SF, V4DF): New modes.
- * config/mips/mips-msa.md: New file.
- * config/mips/mips-protos.h
- (mips_split_128bit_const_insns): New prototype.
- (mips_msa_idiv_insns): Likewise.
- (mips_split_128bit_move): Likewise.
- (mips_split_128bit_move_p): Likewise.
- (mips_split_msa_copy_d): Likewise.
- (mips_split_msa_insert_d): Likewise.
- (mips_split_msa_fill_d): Likewise.
- (mips_expand_msa_branch): Likewise.
- (mips_const_vector_same_val_p): Likewise.
- (mips_const_vector_same_bytes_p): Likewise.
- (mips_const_vector_same_int_p): Likewise.
- (mips_const_vector_shuffle_set_p): Likewise.
- (mips_const_vector_bitimm_set_p): Likewise.
- (mips_const_vector_bitimm_clr_p): Likewise.
- (mips_msa_vec_parallel_const_half): Likewise.
- (mips_msa_output_division): Likewise.
- (mips_ldst_scaled_shift): Likewise.
- (mips_expand_vec_cond_expr): Likewise.
- * config/mips/mips.c (enum mips_builtin_type): Add
- MIPS_BUILTIN_MSA_TEST_BRANCH.
- (mips_gen_const_int_vector_shuffle): New prototype.
- (mips_const_vector_bitimm_set_p): New function.
- (mips_const_vector_bitimm_clr_p): Likewise.
- (mips_const_vector_same_val_p): Likewise.
- (mips_const_vector_same_bytes_p): Likewise.
- (mips_const_vector_same_int_p): Likewise.
- (mips_const_vector_shuffle_set_p): Likewise.
- (mips_symbol_insns): Forbid loading symbols via immediate for
- MSA.
- (mips_valid_offset_p): Limit offset to 10-bit for MSA loads and
- stores.
- (mips_valid_lo_sum_p): Forbid loadings symbols via %lo(base) for
- MSA.
- (mips_lx_address_p): Add support load indexed address for MSA.
- (mips_address_insns): Add calculation of instructions needed for
- stores and loads for MSA.
- (mips_const_insns): Move CONST_DOUBLE below CONST_VECTOR. Handle
- CONST_VECTOR for MSA and let it fall through.
- (mips_ldst_scaled_shift): New function.
- (mips_subword_at_byte): Likewise.
- (mips_msa_idiv_insns): Likewise.
- (mips_legitimize_move): Validate MSA moves.
- (mips_rtx_costs): Add UNGE, UNGT, UNLE, UNLT cases. Add
- calculation of costs for MSA division.
- (mips_split_move_p): Check if MSA moves need splitting.
- (mips_split_move): Split MSA moves if necessary.
- (mips_split_128bit_move_p): New function.
- (mips_split_128bit_move): Likewise.
- (mips_split_msa_copy_d): Likewise.
- (mips_split_msa_insert_d): Likewise.
- (mips_split_msa_fill_d): Likewise.
- (mips_output_move): Handle MSA moves.
- (mips_expand_msa_branch): New function.
- (mips_print_operand): Add 'E', 'B', 'w', 'v' and 'V' modifiers.
- Reinstate 'y' modifier.
- (mips_file_start): Add MSA .gnu_attribute.
- (mips_hard_regno_mode_ok_p): Allow TImode and 128-bit vectors in
- FPRs.
- (mips_hard_regno_nregs): Always return 1 for MSA supported mode.
- (mips_class_max_nregs): Add register size for MSA supported mode.
- (mips_cannot_change_mode_class): Allow conversion between MSA
- vector modes and TImode.
- (mips_mode_ok_for_mov_fmt_p): Allow MSA to use move.v
- instruction.
- (mips_secondary_reload_class): Force MSA loads/stores via memory.
- (mips_preferred_simd_mode): Add preffered modes for MSA.
- (mips_vector_mode_supported_p): Add MSA supported modes.
- (mips_autovectorize_vector_sizes): New function.
- (mips_msa_output_division): Likewise.
- (MSA_BUILTIN, MIPS_BUILTIN_DIRECT_NO_TARGET)
- (MSA_NO_TARGET_BUILTIN, MSA_BUILTIN_TEST_BRANCH): New macros.
- (CODE_FOR_msa_adds_s_b, CODE_FOR_msa_adds_s_h)
- (CODE_FOR_msa_adds_s_w, CODE_FOR_msa_adds_s_d)
- (CODE_FOR_msa_adds_u_b, CODE_FOR_msa_adds_u_h)
- (CODE_FOR_msa_adds_u_w, CODE_FOR_msa_adds_u_du
- (CODE_FOR_msa_addv_b, CODE_FOR_msa_addv_h, CODE_FOR_msa_addv_w)
- (CODE_FOR_msa_addv_d, CODE_FOR_msa_and_v, CODE_FOR_msa_bmnz_v)
- (CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bmz_v, CODE_FOR_msa_bmzi_b)
- (CODE_FOR_msa_bnz_v, CODE_FOR_msa_bz_v, CODE_FOR_msa_bsel_v)
- (CODE_FOR_msa_bseli_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w)
- (CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b)
- (CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w)
- (CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clti_u_b)
- (CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w)
- (CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_s_b)
- (CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w)
- (CODE_FOR_msa_clei_s_d, CODE_FOR_msa_clei_u_b)
- (CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w)
- (CODE_FOR_msa_clei_u_d, CODE_FOR_msa_div_s_b)
- (CODE_FOR_msa_div_s_h, CODE_FOR_msa_div_s_w)
- (CODE_FOR_msa_div_s_d, CODE_FOR_msa_div_u_b)
- (CODE_FOR_msa_div_u_h, CODE_FOR_msa_div_u_w)
- (CODE_FOR_msa_div_u_d, CODE_FOR_msa_fadd_w, CODE_FOR_msa_fadd_d)
- (CODE_FOR_msa_fexdo_w, CODE_FOR_msa_ftrunc_s_w)
- (CODE_FOR_msa_ftrunc_s_d, CODE_FOR_msa_ftrunc_u_w)
- (CODE_FOR_msa_ftrunc_u_d, CODE_FOR_msa_ffint_s_w)
- (CODE_FOR_msa_ffint_s_d, CODE_FOR_msa_ffint_u_w)
- (CODE_FOR_msa_ffint_u_d, CODE_FOR_msa_fsub_w)
- (CODE_FOR_msa_fsub_d, CODE_FOR_msa_fmsub_d, CODE_FOR_msa_fmadd_w)
- (CODE_FOR_msa_fmadd_d, CODE_FOR_msa_fmsub_w, CODE_FOR_msa_fmul_w)
- (CODE_FOR_msa_fmul_d, CODE_FOR_msa_fdiv_w, CODE_FOR_msa_fdiv_d)
- (CODE_FOR_msa_fmax_w, CODE_FOR_msa_fmax_d, CODE_FOR_msa_fmax_a_w)
- (CODE_FOR_msa_fmax_a_d, CODE_FOR_msa_fmin_w, CODE_FOR_msa_fmin_d)
- (CODE_FOR_msa_fmin_a_w, CODE_FOR_msa_fmin_a_d)
- (CODE_FOR_msa_fsqrt_w, CODE_FOR_msa_fsqrt_d)
- (CODE_FOR_msa_max_s_b, CODE_FOR_msa_max_s_h)
- (CODE_FOR_msa_max_s_w, CODE_FOR_msa_max_s_d)
- (CODE_FOR_msa_max_u_b, CODE_FOR_msa_max_u_h)
- (CODE_FOR_msa_max_u_w, CODE_FOR_msa_max_u_d)
- (CODE_FOR_msa_min_s_b, CODE_FOR_msa_min_s_h)
- (CODE_FOR_msa_min_s_w, CODE_FOR_msa_min_s_d)
- (CODE_FOR_msa_min_u_b, CODE_FOR_msa_min_u_h)
- (CODE_FOR_msa_min_u_w, CODE_FOR_msa_min_u_d)
- (CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
- (CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
- (CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
- (CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
- (CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
- (CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
- (CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
- (CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
- (CODE_FOR_msa_mulv_b, CODE_FOR_msa_mulv_h, CODE_FOR_msa_mulv_w)
- (CODE_FOR_msa_mulv_d, CODE_FOR_msa_nlzc_b, CODE_FOR_msa_nlzc_h)
- (CODE_FOR_msa_nlzc_w, CODE_FOR_msa_nlzc_d, CODE_FOR_msa_nor_v)
- (CODE_FOR_msa_or_v, CODE_FOR_msa_ori_b, CODE_FOR_msa_nori_b)
- (CODE_FOR_msa_pcnt_b, CODE_FOR_msa_pcnt_h, CODE_FOR_msa_pcnt_w)
- (CODE_FOR_msa_pcnt_d, CODE_FOR_msa_xor_v, CODE_FOR_msa_xori_b)
- (CODE_FOR_msa_sll_b, CODE_FOR_msa_sll_h, CODE_FOR_msa_sll_w)
- (CODE_FOR_msa_sll_d, CODE_FOR_msa_slli_b, CODE_FOR_msa_slli_h)
- (CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d, CODE_FOR_msa_sra_b)
- (CODE_FOR_msa_sra_h, CODE_FOR_msa_sra_w, CODE_FOR_msa_sra_d)
- (CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w)
- (CODE_FOR_msa_srai_d, CODE_FOR_msa_srl_b, CODE_FOR_msa_srl_h)
- (CODE_FOR_msa_srl_w, CODE_FOR_msa_srl_d, CODE_FOR_msa_srli_b)
- (CODE_FOR_msa_srli_h, CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d)
- (CODE_FOR_msa_subv_b, CODE_FOR_msa_subv_h, CODE_FOR_msa_subv_w)
- (CODE_FOR_msa_subv_d, CODE_FOR_msa_subvi_b, CODE_FOR_msa_subvi_h)
- (CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d, CODE_FOR_msa_move_v)
- (CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h, CODE_FOR_msa_vshf_w)
- (CODE_FOR_msa_vshf_d, CODE_FOR_msa_ilvod_d, CODE_FOR_msa_ilvev_d)
- (CODE_FOR_msa_pckod_d, CODE_FOR_msa_pckdev_d, CODE_FOR_msa_ldi_b)
- (CODE_FOR_msa_ldi_hi, CODE_FOR_msa_ldi_w)
- (CODE_FOR_msa_ldi_d): New code_aliasing macros.
- (mips_builtins): Add MSA sll_b, sll_h, sll_w, sll_d, slli_b,
- slli_h, slli_w, slli_d, sra_b, sra_h, sra_w, sra_d, srai_b,
- srai_h, srai_w, srai_d, srar_b, srar_h, srar_w, srar_d, srari_b,
- srari_h, srari_w, srari_d, srl_b, srl_h, srl_w, srl_d, srli_b,
- srli_h, srli_w, srli_d, srlr_b, srlr_h, srlr_w, srlr_d, srlri_b,
- srlri_h, srlri_w, srlri_d, bclr_b, bclr_h, bclr_w, bclr_d,
- bclri_b, bclri_h, bclri_w, bclri_d, bset_b, bset_h, bset_w,
- bset_d, bseti_b, bseti_h, bseti_w, bseti_d, bneg_b, bneg_h,
- bneg_w, bneg_d, bnegi_b, bnegi_h, bnegi_w, bnegi_d, binsl_b,
- binsl_h, binsl_w, binsl_d, binsli_b, binsli_h, binsli_w,
- binsli_d, binsr_b, binsr_h, binsr_w, binsr_d, binsri_b, binsri_h,
- binsri_w, binsri_d, addv_b, addv_h, addv_w, addv_d, addvi_b,
- addvi_h, addvi_w, addvi_d, subv_b, subv_h, subv_w, subv_d,
- subvi_b, subvi_h, subvi_w, subvi_d, max_s_b, max_s_h, max_s_w,
- max_s_d, maxi_s_b, maxi_s_h, maxi_s_w, maxi_s_d, max_u_b,
- max_u_h, max_u_w, max_u_d, maxi_u_b, maxi_u_h, maxi_u_w,
- maxi_u_d, min_s_b, min_s_h, min_s_w, min_s_d, mini_s_b, mini_s_h,
- mini_s_w, mini_s_d, min_u_b, min_u_h, min_u_w, min_u_d, mini_u_b,
- mini_u_h, mini_u_w, mini_u_d, max_a_b, max_a_h, max_a_w, max_a_d,
- min_a_b, min_a_h, min_a_w, min_a_d, ceq_b, ceq_h, ceq_w, ceq_d,
- ceqi_b, ceqi_h, ceqi_w, ceqi_d, clt_s_b, clt_s_h, clt_s_w,
- clt_s_d, clti_s_b, clti_s_h, clti_s_w, clti_s_d, clt_u_b,
- clt_u_h, clt_u_w, clt_u_d, clti_u_b, clti_u_h, clti_u_w,
- clti_u_d, cle_s_b, cle_s_h, cle_s_w, cle_s_d, clei_s_b, clei_s_h,
- clei_s_w, clei_s_d, cle_u_b, cle_u_h, cle_u_w, cle_u_d, clei_u_b,
- clei_u_h, clei_u_w, clei_u_d, ld_b, ld_h, ld_w, ld_d, st_b, st_h,
- st_w, st_d, sat_s_b, sat_s_h, sat_s_w, sat_s_d, sat_u_b, sat_u_h,
- sat_u_w, sat_u_d, add_a_b, add_a_h, add_a_w, add_a_d, adds_a_b,
- adds_a_h, adds_a_w, adds_a_d, adds_s_b, adds_s_h, adds_s_w,
- adds_s_d, adds_u_b, adds_u_h, adds_u_w, adds_u_d, ave_s_b,
- ave_s_h, ave_s_w, ave_s_d, ave_u_b, ave_u_h, ave_u_w, ave_u_d,
- aver_s_b, aver_s_h, aver_s_w, aver_s_d, aver_u_b, aver_u_h,
- aver_u_w, aver_u_d, subs_s_b, subs_s_h, subs_s_w, subs_s_d,
- subs_u_b, subs_u_h, subs_u_w, subs_u_d, subsuu_s_b, subsuu_s_h,
- subsuu_s_w, subsuu_s_d, subsus_u_b, subsus_u_h, subsus_u_w,
- subsus_u_d, asub_s_b, asub_s_h, asub_s_w, asub_s_d, asub_u_b,
- asub_u_h, asub_u_w, asub_u_d, mulv_b, mulv_h, mulv_w, mulv_d,
- maddv_b, maddv_h, maddv_w, maddv_d, msubv_b, msubv_h, msubv_w,
- msubv_d, div_s_b, div_s_h, div_s_w, div_s_d, div_u_b, div_u_h,
- div_u_w, div_u_d, hadd_s_h, hadd_s_w, hadd_s_d, hadd_u_h,
- hadd_u_w, hadd_u_d, hsub_s_h, hsub_s_w, hsub_s_d, hsub_u_h,
- hsub_u_w, hsub_u_d, mod_s_b, mod_s_h, mod_s_w, mod_s_d, mod_u_b,
- mod_u_h, mod_u_w, mod_u_d, dotp_s_h, dotp_s_w, dotp_s_d,
- dotp_u_h, dotp_u_w, dotp_u_d, dpadd_s_h, dpadd_s_w, dpadd_s_d,
- dpadd_u_h, dpadd_u_w, dpadd_u_d, dpsub_s_h, dpsub_s_w, dpsub_s_d,
- dpsub_u_h, dpsub_u_w, dpsub_u_d, sld_b, sld_h, sld_w, sld_d,
- sldi_b, sldi_h, sldi_w, sldi_d, splat_b, splat_h, splat_w,
- splat_d, splati_b, splati_h, splati_w, splati_d, pckev_b,
- pckev_h, pckev_w, pckev_d, pckod_b, pckod_h, pckod_w, pckod_d,
- ilvl_b, ilvl_h, ilvl_w, ilvl_d, ilvr_b, ilvr_h, ilvr_w, ilvr_d,
- ilvev_b, ilvev_h, ilvev_w, ilvev_d, ilvod_b, ilvod_h, ilvod_w,
- ilvod_d, vshf_b, vshf_h, vshf_w, vshf_d, and_v, andi_b, or_v,
- ori_b, nor_v, nori_b, xor_v, xori_b, bmnz_v, bmnzi_b, bmz_v,
- bmzi_b, bsel_v, bseli_b, shf_b, shf_h, shf_w, bnz_v, bz_v,
- fill_b, fill_h, fill_w, fill_d, pcnt_b, pcnt_h, pcnt_w,
- pcnt_d, nloc_b, nloc_h, nloc_w, nloc_d, nlzc_b, nlzc_h, nlzc_w,
- nlzc_d, copy_s_b, copy_s_h, copy_s_w, copy_s_d, copy_u_b,
- copy_u_h, copy_u_w, copy_u_d, insert_b, insert_h, insert_w,
- insert_d, insve_b, insve_h, insve_w, insve_d, bnz_b, bnz_h,
- bnz_w, bnz_d, bz_b, bz_h, bz_w, bz_d, ldi_b, ldi_h, ldi_w, ldi_d,
- fcaf_w, fcaf_d, fcor_w, fcor_d, fcun_w, fcun_d, fcune_w, fcune_d,
- fcueq_w, fcueq_d, fceq_w, fceq_d, fcne_w, fcne_d, fclt_w, fclt_d,
- fcult_w, fcult_d, fcle_w, fcle_d, fcule_w, fcule_d, fsaf_w,
- fsaf_d, fsor_w, fsor_d, fsun_w, fsun_d, fsune_w, fsune_d,
- fsueq_w, fsueq_d, fseq_w, fseq_d, fsne_w, fsne_d, fslt_w,
- fslt_d, fsult_w, fsult_d, fsle_w, fsle_d, fsule_w, fsule_d,
- fadd_w, fadd_d, fsub_w, fsub_d, fmul_w, fmul_d, fdiv_w, fdiv_d,
- fmadd_w, fmadd_d, fmsub_w, fmsub_d, fexp2_w, fexp2_d, fexdo_h,
- fexdo_w, ftq_h, ftq_w, fmin_w, fmin_d, fmin_a_w, fmin_a_d,
- fmax_w, fmax_d, fmax_a_w, fmax_a_d, mul_q_h, mul_q_w, mulr_q_h,
- mulr_q_w, madd_q_h, madd_q_w, maddr_q_h, maddr_q_w, msub_q_h,
- msub_q_w, msubr_q_h, msubr_q_w, fclass_w, fclass_d, fsqrt_w,
- fsqrt_d, frcp_w, frcp_d, frint_w, frint_d, frsqrt_w, frsqrt_d,
- flog2_w, flog2_d, fexupl_w, fexupl_d, fexupr_w, fexupr_d, ffql_w,
- ffql_d, ffqr_w, ffqr_d, ftint_s_w, ftint_s_d, ftint_u_w,
- ftint_u_d, ftrunc_s_w, ftrunc_s_d, ftrunc_u_w, ftrunc_u_d,
- ffint_s_w, ffint_s_d, ffint_u_w, ffint_u_d, ctcmsa, cfcmsa,
- move_v builtins.
- (mips_get_builtin_decl_index): New array.
- (MIPS_ATYPE_QI, MIPS_ATYPE_HI, MIPS_ATYPE_V2DI, MIPS_ATYPE_V4SI)
- (MIPS_ATYPE_V8HI, MIPS_ATYPE_V16QI, MIPS_ATYPE_V2DF)
- (MIPS_ATYPE_V4SF, MIPS_ATYPE_UV2DI, MIPS_ATYPE_UV4SI)
- (MIPS_ATYPE_UV8HI, MIPS_ATYPE_UV16QI): New.
- (mips_init_builtins): Initialize mips_get_builtin_decl_index
- array.
- (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define target
- hook.
- (mips_expand_builtin_insn): Prepare operands for
- CODE_FOR_msa_addvi_b, CODE_FOR_msa_addvi_h, CODE_FOR_msa_addvi_w,
- CODE_FOR_msa_addvi_d, CODE_FOR_msa_clti_u_b,
- CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w,
- CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_u_b,
- CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w,
- CODE_FOR_msa_clei_u_d, CODE_FOR_msa_maxi_u_b,
- CODE_FOR_msa_maxi_u_h, CODE_FOR_msa_maxi_u_w,
- CODE_FOR_msa_maxi_u_d, CODE_FOR_msa_mini_u_b,
- CODE_FOR_msa_mini_u_h, CODE_FOR_msa_mini_u_w,
- CODE_FOR_msa_mini_u_d, CODE_FOR_msa_subvi_b,
- CODE_FOR_msa_subvi_h, CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d,
- CODE_FOR_msa_ceqi_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w,
- CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b,
- CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w,
- CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clei_s_b,
- CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w,
- CODE_FOR_msa_clei_s_d, CODE_FOR_msa_maxi_s_b,
- CODE_FOR_msa_maxi_s_h, CODE_FOR_msa_maxi_s_w,
- CODE_FOR_msa_maxi_s_d, CODE_FOR_msa_mini_s_b,
- CODE_FOR_msa_mini_s_h, CODE_FOR_msa_mini_s_w,
- CODE_FOR_msa_mini_s_d, CODE_FOR_msa_andi_b, CODE_FOR_msa_ori_b,
- CODE_FOR_msa_nori_b, CODE_FOR_msa_xori_b, CODE_FOR_msa_bmzi_b,
- CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bseli_b, CODE_FOR_msa_fill_b,
- CODE_FOR_msa_fill_h, CODE_FOR_msa_fill_w, CODE_FOR_msa_fill_d,
- CODE_FOR_msa_ilvl_b, CODE_FOR_msa_ilvl_h, CODE_FOR_msa_ilvl_w,
- CODE_FOR_msa_ilvl_d, CODE_FOR_msa_ilvr_b, CODE_FOR_msa_ilvr_h,
- CODE_FOR_msa_ilvr_w, CODE_FOR_msa_ilvr_d, CODE_FOR_msa_ilvev_b,
- CODE_FOR_msa_ilvev_h, CODE_FOR_msa_ilvev_w, CODE_FOR_msa_ilvod_b,
- CODE_FOR_msa_ilvod_h, CODE_FOR_msa_ilvod_w, CODE_FOR_msa_pckev_b,
- CODE_FOR_msa_pckev_h, CODE_FOR_msa_pckev_w, CODE_FOR_msa_pckod_b,
- CODE_FOR_msa_pckod_h, CODE_FOR_msa_pckod_w, CODE_FOR_msa_slli_b,
- CODE_FOR_msa_slli_h, CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d,
- CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w,
- CODE_FOR_msa_srai_d, CODE_FOR_msa_srli_b, CODE_FOR_msa_srli_h,
- CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d, CODE_FOR_msa_insert_b,
- CODE_FOR_msa_insert_h, CODE_FOR_msa_insert_w,
- CODE_FOR_msa_insert_d, CODE_FOR_msa_insve_b,
- CODE_FOR_msa_insve_h, CODE_FOR_msa_insve_w, CODE_FOR_msa_insve_d,
- CODE_FOR_msa_shf_b, CODE_FOR_msa_shf_h, CODE_FOR_msa_shf_w,
- CODE_FOR_msa_shf_w_f, CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h,
- CODE_FOR_msa_vshf_w, CODE_FOR_msa_vshf_d.
- (mips_expand_builtin): Add case for MIPS_BULTIN_MSA_TEST_BRANCH.
- (mips_set_compression_mode): Disallow MSA with MIPS16 code.
- (mips_option_override): -mmsa requires -mfp64 and -mhard-float.
- These are set implicitly and an error is reported if overridden.
- (mips_expand_builtin_msa_test_branch): New function.
- (mips_expand_msa_shuffle): Likewise.
- (MAX_VECT_LEN): Increase maximum length of a vector to 16 bytes.
- (TARGET_SCHED_REASSOCIATION_WIDTH): Define target hook.
- (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Likewise.
- (mips_expand_vec_unpack): Add support for MSA.
- (mips_expand_vector_init): Likewise.
- (mips_expand_vi_constant): Use CONST0_RTX (element_mode)
- instead of const0_rtx.
- (mips_msa_vec_parallel_const_half): New function.
- (mips_gen_const_int_vector): Likewise.
- (mips_gen_const_int_vector_shuffle): Likewise.
- (mips_expand_msa_cmp): Likewise.
- (mips_expand_vec_cond_expr): Likewise.
- * config/mips/mips.h
- (TARGET_CPU_CPP_BUILTINS): Add __mips_msa and __mips_msa_width.
- (OPTION_DEFAULT_SPECS): Ignore --with-fp-32 if -mmsa is
- specified.
- (ASM_SPEC): Pass mmsa and mno-msa to the assembler.
- (ISA_HAS_MSA): New macro.
- (UNITS_PER_MSA_REG): Likewise.
- (BITS_PER_MSA_REG): Likewise.
- (BIGGEST_ALIGNMENT): Redefine using ISA_HAS_MSA.
- (MSA_REG_FIRST): New macro.
- (MSA_REG_LAST): Likewise.
- (MSA_REG_NUM): Likewise.
- (MSA_REG_P): Likewise.
- (MSA_REG_RTX_P): Likewise.
- (MSA_SUPPORTED_MODE_P): Likewise.
- (HARD_REGNO_CALL_PART_CLOBBERED): Redefine using TARGET_MSA.
- (ADDITIONAL_REGISTER_NAMES): Add named registers $w0-$w31.
- * config/mips/mips.md: Include mips-msa.md.
- (alu_type): Add simd_add.
- (mode): Add V2DI, V4SI, V8HI, V16QI, V2DF, V4SF.
- (type): Add simd_div, simd_fclass, simd_flog2, simd_fadd,
- simd_fcvt, simd_fmul, simd_fmadd, simd_fdiv, simd_bitins,
- simd_bitmov, simd_insert, simd_sld, simd_mul, simd_fcmp,
- simd_fexp2, simd_int_arith, simd_bit, simd_shift, simd_splat,
- simd_fill, simd_permute, simd_shf, simd_sat, simd_pcnt,
- simd_copy, simd_branch, simd_cmsa, simd_fminmax, simd_logic,
- simd_move, simd_load, simd_store. Choose "multi" for moves
- for "qword_mode".
- (qword_mode): New attribute.
- (insn_count): Add instruction count for quad moves.
- Increase the count for MIPS SIMD division.
- (UNITMODE): Add UNITMODEs for vector types.
- (addsub): New code iterator.
- * config/mips/mips.opt (mmsa): New option.
- * config/mips/msa.h: New file.
- * config/mips/mti-elf.h: Don't infer -mfpxx if -mmsa is
- specified.
- * config/mips/mti-linux.h: Likewise.
- * config/mips/predicates.md
- (const_msa_branch_operand): New constraint.
- (const_uimm3_operand): Likewise.
- (const_uimm4_operand): Likewise.
- (const_uimm5_operand): Likewise.
- (const_uimm8_operand): Likewise.
- (const_imm5_operand): Likewise.
- (aq10b_operand): Likewise.
- (aq10h_operand): Likewise.
- (aq10w_operand): Likewise.
- (aq10d_operand): Likewise.
- (const_m1_operand): Likewise.
- (reg_or_m1_operand): Likewise.
- (const_exp_2_operand): Likewise.
- (const_exp_4_operand): Likewise.
- (const_exp_8_operand): Likewise.
- (const_exp_16_operand): Likewise.
- (const_vector_same_val_operand): Likewise.
- (const_vector_same_simm5_operand): Likewise.
- (const_vector_same_uimm5_operand): Likewise.
- (const_vector_same_uimm6_operand): Likewise.
- (const_vector_same_uimm8_operand): Likewise.
- (par_const_vector_shf_set_operand): Likewise.
- (reg_or_vector_same_val_operand): Likewise.
- (reg_or_vector_same_simm5_operand): Likewise.
- (reg_or_vector_same_uimm6_operand): Likewise.
- * doc/extend.texi (MIPS SIMD Architecture Functions): New
- section.
- * doc/invoke.texi (-mmsa): Document new option.
-
-2016-05-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (enable_vtable_verify): Handle --enable-vtable-verify.
- * configure: Regenerate.
- * config.in: Regenerate.
- * gcc.c (VTABLE_VERIFICATION_SPEC) [!ENABLE_VTABLE_VERIFY]: Error
- on -fvtable-verify.
- * config/sol2.h [!ENABLE_VTABLE_VERIFY] (STARTFILE_VTV_SPEC): Define.
- (ENDFILE_VTV_SPEC): Define.
-
-2016-05-09 Kaushik Phatak <kaushik.phatak@kpit.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): Save the MDUC related
- registers in all interrupt handlers if necessary.
- (rl78_option_override): Add warning.
- (MUST_SAVE_MDUC_REGISTERS): New macro.
- (rl78_expand_epilogue): Restore the MDUC registers if necessary.
- * config/rl78/rl78.c (check_mduc_usage): New function.
- (mduc_regs): New structure to hold MDUC register data.
- * config/rl78/rl78.md (is_g13_muldiv_insn): New attribute.
- (mulsi3_g13): Add is_g13_muldiv_insn attribute.
- (udivmodsi4_g13): Add is_g13_muldiv_insn attribute.
- (mulhi3_g13): Add is_g13_muldiv_insn attribute.
- * config/rl78/rl78.opt (msave-mduc-in-interrupts): New option.
- * doc/invoke.texi (RL78 Options): Add -msave-mduc-in-interrupts.
-
-2016-05-09 Bin Cheng <bin.cheng@arm.com>
-
- * tree-if-conv.c (tree-ssa-loop.h): Include header file.
- (tree-ssa-loop-niter.h): Ditto.
- (idx_within_array_bound, ref_within_array_bound): New functions.
- (ifcvt_memrefs_wont_trap): Check if array ref is within bound.
- Factor out check on writable base object to ...
- (base_object_writable): ... here.
-
-2016-05-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (probe_stack): Add modes to set source
- and destination.
-
-2016-05-09 Bernd Schmidt <bschmidt@redhat.com>
-
- * regrename.c (base_reg_class_for_rename): New static function.
- (scan_rtx_address, scan_rtx): Use it instead of base_reg_class.
-
-2016-05-08 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (thunk_adjust): Export.
- * cgraphclones.c (cgraph_node::create_clone): Clone thunk info.
- * cgraphunit.c (thunk_adjust): Export.
- (cgraph_node::assemble_thunks_and_aliases): Do not assemble inlined
- thunks.
- * ipa-inline-analyssi.c (compute_inline_parameters): Thunks are
- inlinable.
- * tree-inline.c (expand_call_inline): Expand thunks inline.
-
-2016-05-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70998
- * config/i386/sse.md (*sse2_vd_cvtsd2ss): New insn pattern.
- (*sse2_vd_cvtss2sd): Ditto.
- * config/i386/i386.md
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf splitter):
- Generate *sse2_vd_cvtsd2ss pattern.
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df splitter):
- Generate *sse2_vd_cvtss2sd pattern.
-
-2016-05-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (GET_SH_ARG_CLASS): Convert macro into ...
- * config/sh/sh.c (get_sh_arg_class): ... this new function. Update its
- users.
-
-2016-05-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (sh_media_register_for_return): Remove.
- * config/sh/sh.c: Define and declare variables on first use throughout
- the file.
- (current_function_interrupt): Change to bool type.
- (frame_insn): Rename to emit_frame_insn and update users.
- (push_regs): Use bool for 'interrupt_handler' argument.
- (save_schedule_s): Remove.
- (TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_ALIGNED_DI_OP): Remove.
- (sh_option_override): Don't nullify targetm.asm_out.aligned_op.di and
- targetm.asm_out.unaligned_op.di.
- (gen_far_branch): Remove redundant forward declaration.
- (sh_media_register_for_return, MAX_SAVED_REGS, save_entry_s, save_entry,
- MAX_TEMPS, save_schedule_ssave_schedule): Remove.
- (sh_set_return_address, sh_function_ok_for_sibcall,
- scavenge_reg): Update comments.
- (sh_builtin_saveregs): Use TRAGET_FPU_ANY condition.
- (sh2a_get_function_vector_number, sh2a_function_vector_p): Use for loop.
- (sh_attr_renesas_p): Remove unnecessary parentheses.
- (branch_dest): Simplify.
- * config/sh/sh.h (sh_args): Remove byref, byref_regs, stack_regs fields.
- Change force_mem, prototype_p, outgoing, renesas_abi fields to bool.
- (CUMULATIVE_ARGS): Change macro to typedef.
- (current_function_interrupt): Change to bool type.
- (sh_arg_class, sh_args, CUMULATIVE_ARGS, current_function_interrupt):
- Surround with __cplusplus ifdef.
- (sh_compare_op0, sh_compare_op1): Remove.
- (EPILOGUE_USES): Use TARGET_FPU_ANY condition.
-
-2016-05-07 Jim Wilson <jim.wilson@linaro.org>
-
- * config/arm/arm.md (arch): Add neon.
- (arch_enabled): Return yes for arch neon when TARGET_NEON.
- * config/arm/vfp.md (movdf_vfp): Add w/G as alternative 3. Add
- neon_move as type for alt 3. Add arch attr enabling alt 3 for neon.
- Emit vmov.i64 for alt 3. Renumber alternatives 3 to 8. Adjust
- attributes for alt renumbering. Mark alt 3 as non-predicable.
- (thumb2_movdf_vfp): Likewise.
-
-2016-05-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*addqi_1): Add preferred_for_speed attribute
- to disparage alternatives 3 and 4 for TARGET_PARTIAL_REG_STALL targets.
- (*andqi_1): Add preferred_for_speed attribute to disparage
- alternative 2 for TARGET_PARTIAL_REG_STALL targets.
- (*<code>qi_1): Ditto.
- (*one_cmplqi2_1): Add preferred_for_speed attribute to disparage
- alternative 1 for TARGET_PARTIAL_REG_STALL targets.
- (*ashlqi3_1): Ditto.
- (*swap<mode>): Merge from *swap<mode>_1 and *swap<mode>_2 patterns.
- Add preferred_for_size attribute to disparage alternative 0 and
- preferred_for_speed attribute to disparage alternative 1 for
- TARGET_PARTIAL_REG_STALL targets.
-
-2016-05-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/70956
- * graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
- def.
-
-2016-05-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (sh_cbranch_distance): Declare new function.
- * config/sh/sh.c (sh_cbranch_distance): Implement it.
- * config/sh/sh.md (branch_zero): Remove define_attr.
- (define_delay): Disable delay slot if branch distance is one insn.
-
-2016-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (LEAMODE): New mode attribute.
- (plus to LEA splitter): Rewrite splitter using LEAMODE mode attribute.
- (ashift to LEA splitter): Rewrte splitter using SWI mode iterator
- and LEAMODE mode attribute. Use VOIDmode const_0_to_3_operand as
- operand 2 predicate.
- (*lea<mode>_general_2): Use VOIDmode for const248_operand.
- (*lea<mode>_general_3): Ditto.
- (*lea<mode>_general_4): Use VOIDmode for const_0_to_3_operand.
-
-2016-05-06 Jakub Jelinek <jakub@redhat.com>
-
- * genmddump.c (main): Convert argv from char ** to const char **.
-
-2016-05-06 David Malcolm <dmalcolm@redhat.com>
-
- * coretypes.h (OVERRIDE): New macro.
- (FINAL): New macro.
-
-2016-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case,
- allow coalescing if the types are compatible.
-
-2016-05-06 David Malcolm <dmalcolm@redhat.com>
-
- * pass_manager.h (pass_manager::register_pass_name): New method.
- (pass_manager::get_pass_by_name): New method.
- (pass_manager::create_pass_tab): New method.
- (pass_manager::m_name_to_pass_map): New field.
- * passes.c (name_to_pass_map): Delete global in favor of field
- "m_name_to_pass_map" of pass_manager.
- (register_pass_name): Rename from a function to...
- (pass_manager::register_pass_name): ...this method, updating
- for renaming of global "name_to_pass_map" to field
- "m_name_to_pass_map".
- (create_pass_tab): Rename from a function to...
- (pass_manager::create_pass_tab): ...this method, updating
- for renaming of global "name_to_pass_map" to field.
- (get_pass_by_name): Rename from a function to...
- (pass_manager::get_pass_by_name): ...this method.
- (enable_disable_pass): Convert use of get_pass_by_name to
- a method call, locating the pass_manager singleton.
-
-2016-05-06 David Malcolm <dmalcolm@redhat.com>
-
- * genattr-common.c (main): Convert argv from char ** to const char **.
- * genattr.c (main): Likewise.
- * genattrtab.c (main): Likewise.
- * genautomata.c (initiate_automaton_gen): Likewise.
- (main): Likewise.
- * gencodes.c (main): Likewise.
- * genconditions.c (main): Likewise.
- * genconfig.c (main): Likewise.
- * genconstants.c (main): Likewise.
- * genemit.c (main): Likewise.
- * genenums.c (main): Likewise.
- * genextract.c (main): Likewise.
- * genflags.c (main): Likewise.
- * genmddeps.c (main): Likewise.
- * genopinit.c (main): Likewise.
- * genoutput.c (main): Likewise.
- * genpeep.c (main): Likewise.
- * genpreds.c (main): Likewise.
- * genrecog.c (main): Likewise.
- * gensupport.c (init_rtx_reader_args_cb): Likewise.
- (init_rtx_reader_args): Likewise.
- * gensupport.h (init_rtx_reader_args_cb): Likewise.
- (init_rtx_reader_args): Likewise.
- * gentarget-def.c (main): Likewise.
- * read-md.c (read_md_files): Likewise.
- * read-md.h (read_md_files): Likewise.
-
-2016-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
- instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
- * config/i386/predicates.md (register_and_not_any_fp_reg_operand):
- Remove unused predicate.
- (register_and_not_fp_reg_operand): Ditto.
-
-2016-05-06 Martin Liska <mliska@suse.cz>
-
- * tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
- instead of vec as the vector is local to the function.
-
-2016-05-06 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
- avx512bw alternative.
-
- * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move
- before the ashr<mode>3 pattern.
-
- * config/i386/sse.md (*avx2_pmaddwd, *sse2_pmaddwd): Use
- v instead of x in vex or maybe_vex alternatives, use
- maybe_evex instead of vex in prefix.
-
- * config/i386/sse.md (*vec_extractv4sf_0, *sse4_1_extractps,
- *vec_extractv4sf_mem, vec_extract_lo_v16hi, vec_extract_hi_v16hi,
- vec_extract_lo_v32qi, vec_extract_hi_v32qi): Use v instead of x
- in vex or maybe_vex alternatives, use maybe_evex instead of vex
- in prefix.
-
- * config/i386/sse.md (*vec_concatv2sf_sse4_1, *vec_concatv4sf): Use
- v instead of x in vex or maybe_vex alternatives, use
- maybe_evex instead of vex in prefix.
-
- * config/i386/sse.md (sse_shufps_<mode>, sse_storehps, sse_loadhps,
- sse_storelps, sse_movss, avx2_vec_dup<mode>, avx2_vec_dupv8sf_1,
- sse2_shufpd_<mode>, sse2_storehpd, sse2_storelpd, sse2_loadhpd,
- sse2_loadlpd, sse2_movsd): Use v instead of x in vex or maybe_vex
- alternatives, use maybe_evex instead of vex in prefix.
-
- * config/i386/sse.md (vec_interleave_lowv4sf,
- *vec_interleave_highv2df, *vec_interleave_lowv2df): Use
- v instead of x in vex or maybe_vex alternatives, use
- maybe_evex instead of vex in prefix.
-
- * config/i386/sse.md (sse_movhlps, sse_movlhps): Use
- v instead of x in vex or maybe_vex alternatives, use
- maybe_evex instead of vex in prefix.
-
- * config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
- v constraint instead of x.
-
-2016-05-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimple.c (gimple_call_same_target_p): Unique functions are eq.
- * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
- equality first.
-
-2016-05-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70948
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
- Properly clobber all fields of va_list for __builtin_va_start.
-
-2016-05-06 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR debug/70935
- * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
- loop latch destination.
-
-2016-05-06 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-uninit.c: Apply manual changes
- to the GNU coding style.
- (prune_uninit_phi_opnds): Rename from
- prune_uninit_phi_opnds_in_unrealizable_paths.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.opt (madjust-unroll, minvalid-symbols, msoft-atomic,
- mspace): Remove deprecated options.
- * doc/invoke.texi (SH options): Remove -mspace.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
- corresponding combine split pattern.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/58219
- * config/sh/predicates.md (long_displacement_mem_operand): New.
- * config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
- Add movi20, movi20s alternatives. Adjust length attribute for
- alternatives.
- (movsi_ie): Allow for any FPU. Adjust length attribute for
- alternatives.
- (movsi_i_lowpart): Add movi20, movi20s alternatives. Adjust length
- attribute for alternatives.
- (*mov<mode>): Use long_displacement_mem_operand for length attribute.
- (*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
- length attribute for alternatives.
-
-2016-05-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70960
- * tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52933
- * config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
- * config/sh/sh.c (sh_rtx_costs): Add another div0s case.
-
-2016-05-06 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/70875
- * ubsan.c (get_ubsan_type_info_for_type): Remove assert.
-
-2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.md (*rotcr): Add another variant.
-
-2016-05-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70931
- * dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
-
-2016-05-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70941
- * fold-const.c (split_tree): Always convert to the original type
- before negating.
-
-2016-05-06 Richard Biener <rguenther@suse.de>
-
- * fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
- (fwprop_addr): Likewise.
-
-2016-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70873
- * config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
- New prototype.
- * config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
- * config/i386/i386.md (push mem splitter): Use find_constant_src in
- the splitter condition.
- (FP load splitter): Use ix86_standard_x87sse_constant_load_p in
- the splitter condition.
- (FP float_extend load splitter): Ditto.
-
-2016-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (peehole2 patterns): Change true_regnum
- to REGNO in all peephole2 patterns.
- (post-reload splitters): Change true_regnum to REGNO in
- post-reload splitters.
- (zero_extend splitters): Use general_reg_operand and
- nonimmediate_gr_operand predicates.
-
-2016-05-05 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use
- v constraint instead of x.
-
-2016-05-05 Alan Modra <amodra@gmail.com>
-
- PR target/68662
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
- set OPTION_MASK_RELOCATABLE when flag_pic == 2. Set
- TARGET_NO_FP_IN_TOC for -mrelocatable.
- (MINIMAL_TOC_SECTION_ASM_OP): Remove redundant
- TARGET_RELOCATABLE test.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
- (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
- * config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
- (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
- * config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
- (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
- * config/rs6000/predicates.md (easy_fp_constant): Likewise.
- * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
- Likewise.
- (rs6000_assemble_integer): Update TARGET_RELOCATABLE test.
- (rs6000_stack_info): Likewise.
- (rs6000_elf_asm_out_constructor): Likewise.
- (rs6000_elf_asm_out_destructor): Likewise.
- (rs6000_elf_declare_function_name): Likewise.
- * config/rs6000/rs6000.md (load_toc_aix_di): Likewise.
- * config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC):
- Don't define.
-
-2016-05-05 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_frame_related): Rewrite.
-
-2016-05-05 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
- out-of-line gpr restore for one or two regs if that would add
- a save of lr.
-
-2016-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70873
- * config/i386/i386.md
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2):
- Change to post-epilogue_completed late splitter. Use sse_reg_operand
- as operand 0 predicate.
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2):
- Ditto.
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2):
- Ditto. Emit the pattern using RTX.
-
- (TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter):
- Use sse_reg_opreand as operand 0 predicate. Do not use true_regnum in
- the post-reload splitter. Use lowpart_subreg instead of gen_rtx_REG.
- (TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter):
- Ditto.
- (TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use
- sse_reg_operand as operand 0 predicate.
-
- (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2):
- Use sse_reg_opreand as operand 0 predicate. Use lowpart_subreg
- instead of gen_rtx_REG.
- (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2):
- Ditto.
-
-2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (emit_use_return_register_into_block): Delete.
- (gen_return_pattern): Delete.
- (emit_return_into_block): Delete.
- (active_insn_between): Delete.
- (convert_jumps_to_returns): Delete.
- (emit_return_for_exit): Delete.
- (thread_prologue_and_epilogue_insns): Delete all code dealing with
- simple_return for shrink-wrapped blocks.
- * shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the
- end of blocks that need one.
- (get_unconverted_simple_return): Delete.
- (convert_to_simple_return): Delete.
- * shrink-wrap.c (get_unconverted_simple_return): Delete declaration.
- (convert_to_simple_return): Ditto.
-
-2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- * cfgcleanup.c (bb_is_just_return): New function.
- (try_optimize_cfg): Simplify jumps to return, branches to return,
- and branches around return.
-
-2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- * cfgcleanup.c (try_simplify_condjump): Don't try to simplify a
- branch to a return.
-
-2016-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70906
- PR c++/70933
- * tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK.
- * tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass),
- assert flags & OEP_HASH_CHECK, instead of asserting it
- never happens. Handle TARGET_EXPR.
- * fold-const.c (operand_equal_p): For hash verification,
- or in OEP_HASH_CHECK into flags.
-
-2016-05-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
- comment.
- (compute_samebase_partition_bases): Fix typo.
-
-2016-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_interleave_highv8sf,
- vec_interleave_lowv8sf, vec_interleave_highv4df,
- vec_interleave_lowv4df): Remove constraints from expanders.
-
- * config/i386/sse.md (sse2_movq128): Use v constraint instead of x.
-
-2016-05-04 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-inline.c (expand_call_inline): Fix path dealing with
- making lhs of call statement undefined.
-
-2016-05-04 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
- Check availability on NODE, too.
- * cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
- (cgraph_node::call_for_symbol_and_aliases): Likewise.
- (varpool_node::call_for_symbol_and_aliase): Likewise.
- * ipa-pure-const.c (add_new_function): Analyze all bodies.
- (propagate_pure_const): Propagate across interposable functions, too.
- (skip_function_for_local_pure_const): Do not skip interposable bodies
- with aliases.
- (pass_local_pure_const::execute): Update.
-
-2016-05-04 Marek Polacek <polacek@redhat.com>
-
- * doc/invoke.texi: Document -Wdangling-else.
-
-2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config.gcc: Error out when conflicting multilib is detected. Do not
- loop over multilibs since no combination is legal.
-
-2016-05-04 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.
- * config/rs6000/sysv4.h (TARGET_TOC): Simplify.
- * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
- Align .toc.
-
-2016-05-04 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
- Clean up p5600 comments.
-
-2016-05-04 Richard Biener <rguenther@suse.de>
-
- * match.pd: Add BIT_FIELD_REF canonicalizations and vector
- constructor simplifications.
- * fold-const.c (fold_ternary_loc): Remove duplicate functionality here.
-
-2016-05-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
- * config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
- result.set_rtx is null instead of aborting.
- * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
- Always enable.
- (USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
- * config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
- *mov<mode>_store_postinc): New patterns.
-
-2016-05-04 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR. Mark
- as commutative. Check both conversions are NOP.
- ((A & B) OP (C & B)): Remove.
-
-2016-05-04 Alan Modra <amodra@gmail.com>
-
- * combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test.
-
-2016-05-04 Alan Modra <amodra@gmail.com>
-
- PR target/70866
- * config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
- when cr2,3,4 are all fixed regs.
-
-2016-05-04 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/57193
- * opts.c (default_options_table): Revert OPT_frename_registers change.
- * doc/invoke.texi (-frename-registers, -O2): Likewise.
-
-2016-05-03 Martin Sebor <msebor@redhat.com>
-
- PR c++/66561
- * builtins.c (fold_builtin_FILE): New function.
- (fold_builtin_FUNCTION, fold_builtin_LINE): New functions.
- (fold_builtin_0): Call them.
- * gimplify.c (gimplify_call_expr): Remove the handling of
- BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE.
-
- PR c++/66561
- * doc/extend.texi (Other Builtins): Update __builtin_FILE,
- __builtin_FUNCTION, and __builtin_LINE to reflect they yield
- constants.
-
- PR c++/66639
- * doc/extend.texi (Function Names as Strings): Update __func__,
- __FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to
- constants.
-
-2016-05-03 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70916
- * tree-if-conv.c: Include cfganal.h.
- (pass_if_conversion::execute): Call connect_infinite_loops_to_exit
- and remove_fake_exit_edges around the optimization pass.
-
-2016-05-03 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (symbol_table::create_edge): Set inline_failed.
- (cgraph_edge::make_direct): Likewise.
- (cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p.
- * cgraphclones.c (duplicate_thunk_for_node): Set inline_failed.
- * cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code
- (CIF_THUNK): New code.
- * ipa-inline-analysis.c (initialize_inline_failed): Preserve
- CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p.
- (compute_inline_parameters): Set inline_failed for thunks.
- (inline_analyze_function): Cleanup.
- * ipa-inline.c (can_inline_edge_p): Do not deal with
- call_stmt_cannot_inline_p.
- (can_early_inline_edge_p): Likewise.
- (early_inliner): Initialize inline_failed.
- * lto-cgraph.c (lto_output_edge): Sanity check inline_failed.
-
-2016-05-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
- from nonimm_ssenomem_operand.
- (nonimm_ssenomem_operand): New predicate.
- * config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand
- as operand 0 predicate.
- (*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387.
- Disable unsupported alternatives using "enabled" attribute.
- Use register_ssemem_operand as operand 0 predicate.
- (*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate.
-
-2016-05-03 Marek Polacek <polacek@redhat.com>
-
- PR c/70859
- * input.c (expansion_point_location): New function.
- * input.h (expansion_point_location): Declare.
-
-2016-05-03 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
- occurence with frame_offset_ ones.
-
-2016-05-03 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/70890
- * ira.c (combine_and_move_insns): When moving def_insn, remove
- equivs on use_insn.
-
-2016-05-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
- ("*r<noxa>sbg_<mode>_srl"): New define_insns.
- ("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
- ("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.
-
-2016-05-03 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
- for SAVE_MULTIPLE/STORE_MULTIPLE.
-
-2016-05-03 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
- *truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead of x.
-
-2016-05-03 Richard Biener <rguenther@suse.de>
-
- * gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
- default true.
- (gimplify_arg): Likewise.
- * gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
- re-writing the result to a decl if required.
- (internal_get_tmp_var): Add allow_ssa parameter
- and override into_ssa with it.
- (get_formal_tmp_var): Adjust.
- (get_initialized_tmp_var): Add allow_ssa parameter.
- (gimplify_arg): Add allow_ssa parameter and avoid generating
- SSA names for the result false.
- (gimplify_call_expr): If the call may return twice do not
- gimplify parameters into SSA.
- (prepare_gimple_addressable): Do not allow an SSA name as temporary.
- (gimplify_modify_expr): Adjust assert. For noreturn calls
- with a SSA name LHS adjust its def.
- (gimplify_save_expr): Do not allow an SSA name as save-expr result.
- (gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
- (gimplify_body): Init GIMPLE SSA data structures and gimplify into-SSA.
- (gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
- an SSA name. Likewise for OMP_CLAUSE_REDUCTION operands.
- (gimplify_omp_for): Likewise for OMP_CLAUSE_DECL. Likewise
- for OMP_FOR_COND, OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
- (optimize_target_teams): Do not allow SSA names for clause operands.
- (gimplify_expr): Likewise for where we mark the result addressable.
- * passes.def (pass_init_datastructures): Remove.
- * tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
- (rewrite_stmt): Likewise.
- * tree-inline.c (initialize_cfun): Properly transfer SSA state.
- (replace_locals_op): Replace SSA names.
- (copy_gimple_seq_and_replace_locals): Init src_cfun.
- * gimple-low.c (lower_builtin_setjmp): Deal with SSA.
- * cgraph.c (release_function_body): Free CFG annotations only
- when we have a CFG. Simplify.
- * gimple-fold.c (gimplify_and_update_call_from_tree): Use
- force_gimple_operand instead of get_initialized_tmp_var.
- * tree-pass.h (make_pass_init_datastructures): Remove.
- * tree-ssa.c (execute_init_datastructures): Remove.
- (pass_data_init_datastructures): Likewise.
- (class pass_init_datastructures): Likewise.
- (make_pass_init_datastructures): Likewise.
- * omp-low.c (create_omp_child_function): Init SSA data structures.
- (grid_expand_target_grid_body): Likewise.
- * tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
- name before adding it to names_to_release.
- (remove_bb): Always release SSA defs.
- * tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
- before dereferencing it.
- * cgraphunit.c (init_lowered_empty_function): Always
- int SSA data structures.
- * tree-ssanames.c (release_defs): Remove assert that we are in
- SSA form.
- * trans-mem.c (diagnose_tm_1): Handle SSA name function.
-
-2016-05-03 Jakub Jelinek <jakub@redhat.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/70467
- * config/i386/predicates.md (x86_64_hilo_int_operand,
- x86_64_hilo_general_operand): New predicates.
- * config/i386/constraints.md (Wd): New constraint.
- * config/i386/i386.md (mode attr di): Use Wd instead of e.
- (general_hilo_operand): New mode attr.
- (add<mode>3, sub<mode>3): Use <general_hilo_operand>
- instead of <general_operand>.
- (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
- x86_64_hilo_general_operand instead of <general_operand>.
-
-2016-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70916
- * tree-if-conv.c (constant_or_ssa_name): Removed.
- (fold_build_cond_expr): Use is_gimple_val instead of
- constant_or_ssa_name.
-
- PR tree-optimization/70916
- * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
- if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
-
- PR target/49244
- * tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
- (optimize_atomic_bit_test_and): New function.
- (pass_fold_builtins::execute): Use it.
- * optabs.def (atomic_bit_test_and_set_optab,
- atomic_bit_test_and_complement_optab,
- atomic_bit_test_and_reset_optab): New optabs.
- * internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
- ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
- * builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
- * builtins.c (expand_ifn_atomic_bit_test_and): New function.
- * internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
- expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
- expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
- * doc/md.texi (atomic_bit_test_and_set@var{mode},
- atomic_bit_test_and_complement@var{mode},
- atomic_bit_test_and_reset@var{mode}): Document.
- * config/i386/sync.md (atomic_bit_test_and_set<mode>,
- atomic_bit_test_and_complement<mode>,
- atomic_bit_test_and_reset<mode>): New expanders.
- (atomic_bit_test_and_set<mode>_1,
- atomic_bit_test_and_complement<mode>_1,
- atomic_bit_test_and_reset<mode>_1): New insns.
-
-2016-05-03 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/70687
- * combine.c (change_zero_ext): Check for scalar modes. Use wide_int
- instead of unsigned HOST_WIDE_INT.
-
-2016-05-03 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/44281
- * hard-reg-set.h (struct target_hard_regs): New field
- x_fixed_nonglobal_reg_set.
- (fixed_nonglobal_reg_set): New macro.
- * reginfo.c (init_reg_sets_1): Initialize it.
- * ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
- of fixed_reg_set.
- * df-scan.c (df_insn_refs_collect): Asms may reference global regs.
-
-2016-05-03 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/56541
- * doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
- * params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
- * tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
- (any_complicated_phi): new static variable.
- (aggressive_if_conv): delete.
- (if_convertible_phi_p): support phis with more than two arguments.
- (if_convertible_bb_p): remvoe check on aggressive_if_conv and
- critical pred edges.
- (ifcvt_split_critical_edges): support phis with more than two
- arguments by checking new parameter. only split critical edges
- if needed.
- (tree_if_conversion): handle simd pragma marked loop using new
- local variable aggressive_if_conv. check any_complicated_phi.
-
-2016-05-03 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
- before using it.
-
-2016-05-03 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
- cbase.
-
-2016-05-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
- (mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
- define_insn_and_split.
- (mulsi3_i): New define_insn_and_split.
- (mulsi3_call): Convert to define_insn.
- (mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
- Remove constraints.
-
-2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * machmode.h (mode_complex): Add support to give the complex mode
- for a given mode.
- (GET_MODE_COMPLEX_MODE): Likewise.
- * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
- stored by build_complex_type and gfc_build_complex_type instead of
- trying to figure out the appropriate mode based on the size. Raise
- an assertion error, if the type was not set.
- * genmodes.c (struct mode_data): Add field for the complex type of
- the given type.
- (blank_mode): Likewise.
- (make_complex_modes): Remember the complex mode created in the
- base type.
- (emit_mode_complex): Write out the mode_complex array to map a
- type mode to the complex version.
- (emit_insn_modes_c): Likewise.
- * tree.c (build_complex_type): Set the complex type to use before
- calling layout_type.
- * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
- support for __float128 complex datatypes.
- (rs6000_hard_regno_mode_ok): Likewise.
- (rs6000_setup_reg_addr_masks): Likewise.
- (rs6000_complex_function_value): Likewise.
- * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
- __float128 and __ibm128 complex.
- (FLOAT128_IBM_P): Likewise.
- (ALTIVEC_ARG_MAX_RETURN): Likewise.
- * doc/extend.texi (Additional Floating Types): Document that
- -mfloat128 must be used to enable __float128. Document complex
- __float128 and __ibm128 support.
-
-2016-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49244
- * gimple.c (gimple_builtin_call_types_compatible_p): Allow
- char/short arguments promoted to int because of promote_prototypes.
-
-2016-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (register_ssemem_operand): New predicate.
- * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
- *cmpi<FPCMP:unord><MODEF:mode>_mixed and
- *cmpi<FPCMP:unord><X87MODEF:mode>_i387. Disable unsupported
- alternatives using "enabled" attribute. Use register_ssemem_operand
- as operand 1 predicate.
- (*cmpi<unord>xf_i387): Split XFmode pattern from
- *cmpi<FPCMP:unord><X87MODEF:mode>_i387.
- (*absneg<mode>2): Merge from *absneg<mode>2_mixed and
- *absneg<mode>2_i387. Disable unsupported alternatives using
- "enabled" attribute.
- (*absnegxf2_i387): Split XFmode pattern from *absneg<mode>2_i387.
-
-2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (lower_oacc_head_tail): Assert there is at least one
- marker.
- (oacc_loop_process): Check mask for loop termination.
-
-2016-05-02 Jan Hubicka <hubicka@ucw.cz>
-
- * cif-code.def (CIF_THUNK): Add.
- * ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
- accidental change.
-
-2016-05-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
- (dump_inline_summary): Dump it.
- (fp_expression_p): New predicate.
- (estimate_function_body_sizes): Use it.
- (inline_merge_summary): Merge fp_expressions.
- (inline_read_section): Read fp_expressions.
- (inline_write_summary): Write fp_expressions.
- * ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
- codegen boundary if either caller or callee is !fp_expressions.
- * ipa-inline.h (inline_summary): Add fp_expressions.
- * ipa-inline-transform.c (inline_call): When inlining !fp_expressions
- to fp_expressions be sure the fp generation flags are updated.
-
-2016-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70467
- * cse.c (cse_insn): Handle no-op MEM moves after folding.
-
- PR rtl-optimization/70467
- * ipa-pure-const.c (check_call): Handle internal calls even in
- ipa mode like in local mode.
-
-2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.
-
-2016-05-02 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (X u< X, X u> X): New transformations.
-
-2016-05-02 Marc Glisse <marc.glisse@inria.fr>
-
- * flag-types.h (enum warn_strict_overflow_code): Move ...
- * coretypes.h: ... here.
- * fold-const.h (fold_overflow_warning): Declare.
- * fold-const.c (fold_overflow_warning): Make non-static.
- (fold_comparison): Move the transformation of X +- C1 CMP C2
- into X CMP C2 -+ C1 ...
- * match.pd: ... here.
- * gimple-fold.c (fold_stmt_1): Protect with
- fold_defer_overflow_warnings.
-
-2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (struct oacc_loop): Add 'inner' field.
- (new_oacc_loop_raw): Initialize it to zero.
- (oacc_loop_fixed_partitions): Initialize it.
- (oacc_loop_auto_partitions): Partition outermost loop to outermost
- available partitioning.
-
-2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (mulsidi3): Change operand 0 predicate to
- register_operand.
- (umulsidi3): Likewise.
- (indirect_jump): Fix jump instruction assembly patterns.
-
-2016-05-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR target/70860
- * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
- (nvptx_function_value): Assert non-NULL cfun.
-
-2016-05-02 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/70886
- * sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
-
- * cselib.h (rtx_equal_for_cselib_1): Declare.
- (rtx_equal_for_cselib_p: New inline function.
- * cselib.c (rtx_equal_for_cselib_p): Delete.
- (rtx_equal_for_cselib_1): Make public.
-
-2016-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
- (register_mixssei387nonimm_operand): Remove predicate.
- * config/i386/i386.md (*fop_<mode>_comm): Merge from
- *fop_<mode>_comm_mixed and *fop_<mode>_comm_i387. Disable unsupported
- alternatives using "enabled" attribute. Also check X87_ENABLE_ARITH
- for TARGET_MIX_SSE_I387 alternatives.
- (*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
- Disable unsupported alternatives using "enabled" attribute. Use
- nonimm_ssenomem_operand as operand 1 predicate. Also check
- X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
-
-2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree.c (cst_and_fits_in_hwi): Simplify.
-
-2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree.h (wi::to_wide): New function.
- * expr.c (expand_expr_real_1): Use wi::to_wide.
- * fold-const.c (int_const_binop_1): Likewise.
- (extract_muldiv_1): Likewise.
-
-2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * wide-int.h: Update offset_int and widest_int documentation.
- (WI_SIGNED_SHIFT_RESULT): New macro.
- (wi::binary_shift): Define signed_shift_result_type for
- shifts on offset_int- and widest_int-like types.
- (generic_wide_int): Support <<= and >>= if << and >> are supported.
- * tree.h (int_bit_position): Use shift operators instead of wi::
- shifts.
- * alias.c (adjust_offset_for_component_ref): Likewise.
- * expr.c (get_inner_reference): Likewise.
- * fold-const.c (fold_comparison): Likewise.
- * gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
- * gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
- * tree-dfa.c (get_ref_base_and_extent): Likewise.
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
- (stmt_kills_ref_p): Likewise.
- * tree-ssa-ccp.c (bit_value_binop_1): Likewise.
- * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
- (ao_ref_init_from_vn_reference): Likewise.
-
-2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * wide-int.h: Update offset_int and widest_int documentation.
- (WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
- (wi::binary_traits): Allow ordered comparisons between offset_int and
- offset_int, between widest_int and widest_int, and between either
- of these types and basic C types.
- (operator <, <=, >, >=): Define for the same combinations.
- * tree.h (tree_int_cst_lt): Use comparison operators instead
- of wi:: comparisons.
- (tree_int_cst_le): Likewise.
- * gimple-fold.c (fold_array_ctor_reference): Likewise.
- (fold_nonarray_ctor_reference): Likewise.
- * gimple-ssa-strength-reduction.c (record_increment): Likewise.
- * tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
- * tree-sra.c (completely_scalarize): Likewise.
- * tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
- * tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
- * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
- (check_for_binary_op_overflow): Likewise.
- (search_for_addr_array): Likewise.
- * ubsan.c (ubsan_expand_objsize_ifn): Likewise.
-
-2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
- (arc_save_restore): Likewise.
- (arc_dwarf_register_span): Likewise.
- (arc_output_pic_addr_const): Initialize suffix variable.
-
-2016-05-02 Martin Liska <mliska@suse.cz>
-
- * symbol-summary.h (function_summary::function_summary):
- Remove checking assert for all cgraph nodes.
- (function_summary::get): Check summary_uid.
- (symtab_insertion): Check summary_uid.
-
-2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-protos.h (compact_memory_operand_p): Declare.
- * config/arc/arc.c (arc_output_commutative_cond_exec): Consider
- bmaskn instruction.
- (arc_dwarf_register_span): Remove enum keyword.
- (compact_memory_operand_p): New function.
- * config/arc/arc.h (reg_class): Add code density register classes.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/arc/arc.md (*movqi_insn): Add code density instructions.
- (*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
- (*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
- (*cmpsi_cc_c_insn, *movsi_ne): Likewise.
- * config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
- constraints.
- (h, Rcd, Rsd, Rzd): New register constraints.
- (T): Use compact_memory_operand_p function.
- * config/arc/predicates.md (compact_load_memory_operand): Remove.
-
-2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (*negnegt, *movtt): Remove.
-
-2016-05-02 Marek Polacek <polacek@redhat.com>
- Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/70700
- * tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
- bigger than FIRST_REF_NODE.
-
-2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52898
- * config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
- TARGET_CMPEQDI_T.
- (prepare_cbranch_operands): Don't use scratch register. Assume that
- function is used when pseudos can be created.
- (expand_cbranchdi4): Likewise. Remove unused TARGET_CMPEQDI_T paths.
- * config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
- (cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
- define_expand. Allow it only when pseudos can be created.
- * config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.
-
-2016-05-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md (BC): Only allow -1 operands.
- * config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
- Add "enabled" attribute. Update XI mode attribute calculation.
- * config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
- (*movoi_internal_avx): Update XI mode attribute calculation.
- (*movti_internal): Ditto.
-
-2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
- cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.
-
-2016-05-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
- statement on instruction code. Remove trailing spaces.
- (altivec_expand_stv_builtin): Likewise.
-
-2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
- (TARGET_FPU_DOUBLE): Simplify.
- (BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
- 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
- * config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
- with 'TARGET_FPU_DOUBLE'.
- * config/sh/sh.md: Likewise.
-
-2016-05-01 Yoshinori Sato <ysato@users.sourceforge.jp>
-
- * config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
- SH_DIV_STR_FOR_SIZE): Remove.
- * config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
- SH_DIV_STR_FOR_SIZE): Remove.
-
-2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/predicates.md (any_register_operand, zero_extend_operand,
- logical_reg_operand): Delete.
- (arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
- arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
- logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
- match_operand and match_test.
- (sh_const_vec, sh_1el_vec): Remove redundant checks. Declare local
- variables on their first use. Return bool values.
- * config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
- * config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
- arith_reg_operand for input operand. Remove empty constraints.
- (xorsi3): Delete.
- (*xorsi3_compact): Rename to xorsi3.
- (zero_extend<mode>si2): Use arith_reg_operand for input operand.
- (*zero_extend<mode>si2_disp_mem): Update comment.
- (mov_nop): Delete.
-
-2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/t-sh: Remove SH5 support.
- * config.gcc: Likewise.
- * configure: Likewise.
-
-2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
-
-2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (register_sh_passes, sh_option_override,
- sh_print_operand, prepare_move_operands,
- sh_can_follow_jump): Remove TARGET_SH1 checks.
- * config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P,
- PROMOTE_MODE): Likewise.
- * config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3,
- movdi): Likewise.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
- restoring when fixed_reg_p, but allow out-of-line or stmw save.
- Check for user regs later to avoid unnecessary looping over regs.
- Merge user reg check with non-saved reg check. Don't force
- inline VR restore when static chain used.
- (rs6000_frame_related): Omit eh_frame info for user regs when
- saving.
- (fixed_regs_p): Delete.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with..
- (SAVE_STRATEGY, REST_STRATEGY): ..this. Renumber and sort enum.
- Update all uses.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- PR target/69645
- * config/rs6000/rs6000.c (fixed_reg_p): New function.
- (fixed_regs_p): Rename from global_regs_p. Call fixed_reg_p.
- Update all uses.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_conditional_register_usage):
- Remove redundant PIC_OFFSET_TABLE_REGNUM test. Replace with
- flag_pic test for Darwin.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * regs.h (struct reg_info_t): Delete freq_calls_crossed and
- throw_calls_crossed.
- (REG_FREQ_CALLS_CROSSED): Delete.
- (REG_N_THROWING_CALLS_CROSSED): Delete.
- * regstat.c (regstat_bb_compute_ri): Don't calculate
- REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED.
- (dump_reg_info): Don't print call cross frequency.
- * ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED
- and REG_N_THROWING_CALLS_CROSSED.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * regs.h (struct reg_info_t): Delete live_length.
- (REG_LIVE_LENGTH): Delete macro.
- * regstat.c (regstat_bb_compute_ri): Delete artificial_uses,
- local_live, local_processed and local_live_last_luid params.
- Replace bb_index param with bb. Don't set REG_LIVE_LENGTH.
- Formatting fixes.
- (regstat_compute_ri): Adjust for above. Don't set
- REG_LIVE_LENGTH.
- (dump_reg_info): Don't print live length.
- * ira.c (update_equiv_regs): Replace test of REG_LIVE_LENGTH
- with test of setjmp_crosses. Don't set REG_LIVE_LENGTH.
- Localize loop_depth var.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * ira.c (enum valid_equiv): New.
- (validate_equiv_mem): Return enum.
- (update_equiv_mem): Create replacement in more cases.
- (add_store_equivs): Update validate_equiv_mem call.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * ira.c (combine_and_move_insns): Rather than scanning insns,
- use DF infrastucture to find use and def insns.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- ira.c (combine_and_move_insns): Move invariant conditions..
- (ira.c): ..to here. Call combine_and_move_insns before
- add_store_equivs. Call grow_reg_equivs later. Allocate
- req_equiv later using max_reg_num() rather than global max_regno.
- (contains_replace_regs): Delete.
- (add_store_equivs): Remove contains_replace_regs test.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * ira.c (struct equiv_mem_data): New.
- (equiv_mem, equiv_mem_modified): Delete static vars.
- (validate_equiv_mem_from_store): Use "data" param to communicate..
- (validate_equiv_mem): ..from here.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * ira.c (add_store_equivs, combine_and_move_insns): New functions,
- split out from..
- (update_reg_equivs): ..here. Move allocation and freeing of
- reg_equiv, and calls to grow_reg_equivs, init_alias_analysis,
- end_alias_analysis to..
- (ira): ..here.
-
-2016-04-30 Alan Modra <amodra@gmail.com>
-
- * ira.c (pdx_subregs): Delete.
- (struct equivalence): Add pdx_subregs field.
- (set_paradoxical_subreg): Remove pdx_subregs param. Update
- pdx_subregs access.
- (update_equiv_regs): Don't create or free pdx_subregs. Update
- pdx_subregs access.
-
-2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.h: Change definitions of vec_xl and
- vec_xst.
- * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
- (LD_ELEMREV_V2DI): New.
- (LD_ELEMREV_V4SF): New.
- (LD_ELEMREV_V4SI): New.
- (LD_ELEMREV_V8HI): New.
- (LD_ELEMREV_V16QI): New.
- (ST_ELEMREV_V2DF): New.
- (ST_ELEMREV_V2DI): New.
- (ST_ELEMREV_V4SF): New.
- (ST_ELEMREV_V4SI): New.
- (ST_ELEMREV_V8HI): New.
- (ST_ELEMREV_V16QI): New.
- (XL): New.
- (XST): New.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
- * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
- TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
- (altivec_expand_builtin): Add handling for
- VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
- (rs6000_invalid_builtin): Add error-checking for
- RS6000_BTM_P9_VECTOR.
- (altivec_init_builtins): Define builtins used to implement vec_xl
- and vec_xst.
- (rs6000_builtin_mask_names): Define power9-vector.
- * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
- (RS6000_BTM_P9_VECTOR): Define.
- (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
- * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
- (vsx_ld_elemrev_v2df): Likewise.
- (vsx_ld_elemrev_v4sf): Likewise.
- (vsx_ld_elemrev_v4si): Likewise.
- (vsx_ld_elemrev_v8hi): Likewise.
- (vsx_ld_elemrev_v16qi): Likewise.
- (vsx_st_elemrev_v2df): Likewise.
- (vsx_st_elemrev_v2di): Likewise.
- (vsx_st_elemrev_v4sf): Likewise.
- (vsx_st_elemrev_v4si): Likewise.
- (vsx_st_elemrev_v8hi): Likewise.
- (vsx_st_elemrev_v16qi): Likewise.
- * doc/extend.texi: Add prototypes for vec_xl and vec_xst. Correct
- grammar.
-
-2016-04-29 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Split
- out into ...
- (simplify_control_stmt_condition_1): ... here. Recurse into
- BIT_AND_EXPRs and BIT_IOR_EXPRs.
-
-2016-04-29 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/69810
- * config/rs6000/rs6000.md (EXTQI): Don't allow extension to HImode.
- (zero_extendqi<mode>2_dot): Revert earlier conversion from
- define_insn_and_split to define_insn.
- (zero_extendqi<mode>2_dot2): Same.
- (extendqi<mode>2_dot): Same.
- (extendqi<mode>2_dot2): Same.
-
-2016-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (unspec): Add UNSPEC_PROBE_STACK.
- (probe_stack): New expander.
- (probe_stack_<mode>): New insn pattern.
-
-2016-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md
- (operations with memory inputs setting flags peephole2):
- Remove uneeded REG_P checks. Cleanup pattern generation.
-
-2016-04-29 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-vect-loop.c (vect_transform_loop): Fix
- nb_iterations_upper_bound computation for vectorized loop.
-
-2016-04-29 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/70342
- * fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
- TARGET_EXPR_SLOT as a base.
-
-2016-04-29 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.md (*loadqi_update): Replace use of 'rI' constraint
- with 'rCm2' constraints to limit possible immediate size.
- (*load_zeroextendqisi_update): Likewise.
- (*load_signextendqisi_update): Likewise.
- (*loadhi_update): Likewise.
- (*load_zeroextendhisi_update): Likewise.
- (*load_signextendhisi_update): Likewise.
- (*loadsi_update): Likewise.
- (*loadsf_update): Likewise.
-
-2016-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (constm1_operand): Fix comparison.
-
-2016-04-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * testsuite/gcc.target/arc/ieee_eq.c: New test.
-
-2016-04-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- * common/config/sh/sh-common.c (sh_option_optimization_table): Remove
- remaining SH5 related settings.
- * config/sh/sh-protos.h (shmedia_cleanup_truncate,
- shmedia_prepare_call_address): Delete.
- * config/sh/sh.c (sh_print_operand, output_stack_adjust,
- DWARF_CIE_DATA_ALIGNMENT, LOCAL_ALIGNMENT): Update comments.
- * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC,
- UNSUPPORTED_SH2A): Remove m5 checks.
- (sh_divide_strategy_e): Remove SH5 division strategies.
- (TARGET_PTRMEMFUNC_VBIT_LOCATION): Remove and use default.
- * config/sh/sh.md (divsf3): Reinstate define_expand pattern.
-
-2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs): Update documentation.
-
-2016-04-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/2964.md ("z13_unit_fxu", "z13_0"): Remove lder.
- * config/s390/s390.md ("movsi_larl", "*movsi_esa", "mov<mode>"):
- Change lder to ldr.
- * config/s390/vector.md ("mov<mode>"): Likewise.
-
-2016-04-29 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/s390/constraints.md ("U", "W"): Invoke
- s390_mem_constraint with "ZR" and "ZT".
- * config/s390/s390.c (s390_check_qrst_address): Reject invalid
- addresses when using LRA. Accept also short displacements for S
- and T constraints. Do not check for long displacement target for
- S and T constraints.
- (s390_mem_constraint): Remove handling of U and W constraints.
- * config/s390/s390.md (various patterns): Remove the short
- displacement constraints (Q and R) if a long displacement
- constraint is present. Add longdisp as required CPU capability.
- * config/s390/vector.md: Likewise.
- * config/s390/vx-builtins.md: Likewise.
-
-2016-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/60040
- * reload1.c (reload): Call finish_spills before
- restarting reload loop. Skip select_reload_regs
- if update_eliminables_and_spill returns true.
-
-2016-04-29 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.h (UNSIGNED_INT12, UNSIGNED_INT16): Define.
- * config/arc/arc.md (umulhisi3): Use arc_short_operand predicate.
- (umulhisi3_imm): Update predicates and constraint letters.
- (umulhisi3_reg): Declare instruction as commutative.
- * config/arc/constraints.md (J12, J16): New constraints.
- * config/arc/predicates.md (short_unsigned_const_operand): New
- predicate.
- (arc_short_operand): Likewise.
- * testsuite/gcc.target/arc/umulsihi3_z.c: New file.
-
-2016-04-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/13962
- PR tree-optimization/65686
- * tree-ssa-alias.h (ptrs_compare_unequal): Declare.
- * tree-ssa-alias.c (ptrs_compare_unequal): New function
- using PTA to compare pointers.
- * match.pd: Add pattern for pointer equality compare simplification
- using ptrs_compare_unequal.
-
-2016-04-29 Richard Biener <rguenther@suse.de>
-
- * stor-layout.c (layout_type): Do not build a pointer-to-element
- type for arrays.
-
-2016-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (Load+RegOp to Mov+MemOp peephole2):
- Use SWI mode iterator. Use general_reg_operand predicate.
- (Load+RegOp to Mov+MemOp peephole2 with vector regs): Split
- peephole to MMX and SSE part. Use mmx_reg_operand and sse_reg_operand
- predicates.
-
-2016-04-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70843
- * fold-const.c (operand_equal_p): Don't verify hash value equality
- if arg0 == arg1.
- * tree.c (inchash::add_expr): Handle STATEMENT_LIST. Ignore BLOCK
- and OMP_CLAUSE.
-
-2016-04-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70858
- * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
- to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
- (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
- __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
- __builtin_ia32_pdep_di and __builtin_ia32_pext_di.
-
-2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (compute_save_world_info): Rename info_ptr
- to info. Don't initialize separate fields to 0. Clean up
- formatting a bit.
-
-2016-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (peephole2s for operations with memory inputs):
- Use SWI mode iterator.
- (peephole2s for operations with memory outputs): Ditto.
- Do not check for stack checking probe.
-
- (probe_stack): Remove expander.
-
-2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
- operands as 32-bits.
-
-2016-04-28 Jason Merrill <jason@redhat.com>
-
- * gdbinit.in: Skip line-map.h.
-
-2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.c (arc_conditional_register_usage): Take
- TARGET_RRQ_CLASS into account.
- (arc_print_operand): Support printing 'p' and 's' operands.
- * config/arc/arc.h (TARGET_NPS_BITOPS_DEFAULT): Provide default
- as 0.
- (TARGET_RRQ_CLASS): Define.
- (IS_POWEROF2_OR_0_P): Define.
- * config/arc/arc.md (*movsi_insn): Add w/Clo, w/Chi, and w/Cbi
- alternatives.
- (*tst_movb): New define_insn.
- (*tst): Avoid recognition if it could prevent '*tst_movb'
- combination; replace c/CnL with c/Chs alternative.
- (*tst_bitfield_tst): New define_insn.
- (*tst_bitfield_asr): New define_insn.
- (*tst_bitfield): New define_insn.
- (andsi3_i): Add Rrq variant.
- (extzv): New define_expand.
- (insv): New define_expand.
- (*insv_i): New define_insn.
- (*movb): New define_insn.
- (*movb_signed): New define_insn.
- (*movb_high): New define_insn.
- (*movb_high_signed): New define_insn.
- (*movb_high_signed + 1): New define_split pattern.
- (*mrgb): New define_insn.
- (*mrgb + 1): New define_peephole2 pattern.
- (*mrgb + 2): New define_peephole2 pattern.
- * config/arc/arc.opt (mbitops): New option for nps400, uses
- TARGET_NPS_BITOPS_DEFAULT.
- * config/arc/constraints.md (q): Make register class conditional.
- (Rrq): New register constraint.
- (Chs): New constraint.
- (Clo): New constraint.
- (Chi): New constraint.
- (Cbf): New constraint.
- (Cbn): New constraint.
- (C18): New constraint.
- (Cbi): New constraint.
-
-2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * cfganal.c (bitmap_intersection_of_succs): Delete assert checking
- dst->popcount.
- (bitmap_intersection_of_preds): Ditto.
- (bitmap_union_of_succs): Ditto.
- (bitmap_union_of_preds): Ditto.
- * sbitmap.c (do_popcount): Delete.
- (BITMAP_DEBUGGING): Delete.
- (sbitmap_verify_popcount): Delete.
- (sbitmap_alloc): Don't initialize the popcount field.
- (sbitmap_alloc_with_popcount): Delete.
- (sbitmap_resize): Don't resize the popcount array.
- (sbitmap_vector_alloc): Don't initialize the popcount field.
- (bitmap_copy): Don't copy the popcount array.
- (bitmap_clear): Don't clear the popcount array.
- (bitmap_clear): Delete the popcount array handling.
- (bitmap_ior_and_compl): Delete the popcount assert.
- (bitmap_not): Ditto.
- (bitmap_and_compl): Ditto.
- (bitmap_and): Delete the popcount array handling.
- (bitmap_xor): Ditto.
- (bitmap_ior): Ditto.
- (bitmap_or_and): Delete the popcount assert.
- (bitmap_and_or): Ditto.
- (popcount_table): Delete.
- (sbitmap_elt_popcount): Delete.
- * sbitmap.h (simple_bitmap_def): Delete the popcount field.
- (bitmap_set_bit): Delete the popcount assert.
- (bitmap_clear_bit): Ditto.
- (sbitmap_free): Don't free the popcount array.
- (sbitmap_alloc_with_popcount): Delete declaration.
- (sbitmap_popcount): Ditto.
-
-2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
- (TARGET_NPS_CMEM_DEFAULT): Provide default definition.
- * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
- (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
- * config/arc/arc.opt (mcmem): New option.
- * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
- supply length for r/m alternative.
- (*extendqisi2_ac): Likewise.
- (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
- r/Uex alternative.
- (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
- (movhi_insn): Likewise.
- (movsi_insn): Add r/Ucm,Ucm/w alternatives.
- (*zero_extendqihi2_i): Add r/Ucm alternative.
- (*zero_extendqisi2_ac): Likewise.
- (*zero_extendhisi2_i): Likewise.
- * config/arc/constraints.md (Uex): New memory constraint.
- (Ucm): New define_constraint.
- * config/arc/predicates.md (long_immediate_loadstore_operand):
- Return 0 for MEM with cmem_address address.
- (cmem_address_0): New predicates.
- (cmem_address_1): Likewise.
- (cmem_address_2): Likewise.
- (cmem_address): Likewise.
-
-2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (machine_function): Rename
- insn_chain_scanned_p to spe_insn_chain_scanned_p.
- (rs6000_stack_info): Adjust.
-
-2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/constraints.md (Usd): Convert to define_constraint.
- (Us<): Likewise.
- (Us>): Likewise.
-
-2016-04-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70821
- * config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
- Add new peephole2 where the first insn is *mov<mode>_or instead of
- *mov<mode>_internal.
-
-2016-04-28 Segher Boesssenkool <segher@kernel.crashing.org>
-
- * tracer.c (bb_seen): Make static.
-
-2016-04-28 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * common/config/arc/arc-common.c (arc_handle_option): Add NPS400
- support, setup defaults.
- * config/arc/arc-opts.h (enum processor_type): Add NPS400.
- * config/arc/arc.c (arc_init): Add NPS400 support.
- * config/arc/arc.h (CPP_SPEC): Add NPS400 defines.
- (TARGET_ARC700): NPS400 is also an ARC700.
- * config/arc/arc.opt: Add NPS400 options to -mcpu=.
-
-2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/70668
- * config/nds32/nds32.md (casesi): Don't access the operands array
- out of bounds.
-
-2016-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
- (or $-1,reg peephole2): Ditto.
- (strict_low_part zeroing peephole2): Use SWI12 mode iterator.
-
-2016-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * doc/extend.texi (Common Function Attributes) [optimize]:
- Discourage use of the optimize attribute.
-
-2016-04-28 Bill Seurer <seurer@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a
- special case builtin.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
- ALTIVEC_BUILTIN_VEC_ADDE.
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
- support for ALTIVEC_BUILTIN_VEC_ADDE.
- * config/rs6000/rs6000.c (altivec_init_builtins): Add definition
- for __builtin_vec_adde.
-
-2016-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (sse4_1_round<mode>2): Add avx512f alternative.
- * config/i386/sse.md (sse4_1_round<ssescalarmodesuffix>): Likewise.
-
-2016-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/70595
- * doc/sourcebuild.texi (Effective-Target Keywords, Other
- attributes): Document cilkplus_runtime.
-
-2016-04-28 Martin Jambor <mjambor@suse.cz>
-
- * tree-cfg.c (verify_expr): Verify that local declarations belong to
- this function. Call verify_expr on MEM_REFs and bases of other
- handled_components.
-
-2016-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * internal-fn.c (expand_arith_overflow): Convert preprocessor check
- for WORD_REGISTER_OPERATIONS to runtime check.
-
-2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.h (ASM_SPEC): Pass mfpuda to assembler.
-
-2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_process_double_reg_moves): Fix for
- big-endian compilation.
- * config/arc/arc.md (addf3): Likewise.
- (subdf3): Likewise.
- (muldf3): Likewise.
-
-2016-04-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70840
- * match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
- Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
- Mark x * pow(x,c) -> pow(x,c+1) commutative.
- Add powi(x,y) * powi(z,y) -> powi(x*z,y).
-
-2015-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (WORD_REGISTER_OPERATIONS): Define to 0
- and explain why in a comment.
-
-2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (cpu_facility): Add fpx variant.
- (subdf3): Prohibit use reverse sub when assist operations option
- is enabled.
- * config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
- instructions only when FPX is enabled.
- * testsuite/gcc.target/arc/trsub.c: New test.
-
-2016-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
- mult_operator when calculating "type" attribute.
- (*fop_<mode>_1_i387): Ditto.
- (*fop_xf_1_i387): Ditto.
- (x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
- Use std::swap to swap operands. Use RTL expressions to generate
- converted pattern.
-
-2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
- Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
- declaration.
- (emit_pic_move): Remove.
- (arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
- * config/arc/arc.c (emit_pic_move): Removed.
- (TARGET_HAVE_TLS): Define.
- (arc_conditional_register_usage): Test for arc_tp_regno.
- (arc_print_operand, arc_print_operand_address): Handle TLS
- unspecs.
- (arc_needs_pcl_p): New function.
- (arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
- (arc_legitimate_pic_addr_p): Handle TLS unspecs.
- (arc_raw_symbolic_reference_mentioned_p): Likewise.
- (arc_get_tp, arc_emit_call_tls_get_addr): New function.
- (arc_legitimize_tls_address): Likewise.
- (DTPOFF_ZERO_SYM): Define.
- (arc_legitimize_pic_address): Make it static, handle TLS cases.
- (arc_output_pic_addr_const): Print TLS unspecs.
- (prepare_pic_move): New function, replaces emit_pic_move.
- (arc_legitimate_constant_p): Handle TLS unspecs.
- (arc_legitimate_address_p): Likewise.
- (arc_rewrite_small_data_p): Use assert for TLS constants.
- (prepare_move_operands): Use prepare_pic_move.
- (arc_legitimize_address): Legitimize tls addresses.
- (arc_epilogue_uses): Check for arc_tp_regno.
- (arc_eh_uses, insn_is_tls_gd_dispatch): New function.
- * config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
- Define.
- [DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
- Likewise.
- [DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
- %(arc_tls_extra_start_spec).
- (TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
- (REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
- (EH_USES): Define.
- (INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
- * config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
- (UNSPEC_TLS_OFF): Add.
- (R10_REG): Define.
- (tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
- (get_thread_pointersi): New patterns.
- * config/arc/arc.opt (mtp-regno): New option.
- * config/arc/predicates.md (move_src_operand): Handle TLS symbols.
- (move_dest_operand): Likewise.
- * configure: Regenerate.
- * configure.ac: Add arc*-*-* case to test for tls.
- * doc/invoke.texi (ARC options): Document mtp-regno.
-
-2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (arc_vector_mode_supported_p): Add support for
- the new ARC HS SIMD instructions.
- (arc_preferred_simd_mode): New function.
- (arc_autovectorize_vector_sizes): Likewise.
- (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
- (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
- (arc_init_reg_tables): Accept new ARC HS SIMD modes.
- (arc_init_builtins): Add new SIMD builtin types.
- (arc_split_move): Handle 64 bit vector moves.
- * config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
- (TARGET_PLUS_QMACW): Define.
- * config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
- (DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
- (VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
- (VSUBADD4H): New builtins.
- * config/arc/simdext.md: Add new ARC HS SIMD instructions.
- * testsuite/gcc.target/arc/builtin_simdarc.c: New file.
-
-2016-04-28 Eduard Sanou <dhole@openmailbox.org>
- Matthias Klose <doko@debian.org>
-
- * doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.
-
-2016-04-28 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70777
- * fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
- canonicalization.
-
-2016-04-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- * common/config/sh/sh-common.c: Remove SH5 support.
- * config/sh/constraints.md: Likewise.
- * config/sh/config/sh/elf.h: Likewise.
- * config/sh/linux.h: Likewise.
- * config/sh/netbsd-elf.h: Likewise.
- * config/sh/predicates.md: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-protos.h: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh.h: Likewise.
- * config/sh/sh.md: Likewise.
- * config/sh/sh.opt: Likewise.
- * config/sh/sync.md: Likewise.
- * config/sh/sh64.h: Delete.
- * config/sh/shmedia.h: Likewise.
- * config/sh/shmedia.md: Likewise.
- * config/sh/sshmedia.h: Likewise.
- * config/sh/t-netbsd-sh5-64: Likewise.
- * config/sh/t-sh64: Likewise.
- * config/sh/ushmedia.h: Likewise.
-
-2016-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (sign_extend to memory peephole2s): Use
- general_reg_operand instead of register_operand predicate.
-
-2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * params.def (MIN_PARTITION_SIZE): Set default value to 10000.
-
-2016-04-27 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (A - B > A, A + B < A): New transformations.
-
-2016-04-27 Patrick Palka <ppalka@gcc.gnu.org>
-
- * genattrtab.c (write_test_expr): New parameter EMIT_PARENS
- which defaults to true. Emit an outer pair of parentheses only if
- EMIT_PARENS. When continuing a chain of && or || (or & or |),
- don't emit parentheses for the right-hand operand.
-
-2016-04-27 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (record_temporary_equivalences): Fix typo in comment.
-
-2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (altivec_lvx_<mode>): Remove.
- (altivec_lvx_<mode>_internal): Document.
- (altivec_lvx_<mode>_2op): New define_insn.
- (altivec_lvx_<mode>_1op): Likewise.
- (altivec_lvx_<mode>_2op_si): Likewise.
- (altivec_lvx_<mode>_1op_si): Likewise.
- (altivec_stvx_<mode>): Remove.
- (altivec_stvx_<mode>_internal): Document.
- (altivec_stvx_<mode>_2op): New define_insn.
- (altivec_stvx_<mode>_1op): Likewise.
- (altivec_stvx_<mode>_2op_si): Likewise.
- (altivec_stvx_<mode>_1op_si): Likewise.
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Expand vec_ld and vec_st during parsing.
- * config/rs6000/rs6000.c (altivec_expand_lvx_be): Commentary
- changes.
- (altivec_expand_stvx_be): Likewise.
- (altivec_expand_lv_builtin): Expand lvx built-ins to expose the
- address-masking behavior in RTL.
- (altivec_expand_stv_builtin): Expand stvx built-ins to expose the
- address-masking behavior in RTL.
- (altivec_expand_builtin): Change builtin code arguments for calls
- to altivec_expand_stv_builtin and altivec_expand_lv_builtin.
- (insn_is_swappable_p): Avoid incorrect swap optimization in the
- presence of lvx/stvx patterns.
- (alignment_with_canonical_addr): New function.
- (alignment_mask): Likewise.
- (find_alignment_op): Likewise.
- (recombine_lvx_pattern): Likewise.
- (recombine_stvx_pattern): Likewise.
- (recombine_lvx_stvx_patterns): Likewise.
- (rs6000_analyze_swaps): Perform a pre-pass to recognize lvx and
- stvx patterns from expand.
- * config/rs6000/vector.md (vector_altivec_load_<mode>): Use new
- expansions.
- (vector_altivec_store_<mode>): Likewise.
-
-2016-04-26 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.md
- (*movhf_aarch64): Add "movi %0, #0" to zero up register and
- remove the "fp" attributes.
- (*movsf_aarch64): Add "movi %0, #0" to zero up register and
- add the "simd" attributes.
- (*movdf_aarch64): Likewise.
- (*movtf_aarch64): Remove the "fp" attributes.
- * testsuite/gcc.target/aarch64/fmovf-zero-reg.c: Update accordingly.
- * testsuite/gcc.target/aarch64/fmovd-zero-reg.c: Likewise.
-
-2016-04-27 David Malcolm <dmalcolm@redhat.com>
-
- * emit-rtl.c (maybe_set_first_label_num): Strengthen param from
- rtx to rtx_code_label *.
- * rtl.h (maybe_set_first_label_num): Likewise.
-
-2016-04-27 David Malcolm <dmalcolm@redhat.com>
-
- * df-core.c (df_add_problem): Make the problem param be const.
- (df_remove_problem): Make local "problem" be const.
- * df-problems.c (problem_RD): Make const.
- (problem_LR): Likewise.
- (problem_LIVE): Likewise.
- (problem_MIR): Likewise.
- (problem_CHAIN): Likewise.
- (problem_WORD_LR): Likewise.
- (problem_NOTE): Likewise.
- (problem_MD): Likewise.
- * df-scan.c (problem_SCAN): Likewise.
- * df.h (struct df_problem): Make field "dependent_problem" be
- const.
- (struct dataflow): Likewise for field "problem".
- (df_add_problem): Make param const.
-
-2016-04-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
- inter-unit moves to/from vector registers are enabled. Do not disable
- for TARGET_MMX.
-
-2016-04-27 David Malcolm <dmalcolm@redhat.com>
-
- * df.h (DF_SCAN, DF_LR, DF_LIVE, DF_RD, DF_CHAIN, DF_WORD_LR,
- DF_NOTE, DF_MD, DF_MIR, DF_LAST_PROBLEM_PLUS1): Convert from
- #define to...
- (enum df_problem_id): ...this new enum.
- (struct df_problem): Convert field "id" from "int" to
- enum df_problem_id.
-
-2016-04-27 David Malcolm <dmalcolm@redhat.com>
-
- * rtl.def: Update comment for "things in the instruction chain" to
- reflect the removal of the leading "i" field for INSN_UID in
- r210360. Fix bogus apostrophe.
-
-2016-04-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md
- (lea arith with mem operand + setcc peephole2): Set operator mode.
-
-2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/70155
- * config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ...
- (dimode_scalar_to_vector_candidate_p): This.
- (timode_scalar_to_vector_candidate_p): New function.
- (scalar_to_vector_candidate_p): Likewise.
- (timode_check_non_convertible_regs): Likewise.
- (timode_remove_non_convertible_regs): Likewise.
- (remove_non_convertible_regs): Likewise.
- (remove_non_convertible_regs): Renamed to ...
- (dimode_remove_non_convertible_regs): This.
- (scalar_chain::~scalar_chain): Make it virtual.
- (scalar_chain::compute_convert_gain): Make it pure virtual.
- (scalar_chain::mark_dual_mode_def): Likewise.
- (scalar_chain::convert_insn): Likewise.
- (scalar_chain::convert_registers): Likewise.
- (scalar_chain::add_to_queue): Make it protected.
- (scalar_chain::emit_conversion_insns): Likewise.
- (scalar_chain::replace_with_subreg): Likewise.
- (scalar_chain::replace_with_subreg_in_insn): Likewise.
- (scalar_chain::convert_op): Likewise.
- (scalar_chain::convert_reg): Likewise.
- (scalar_chain::make_vector_copies): Likewise.
- (scalar_chain::convert_registers): New pure virtual function.
- (class dimode_scalar_chain): New class.
- (class timode_scalar_chain): Likewise.
- (scalar_chain::mark_dual_mode_def): Renamed to ...
- (dimode_scalar_chain::mark_dual_mode_def): This.
- (timode_scalar_chain::mark_dual_mode_def): New function.
- (timode_scalar_chain::convert_insn): Likewise.
- (dimode_scalar_chain::convert_registers): Likewise.
- (scalar_chain::compute_convert_gain): Renamed to ...
- (dimode_scalar_chain::compute_convert_gain): This.
- (scalar_chain::replace_with_subreg): Renamed to ...
- (dimode_scalar_chain::replace_with_subreg): This.
- (scalar_chain::replace_with_subreg_in_insn): Renamed to ...
- (dimode_scalar_chain::replace_with_subreg_in_insn): This.
- (scalar_chain::make_vector_copies): Renamed to ...
- (dimode_scalar_chain::make_vector_copies): This.
- (scalar_chain::convert_reg): Renamed to ...
- (dimode_scalar_chain::convert_reg ): This.
- (scalar_chain::convert_op): Renamed to ...
- (dimode_scalar_chain::convert_op): This.
- (scalar_chain::convert_insn): Renamed to ...
- (dimode_scalar_chain::convert_insn): This.
- (scalar_chain::convert): Call convert_registers.
- (convert_scalars_to_vector): Change to scalar_chain pointer to
- use timode_scalar_chain in 64-bit mode and dimode_scalar_chain
- in 32-bit mode. Delete scalar_chain pointer. Call
- free_dominance_info in 64-bit mode.
- (pass_stv::gate): Remove TARGET_64BIT check.
- (ix86_option_override): Put the 64-bit STV pass before the CSE
- pass.
-
-2016-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.h (struct dw_loc_descr_node): Remove the
- dw_loc_frame_offset field.
- * dwarf2out.c (new_loc_descr): Likewise.
- (resolve_args_picking_1): Turn the VISITED hash set into a
- FRAME_OFFSET hash map. Use it to associate a frame offset to
- visited nodes. Remove uses of the CHECKING_P macro.
- (resolve_args_picking): Update call to resolve_args_picking_1.
-
-2016-04-27 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
- (free_loop_data): Release vuses of groups.
-
-2016-04-27 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use
- instead of redundant use_id and boolean have_use_for.
- (struct iv_use): Change sub_id into group_id. Remove field next.
- Move fields: related_cands, n_map_members, cost_map and selected
- to ...
- (struct iv_group): ... here. New structure.
- (struct iv_common_cand): Use structure declaration directly.
- (struct ivopts_data, iv_ca, iv_ca_delta): Rename fields.
- (MAX_CONSIDERED_USES): Rename macro to ...
- (MAX_CONSIDERED_GROUPS): ... here.
- (n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete.
- (dump_iv, dump_use, dump_cand): Refactor format of dump information.
- (dump_uses): Rename to ...
- (dump_groups): ... here. Update all uses.
- (tree_ssa_iv_optimize_init, alloc_iv): Update all uses.
- (find_induction_variables): Refactor format of dump information.
- (record_sub_use): Delete.
- (record_use): Update all uses.
- (record_group): New function.
- (record_group_use, find_interesting_uses_op): Call above functions.
- Update all uses.
- (find_interesting_uses_cond): Ditto.
- (group_compare_offset): New function.
- (split_all_small_groups): Rename to ...
- (split_small_address_groups_p): ... here. Update all uses.
- (split_address_groups): Update all uses.
- (find_interesting_uses): Refactor format of dump information.
- (add_candidate_1): Update all uses. Remove redundant check on iv,
- base and step.
- (add_candidate, record_common_cand): Remove redundant assert.
- (add_iv_candidate_for_biv): Update use.
- (add_iv_candidate_derived_from_uses): Update all uses.
- (add_iv_candidate_for_groups, record_important_candidates): Ditto.
- (alloc_use_cost_map): Ditto.
- (set_use_iv_cost, get_use_iv_cost): Rename to ...
- (set_group_iv_cost, get_group_iv_cost): ... here. Update all uses.
- (determine_use_iv_cost_generic): Ditto.
- (determine_group_iv_cost_generic): Ditto.
- (determine_use_iv_cost_address): Ditto.
- (determine_group_iv_cost_address): Ditto.
- (determine_use_iv_cost_condition): Ditto.
- (determine_group_iv_cost_cond): Ditto.
- (determine_use_iv_cost): Ditto.
- (determine_group_iv_cost): Ditto.
- (set_autoinc_for_original_candidates): Update all uses.
- (find_iv_candidates): Update all uses. Refactor dump information.
- (determine_use_iv_costs): Ditto.
- (determine_iv_costs): Ditto.
- (iv_ca_cand_for_use): Rename to ...
- (iv_ca_cand_for_group): ... here. Update all uses.
- (iv_ca_add_use, iv_ca_add_group): Ditto.
- (iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses.
- (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto.
- (iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto.
- (iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto.
- (try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto.
- (create_new_iv, adjust_iv_update_pos): Ditto.
- (rewrite_use_address): Delete.
- (rewrite_use_address_1): Rename to ...
- (rewrite_use_address): ... here.
- (rewrite_use_compare): Update all uses.
- (rewrite_use): Delete.
- (rewrite_uses): Rename to ...
- (rewrite_groups): ... here. Update all uses.
- (remove_unused_ivs, free_loop_data): Update all uses.
- (tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto.
-
-2016-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * rtlanal.c (nonzero_bits1): Convert preprocessor check
- for WORD_REGISTER_OPERATIONS to runtime check.
-
-2016-04-27 Richard Biener <rguenther@suse.de>
-
- PR ipa/70760
- * tree-ssa-structalias.c (find_func_aliases_for_call): Use
- aggregate_value_p to determine if a function result is
- returned by reference.
- (ipa_pta_execute): Functions having their address taken are
- not automatically nonlocal.
-
-2016-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/70683
- * tree-core.h (enum operand_equal_flag): Add OEP_NO_HASH_CHECK.
- * fold-const.c (operand_equal_p): If flag_checking and
- OEP_NO_HASH_CHECK is not set in flag, recurse with OEP_NO_HASH_CHECK
- and if it returns non-zero, assert iterative_hash_expr on both
- args is the same.
-
-2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
-
- * doc/invoke.texi (-frename-registers): Also enabled at -Os.
-
-2016-04-27 Nick Clifton <nickc@redhat.com>
-
- PR middle-end/49889
- * varasm.c (merge_weak): Generate an error if an attempt is made
- to convert a non-weak static function into a weak, public function.
-
-2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * params.def (MAX_PARTITION_SIZE): New param.
- * doc/invoke.texi: Document lto-max-partition.
-
-2016-04-27 Richard Biener <rguenther@suse.de>
-
- PR ipa/70785
- * tree-ssa-structalias.c (refered_from_nonlocal_fn): New
- function cummulating used_from_other_partition, externally_visible
- and force_output from aliases.
- (refered_from_nonlocal_var): Likewise.
- (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
- node flags properly.
-
-2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
-
- * doc/invoke.texi (Warning Options): Add -Wmemset-elt-size.
- (-Wmemset-elt-size): New item.
-
-2016-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/70759
- * stor-layout.h (internal_reference_types): Delete.
- * stor-layout.c (reference_types_internal): Likewise.
- (internal_reference_types): Likewise.
- (layout_type) <REFERENCE_TYPE>: Adjust.
-
-2016-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/70683
- * tree.h (inchash::add_expr): Add FLAGS argument.
- * tree.c (inchash::add_expr): Likewise. If not OEP_ADDRESS_OF,
- use STRIP_NOPS first. For INTEGER_CST assert not OEP_ADDRESS_OF.
- For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same.
- Formatting fix. Adjust recursive calls. For tcc_comparison,
- if swap_tree_comparison (code) is smaller than code, hash that
- and arguments in the other order. Hash CONVERT_EXPR the same
- as NOP_EXPR. For OEP_ADDRESS_OF hash MEM_REF with 0 offset
- of ADDR_EXPR of decl as the decl itself. Add or remove
- OEP_ADDRESS_OF from recursive flags as needed. For
- FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two
- operands commutatively and only the third one normally.
- For internal CALL_EXPR hash in CALL_EXPR_IFN.
-
-2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rtems.h (LIB_SPEC): Add -latomic.
-
-2016-04-27 Joel Sherrill <joel@rtems.org>
-
- * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
- xilink.ld and flags not relevant to RTEMS.
-
-2016-04-26 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
-
- * toplev.c (backend_init_target): Avoid calling init_reload when using
- LRA.
-
-2016-04-26 Jakub Jelinek <jakub@redhat.com>
-
- * reorg.c (try_merge_delay_insns): Declare i and j inside the
- for loops rather than one for the whole function.
-
-2016-04-26 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (X + CST CMP X): New transformation.
-
-2016-04-26 Marc Glisse <marc.glisse@inria.fr>
-
- * genmatch.c (write_predicate): Add ATTRIBUTE_UNUSED.
- * fold-const.c (fold_binary_loc): Remove 2 transformations
- superseded by match.pd.
- * match.pd (x+x -> x*2): Generalize to integers.
-
-2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
-
- * config/i386/i386.md (operation on memory peephole): Duplicate an
- existing peephole and adapt it to match lea rather than an operation
- that clobbers CC.
-
- PR rtl-optimization/57193
- * opts.c (default_options_table): Add OPT_frename_registers at -O2
- and above.
- * doc/invoke.texi (-frename-registers, -O2): Update documentation.
-
-2016-04-26 Bin Cheng <bin.cheng@arm.com>
-
- * tree-if-conv.c (any_pred_load_store): New static variable.
- (if_convertible_gimple_assign_stmt_p): Remove parameter. Use
- any_pred_load_store instead of and_mask_load_store.
- (if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
- (if_convertible_loop_p, insert_gimplified_predicates): Ditto.
- (combine_blocks, tree_if_conversion): Ditto.
-
-2016-04-26 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/70771
- PR tree-optimization/70775
- * tree-if-conv.c (if_convertible_phi_p): Remove check on special
- virtual PHI nodes. Delete parameter.
- (if_convertible_loop_p_1): Delete argument to above function.
- (predicate_all_scalar_phis): Delete code handling single-argument
- PHIs.
- (tree_if_conversion): Mark and update virtual SSA.
-
-2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/61821
- * config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
- (x86_elf_aligned_common): Rename to ...
- (x86_elf_aligned_decl_common): ... this.
- Add decl arg. Switch to .lbss for largecomm object. Use
- LARGECOMM_SECTION_ASM_OP.
- * config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
- renaming.
- * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
- Pass new decl arg.
- * config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- [!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
-
-2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/59407
- * config/i386/i386.c (SECTION_LARGE): Define.
- (x86_64_elf_select_section): Set it for large data/bss sections.
- Only clear SECTION_WRITE for .lrodata.
- (x86_64_elf_section_type_flags): Set SECTION_LARGE for large
- data/bss sections.
- * config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
- * varasm.c (default_elf_asm_named_section): Grow flagchars.
- [MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
- SECTION_MACH_DEP.
- * doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
- * doc/tm.texi: Regenerate.
-
-2016-04-26 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/70704
- * configure.ac (--enable-checking): Document extra flag, for
- non-release builds default to --enable-checking=yes,extra.
- If misc checking and extra checking, define CHECKING_P to 2 instead
- of 1.
- * common.opt (fchecking=): Add.
- * doc/invoke.texi (-fchecking=): Document.
- * doc/install.texi: Document --enable-checking changes.
- * configure: Regenerated.
- * config.in: Regenerated.
-
-2016-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movxi_internal_avx512f): Use insn type
- attribute instead of which_alternative.
- * config/i386/sse.md (*mov<mode>_internal): Ditto.
- Use EXT_REX_SSE_REG_P where appropriate.
-
-2016-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (const0_operand): Do not match
- const_wide_int code.
- (const1_operand): Ditto.
-
-2016-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
- for SSE constm1 operands and TARGET_AVX512VL.
- (*movti_internal): Ditto.
- (*mov<mode>_or): Use constm1_operand predicate.
- * config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
- for SSE vector_all_ones operands and TARGET_AVX512VL.
- * config/i386/predicates.md (constm1_operand): New predicate.
- * config/i386/i386.c (standard_sse_constant_opcode): Simplify
- emission of constant -1 load.
-
-2016-04-25 Jason Merrill <jason@redhat.com>
-
- * gdbinit.in: Skip is-a.h.
-
- * attribs.c (register_scoped_attributes): Fix logic.
- * attribs.h: Declare register_scoped_attributes.
-
-2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def: Correct pasto error for
- stxvd2x and stxvw4x built-in functions.
-
-2016-04-25 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
- (ashrhi3): Likewise.
- (lshrhi3): Likewise.
-
-2016-04-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70780
- * tree-ssa-pre.c (compute_antic_aux): Also return true if the block
- wasn't visited yet.
- (compute_antic): Mark blocks with abnormal preds as visited as
- they have a final empty antic-in solution already.
-
-2016-04-25 Michael Collison <michael.collison@linaro.org>
-
- * ChangeLog(2016-04-25): Fix ChangeLog formatting.
-
-2016-04-25 Michael Collison <michael.collison@linaro.org>
-
- * config/arm/neon.md (widen_<us>sum<mode>): New patterns where
- mode is VQI to improve mixed mode vectorization.
- * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
- define_insn to match low half of signed vaddw.
- * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
- define_insn to match high half of signed vaddw.
- * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
- define_insn to match low half of unsigned vaddw.
- * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
- define_insn to match high half of unsigned vaddw.
- * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
- (arm_simd_check_vect_par_cnst_half_p): Likewise.
- * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
- for new function.
- (arm_simd_check_vect_par_cnst_half_p): Likewise.
- * config/arm/predicates.md (vect_par_constant_high): Support
- big endian and simplify by calling
- arm_simd_check_vect_par_cnst_half
- (vect_par_constant_low): Likewise.
-
-2016-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
- predicate for operand 2.
-
-2016-04-24 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386-protos.h (standard_sse_constant_p): Add
- machine_mode argument.
- * config/i386/i386.c (standard_sse_constant_p): Return 2 for
- constm1_rtx operands. For VOIDmode constants, get mode from
- pred_mode. Check mode size if the mode is supported by ABI.
- (standard_sse_constant_opcode): Do not use standard_constant_p.
- Strictly check ABI support for all-ones operands.
- (ix86_legitimate_constant_p): Handle TImode, OImode and XImode
- immediates. Update calls to standard_sse_constant_p.
- (ix86_expand_vector_move): Update calls to standard_sse_constant_p.
- (ix86_rtx_costs): Ditto.
- * config/i386/i386.md (*movxi_internal_avx512f): Use
- nonimmediate_or_sse_const_operand instead of vector_move_operand.
- Use (v,BC) alternative instead of (v,C). Use register_operand
- checks instead of MEM_P.
- (*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
- of vector_move_operand. Add (v,BC) alternative and corresponding avx2
- isa attribute. Use register_operand checks instead of MEM_P.
- (*movti_internal): Use nonimmediate_or_sse_const_operand for
- TARGET_SSE. Improve TARGET_SSE insn constraint. Add (v,BC)
- alternative and corresponding sse2 isa attribute.
- (*movtf_internal, *movdf_internal, *movsf_interal): Update calls
- to standard_sse_constant_p.
- (FP constant splitters): Ditto.
- * config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
- (C): Ditto.
- * config/i386/predicates.md (constm1_operand): Remove.
- (nonimmediate_or_sse_const_operand): Rewrite using RTX.
- * config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
- vector_all_ones_operand instead of constm1_operand.
-
-2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * print-rtl.c (print_rtx_insn_vec): New function.
- * print-rtl.h: New prototype.
- * store-motion.c (struct st_expr): Make avail_stores a vector.
- (st_expr_entry): Adjust.
- (free_st_expr_entry): Likewise.
- (print_store_motion_mems): Likewise.
- (find_moveable_store): Likewise.
- (compute_store_table): Likewise.
- (delete_store): Likewise.
- (build_store_vectors): Likewise.
-
-2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (try_merge_delay_insns): Make merged_insns a vector.
-
-2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * vec.h (vec_safe_contains): New function.
- (vec::contains): Likewise.
- (vec::begin): Likewise.
- (vec::end): Likewise.
-
-2016-04-23 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/70712
- * cfgexpand.c (expand_stack_vars): Fix typo.
-
-2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * system.h (list, map, set, vector): Include conditionally.
- * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
- * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
- * ipa-icf.c (INCLUDE_LIST): Define.
- * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
- * config/sh/sh.c (INCLUDE_VECTOR): Define.
- * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
- (INCLUDE_LIST, INCLUDE_VECTOR): Define.
- * cp/logic.cc (INCLUDE_LIST): Define.
- * fortran/trans-common.c (INCLUDE_MAP): Define.
-
-2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * auto-profile.c: Remove <string.h> include.
- * ipa-icf-gimple.c: Remove <list> include.
- * diagnostic.c: Remove <new> include.
- * genmatch.c: Likewise.
- * pretty-print.c: Likewise.
- * toplev.c: Likewise
- * c/c-objc-common.c: Likewise.
- * cp/error.c: Likewise.
- * fortran/error.c: Likewise.
-
-2016-04-22 Richard Biener <rguenther@suse.de>
-
- * lto-streamer-in.c (input_ssa_names): Do not allocate
- GIMPLE_NOP for all SSA names.
- * lto-streamer-out.c (output_ssa_names): Do not output
- SSA names that should have been released.
-
-2016-04-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70740
- * tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
- VDEF.
-
-2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/70750
- * config/i386/predicates.md (call_insn_operand): Replace
- sibcall_memory_operand with memory_operand.
-
-2016-04-21 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-vrp.c (register_edge_assert_for_2): Remove redundant
- has_single_use() tests.
- (register_edge_assert_for_1): Likewise.
- (find_assert_locations_1): Check the liveness bitmap instead of
- checking has_single_use().
-
-2016-04-21 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70728
- * config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
- Extract AVX-512BW constraint from AVX.
-
-2016-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70725
- * tree-if-conv.c (if_convertible_phi_p): Adjust guard
- for phi_convertible_by_degenerating_args.
- (predicate_all_scalar_phis): Handle single-argument PHIs.
-
-2016-04-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70747
- * fold-const.c (fold_comparison): Return properly typed
- constant boolean.
-
-2016-04-21 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/70715
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
- after expanding BASE using expand_simple_operations.
-
-2016-04-21 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
- New transformations.
-
-2016-04-21 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (min(int_max, x), max(int_min, x)): New transformations.
-
-2016-04-20 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (can_inline_edge_p): Pass caller info to
- ultiimate_alias_target.
- (update_callee_keys): Likewise.
- (lookup_recursive_calls): Likewise.
- (speculation_useful_p): Likewise.
-
-2016-04-20 Jan Hubicka <jh@suse.cz>
-
- PR ipa/70018
- * cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
- (set_nothrow_flag_1): ... this; handle interposition correctly;
- recurse on aliases and thunks.
- (cgraph_node::set_nothrow_flag): New.
- * ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
- functions compiled with non-call exceptions that binds to current
- def.
- (propagate_nothrow): Be safe WRT interposition.
- * cgraph.h (set_nothrow_flag): Update prototype.
-
-2016-04-18 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
- max_loop_iterations_int.
- (tree_unswitch_outer_loop): Likewise.
-
-2016-04-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69489
- * tree-if-conv.c (phi_convertible_by_degenerating_args): New.
- (if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
- Revise dump message.
- (if_convertible_bb_p): Remove check on edge count of basic block's
- predecessors.
-
-2016-04-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/56625
- PR tree-optimization/69489
- * tree-data-ref.h (DR_INNERMOST): New macro.
- * tree-if-conv.c (innermost_loop_behavior_hash): New class for
- hashing struct innermost_loop_behavior.
- (ref_DR_map): Remove.
- (innermost_DR_map): New map.
- (baseref_DR_map): Revise comment.
- (hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
- to innermost_DR_map accroding to its innermost loop behavior.
- (ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
- to its innermost loop behavior.
- (if_convertible_loop_p_1): Remove intialization for ref_DR_map.
- Add initialization for innermost_DR_map. Record memory reference
- in DR_BASE_ADDRESS if the reference is compound one or it doesn't
- have innermost loop behavior.
- (if_convertible_loop_p): Remove release for ref_DR_map. Release
- innermost_DR_map.
-
-2016-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*lea<mode>_general_1): Rename from
- *lea_general_1. Use explicit SWI12 mode interator.
- (*lea<mode>_general_2): Rename from *lea_general_2.
- Use explicit SWI12 mode interator.
- (*lea<mode>_general_3): Rename from *lea_general_3.
- Use explicit SWI12 mode interator.
- (*lea<SWI12:mode>_general_4): Split from *lea_general_4.
- Use explicit SWI12 mode interator.
- (*lea<SWI48:mode>_general_4): Split from *lea_general_4.
- Use explicit SWI48 mode interator.
-
-2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
- Short-cut unaligned load and store cases. Handle all integer
- vector modes.
- (ix86_expand_vector_move_misalign): Short-cut unaligned load
- and store cases. Call ix86_avx256_split_vector_move_misalign
- directly without checking mode class.
-
-2016-04-20 Andrew Pinski <apinski@cavium.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64971
- * config/aarch64/aarch64.md (sibcall): Force call
- address to be DImode for ILP32.
- (sibcall_value): Likewise.
-
-2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
-
-2016-04-20 Richard Biener <rguenther@suse.de>
-
- * gimple-match.h (maybe_build_generic_op): Adjust prototype.
- * gimple-match-head.c (maybe_build_generic_op): Pass all ops
- by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
- (maybe_push_res_to_seq): Adjust.
- * gimple-fold.c (maybe_build_generic_op): Likewise.
-
-2016-04-20 Marek Polacek <polacek@redhat.com>
-
- * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
- rather than true.
-
-2016-04-20 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/sse.md (vec_unpacks_lo_hi): Always
- use kmovw to support AVX512F target.
-
-2016-04-20 Bin Cheng <bin.cheng@arm.com>
-
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
-
-2016-04-20 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/70725
- * tree-if-conv.c (is_false_predicate): New function.
- (predicate_mem_writes): Use it.
-
-2016-04-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70726
- * tree-vect-stmts.c (vectorizable_shift): Do not use scalar
- shift amounts from a pattern stmt operand.
-
-2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/70674
- * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
- stack_restore_from_fpr pattern when restoring r15.
- (s390_optimize_prologue): Strip away the memory barrier in the
- parallel when trying to get rid of restore insns.
- * config/s390/s390.md ("stack_restore_from_fpr"): New insn
- definition for loading the stack pointer from an FPR. Compared to
- the normal move insn this pattern includes a full memory barrier.
-
-2016-04-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70680
- * gimplify.c (gimplify_omp_for): Call omp_notice_variable for
- implicitly linear or lastprivate iterator on the outer context.
-
-2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_legitimate_combined_insn): Remove
- alignment check.
- * config/i386/i386.md (ssememalign): Removed.
- * config/i386/sse.md: Remove ssememalign attribute from patterns.
-
-2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/69201
- * config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
- const short * to __builtin_ia32_loaddquhi512_mask.
- (_mm512_maskz_loadu_epi16): Likewise.
- (_mm512_mask_storeu_epi16): Pass short * to
- __builtin_ia32_storedquhi512_mask.
- (_mm512_mask_loadu_epi8): Pass const char * to
- __builtin_ia32_loaddquqi512_mask.
- (_mm512_maskz_loadu_epi8): Likewise.
- (_mm512_mask_storeu_epi8): Pass char * to
- __builtin_ia32_storedquqi512_mask.
- * config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
- const double * to __builtin_ia32_loadupd512_mask.
- (_mm512_mask_loadu_pd): Likewise.
- (_mm512_maskz_loadu_pd): Likewise.
- (_mm512_storeu_pd): Pass double * to
- __builtin_ia32_storeupd512_mask.
- (_mm512_mask_storeu_pd): Likewise.
- (_mm512_loadu_ps): Pass const float * to
- __builtin_ia32_loadups512_mask.
- (_mm512_mask_loadu_ps): Likewise.
- (_mm512_maskz_loadu_ps): Likewise.
- (_mm512_storeu_ps): Pass float * to
- __builtin_ia32_storeups512_mask.
- (_mm512_mask_storeu_ps): Likewise.
- (_mm512_mask_loadu_epi64): Pass const long long * to
- __builtin_ia32_loaddqudi512_mask.
- (_mm512_maskz_loadu_epi64): Likewise.
- (_mm512_mask_storeu_epi64): Pass long long *
- to __builtin_ia32_storedqudi512_mask.
- (_mm512_loadu_si512): Pass const int * to
- __builtin_ia32_loaddqusi512_mask.
- (_mm512_mask_loadu_epi32): Likewise.
- (_mm512_maskz_loadu_epi32): Likewise.
- (_mm512_storeu_si512): Pass int * to
- __builtin_ia32_storedqusi512_mask.
- (_mm512_mask_storeu_epi32): Likewise.
- * config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
- char * to __builtin_ia32_storedquqi256_mask.
- (_mm_mask_storeu_epi8): Likewise.
- (_mm256_mask_loadu_epi16): Pass const short * to
- __builtin_ia32_loaddquhi256_mask.
- (_mm256_maskz_loadu_epi16): Likewise.
- (_mm_mask_loadu_epi16): Pass const short * to
- __builtin_ia32_loaddquhi128_mask.
- (_mm_maskz_loadu_epi16): Likewise.
- (_mm256_mask_loadu_epi8): Pass const char * to
- __builtin_ia32_loaddquqi256_mask.
- (_mm256_maskz_loadu_epi8): Likewise.
- (_mm_mask_loadu_epi8): Pass const char * to
- __builtin_ia32_loaddquqi128_mask.
- (_mm_maskz_loadu_epi8): Likewise.
- (_mm256_mask_storeu_epi16): Pass short * to.
- __builtin_ia32_storedquhi256_mask.
- (_mm_mask_storeu_epi16): Pass short * to.
- __builtin_ia32_storedquhi128_mask.
- * config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
- const double * to __builtin_ia32_loadupd256_mask.
- (_mm256_maskz_loadu_pd): Likewise.
- (_mm_mask_loadu_pd): Pass onst double * to
- __builtin_ia32_loadupd128_mask.
- (_mm_maskz_loadu_pd): Likewise.
- (_mm256_mask_storeu_pd): Pass double * to
- __builtin_ia32_storeupd256_mask.
- (_mm_mask_storeu_pd): Pass double * to
- __builtin_ia32_storeupd128_mask.
- (_mm256_mask_loadu_ps): Pass const float * to
- __builtin_ia32_loadups256_mask.
- (_mm256_maskz_loadu_ps): Likewise.
- (_mm_mask_loadu_ps): Pass const float * to
- __builtin_ia32_loadups128_mask.
- (_mm_maskz_loadu_ps): Likewise.
- (_mm256_mask_storeu_ps): Pass float * to
- __builtin_ia32_storeups256_mask.
- (_mm_mask_storeu_ps): ass float * to
- __builtin_ia32_storeups128_mask.
- (_mm256_mask_loadu_epi64): Pass const long long * to
- __builtin_ia32_loaddqudi256_mask.
- (_mm256_maskz_loadu_epi64): Likewise.
- (_mm_mask_loadu_epi64): Pass const long long * to
- __builtin_ia32_loaddqudi128_mask.
- (_mm_maskz_loadu_epi64): Likewise.
- (_mm256_mask_storeu_epi64): Pass long long * to
- __builtin_ia32_storedqudi256_mask.
- (_mm_mask_storeu_epi64): Pass long long * to
- __builtin_ia32_storedqudi128_mask.
- (_mm256_mask_loadu_epi32): Pass const int * to
- __builtin_ia32_loaddqusi256_mask.
- (_mm256_maskz_loadu_epi32): Likewise.
- (_mm_mask_loadu_epi32): Pass const int * to
- __builtin_ia32_loaddqusi128_mask.
- (_mm_maskz_loadu_epi32): Likewise.
- (_mm256_mask_storeu_epi32): Pass int * to
- __builtin_ia32_storedqusi256_mask.
- (_mm_mask_storeu_epi32): Pass int * to
- __builtin_ia32_storedqusi128_mask.
- * config/i386/i386-builtin-types.def (PCSHORT): New.
- (PINT64): Likewise.
- (V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
- (V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
- (V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
- (V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
- (V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
- (V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
- (V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
- (V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
- (V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
- (V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
- (V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
- (V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
- (V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
- (V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
- (V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
- (V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
- (V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
- (V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
- (VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
- (VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
- (VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
- (VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
- (VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
- (VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
- (VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
- (VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
- (VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
- (VOID_FTYPE_PINT_V16SI_UHI): Likewise.
- (VOID_FTYPE_PINT_V8SI_UHI): Likewise.
- (VOID_FTYPE_PINT_V4SI_UHI): Likewise.
- (VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
- (VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
- (VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
- (VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
- (VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
- (VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
- (V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
- (V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
- (V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
- (V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
- (V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
- (V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
- (VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
- (VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
- (VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
- (VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
- (VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
- (VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
- * config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
- use UNSPEC_STOREU.
- (ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
- (ix86_avx256_split_vector_move_misalign): Don't use unaligned
- load nor store.
- (ix86_expand_vector_move_misalign): Likewise.
- (bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
- to scalar function prototype for unaligned load/store builtins.
- (ix86_expand_special_args_builtin): Updated.
- * config/i386/sse.md (UNSPEC_LOADU): Removed.
- (UNSPEC_STOREU): Likewise.
- (VI_ULOADSTORE_BW_AVX512VL): Likewise.
- (VI_ULOADSTORE_F_AVX512VL): Likewise.
- (ssescalarsize): Handle V4TI, V2TI and V1TI.
- (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
- (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
- (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
- (<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
- (<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
- (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
- (sse2_avx_avx512f>_storedqu<mode>): Likewise.
- (<avx512>_storedqu<mode>_mask): Likewise.
- (*sse4_2_pcmpestr_unaligned): Likewise.
- (*sse4_2_pcmpistr_unaligned): Likewise.
- (*mov<mode>_internal): Renamed to ...
- (mov<mode>_internal): This. Remove check of AVX and IAMCU on
- misaligned operand. Replace vmovdqu64 with vmovdqu<ssescalarsize>.
- (movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
- (movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
-
-2016-04-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70171
- * tree-ssa-phiprop.c: Include stor-layout.h.
- (phiprop_insert_phi): Handle the aggregate copy case.
- (propagate_with_phi): Likewise.
-
-2016-04-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
- instead of simplify_gen_subreg (... , 0).
- (ix86_delegitimize_address): Ditto.
- (ix86_split_divmod): Ditto.
- (ix86_split_copysign_const): Ditto.
- (ix86_split_copysign_var): Ditto.
- (ix86_expand_args_builtin): Ditto.
- (ix86_expand_round_builtin): Ditto.
- (ix86_expand_special_args_builtin): Ditto.
- * config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
- (TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
- (udivmodqi4): Ditto.
- (absneg splitters): Ditto.
- (*jcc_bt<mode>_1): Ditto.
-
-2016-04-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70724
- * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
- restoring out from ...
- (free_scc_vn): ... here.
- * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
- * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
- tail merging.
- (pass_fre::execute): Restore SSA info.
-
-2016-04-19 Richard Biener <rguenther@suse.de>
-
- * gimple-walk.h (struct walk_stmt_info): Add stmt member.
- * gimple-walk.c (walk_gimple_op): Initialize it.
- (walk_gimple_asm): Set wi->is_lhs before each callback invocation.
- * tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
- remapping SSA names of defs.
- (copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
- adjustment.
-
-2016-04-18 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/70689
- * lra-constraints.c (equiv_substition_p): New.
- (process_alt_operands): Use it.
- (swap_operands): Swap it.
- (curr_insn_transform): Update it.
-
-2016-04-18 Michael Matz <matz@suse.de>
-
- * tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
- (SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
- * tree-core.h (tree_type_common.align): Use bit-field.
- (tree_type_common.spare): New.
- (tree_decl_common.off_align): Make smaller.
- (tree_decl_common.align): Use bit-field.
-
- * expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
- * omp-low.c (install_var_field): Use SET_DECL_ALIGN.
- (scan_sharing_clauses): Ditto.
- (finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
- (omp_finish_file): Ditto.
- * stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
- (layout_decl): Ditto.
- (relayout_decl): Ditto.
- (finalize_record_size): Use SET_TYPE_ALIGN.
- (finalize_type_size): Ditto.
- (finish_builtin_struct): Ditto.
- (layout_type): Ditto.
- (initialize_sizetypes): Ditto.
- * targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
- * tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
- (lookup_field_for_decl): Use SET_DECL_ALIGN.
- (get_chain_field): Ditto.
- (get_trampoline_type): Ditto.
- (get_nl_goto_field): Ditto.
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
- SET_DECL_ALIGN.
- (unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
- * gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
- * tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
- (build_qualified_type): Use SET_TYPE_ALIGN.
- (build_aligned_type, build_range_type_1): Ditto.
- (build_atomic_base): Ditto.
- (build_common_tree_nodes): Ditto.
- * cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
- (expand_one_stack_var_at): Ditto.
- * coverage.c (build_var): Use SET_DECL_ALIGN.
- * except.c (init_eh): Ditto.
- * function.c (assign_parm_setup_block): Ditto.
- * symtab.c (increase_alignment_1): Ditto.
- * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
- * tree-vect-stmts.c (ensure_base_align): Ditto.
- * varasm.c (align_variable): Ditto.
- (assemble_variable): Ditto.
- (build_constant_desc): Ditto.
- (output_constant_def_contents): Ditto.
-
- * config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
- * config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
- * config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
- * config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
- * config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
-
-2016-04-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/70708
- * config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
- replace %vmovsd with "%vmovq".
- (vec_concatv2df): Likewise.
-
-2016-04-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
- (*vec_extractv2si_0): Ditto.
- * config/i386/sse.md (*vec_extractv4sf_0): Ditto.
- (zero_extended_scalar_load_operand splitters): Ditto.
- (vec_extract splitters): Ditto.
- (*vec_extractv4si_0_zext): Ditto.
- (avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
- and lowpart_subreg.
- (avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
- (avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
- (*sse4_1_extractps): Use lowpart_subreg.
- * config/i386/i386.md (x87 floatsplitter): Use gen_lowpart.
-
-2016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
- gld requirements.
- (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
- Mention Solaris 11 packaging changes.
- Update gas and gld requirements.
- Remove reference to pre-Solaris 10 bug.
- (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
- systems and bugs.
- (Specific, sparc64-*-solaris2*): Remove reference to bootstrap
- with cc.
-
-2016-04-17 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
- max_loop_iterations_int.
-
-2016-04-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/43434
- * tree-ssa-structalias.c (struct vls_data): New.
- (visit_loadstore): Handle all pointer-based accesses.
- (compute_dependence_clique): Compute a bitmap of restrict tags
- assigned bases and pass it to visit_loadstore.
-
-2016-04-18 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/70711
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
- armv8.1-a and armv8.1-a+crc.
-
-2016-04-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70701
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
- references after translating through a memcpy.
-
-2016-04-18 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (postorder, postorder_num): Make locals ...
- (compute_antic): ... here. For partial antic use regular
- postorder and scrap iteration.
- (compute_partial_antic_aux): Remove unused return value.
- (init_pre): Do not allocate postorder.
- (fini_pre): Do not free postorder.
-
-2016-04-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/37870
- * expmed.c (extract_bit_field_1): Remove broken case
- using a wider MODE_INT mode.
-
-2016-04-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * has-brig.c (lendian16): Don't try to use __builtin_bswap16
- unless compiling with at least GCC-4.8.
-
-2016-04-17 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/70706
- * graphite.c (graphite_finalize): Update call to
- tree_estimate_probability.
- * predict.h (tree_estimate_probability): Update prototype.
-
-2016-04-17 Jan Hubicka <jh@suse.cz>
-
- * predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
- (tree_estimate_probability): Likewise.
- (pass_profile::execute): Update.
- (report_predictor_hitrates): New function.
- * profile.c (compute_branch_probabilities): Use it.
- * predict.h (report_predictor_hitrates): Declare.
-
-2016-04-17 Jan Hubicka <jh@suse.cz>
-
- PR ipa/70018
- * cgraph.h (cgraph_node::set_const_flag,
- cgraph_node::set_pure_flag): Update prototype to return bool;
- update comment.
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
- of interposable symbol are interposable, too.
- (cgraph_set_const_flag_1): Rename to ...
- (set_const_flag_1): ... this one; change to self recursive function
- instead of call_for_symbol_thunks_and_aliases. Handle correctly
- clearnig the flag in all variants and also virtual thunks of const
- functions are pure; track if any change was done.
- (cgraph_node::set_const_flag): Update.
- (struct set_pure_flag_info): New struct.
- (cgraph_set_pure_flag_1): Rename to ...
- (set_pure_flag_1): ... this one; take set_pure_flag_info parameter
- rather than pointer encoded flags; track if any changes was done;
- handle correctly clearning flag and setting flag of aliases already
- declared const.
- (cgraph_node::set_pure_flag): Update.
- (cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR other/70433
- * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
- backslash in label.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
- '{}<> ' as escape-for-record.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
- structure.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR other/70185
- * tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
- * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
- * dumpfile.c (dump_files): Initialize graph_dump_initialized field.
- * passes.c (finish_optimization_passes): Only call
- finish_graph_dump_file if dfi->graph_dump_initialized.
- (execute_function_dump, pass_init_dump_file): Use
- dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/70256
- * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
- (debug_varmap): New function.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR other/70183
- * passes.c (pass_manager::register_pass): Propagate pflags.
-
-2016-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR other/68875
- * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
- * passes.c (pass_manager::pass_manager): Declare and init p_start in
- INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and
- check if it's equal to p_start.
- * passes.def: Add arguments to TERMINATE_PASS_LISTs.
-
-2016-04-15 Jan Hubicka <jh@suse.cz>
-
- PR ipa/70018
- * cgraph.c (cgraph_set_const_flag_1): Only set as pure if
- function does not bind to current def.
- * ipa-pure-const.c (worse_state): Add FROM and TO parameters;
- handle conservatively calls to functions that does not need to bind
- to current def.
- (check_call): Update call of worse_state.
- (ignore_edge_for_nothrow): Update.
- (ignore_edge_for_pure_const): Likewise.
- (propagate_pure_const): Update calls to worse_state.
- (skip_function_for_local_pure_const): Reformat comments.
-
-2016-04-15 Jan Hubicka <jh@suse.cz>
-
- PR ipa/70018
- * cgraph.c (cgraph_node::get_availability): Add REF parameter.
- (cgraph_node::function_symbol): Likewise.
- (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
- * cgraph.h (symtab_node::get_availabbility): Add REF parameter.
- (symtab_node::ultimate_alias_target): Add REF parameter.
- (symtab_node::binds_to_current_def_p): Declare.
- (symtab_node;:ultimate_alias_target_1): Add REF parameter.
- (cgraph_node::function_symbol): Likewise.
- (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
- (cgraph_node::get_availability): Likewise.
- (cgraph_edge::binds_to_current_def_p): New inline function.
- (varpool_node::get_availability): Add REF parameter.
- (varpool_node::ultimate_alias_target): Likewise.
- * symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
- (symtab_node::binds_to_current_def_p): Likewise.
- * varpool.c (varpool_node::get_availability): Likewise.
-
-2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70662
- * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
- Fix mode size check.
-
-2016-04-15 Jakub Jelinek <jakub@redhat.com>
-
- * BASE-VER: Set to 7.0.0.
-
-2016-04-15 Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
-
-2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
- architecture revisions.
-
-2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
-
- * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
- * config/i386/i386.c (ix86_using_red_zone): No longer static.
- * config/i386/i386.md (stack decrement to push peepholes): Guard
- with !x86_using_red_zone ().
-
-2016-04-15 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70675
- * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
- to dump_generic_node.
- (NIY): Pass also flags to do_niy.
-
-2016-04-15 Thomas Schwinge <thomas@codesourcery.com>
-
- * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
- (simd_clone_vector_of_formal_parm_types)
- (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
- (simd_clone_mangle, simd_clone_create)
- (simd_clone_adjust_return_type, create_tmp_simd_array)
- (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
- (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
- (ipa_simd_modify_function_body, simd_clone_linear_addend)
- (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
- (pass_data_omp_simd_clone, class pass_omp_simd_clone)
- (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
- * omp-simd-clone.c: ... this new file.
- (simd_clone_vector_of_formal_parm_types): Make it static.
- * Makefile.in (OBJS): Add omp-simd-clone.o.
-
-2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70662
- * config/i386/sse.md: Use proper memory operand modifiers.
-
-
-2016-04-15 Richard Biener <rguenther@suse.de>
- Alan Modra <amodra@gmail.com>
-
- PR tree-optimization/70130
- * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
- when alignment stays not the same and no not use the realign
- scheme then.
-
-2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70669
- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
- direct move handlers for KFmode. Change TFmode handlers test from
- FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
-
-2016-04-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70594
- * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
- * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
- (inlined_polymorphic_ctor_dtor_block_p): Use it.
- * tree-ssa-live.c (remove_unused_scope_block_p): When
- in_ctor_dtor_block, avoid discarding not just BLOCKs with
- BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
- block_ultimate_origin is FUNCTION_DECL.
- (remove_unused_locals): If current_function_decl is
- polymorphic_ctor_dtor_p, pass initial true to
- remove_unused_scope_block_p' is_ctor_dtor_block.
-
-2016-04-14 Martin Sebor <msebor@redhat.com>
-
- PR c++/69517
- PR c++/70019
- PR c++/70588
- * doc/extend.texi (Variable Length): Revert.
-
-2016-04-14 Marek Polacek <polacek@redhat.com>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR c++/70029
- * tree.c (verify_type): Disable the canonical type of main variant
- check.
-
-2016-04-14 Jason Merrill <jason@redhat.com>
-
- * cfgexpand.c, expr.c: Revert previous change.
-
-2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
-
- PR middle-end/70643
- * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
- when building a mem ref for the incoming reduction variable.
-
-2016-04-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70614
- * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
- loop if the evolution dropped to chrec_dont_know.
- (interpret_condition_phi): Likewise.
-
-2016-04-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70623
- * tree-ssa-pre.c (changed_blocks): Make global ...
- (compute_antic): ... local here. Move and fix worklist
- handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
- (compute_antic_aux): Add dumping for MAX assumed succs. Remove
- worklist handling, dump when ANTIC_IN changed.
- (compute_partial_antic_aux): Remove worklist handling.
- (init_pre): Do not compute post dominators. Add a comment about
- the CFG order chosen.
- (fini_pre): Do not free post dominators.
-
-2016-04-13 Martin Sebor <msebor@redhat.com>
-
- PR c++/69517
- PR c++/70019
- PR c++/70588
- * doc/extend.texi (Variable Length): Document C++ specifics.
-
-2016-04-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70641
- * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
- on all recursive call stmts. Return TODO_cleanup_cfg if any dead
- eh edges have been purged.
-
- PR c++/70594
- * tree-sra.c (create_access_replacement,
- get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
- gets fancy name.
- * tree-pretty-print.c (dump_fancy_name): New function.
- (dump_decl_name, dump_generic_node): Use it.
-
-2016-04-13 Jason Merrill <jason@redhat.com>
-
- * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
- * expr.c (expand_expr_real_1): Likewise.
-
-2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/i386.md (kunpckhi): Swap operands.
- (kunpcksi): Likewise.
- (kunpckdi): Likewise.
- * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
- (vec_pack_trunc_<mode>): Likewise.
-
-2016-04-13 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/70628
- * explow.c (convert_memory_address_addr_space_1): Formatting fix.
-
- PR middle-end/70633
- * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
- gimplification turns some element into non-constant.
-
- PR debug/70628
- * rtl.h (convert_memory_address_addr_space_1): New prototype.
- * explow.c (convert_memory_address_addr_space_1): No longer static,
- add NO_EMIT argument and don't call convert_modes if true, pass
- it down recursively, remove break after return.
- (convert_memory_address_addr_space): Adjust caller.
- * simplify-rtx.c (simplify_unary_operation_1): Call
- convert_memory_address_addr_space_1 instead of convert_memory_address,
- if it returns NULL, don't simplify.
-
-2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/70630
- * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
-
-2016-04-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
- Bump the upper SIMDLEN limits, so that if the return type or
- characteristic type if the return type is void can be passed in
- all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
- allowed.
-
-2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70640
- * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
- Do not use "=" constraint on an input constraint.
- (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
- (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
- (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
- generates (neg (abs ...)) instead of (abs ...).
-
-2016-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70596
- * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
- just invalidate LRA data and reset them. Adjust dump wording.
-
-2016-04-12 Martin Liska <mliska@suse.cz>
-
- Revert
- 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
- estimates here.
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
- max_loop_iterations_int.
- (tree_unswitch_outer_loop): Likewise.
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
- * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
-
-2016-04-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68756
- * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
- instead of new_name.
-
-2016-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70602
- * tree-sra.c (generate_subtree_copies): Don't write anything into
- constant pool decls.
-
- * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
- regardless whether there are depend clauses or not.
-
-2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70381
- * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
- target attribute and pragma from changing the -mfloat128
- and -mfloat128-hardware options.
-
- * doc/extend.texi (Additional Floating Types): Document PowerPC
- __float128 restrictions.
-
-2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR target/70133
- * config/aarch64/driver-aarch64.c
- (aarch64_get_extension_string_for_isa_flags): New.
- (arch_extension): Rename to...
- (aarch64_arch_extension): ...This.
- (ext_to_feat_string): Rename to...
- (aarch64_extensions): ...This.
- (aarch64_core_data): Keep track of architecture extension flags.
- (cpu_data): Rename to...
- (aarch64_cpu_data): ...This.
- (aarch64_arch_driver_info): Keep track of architecture extension
- flags.
- (get_arch_name_from_id): Rename to...
- (get_arch_from_id): ...This, change return type.
- (host_detect_local_cpu): Update and reformat for renames, handle
- extensions through common infrastructure.
-
-2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR target/70133
- * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
- track of a canonical flag name.
- (all_extensions): Likewise.
- (arch_to_arch_name): Also track extension flags enabled by the arch.
- (all_architectures): Likewise.
- (aarch64_parse_extension): Move to here.
- (aarch64_get_extension_string_for_isa_flags): Take a new argument,
- rework.
- (aarch64_rewrite_selected_cpu): Update for above change.
- * config/aarch64/aarch64-option-extensions.def: Rework the way flags
- are handled, such that the single explicit value enabled by an
- extension is kept seperate from the implicit values it also enables.
- * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
- to here.
- (aarch64_parse_extension): New.
- * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
- here to config/aarch64/aarch64-protos.h.
- (aarch64_parse_extension): Move from here to
- common/config/aarch64/aarch64-common.c.
- (aarch64_option_print): Update.
- (aarch64_declare_function_name): Likewise.
- (aarch64_start_file): Likewise.
- * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
- the canonical flag for extensions.
- * config.gcc (aarch64*-*-*): Extend regex for capturing extension
- flags.
-
-2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
- AARCH64_FL_CRC.
-
-2016-04-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68953
- * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
- first to last subscript.
-
-2016-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70586
- * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
- for any calls.
-
-2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
-
- PR lto/70289
- PR ipa/70348
- PR tree-optimization/70373
- PR middle-end/70533
- PR middle-end/70534
- PR middle-end/70535
- * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
- clauses for acc parallel reductions as necessary. Error on those
- that are private.
- * omp-low.c (scan_sharing_clauses): Don't install variables which
- are used in acc parallel reductions.
- (lower_rec_input_clauses): Remove dead code.
- (lower_oacc_reductions): Add support for reference reductions.
- (lower_reduction_clauses): Remove dead code.
- (lower_omp_target): Don't remap variables appearing in acc parallel
- reductions.
- * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
-
-2016-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70593
- * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
- with multiple SSA_NAME defs, force the outputs other than first
- to be live before calling live_track_process_def on each output.
-
- PR rtl-optimization/70574
- * fwprop.c (forward_propagate_and_simplify): Don't add
- REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
- (try_fwprop_subst): Don't add REG_EQUAL note if there are any
- paradoxical subregs within *loc.
-
-2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
- -ftree-parallelize-loops={0,1}.
- * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
- * config/ia64/hpux.h (LIB_SPEC): Likewise.
- * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
- * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
-
-2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- PR sanitizer/70541
- * asan.c (instrument_derefs): If we get unknown location, extract it
- with EXPR_LOCATION.
- (maybe_instrument_call): Instrument gimple_call's arguments if needed.
-
-2016-04-08 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
- implicit firstprivate clause.
-
-2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70566
- * config/arm/thumb2.md (tst + branch-> lsls + branch
- peephole below *orsi_not_shiftsi_si): Require that condition
- register is dead after the peephole.
- (second peephole after the above): Likewise.
-
-2016-04-08 Alan Modra <amodra@gmail.com>
-
- PR target/70117
- * builtins.c (fold_builtin_classify): For IBM extended precision,
- look at just the high-order double to test for NaN.
- (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
- test just the high double for Inf but both doubles for subnormal
- limit.
-
-2016-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
- * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
- node->simdclone->mask_mode != VOIDmode masks.
- (simd_clone_adjust_argument_types): Likewise. Move sc var definition
- earlier, use it instead of node->simdclone.
- * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
- Set clonei->mask_mode.
-
-2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c/70436
- * parser.c (cp_parser_iteration_statement): New parameter IF_P.
- Pass it through to cp_parser_already_scoped_statement.
- (cp_parser_already_scoped_statement): New parameter IF_P. Pass
- it through to cp_parser_statement.
- (cp_parser_statement): Pass IF_P through to
- cp_parser_iteration_statement.
- (cp_parser_pragma): Adjust call to
- cp_parser_iteration_statement.
-
-2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c/70436
- * gimplify.c (gimplify_omp_ordered): Add explicit braces to
- resolve a future -Wparentheses warning.
- * omp-low.c (scan_sharing_clauses): Likewise.
- * tree-parloops.c (eliminate_local_variables): Likewise.
-
-2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/70398
- * lra-constraints.c (process_address_1): Check zero scale and code
- for reloading with zero scale.
-
-2016-04-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
- (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
-
-2016-04-06 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
- Add support for AVX512F clones, include them by default for
- exported OpenMP declare simd functions. For AVX2 allow simdlen 32
- and use it if charasteric type is 8-bit, for AVX512F allow simdlen
- up to 128.
-
- PR middle-end/70550
- * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
- * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
- firstprivate clauses.
- * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
- OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
- (lower_omp_target): Set TREE_NO_WARNING for
- non-addressable possibly uninitialized vars which are copied into
- addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
-
-2016-04-05 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/predicates.md (integer_store_memory_operand): Accept
- REG+D operands with a large offset when reload_in_progress is true.
- (floating_point_store_memory_operand): Likewise.
-
-2016-04-05 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70336
- * match.pd (nested int casts): Limit to GIMPLE.
-
-2016-04-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66223
- * ipa-devirt.c (maybe_record_node): Fix comment; use
- SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
-
-2016-04-05 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70542
- * ree.c (add_removable_extension): For VECTOR_MODE_P punt
- if there are any uses other than insn or debug insns.
-
-2016-04-05 Marc Glisse <marc.glisse@inria.fr>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70509
- * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
- Shift HOST_WIDE_INT_1U instead of 1.
-
-2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
-
- PR tree-optimization/70509
- * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
- of the vector base type for index.
-
-2016-04-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70510
- * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
-
-2016-04-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70526
- * tree-sra.c (build_ref_for_offset): Use prev_base to
- extract the alias pointer type.
-
-2016-04-05 Richard Biener <rguenther@suse.de>
-
- * dse.c (struct store_info): Remove alias_set member.
- (struct read_info_type): Likewise.
- (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
- spill_deleted, clear_alias_set_lookup): Remove.
- (get_group_info): Remove dead base == NULL_RTX case.
- (dse_step0): Remove initialization of removed variables.
- (delete_dead_store_insn): Reomve alias set dumping.
- (free_read_records): Remove alias_set handling.
- (canon_address): Remove alias_set_out parameter.
- (record_store): Remove spill_alias_set, it's always zero.
- (check_mem_read_rtx): Likewise.
- (dse_step2): Rename from ...
- (dse_step2_nospill): ... this. Adjust.
- (scan_stores): Rename from ...
- (scan_stores_nospill): ... this.
- (scan_reads): Rename from ...
- (scan_reads_nospill): ... this.
- (scan_stores_spill, scan_reads_spill): Remove.
- (dse_step3_scan): Remove for_spills argument which is always false.
- (dse_step3): Likewise.
- (dse_step5): Rename from ...
- (dse_step5_nospill): ... this. Remove alias_set handling.
- (rest_of_handle_dse): Adjust.
-
-2016-04-05 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70525
- * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
- Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
- V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
- (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
-
-2016-04-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70499
- * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
- non-register type temporaries into SSA.
-
-2016-04-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66223
- * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
- calls when sanitizing.
- (possible_polymorphic_call_target_p): Fix formatting.
-
-2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70457
- * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
- to ensure a call statement is compatible with a built-in's
- prototype.
- * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
- Likewise.
-
-2016-04-04 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/70484
- * rtl.h (canon_output_dependence): Declare.
- * alias.c (canon_output_dependence): New function.
- * dse.c (record_store): Use canon_output_dependence rather
- than canon_true_dependence.
-
-2016-03-30 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68881
- * cgraph.h (symtab_node::copy_visibility_from): New function.
- * symtab.c (symtab_node::copy_visibility_from): New function.
- * ipa-visibility.c (optimize_weakref): New function.
- (function_and_variable_visibility): Use it.
-
-2016-04-04 Martin Liska <mliska@suse.cz>
-
- PR hsa/70402
- * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
- value that is really in range handled by SBR instruction.
- * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
- * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
- * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
-
-2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/70416
- PR target/67391
- * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
- set, but not for SP_REG operands.
-
-2016-04-02 Martin Sebor <msebor@redhat.com>
-
- PR c++/67376
- * fold-const.c (maybe_nonzero_address): New function.
- (fold_comparison): Call it. Fold equality and relational
- expressions involving null pointers.
- (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
-
-2016-03-31 Evandro Menezes <e.menezes@samsung.com>
-
- Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
- the "Y" constraint (scalar FP 0.0 immediate).
-
- * config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
- Add the "const_double" to the list of operand constraints.
-
-2016-04-01 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70467
- * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
- If low word of the last operand is 0, just emit addition/subtraction
- for the high word.
-
-2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/70404
- * config/s390/s390.c (s390_expand_insv): Check for everything
- constant instead of just VOIDmode stuff.
-
-2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/70496
- * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
-
-2016-04-01 Nathan Sidwell <nathan@acm.org>
-
- * tree.def (TRY_CATCH_EXPR): Correct documentation.
-
-2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/70461
- * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
- is necessary.
-
-2016-03-31 Martin Liska <mliska@suse.cz>
-
- PR hsa/70399
- * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
- a tree value or an immediate integer value to a buffer
- that is eventually copied to a BRIG section.
- (emit_immediate_operand): Call the function here.
- * hsa-dump.c (dump_hsa_immed): Remove checking assert.
- * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
- of class' fields that are removed.
- (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
- * hsa.h (class hsa_op_immed): Remove m_brig_repr and
- m_brig_repr_size fields.
-
-2016-03-31 Martin Liska <mliska@suse.cz>
-
- PR hsa/70391
- * hsa-gen.c (hsa_function_representation::update_dominance): New
- function.
- (convert_addr_to_flat_segment): Likewise.
- (gen_hsa_memory_set): New alignment argument.
- (gen_hsa_ctor_assignment): Likewise.
- (gen_hsa_insns_for_single_assignment): Provide alignment
- to gen_hsa_ctor_assignment.
- (gen_hsa_insns_for_direct_call): Add new argument.
- (expand_lhs_of_string_op): New function.
- (expand_string_operation_builtin): Likewise.
- (expand_memory_copy): New function.
- (expand_memory_set): New function.
- (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
- (convert_switch_statements): Change signature.
- (generate_hsa): Use a return value of the function.
- (pass_gen_hsail::execute): Do not call
- convert_switch_statements here.
- * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
- * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
- (hsa_function_representation::update_dominance): New function.
-
-2016-03-31 Martin Liska <mliska@suse.cz>
-
- PR hsa/70391
- * hsa-brig.c (emit_directive_variable): Emit alignment
- according to hsa_symbol::m_align.
- * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
- (dump_hsa_symbol): Dump alignment of HSA symbols.
- * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
- (gen_hsa_addr_with_align): New function.
- (hsa_bitmemref_alignment): Use newly added function.
- (gen_hsa_insns_for_load): Likewise.
- (gen_hsa_insns_for_store): Likewise.
- (gen_hsa_memory_copy): New argument added.
- (gen_hsa_insns_for_single_assignment): Respect
- alignment for assignments processed via gen_hsa_memory_copy.
- (gen_hsa_insns_for_direct_call): Likewise.
- (gen_hsa_insns_for_return): Likewise.
- (gen_function_def_parameters): Set default alignment.
- * hsa.c (hsa_object_alignment): New function.
- (hsa_byte_alignment): Pasted function.
- * hsa.h (hsa_symbol::m_align): New field.
-
-2016-03-31 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
- scratch field for goto case.
-
-2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
-
-2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/70442
- * config/i386/i386.c (scalar_chain::convert_op): Fix description.
- (scalar_chain::convert_insn): Call convert_op for reg
- moves to handle undefined registers.
-
-2016-03-31 Nathan Sidwell <nathan@acm.org>
-
- PR c++/70393
- * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
- Assert we don't want to move backwards.
-
-2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70453
- * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
-
-2016-03-31 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70460
- * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
- with operand from REG_LABEL_OPERAND, instead substitute
- SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
- Don't do anything for REG_NON_LOCAL_GOTO jumps.
-
-2016-03-31 Martin Liska <mliska@suse.cz>
-
- * passes.c (execute_one_pass): Do not call
- todo_after for a discarded function.
-
-2016-03-31 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
- (no_cost, infinite_cost): Initialize the new field.
- (get_computation_cost_at): Record setup cost.
- (determine_use_iv_cost_address): Skip cost computation for sub
- uses if we can estimate it without losing accuracy.
-
-2016-03-30 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
- estimates here.
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
- max_loop_iterations_int.
- (tree_unswitch_outer_loop): Likewise.
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
- * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
-
-2016-03-30 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70450
- * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
-
-2016-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70421
- * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
- in gen_blendm expander.
-
-2016-03-30 Nick Clifton <nickc@redhat.com>
-
- PR target/62254
- * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
- case where we are already provided with an SImode SUBREG.
-
-2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/70439
- * config/i386/i386.c (ix86_expand_epilogue): Properly check
- conflict between DRAP register and __builtin_eh_return.
-
-2016-03-30 Michael Matz <matz@suse.de>
- Richard Biener <rguenther@suse.de>
-
- PR ipa/12392
- * ipa-polymorphic-call.c (struct type_change_info): Change
- speculative to an unsigned allowing to limit the work we do.
- (csftc_abort_walking_p): New inline function..
- (check_stmt_for_type_change): Limit the number of may-defs
- skipped for speculative devirtualization to
- max-speculative-devirt-maydefs.
- * params.def (max-speculative-devirt-maydefs): New param.
- * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
-
-2016-03-30 Mike Stump <mrs@gcc.gnu.org>
-
- PR target/63890
- * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
- and TARGET_MACHO.
-
-2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR tree-optimization/59124
- * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
- where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
-
-2016-03-29 Jeff Law <law@redhat.com>
-
- * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
- to HOST_WIDE_INT.
-
-2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
- * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
- gcrt0.o if linking dynamically.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/70283
- * ipa-devirt.c (methods_equal_p): New function.
- (compare_virtual_tables): Use it.
- * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
- * cgraphclones.c (clone_function_name_1): Use
- symbol_table::symbol_suffix_separator.
- * coverage.c (build_var): Likewise.
- * symtab.c (symbol_table::symbol_suffix_separator): New.
-
-2016-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70429
- * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
- (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
- mode != result_mode.
-
- PR c++/70353
- * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
-
- PR tree-optimization/70405
- * ssa-iterators.h (num_imm_uses): Add missing braces.
-
-2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68695
- * ira-color.c (allocno_copy_cost_saving): New.
- (improve_allocation): Use it.
-
-2016-03-29 Richard Henderson <rth@redhat.com>
-
- PR middle-end/70355
- * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
-
-2016-03-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70424
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
- use alignment returned by get_pointer_alignment_1 if it is
- bigger than BITS_PER_UNIT.
- * builtins.c (get_pointer_alignment_1): Do not return true
- for alignment extracted from SSA info.
-
-2016-03-28 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.opt (mnodiv): New.
- * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
- * doc/invoke.texi (FT32 Options -mnodiv): New.
-
-2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70406
- * config/i386/i386.md (define_split, andn): Fix modes.
-
-2016-03-26 Richard Biener <rguenther@suse.de>
- Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR ipa/70366
- * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
- instead of
- TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
- as 2nd argument to cl_optimization_restore().
-
-2016-03-25 Richard Henderson <rth@redhat.com>
-
- PR target/70120
- * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
- * config/aarch64/aarch64-protos.h: Declare it.
- * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
-
-2016-03-25 Alan Modra <amodra@gmail.com>
-
- PR target/70052
- * config/rs6000/constraints.md (j): Simplify.
- * config/rs6000/predicates.md (easy_fp_constant): Exclude
- decimal float 0.D.
- * config/rs6000/rs6000.md (zero_fp): New mode_attr.
- (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
- mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
- in all constraint alternatives.
- (movtd_64bit_nodm): Delete "j" constraint alternative.
-
-2016-03-24 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-propagate.c: Enhance docs for
- SSA_PROP_NOT_INTERESTING.
-
-2016-03-24 Aldy Hernandez <aldyh@redhat.com>
-
- * doc/extend.texi: Fix typo in documentation to pure attribute.
-
-2016-03-24 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/70319
- * config/pa/pa.md (bswapdi2): Use a scratch register.
-
-2016-03-24 Richard Henderson <rth@redhat.com>
-
- PR middle-end/69845
- * fold-const.c (extract_muldiv_1): Correct test for multiplication
- overflow.
-
-2016-03-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
- using ix86_expand_binary_operator instead of gen_andsi3.
-
-2016-03-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70396
- * tree-vect-stmts.c (vectorizable_comparison): Use
- get_vectype_for_scalar_type.
-
-2016-03-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70370
- * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
- with register bases.
-
-2016-03-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70372
- * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
- build_all_ones_cst to also handle vector types correctly.
-
-2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70381
- * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
- -mfloat128 here.
-
-2016-03-23 Marek Polacek <polacek@redhat.com>
-
- PR c++/69884
- * doc/invoke.texi: Document -Wignored-attributes.
-
-2016-03-23 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69042
- * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
- parameter from 30 to 40.
-
-2016-03-23 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/69042
- * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
- for use with constant offset stripped in base.
-
-2016-03-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70251
- * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
- mode compatibility check.
- (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64058
- * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
- CONFLICT_COUNT.
- (struct ssa_conflicts): Move up earlier in the file.
- (conflicts_, var_map_): New static variables.
- (initialize_conflict_count): New function to initialize the
- CONFLICT_COUNT field for each conflict pair.
- (compare_pairs): Lazily initialize the conflict count and use it
- as the first tie-breaker.
- (sort_coalesce_list): Add new arguments conflicts, map. Initialize
- and wipe conflicts_ and map_ around the call to qsort. Remove
- special case for 2 coalesce pairs.
- * bitmap.c (bitmap_count_unique_bits): New function.
- (bitmap_count_bits_in_word): New function, extracted from
- bitmap_count_bits.
- (bitmap_count_bits): Use bitmap_count_bits_in_word.
- * bitmap.h (bitmap_count_unique_bits): Declare it.
-
-2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/69917
- * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
- transparent alias chain for decl assembler name.
- * config/sol2.c (solaris_assemble_visibility): Likewise.
-
-2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm1020e.md (1020call_op): Reduce reservation
- duration.
- (v10_fdivs): Likewise.
- (v10_fdivd): Likewise.
-
-2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR driver/70132
- * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
- to not call fclose twice on file.
-
-2016-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70354
- * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
- oprnd0 is wider than oprnd1 and there is a cast from the wider
- type to oprnd1, mask it with the mask of the narrower type.
-
- PR target/70321
- * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
- Optimize TARGET_STV splitters, if high or low word of last argument
- is 0 or -1.
-
-2016-03-22 Jeff Law <law@redhat.com>
-
- PR target/70232
- tree-ssa-threadbackward.c
- (fsm_find_control_statement_thread_paths): Correctly distinguish
- between old style jump threads vs FSM jump threads.
-
-2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/70302
- * config/i386/i386.c (scalar_chain::convert_op): Support
- uninitialized register usage case.
-
-2016-03-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70251
- * genmatch.c (gen_transform): Adjust last parameter to a three-state
- int...
- (capture::gen_transform): ... to change behavior when substituting
- a condition into cond or not-cond expr context.
- (dt_simplify::gen_1): Adjust.
- * gimple-match-head.c: Include gimplify.h for unshare_expr.
- * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
- last change and instead change to
- A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
- (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-22 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
- issue for moxiebox targets.
- (CC1PLUS_SPEC): Ditto.
-
-2016-03-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70333
- * fold-const.c (extract_muldiv_1): Properly perform multiplication
- in the wide type.
-
-2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (def_builtin): Remove duplicated functionality.
-
-2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70325
- * config/i386/i386.c (def_builtin): Handle
- OPTION_MASK_ISA_AVX512VL to be and-ed with other
- bits.
- (const struct builtin_description bdesc_special_args[]):
- Remove duplicate ISA bits.
-
-2016-03-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70329
- * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
- d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
- in a way that works also for AVX512BW.
-
- PR target/70300
- * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
- instead of source if operands[1] is xmm16 and above and
- !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
- vec_interleave_lowv4sf if we need to unpack xmm16 and above.
-
- PR c++/70295
- * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
- on assign if (*from_p) is a comparison, set it to
- TREE_NO_WARNING (*from_p).
-
-2016-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70326
- * lra.c (restore_scratches): Ignore deleted insns.
-
-2016-03-21 Marc Glisse <marc.glisse@inria.fr>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70317
- * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
- to HONOR_NANS.
-
-2016-03-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70327
- * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
- of ix86_expand_move.
- (movoi): Ditto.
- (movti): Use general_operand for operand 1 predicate.
-
-2016-03-21 Martin Liska <mliska@suse.cz>
-
- * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
- insns.
- (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
-
-2016-03-21 Martin Liska <mliska@suse.cz>
-
- PR ipa/70306
- * ipa-icf.c (sem_function::parse): Skip static
- constructors and destructors.
-
-2016-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70296
- * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
- function-like macro, peek following token(s) if it is followed
- by CPP_OPEN_PAREN token with optional padding in between, and
- if not, don't treat it like a macro.
-
-2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
- Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
- for the stabs debug format.
-
-2016-03-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70310
- * tree-vect-generic.c (expand_vector_condition): Fold the built
- condition.
-
-2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/70293
- * config/i386/sse.md (define_insn "*vec_dup<mode>"/AVX2):
- Block third alternative for AVX-512VL target,
-
-2016-03-21 Martin Liska <mliska@suse.cz>
-
- PR hsa/70234
- * hsa-brig.c (emit_function_directives): Mark unemitted
- global variables for emission.
- * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
- (get_symbol_for_decl): Likewise.
- * hsa.h (struct hsa_symbol): New flag.
-
-2016-03-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70288
- * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
- we do not estimate unsimplified all-constant conditionals or
- switches as optimized away.
-
-2016-03-21 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/69102
- * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
- when we have a readonly dependency context.
-
-2016-03-18 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/70263
- * ira.c (memref_used_between_p): Assert we found END in the insn chain.
- (update_equiv_regs): When trying to move a store to after the insn
- that sets the source of the store, make sure the store occurs after
- the insn that sets the source of the store. When successful note
- the REG_EQUIV note created in the dump file.
-
-2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
- Bernd Schmidt <bschmidt@redhat.com>
-
- * doc/extend.texi: Document more potential problems with basic asms.
-
-2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/70278
- * lra-constraints.c (split_reg): Handle the case where biggest_mode is
- VOIDmode.
-
-2016-03-18 Jason Merrill <jason@redhat.com>
-
- * calls.c (load_register_parameters): Fix zero size sibcall logic.
-
-2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
- values to 128b regs.
-
-2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/70252
- * tree-vect-stmts.c (supportable_widening_operation): Check resulting
- boolean vector has a proper number of elements.
- (supportable_narrowing_operation): Likewise.
-
-2016-03-18 Tom de Vries <tom@codesourcery.com>
-
- PR ipa/70269
- * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
-
-2016-03-18 Jakub Jelinek <jakub@redhat.com>
-
- * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
- instead of replace_rtx for DEBUG_INSNs.
-
-2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
- load type reservations.
-
-2016-03-17 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/70188
- * config/pa/constraints.md: Revert 2015-02-13 change. Use
- define_constraint for "Q" and "T" constraints.
-
-2016-03-17 Evandro Menezes <e.menezes@samsung.com>
-
- Tweak the pipeline model for Exynos M1
-
- * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
- model.
-
-2016-03-17 David Malcolm <dmalcolm@redhat.com>
-
- PR c/70264
- * diagnostic-show-locus.c (compatible_locations_p): Handle the case
- where one or both locations aren't within a line_map.
-
-2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/70192
- * opts.c (finish_options): Don't set flag_pie to the default if
- -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
- if it is -1.
-
-2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
- true as ALL_REGS argument to replace_rtx.
-
-2016-03-17 Richard Biener <rguenther@suse.de>
-
- PR debug/70271
- * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
- last.
-
-2016-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70245
- * rtl.h (replace_rtx): Add ALL_REGS argument.
- * rtlanal.c (replace_rtx): Likewise. If true, use REGNO
- equality and assert mode is the same, instead of just rtx pointer
- equality.
- * config/i386/i386.md (mov + arithmetics with load peephole): Pass
- true as ALL_REGS argument to replace_rtx.
-
-2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
- for boolean vector with vector mode only.
- (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-17 Nick Clifton <nickc@redhat.com>
-
- PR target/70162
- * config/rx/rx.c (rx_print_integer): Print negative constants in
- decimal.
-
-2016-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70261
- * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
-
-2016-03-16 Richard Henderson <rth@redhat.com>
- Richard Biener <rguenth@suse.de>
-
- PR middle-end/70240
- PR middle-end/68215
- PR tree-opt/68714
- * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
- first operand as is_gimple_condexpr.
-
- PR middle-end/70240
- PR middle-end/68215
- Revert r231575
- 2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
- * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
- Do not gimplify the result.
- (do_unop): Adjust call to tree_vec_extract.
- (do_binop): Likewise.
- (do_compare): Likewise.
- (do_plus_minus): Likewise.
- (do_negate): Likewise.
- (expand_vector_condition): Likewise.
- (do_cond): Likewise.
-
-2016-03-16 Richard Henderson <rth@redhat.com>
-
- PR target/70048
- * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
- (aarch64_classify_address): Use it.
- (aarch64_legitimize_address): Force all subexpressions of PLUS
- into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
-
-2016-03-16 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenth@suse.de>
-
- PR target/70245
- * rtlanal.c (replace_rtx): For REG, if from is a REG,
- return to even if only REGNO is equal, and assert
- mode is the same.
-
-2016-03-11 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/70224
- * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
-
-2016-03-16 Richard Henderson <rth@redhat.com>
-
- PR middle-end/70199
- * function.h (struct function): Add has_forced_label_in_static.
- * gimplify.c (force_labels_r): Set it.
- * lto-streamer-in.c (input_struct_function_base): Read it.
- * lto-streamer-out.c (output_struct_function_base): Write it.
- * tree-inline.c (has_label_address_in_static_1): Remove.
- (copy_forbidden): Remove fndecl parameter; test
- has_forced_label_in_static.
- (inline_forbidden_p): Update call to copy_forbidden.
- (tree_versionable_function_p): Likewise.
- * ipa-chkp.c (chkp_instrumentable_p): Likewise.
- (chkp_versioning): Likewise.
- * tree-inline.h (copy_forbidden): Update decl.
-
-2016-03-16 Marek Polacek <polacek@redhat.com>
-
- PR c/70093
- * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
- function being thunked if the result type doesn't have fixed size.
- * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
- doesn't have fixed size.
-
-2016-03-16 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
- reporting malformed loop nest.
-
-2016-03-16 Tom de Vries <tom@codesourcery.com>
-
- PR lto/70187
- * ipa-devirt.c (possible_polymorphic_call_targets): Move
- nodes.length () == 1 test to before first nodes[0] access.
-
-2016-03-16 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68715
- * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
- single_pred_p test.
-
-2016-03-16 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68809
- * graphite-scop-detection.c (same_close_phi_node): Test if result types
- are the same.
-
-2016-03-16 Carlos O'Donell <carlos@redhat.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Common Function Attributes): Describe ifunc impact
- on leaf attribute. Mention ELF interposition problems.
-
-2016-03-16 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/69195
- PR rtl-optimization/47992
- * ira.c (indirect_jump_optimize): Ignore artificial defs.
- Add comments.
-
-2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/69513
- * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
-
-2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
-
-2016-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70222
- * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
- optimization if mode is different from result_mode, queue up masking
- of the result in outer_op. Formatting fix.
-
- PR middle-end/70239
- * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
- of safe_grow.
-
-2016-03-15 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/69032
- * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
- looping backwards over basic block insns.
-
-2016-03-15 Andrey Belevantsev <abel@ispras.ru>
-
- PR target/66660
- * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
- to non-speculative when propagating trap bits.
-
-2016-03-15 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/63384
- * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
- DEBUG_INSN_P insns.
-
-2016-03-15 Andrey Belevantsev <abel@ispras.ru>
-
- PR target/64411
- * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
- factored out from ...
- (sched_analyze_insn): ... here.
- * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
- * sel-sched-ir.c (setup_id_implicit_regs): New function, use
- get_implicit_reg_pending_clobbers in it.
- (setup_id_reg_sets): Use setup_id_implicit_regs.
- (deps_init_id): Ditto.
-
-2016-03-15 Tom de Vries <tom@codesourcery.com>
-
- PR ipa/70161
- * cgraph.c (cgraph_node::get_body): Save, reset and restore
- dump_file_name.
- * passes.c (execute_one_ipa_transform_pass): Add missing argument to
- execute_function_dump.
- (execute_one_pass): Don't dump function if it will be dumped after ipa
- transform.
-
-2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * genrecog.c (match_pattern_2): If pred is NULL don't call
- safe_predicate_mode on it.
-
-2016-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/70219
- * lra-constraints.c (delete_move_and_clobber): Change assertion
- to also allow dregno == 0.
-
-2016-03-14 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/68714
- * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
- (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
- (reassociate_bb): Use optimize_vec_cond_expr; avoid
- optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
- on vectors.
-
-2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/70083
- * lra-lives.c (process_bb_lives): Also update biggest mode for hard
- regs.
- (lra_create_live_ranges_1): initialize hard register biggest_mode to
- VOIDmode.
- * lra-constraints.c (split_reg): For hard regs, try to find the
- biggest single-register mode used in the function.
-
-2016-03-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56365
- * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
- constants to compare against.
-
-2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/70098
- * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
- *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
- (define_split for the GPR case): Use int_reg_operand instead of
- gpc_reg_operand for the output.
-
-2016-03-14 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/70045
- * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
- create_empty_if_region_on_edge argument.
-
-2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
- (STACK_CHECK_PROTECT): Likewise.
- * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
- (STACK_CHECK_PROTECT): Likewise.
- * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
- (STACK_CHECK_PROTECT): Likewise.
- * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
- * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
- (STACK_CHECK_PROTECT): Likewise.
-
-2016-03-12 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/69307
- * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
- registers in modes that span more than one register.
-
-2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/69614
- * lra-constraints.c (delete_move_and_clobber): New.
- (remove_inheritance_pseudos): Use it.
-
-2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/70017
- * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
- the libcall is LCT_THROW.
- * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
- for the checking routine.
-
-2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/70131
- * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
- optimization if we have direct move.
- (roundu32<mode>2_fprs): Likewise.
-
-2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/70123
- * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
- be rematerialized.
- (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
- Arguments swapped. All callers changed. Take reg_renumber into
- account, and Calculate and compare register ranges for hard regs.
-
-2016-03-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/70190
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Handle cases where we can not extract the taken edge, even though we
- found a constant value.
-
- PR tree-optimization/64058
- * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
- (num_coalesce_pairs): Move up earlier in file.
- (find_coalesce_pair): Initialize the INDEX field for each pair
- discovered.
- (compare_pairs): No longer sort on the elements in each pair.
- Instead break ties with the index of the coalesce pair.
-
-2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/70002
- * config/aarch64/aarch64-protos.h
- (aarch64_save_restore_target_globals): New prototype.
- * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
- Call the above when popping pragma.
- * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
- New function.
- (aarch64_set_current_function): Rewrite using the above.
-
-2016-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70177
- * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
- (extract_ops_from_tree): ... this. In the 2 argument
- overload remove _1 suffix.
- * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
- (extract_ops_from_tree): ... this.
- * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
- Adjust callers.
- * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
- * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
- extract_ops_from_tree instead of 2 operand one.
-
-2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/70013
- * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
- for constant-pool entries.
-
-2016-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/70174
- * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
- followed by gen_lowpart on force_reg instead of just gen_lowpart.
-
- PR tree-optimization/70169
- * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
- LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
- for unknown codes.
-
-2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/70160
- * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
- of uninitialized values.
-
-2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
- define_expand.
- ("*trunctddd2"): New pattern definition.
- ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
- TD->DD truncation.
-
-2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
- definitions for BFP and DFP rounding modes.
- ("fixuns_truncdddi2", "fixuns_trunctddi2")
- ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
- ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
- ("fix_trunctf<mode>2"): Use the new constants instead of magic
- numbers.
-
-2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md: Adjust comment.
- ("Y"): Adjust comment. Rename s390_decompose_shift_count to
- s390_decompose_addrstyle_without_index.
- * config/s390/predicates.md (shift_count_or_setmem_operand):
- Rename to setmem_operand.
- * config/s390/s390-protos.h
- (s390_decompose_shift_count): Rename to
- s390_decompose_addrstyle_without_index.
- * config/s390/s390.c (s390_decompose_shift_count)
- (s390_mem_constraint, print_shift_count_operand)
- (print_operand_address, print_operand): Rename
- s390_decompose_shift_count to
- s390_decompose_addrstyle_without_index and rename
- print_shift_count_operand to print_addrstyle_operand troughout the
- file.
- * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
- ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
- Rename shift_count_or_setmem_operand to setmem_operand.
- * config/s390/vx-builtins.md ("vec_insert<mode>")
- ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
- nonmemory_operand.
-
-2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR target/70168
- * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
- Handle overlapping retval and newval.
-
-2016-03-10 Nick Clifton <nickc@redhat.com>
-
- PR target/7044
- * config/aarch64/aarch64.c
- (aarch64_override_options_after_change_1): When forcing
- flag_omit_frame_pointer to be true, use a special value that can
- be detected if this function is called again, thus preventing
- flag_omit_leaf_frame_pointer from being forced to be false.
-
-2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
- Set x_flag_omit_leaf_frame_pointer when handling
- -momit-leaf-frame-pointer.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/69589
- * cgraph.c (cgraph_node::dump): Dump split_part and
- indirect_call_target.
- * cgraph.h (cgraph_node): Add indirect_call_target flag.
- * ipa.c (has_addr_references_p): Cleanup.
- (is_indirect_call_target_p): New.
- (walk_polymorphic_call_targets): Do not mark virtuals that may be
- called indirectly as local.
- (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/69630
- * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
- on cxa_pure_virtual.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/69589
- * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
-
-2016-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/69589
- * tree.c (need_assembler_name_p): Only record main variant type names.
-
-2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- PR target/70113.
- * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
- Always define to 0 or 1.
- (TARGET_FIX_ERR_A53_843419): New macro.
- * config/aarch64/aarch64-elf-raw.h
- (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
- * config/aarch64/aarch64-linux.h: Likewise.
- * config/aarch64/aarch64.c
- (aarch64_override_options_after_change_1): Do not default
- aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
- 843419 is on.
- (aarch64_attributes): Handle fix-cortex-a53-843419.
- (aarch64_can_inline_p): Likewise.
- * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
-
-2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
- * tree.c (array_at_struct_end_p): Do not limit to size of decl for
- DECL_COMMONS if flag_unconstrained_commons is set.
- * tree-dfa.c (get_ref_base_and_extent): Likewise.
- * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
- (funconstrained-commons): Document.
-
-2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
- aarch64-fusion-pairs.def and aarch64-tuning-flags.def
-
-2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
- has a proper number of elements.
-
-2016-03-10 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/69195
- PR rtl-optimization/47992
- * ira.c (recorded_label_ref): Delete.
- (update_equiv_regs): Return void.
- (indirect_jump_optimize): New function.
- (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
- before regstat_compute_ri. Don't rebuild_jump_labels here.
- Delete update_regstat.
-
-2016-03-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70128
- * tree-ssa-structalias.c (set_uids_in_ptset): Set
- vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
-
-2016-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70152
- * tree-sra.c (replace_removed_params_ssa_names): Copy over
- SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
-
- PR target/70086
- * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
- instead of gen_sse2_loadlpd.
- * config/i386/sse.md (*vec_concatv2df): Rename to...
- (vec_concatv2df): ... this.
-
- PR tree-optimization/70127
- * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
-
-2016-03-09 David Malcolm <dmalcolm@redhat.com>
-
- PR c/68473
- PR c++/70105
- * diagnostic-show-locus.c (compatible_locations_p): New function.
- (layout::layout): Sanitize ranges using compatible_locations_p.
-
-2016-03-09 David Malcolm <dmalcolm@redhat.com>
-
- PR c/68473
- PR c++/70105
- * diagnostic-show-locus.c (layout_range::layout_range): Replace
- location_range param with three const expanded_locations * and a
- bool.
- (layout::layout): Replace call to
- rich_location::lazily_expand_location with get_expanded_location.
- Extract the range and perform location expansion here, passing
- the results to the layout_range ctor.
- * diagnostic.c (source_range::debug): Delete.
- * diagnostic.h (diagnostic_expand_location): Reimplement in terms
- of rich_location::get_expanded_location.
- * gcc-rich-location.c (get_range_for_expr): Delete.
- (gcc_rich_location::add_expr): Reimplement to avoid the
- rich_location::add_range overload that took a location_range,
- passing a location_t instead.
-
-2016-03-09 Richard Biener <rguenther@suse.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/70138
- * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
- Also skip vect_double_reduction_def.
-
-2016-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70049
- * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
- if the operand is "m".
-
-2016-03-09 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
-
-2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (processor_target_table): Fix cost table
- intialization order for znver1.
-
-2016-03-08 Jakub Jelinek <jakub@redhat.com>
-
- * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
- - becuase -> because.
- * ipa-reference.c (ignore_module_statics): Likewise.
- * cgraph.c (cgraph_node::get_body): Likewise.
- * ipa-inline.c (early_inliner): Likewise.
- * ipa-devirt.c (types_same_for_odr): Likewise.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
- * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
-
-2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-ssa-math-opts.c: Fix typo in comment.
-
-2016-03-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70110
- * config/i386/i386.c (scalar_chain::make_vector_copies,
- scalar_chain::convert_reg): Call end_sequence in between
- get_insns and emit_conversion_insns rather than after both
- calls.
-
-2016-03-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70064
- * config/i386/i386.h (machine_function): Add
- pc_thunk_call_expanded flag.
- (ix86_pc_thunk_call_expanded): New define.
- * config/i386/i386.md (set_got, set_got_labelled): New expanders.
- (*set_got): Rename insn pattern from set_got.
- (*set_got_labelled): Rename inst pattern from set_got_labelled.
- * config/i386/i386.c (ix86_compute_frame_layout): Use
- ix86_pc_thunk_call_expanded to prevent red-zone.
-
-2016-03-07 Martin Jambor <mjambor@suse.cz>
-
- * hsa.h (hsa_get_ctor_statements): Declare.
- (hsa_get_dtor_statements): Likewise.
- (hsa_get_kernel_dispatch_type): Likewise.
- * hsa.c (hsa_get_ctor_statements): New function.
- (hsa_get_dtor_statements): Likewise.
- (hsa_get_kernel_dispatch_type): Likewise.
- * hsa-brig.c (hsa_cdtor_statements): Removed.
- (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
- hsa_get_dtor_statements.
- * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
- (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
-
-2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * config/arm/arm-cores.def (cortex-r8): New.
- * config/arm/arm-tables.opt (cortex-r8): Regenerate.
- * config/arm/arm-tune.md: Likewise.
- * doc/invoke.texi: Add cortex-r8 to list of cpu values.
-
-2016-03-07 Martin Sebor <msebor@redhat.com>
-
- PR rtl-optimization/19705
- * doc/invoke.texi (Options That Control Optimization): Clarify
- -fno-branch-count-reg.
-
-2016-02-26 Richard Biener <rguenther@suse.de>
- Jeff Law <law@redhat.com>
-
- PR tree-optimization/69740
- * cfghooks.c (remove_edge): Request loop fixups if we delete
- an edge that might turn an irreducible loop into a natural
- loop.
- * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
- Move after definition of loops_state_clear.
-
-2016-03-07 Bin Cheng <bin.cheng@arm.com>
-
- PR rtl-optimization/69052
- * rtlanal.c (commutative_operand_precedence): Set higher precedence
- to CONST_WIDE_INT.
-
-2016-03-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/70116
- * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
- is_tm_ending stmts and ubsan/asan internal functions.
- (find_duplicate): Use it. Don't test is_tm_ending here.
-
-2016-03-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/70115
- * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
- (propagate_constants_for_unrolling): Use replace_uses_by.
-
-2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
-
- PR middle-end/69916
- * omp-low.c (struct oacc_loop): Add ifns.
- (new_oacc_loop_raw): Initialize it.
- (finish_oacc_loop): Clear mask & flags if no ifns.
- (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
- (oacc_loop_xform_loop): Add ifns arg & adjust.
- (oacc_loop_process): Adjust oacc_loop_xform_loop call.
-
-2016-03-07 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/70061
- * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
- (insert_value_copy_on_edge): Likewise.
-
-2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm_neon.h: Show error if using with soft-float ABI.
-
-2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/62281
- * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
-
-2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (znver1_cost): Fix Multiply cost.
-
-2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- Fix sseimul type attribute.
- * config/i386/znver1.md
- (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
- znver1_sseimul_avx256_load) : Fix the type attribute.
- (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
- pipe usage and latency.
-
-2016-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/70084
- * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
- of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
- to the right type.
-
-2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
-
- PR c/69973
- * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
-
- PR rtl-optimization/69941
- * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
- the reg share its mode.
-
-2016-03-04 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69196
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- If the both SSA_NAMEs are anonymous, then consider them unassociated
- and include the PHI in the statement count.
-
-2016-03-05 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
- construct in oacc routine. Check for oacc region in oacc routine.
-
-2016-03-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70062
- * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
- 2016-02-22 changes, instead don't recurse if RECUR is already true.
- Don't change *dynamic_check if RECUR. Adjust recursive caller
- to pass true to the new argument.
- (ix86_expand_set_or_movmem): Adjust decide_alg caller.
-
- PR target/70059
- * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
- <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
- fixes.
- (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
-
-2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/57676
- * lra-assigns.c (lra_assign): Guard test for maximum iterations
- with flag_checking.
-
-2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-patterns.c (search_type_for_mask): Handle
- comparison of booleans.
-
-2016-03-04 Jakub Jelinek <jakub@redhat.com>
-
- * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
- Fix @xref usage.
-
- PR debug/69947
- * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
- all other ops that have dw_val_class_die_ref operands,
- and DW_OP_GNU_entry_value.
-
-2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/69904
- * config/arm/arm.c (arm_cannot_copy_insn_p):
- Return true for load-exclusive instructions.
-
-2016-03-03 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70021
- * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
- argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
- the pattern no matter if it is used just by non-pattern, pattern
- or mix thereof.
- (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
- * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
- oprnd1 def_stmt is in pattern, don't look through it.
-
-2016-03-03 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/70050
- * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
-
-2016-03-03 Martin Liska <mliska@suse.cz>
-
- PR tree-optimization/70043
- * tree-vect-loop.c (optimize_mask_stores): Move iterator to
- previous statement if we see a debug statement.
-
-2016-03-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55936
- * tree-vrp.c (compare_name_with_value): Add use_equiv_p
- parameter and guard unsafe equivalence use.
- (vrp_evaluate_conditional_warnv_with_ops): Always use
- safe equivalences but not via the quadratic compare_names
- helper.
-
-2016-03-03 Michael Collison <michael.collison@linaro.org>
-
- PR target/70014
- * config/arm/arm.md (*subsi3_carryin_const): Change predicate
- for operand 1 to s_register_operand. Change predicate for operand
- 2 to arm_not_immediate_operand.
-
-2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/tm.texi: Regenerated.
-
-2016-03-02 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/67145
- * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
- simplification when all args are positive non-fixed registers.
-
-2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- * target.def (lra_p): Specify that new ports should use LRA.
-
-2016-03-02 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/69555
- * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
- gimplify_type_sizes the type they refer to.
- (omp_notice_variable): Handle reference vars to VLAs.
- * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
- reference to VLA decls in the second pass instead of first pass.
-
-2016-03-02 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68659
- * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
- new_expr == NULL_TREE.
- (get_new_name): Handle ADDR_EXPR.
-
-2016-03-02 Bin Cheng <bin.cheng@arm.com>
-
- PR rtl-optimization/69052
- * loop-invariant.c (canonicalize_address): New function.
- (inv_can_prop_to_addr_use): Check validity of address expression
- which is canonicalized by above function.
-
-2016-03-02 Alan Modra <amodra@gmail.com>
-
- PR ipa/69990
- * ipa-icf.c (sem_variable::merge): Do not merge an alias with
- larger alignment.
-
-2016-03-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/70028
- * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
- (*movhi_internal): Put mask moves from and to memory separately
- from moves from/to GPRs.
-
-2016-03-02 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
- GENERIC expressions in GIMPLE.
-
-2016-03-02 Richard Biener <rguenther@suse.de>
-
- * config/i386/i386.c (type_natural_mode): Fix typo.
-
-2016-03-02 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
-
-2016-03-02 Richard Biener <rguenther@suse.de>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67278
- * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
-
-2016-03-02 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67278
- * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
-
-2016-03-02 Marek Polacek <polacek@redhat.com>
-
- PR c/67854
- * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
- "is promoted to" warning.
-
-2016-03-01 DJ Delorie <dj@redhat.com>
-
- * config.gcc: Deprecate mep-*.
-
-2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/70025
- * lra-constraints.c (regno_val_use_in): New.
- (match_reload): Use it instead of regno_use_in.
-
-2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/70007
- * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
- references present in REG_EQUAL notes attached to non-SET patterns.
-
-2016-03-01 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69196
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Appropriately clamp the number of statements to copy when the
- thread path does not traverse a loop backedge.
-
- PR tree-optimization/69196
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Do count some PHIs in the thread path against the insn count. Decrease
- final statement count by one as the control statement in the last
- block will get removed. Remove special cased code for handling PHIs
- in the last block.
-
-2016-03-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/70027
- * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
- asm dialect alternatives to explicit GOTPCREL calls.
-
-2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/70017
- * ira.c (do_reload): Issue warning for generic stack checking here...
- * reload1.c (reload): ...instead of here and streamline it.
-
-2016-03-01 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
-
-2016-03-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69983
- * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
- types and fall back to operand_equal_p.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- Revert
- 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md ("jm8"): New constraint.
- * config/s390/predicates.md ("const_int_8bitset_operand"): New
- predicate.
- * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
- into ...
- ("*setmem_long<setmem_and>"): New pattern.
- ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
- into ...
- ("*setmem_long_31z<setmem_and>"): New pattern.
- * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
- New substitution rules with the required attributes.
-
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- Revert
- 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gensupport.c (process_substs_on_one_elem): Split loop to
- complete mark_operands_used_in_match_dup on all expressions in the
- vector first.
- (adjust_operands_numbers): Inline into process_substs_on_one_elem
- and remove function.
-
-2016-03-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/70022
- * fold-const.c (fold_indirect_ref_1): Fix range checking for
- vector BIT_FIELD_REF extract.
-
-2016-03-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69994
- * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
-
-2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/69956
- * tree-vect-stmts.c (supportable_widening_operation): Support
- multi-step conversion of boolean vectors.
- (supportable_narrowing_operation): Likewise.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_decompose_address): Don't accept SImode
- anymore.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/subst.md (DSI_VI): New mode iterator.
- ("addr_style_op_subst"): Use DSI_VI instead of DSI.
- * config/s390/vector.md ("vec_set<mode>"): Move expander before
- the insn definition.
- ("*vec_set<mode>"): Change predicate and add alternative to
- support only either register or const_int operands as element
- selector.
- ("*vec_set<mode>_plus"): New pattern to support reg + const_int
- operands.
- ("vec_extract<mode>"): New expander.
- ("*vec_extract<mode>"): New insn definition supporting reg and
- const_int element selectors.
- ("*vec_extract<mode>_plus"): New insn definition supporting
- reg+const_int element selectors.
- ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
- following expander+insn definition.
- ("<vec_shifts_name><mode>3"): New expander.
- ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*tabort_1"): Change predicate to
- nonmemory_operand. Add a second alternative to cover
- register as well as const int operands.
- ("*tabort_1_plus"): New pattern definition.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("*ashrdi3_cc_31")
- ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
- ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
- Merge insn definitions into ...
- ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
- New pattern definition.
- ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
- ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
- ("*ashr<mode>3_and"): Merge insn definitions into ...
- ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
- New pattern definition.
- * config/s390/subst.md ("addr_style_op_cc_subst")
- ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
- substitutions patterns plus attributes.
- Add ashiftrt to SUBST iterator.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("<shift><mode>3"): Change predicate of
- op2 to nonmemory_operand.
- ("*<shift>di3_31", "*<shift>di3_31_and"):
- Merge into single pattern definition ...
- ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
- ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
- pattern definition ...
- ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
- * config/s390/subst.md: Add ashift and lshiftrt to SUBST
- iterator.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/predicates.md (const_int_6bitset_operand): New
- predicate.
- * config/s390/s390.md: Include subst.md.
- ("rotl<mode>3"): New expander.
- ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
- ...
- ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
- * config/s390/subst.md: New file.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("op_type", "atype", "length" attributes):
- Remove RRR type. It doesn't really exist.
- ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
- attributes.
- ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
- ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
- ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
- ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
- ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
- ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
- `enabled' attribute.
-
-2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gensupport.c (process_substs_on_one_elem): Split loop to
- complete mark_operands_used_in_match_dup on all expressions in the
- vector first.
- (adjust_operands_numbers): Inline into process_substs_on_one_elem
- and remove function.
-
-2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/69706
- * config/sparc/sparc.c (NWORDS_UP): Rename to...
- (CEIL_NWORDS): ...this. Use CEIL macro.
- (compute_fp_layout): Adjust to above renaming.
- (function_arg_union_value): Likewise.
- (sparc_arg_partial_bytes): Likewise.
- (sparc_function_arg_advance): Likewise.
-
-2016-02-29 Jeff Law <law@redhat.com>
-
- PR tree-optimization/70005
- * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
- where an object with a boolean range is compared against a value
- outside [0..1].
-
- PR tree-optimization/69999
- * gimple-ssa-split-paths.c (split_paths): When duplicating a block
- with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
- loop cleanups.
-
-2016-02-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69994
- * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
- (get_unary_op): Look through nop conversions.
- (ops_equal_values_p): New function, look for equality diregarding
- nop conversions.
- (eliminate_plus_minus_pair): Use ops_equal_values_p
- (repropagate_negates): Do not use get_unary_op here.
-
-2016-02-29 Martin Liska <mliska@suse.cz>
-
- * system.h: Poison ENABLE_CHECKING macro.
-
-2016-02-29 Martin Liska <mliska@suse.cz>
-
- * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
- is presented in dump flags.
- * hsa-regalloc.c (linear_scan_regalloc): Likewise.
- (hsa_regalloc): Likewise.
-
-2016-02-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69980
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
- permutation of those we need to keep.
-
-2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/69706
- * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
- (NWORDS_UP): ...this
- (init_cumulative_args): Minor tweaks.
- (sparc_promote_function_mode): Likewise.
- (scan_record_type): Delete.
- (traverse_record_type): New function template.
- (classify_data_t): New structure type.
- (classify_registers): New inline function.
- (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
- exhausted. Instantiate traverse_record_type on classify_registers and
- deal with the case of a structure passed in slot #15 with no FP field
- in the first word.
- (assign_data_t): New structure type.
- (compute_int_layout): New static function.
- (compute_fp_layout): Likewise.
- (count_registers): New inline function.
- (assign_int_registers): New static function.
- (assign_fp_registers): Likewise.
- (assign_registers): New inline function.
- (function_arg_record_value_1): Delete.
- (function_arg_record_value_2): Likewise.
- (function_arg_record_value_3): Likewise.
- (function_arg_record_value): Adjust to above changes. Instantiate
- traverse_record_type on count_registers to first count the number of
- registers to be used and then on assign_registers to assign them.
- (function_arg_union_value): Adjust to above renaming.
- (sparc_function_arg_1); Minor tweaks. Remove commented out code.
- (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
- case of a structure passed in slot #15
- (sparc_function_arg_advance): Likewise.
- (function_arg_padding): Minor tweak.
-
-2016-02-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69720
- * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
- the adjustment_def path for possibly vectorized defs.
- (vect_create_epilog_for_reduction): Handle vectorized initial
- defs properly.
-
-2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
-
-2016-02-27 Jeff Law <law@redhat.com>
-
- Revert
- 2016-02-26 Richard Biener <rguenther@suse.de>
- Jeff Law <law@redhat.com>
-
- PR tree-optimization/69740
- * cfghooks.c (remove_edge): Request loop fixups if we delete
- an edge that might turn an irreducible loop into a natural
- loop.
-
-2016-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69896
- * tree-vect-generic.c (get_compute_type): Avoid single element
- vector types.
-
-2016-02-26 Evandro Menezes <e.menezes@samsung.com>
-
- Rename the AArch64 tuning option and related functions to enable the
- Newton series for the reciprocal square root to reflect its
- approximative characteristic.
-
- * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
- function to "aarch64_emit_approx_rsqrt".
- * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
- AARCH64_EXTRA_TUNE_APPROX_RSQRT.
- * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
- (xgene1_tunings): Likewise.
- (use_rsqrt_p): Likewise.
- (aarch64_emit_swrsqrt): Use new function name.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
- * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
- text explaining this option.
- * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
-
-2016-02-26 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69969
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
- complain about -mallow-movmisalign without -mvsx if
- TARGET_ALLOW_MOVMISALIGN was not set explicitly.
-
-2016-02-26 Joel Sherrill <joel@rtems.org>
-
- * config.gcc: Add x86_64-*-rtems*.
- * config/i386/rtems-64.h: New file.
-
-2016-02-26 Joel Sherrill <joel@rtems.org>
-
- * config.gcc: Add aarch64-*-rtems*.
- * config/aarch64/rtems.h: New file.
-
-2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/69946
- * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
- shift amount using %h. Add comment.
-
-2016-02-26 Richard Biener <rguenther@suse.de>
- Jeff Law <law@redhat.com>
-
- PR tree-optimization/69740
- * cfghooks.c (remove_edge): Request loop fixups if we delete
- an edge that might turn an irreducible loop into a natural
- loop.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/69920
- * tree-sra.c (sra_modify_assign): Do not remove loads of
- uninitialized aggregates to SSA_NAMEs.
-
-2016-02-26 Richard Henderson <rth@redhat.com>
-
- PR target/69709
- * config/s390/s390.md (risbg and risbgn splitters): Allocate new
- pseudo in case the target rtx matches the source of the left
- shift.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- PR hsa/69568
- * hsa.h (hsa_type_packed_p): Declare.
- * hsa.c (hsa_type_packed_p): New function.
- * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
- loads.
- (gen_hsa_insns_for_store): Use hsa_type_packed_p.
- * hsa-brig.c (emit_basic_insn): Likewise.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- pr hsa/69674
- * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
- pointers.
- (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- * hsa.h (is_a_helper): New overload for hsa_op_immed for
- hsa_op_with_type operands.
- (hsa_unsigned_type_for_type): Declare.
- * hsa.c (hsa_unsigned_type_for_type): New function.
- * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
- (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
- the finalizer. Do not emit extra move.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
- atomic operations in private segment.
-
-2016-02-26 Martin Jambor <mjambor@suse.cz>
-
- * omp-low.c (grid_find_ungridifiable_statement): Store problematic
- statements to wi->info. Also disallow omp simd constructs.
- (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
- for not gridifying. Dump special string for omp_for.
-
-2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69245
- * config/aarch64/aarch64.c (aarch64_set_current_function):
- Save/restore target globals when switching to
- target_option_default_node.
-
-2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69613
- * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
- Return 0 if !SHIFT_COUNT_TRUNCATED.
-
-2016-02-26 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/69891
- * dse.c (scan_insn): If we can't figure out memset arguments
- or they are non-constant, call clear_rhs_from_active_local_stores.
-
-2016-02-26 Martin Liska <mliska@suse.cz>
-
- * doc/extend.texi: Mention clog10, clog10f an clog10l
- in Builtins section.
-
-2016-02-26 Martin Liska <mliska@suse.cz>
-
- * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
- CHECKING_P.
- (resolve_args_picking_1): Likewise.
- * dwarf2out.h (struct GTY): Likewise.
-
-2016-02-26 Martin Liska <mliska@suse.cz>
-
- * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
- with flag_checking.
- * hsa-regalloc.c (linear_scan_regalloc): Likewise.
-
-2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
- Martin Liska <mliska@suse.cz>
-
- * doc/install.texi: Mention --enable-valgrind-annotations.
-
-2016-02-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69551
- * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
- looking through aliases adjust DECL_PT_UID to refer to the
- ultimate alias target.
-
-2016-02-25 Martin Liska <mliska@suse.cz>
-
- PR middle-end/69919
- * alloc-pool.c (after_memory_report): New variable.
- * alloc-pool.h (base_pool_allocator ::release): Do not use
- the infrastructure if after_memory_report.
- * toplev.c (toplev::main): Mark after memory report.
-
-2016-02-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/48795
- * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
-
-2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
-
- PR driver/68463
- * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
- offloading is enabled and -fopenacc or -fopenmp is specified.
- (CRTOFFLOADEND): Likewise.
- (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
- (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
- * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
- (offload_objects_file_name): New static var.
- (tool_cleanup): Remove offload_objects_file_name file.
- (find_offloadbeginend): Replace with ...
- (find_crtoffloadtable): ... this.
- (run_gcc): Remove offload_argc and offload_argv.
- Get offload_objects_file_name from -foffload-objects=... option.
- Read names of object files with offload from this file, pass them to
- compile_images_for_offload_targets. Don't call find_offloadbeginend and
- don't pass offloadbegin and offloadend to the linker. Don't pass
- offload non-LTO files to the linker, because now they're not claimed.
-
-2016-02-25 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/69630
- * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
- on builtin_unreachable.
-
-2016-02-25 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69896
- * regcprop.c: Include cfgrtl.h.
- (copyprop_hardreg_forward_1): If noop_p insn uses narrower
- than remembered mode, either delete it (if noop_move_p), or
- treat like copy_p but not noop_p instruction.
-
-2016-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/69705
- * dwarf2out.c (gen_variable_die): Work around buggy LTO
- - allow NULL decl for Fortran DW_TAG_common_block variables.
-
-2016-02-24 Jason Merrill <jason@redhat.com>
-
- * common.opt (flifetime-dse): Add -flifetime-dse=1.
-
-2016-02-24 Richard Biener <rguenther@suse.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/69760
- * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
- conditionally executed ops to well-defined overflow behavior.
-
-2016-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/69915
- * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
- elements.
-
-2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/69886
- * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
- argument. Use it when checking validity of set instructions.
- (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
- (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
- callsite.
- * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
- * store-motion.c (find_moveable_store): Update
- can_assign_to_reg_without_clobbers_p callsite.
-
-2016-02-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68963
- * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
- bogus check.
- (record_nonwrapping_iv): Do not fall back to the low/high bound
- for non-constant IV bases if the stmt is not always executed.
-
-2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-cores.def (cortex-a32): New entry.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
- * config/arm/t-aprofile: Handle mcpu=cortex-a32.
- * doc/invoke.texi (ARM Options): Document cortex-a32 as value
- for -mcpu and -mtune.
-
-2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69875
- * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
- * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
- * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
- (atomic_loaddi_1): Delete.
- (atomic_loaddi): Rewrite expander using the above changes.
-
-2016-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c/69918
- * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
- 2 to 3.
-
-2016-02-24 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenth@suse.de>
-
- PR middle-end/69909
- * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
- set_mem_attributes if tem is SSA_NAME which got expanded
- as a MEM.
-
-2016-02-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69907
- * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
- end of permutations for BB vectorization.
-
-2016-02-24 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-c.c (arm_option_override): Initialize
- target_option_current_node.
- * config/arm/arm.c (arm_pragma_target_parse): Replace
- build_target_option_node call by target_option_current_node.
- Set target_option_current_node.
- Fix comments.
-
-2016-02-23 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/69810
- * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
- define_insn_and_split to define_insn.
- (zero_extendqi<mode>2_dot2): Same.
- (extendqi<mode>2_dot): Same.
- (extendqi<mode>2_dot2): Same.
-
-2016-02-23 Evandro Menezes <e.menezes@samsung.com>
-
- * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
- and add bypass for AES{D,E} and AESMC pairs.
- * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
- and AESMC pairs.
-
-2016-02-23 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
- series for reciprocal square root in Exynos M1.
-
-2016-02-23 Martin Sebor <msebor@redhat.com>
-
- PR c/69759
- * doc/extend.texi (Other Builtins): Document __builtin_alloca and
- __builtin_alloca_with_align.
-
-2016-02-23 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
- (ix86_register_pragmas): Remove __seg_tls.
- * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
- * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
- (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
- (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
- (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
- * doc/extend.texi (__seg_tls): Remove item.
-
-2016-02-23 Richard Biener <rguenther@suse.de>
-
- * alloc-pool.h (struct allocation_object): Make id member
- conditional on CHECKING_P again.
- (get_instance): Adjust.
- (base_pool_allocator): Likewise.
-
-2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
- (parallelize_loops): In OpenACC kernels mode, set n_threads to
- zero.
- (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
- flag_openacc.
- * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
-
-2016-02-23 Richard Biener <rguenther@suse.de>
-
- * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
- * bitmap.h (struct bitmap_usage): Likewise.
- (bitmap_move): Declare.
- * bitmap.c (register_overhead): Take size_t argument.
- (bitmap_move): New function.
- * df-problems.c (df_rd_transfer_function): Use bitmap_move
- to properly account overhead.
- * tree.c (free_node): Use tree_size.
-
-2016-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/69902
- * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
- when inverting comparison.
-
- PR c/69900
- * common.opt (Wunreachable-code): Add Warning flag.
-
-2016-02-23 Mark Wielaard <mjw@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c/69911
- * cgraphunit.c (check_global_declaration): Check main_input_filename
- and DECL_SOURCE_FILE are not NULL.
-
-2016-02-23 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/69666
- * tree-sra.c (sra_modify_assign): Do not attempt to create
- default_def replacements for unscalarizable regions.
-
-2016-02-20 Mark Wielaard <mjw@redhat.com>
-
- PR c/28901
- * cgraphunit.c (check_global_declaration): Check level of
- warn_unused_const_variable and main_input_filename.
- * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
- (-Wunused-variable): For C implies -Wunused-const-variable=1.
- (-Wunused-const-variable): Explain levels 1 and 2.
-
-2016-02-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69888
- * config/i386/i386.c (decide_alg): Ensure we don't recurse with
- identical arguments. Formatting and spelling fixes.
-
- PR target/69885
- * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
- be specified.
-
- PR target/69894
- PR target/69895
- * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
- and m68k-devices.def.
- * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
- * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
-
-2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
- and HImode registers.
-
-2016-02-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69882
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
- preserve permutations present because of gaps.
- (vect_supported_load_permutation_p): Always continue checking
- permutations after vect_attempt_slp_rearrange_stmts.
-
-2016-02-22 Bin Cheng <bin.cheng@arm.com>
-
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
- min_profitable_estimate, rather than min_profitable_iters.
-
-2016-02-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69885
- * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
- SImode for last match_operand.
-
-2016-02-22 Martin Liska <mliska@suse.cz>
-
- * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
- return bitsize - 1 as the return value.
-
-2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/69806
- PR target/54089
- * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
- Handle negative shift counts.
- * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
- force_reg on the shift constant.
- (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
- (lshrsi3_d): Handle negative shift counts.
-
-2016-02-22 Richard Biener <rguenther@suse.de>
- Tom de Vries <tom@codesourcery.com>
-
- * graph.c: Include dumpfile.h.
- (print_graph_cfg): Split into three overloads.
- * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
-
-2016-02-22 Tom de Vries <tom@codesourcery.com>
-
- * gdbhooks.py (class DumpFn): Add and instantiate, adding command
- dump-fn.
-
-2016-02-22 Richard Biener <rguenther@suse.de>
-
- PR ipa/37448
- * ipa-inline-transform.c (inline_call): When not updating
- overall summaries adjust self size by the growth estimate.
- * ipa-inline.c (inline_to_all_callers_1): Add to the callers
- hash-set, do not update overall summaries here. Renamed from ...
- (inline_to_all_callers): ... this which is now wrapping the
- above and performing delayed overall summary update.
- (early_inline_small_functions): Delay updating of the overall
- summary.
-
-2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
- variable.
-
-2016-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR driver/69805
- * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
- :%* in %:gt() argument.
- (greater_than_spec_func): Adjust for expecting only numbers,
- if there are more than two numbers, compare the last two.
-
-2016-02-19 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
- -Wnarrowing with -std.
-
-2016-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/69851
- * expr.c (store_field): Don't use bit-field path if exp is
- COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
- different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
- and the assignment can be performed by bitwise copy. Formatting
- fix.
-
- PR middle-end/69838
- * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
- call copy_reg_eh_region_note_forward on before and/or after sequences
- and remove note from insn if it no longer can throw.
-
- PR target/69820
- * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
- if TARGET_AVX512BW.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md: Add missing commutative operand markers
- to the patterns which qualify for one.
- * config/s390/vx-builtins.md: Likewise.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md (VI, VI_QHS): Add single element vector
- types to mode iterators.
- (vec_double): ... and mode attribute.
- * config/s390/vx-builtins.md (non_vec_int): Likewise.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
- Change the predicate of op2 from nonimmediate to general and let
- reload fix it if necessary.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_vcond): Use the compare operand
- mode.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
- * config/s390/s390.c (s390_expand_vec_movstr): New function.
- * config/s390/s390.md ("movstr<P:mode>"): Call
- s390_expand_vec_movstr.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md: Add missing output modifier for operand 1
- to print it as address properly.
-
-2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
- * config/s390/2964.md: New file.
- * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
- of insn grouping attributes depending on the CPU level.
- (s390_get_unit_mask): New function.
- (s390_sched_score): Remove the OOO from the scheduling macros.
- Add loop to calculate a score for the instruction mix.
- (s390_sched_reorder): Likewise plus improve debug output.
- (s390_sched_variable_issue): Rename macros as above. Calculate
- the unit distances after actually scheduling an insn. Improve
- debug output.
- (s390_sched_init): Clear last_scheduled_unit_distance array.
- * config/s390/s390.md: Include 2964.md.
-
-2016-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69671
- * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
- *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
- *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
- *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
- *avx512f_<code>v8div16qi2_mask_1): New insns.
-
-2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/68404
- * config/rs6000/predicates.md (fusion_gpr_addis): Revert
- 2016-02-09 change.
-
- * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
- earlyclobber from target. Use wF constraint for fused memory
- address.
- (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
-
-2016-02-18 Jakub Jelinek <jakub@redhat.com>
- Martin Liska <mliska@suse.cz>
-
- PR sanitizer/69863
- * cfgexpand.c (asan_sanitize_stack_p): New function.
- (partition_stack_vars): Use the function.
- (expand_stack_vars): Likewise.
- (defer_stack_allocation): Likewise.
- (expand_used_vars): Likewise.
-
-2016-02-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69553
- * fold-const.c (operand_equal_p): Properly compare offsets for
- IMAGPART_EXPR and ARRAY_REF.
-
-2016-02-18 Nick Clifton <nickc@redhat.com>
-
- PR target/62254
- PR target/69610
- * config/arm/arm.c (arm_option_override_internal): Disable
- interworking if the target does not support thumb instructions.
- (arm_reload_in_hi): Handle the case where a register to register
- move needs reloading because there is no simple pattern to handle
- it.
- (arm_reload_out_hi): Likewise.
-
-2016-02-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69854
- * match.pd: Don't use fold_binary or fold_unary for folding
- constants.
-
-2016-02-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/69850
- * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
- on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
- * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
- warn on gimple_no_warning_p statements.
-
-2016-02-17 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (C++ Attributes): Correct description of
- warn_unused type attribute.
-
-2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
- correct instruction.
-
-2016-02-17 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/69609
- * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
- (find_traces_1_round): When ending a trace update cached priority
- of successors.
- (bb_to_key): Use cached priority when available.
- (copy_bb): Initialize cached priority.
- (reorder_basic_blocks_software_trace_cache): Likewise.
-
-2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69161
- * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
- New predicate.
- (aarch64_comparison_operator): Break overly long line into two.
- (aarch64_comparison_operation): Likewise.
- * config/aarch64/aarch64.md (cstorecc4): Use
- aarch64_comparison_operator_mode instead of
- aarch64_comparison_operator.
- (cstore<mode>4): Likewise.
- (aarch64_cstore<mode>): Likewise.
- (*cstoresi_insn_uxtw): Likewise.
- (cstore<mode>_neg): Likewise.
- (*cstoresi_neg_uxtw): Likewise.
-
-2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69161
- * config/arm/predicates.md (arm_comparison_operator_mode):
- New predicate.
- * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
- instead of arm_comparison_operator.
- (*mov_negscc): Likewise.
- (*mov_notscc): Likewise.
- * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
- (*thumb2_mov_negscc): Likewise.
- (*thumb2_mov_negscc_strict_it): Likewise.
- (*thumb2_mov_notscc): Likewise.
- (*thumb2_mov_notscc_strict_it): Likewise.
-
-2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
- Add missing return.
-
-2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.c (machine_libfunc_index): New enum.
- (machine_libfuncs): New structure.
- (visium_libfuncs): New static variable.
- (TARGET_INIT_LIBFUNCS): Define to...
- (visium_init_libfuncs): ...this. New function.
- (expand_block_move_4): Use the appropriate libfunc.
- (expand_block_move_2): Likewise.
- (expand_block_move_1): Likewise.
- (expand_block_set_4): Likewise.
- (expand_block_set_2): Likewise.
- (expand_block_set_1): Likewise.
- (visium_trampoline_init): Likewise.
-
-2016-02-17 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
- TI's devices.csv file as of March 2016.
-
-2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- PR Target/48344
- * opts-global.c (handle_common_deferred_options): Introduce and
- initialize two global variables to remember command-line options
- specifying a stack-limiting register.
- * opts.h: Add extern declarations of the two new global variables.
- * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
- variable based on the values of the two new global variables.
-
-2016-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c/69835
- * common.opt (Wnonnull-compare): New warning.
- * doc/invoke.texi (-Wnonnull): Remove text about comparison
- of arguments against NULL.
- (-Wnonnull-compare): Document.
- * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
- * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
- * passes.def (pass_warn_nonnull_compare): Add.
- * gimple-ssa-nonnull-compare.c: New file.
-
-2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (cortexa57_tunings): Remove
- AARCH64_EXTRA_TUNE_RECIP_SQRT.
-
-2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
- reciprocal sqrt for -mlow-precision-recip-sqrt.
-
-2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
- always use lane loads to construct non-constant vectors.
-
-2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md
- (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
- constraints for operand 3.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
-
-2016-02-16 Jakub Jelinek <jakub@redhat.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69820
- * tree-vect-patterns.c (type_conversion_p): Return false if
- *orig_type is unsigned single precision or boolean.
- (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
- Formatting fix.
-
-2016-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69764
- PR rtl-optimization/69771
- * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
- op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
-
-2016-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69776
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
- sets from caller.
- (indirect_refs_may_alias_p): Likewise.
- (refs_may_alias_p_1): Pass alias sets as from ao_ref.
- * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
- according to tbaa_p.
- * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
- (optimize_stmt): For redundant store discovery do not allow tbaa.
-
-2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
-
- PR tree-optimization/69714
- * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
- Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
-
-2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
- * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
- (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
- * config/arc/arc.c (arc_init): Check FPU options.
- (get_arc_condition_code): Handle new CC_FPU* modes.
- (arc_select_cc_mode): Likewise.
- (arc_conditional_register_usage): Allow 64 bit datum into even-odd
- register pair only. Allow access for ARCv2 accumulator.
- (gen_compare_reg): Whenever we have FPU support use FPU compare
- instructions.
- (arc_reorg): Don't generate brcc insns when FPU compare
- instructions are involved.
- * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
- (TARGET_OPTFPE): Add condition when ARC EM can use optimized
- floating point emulation.
- (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
- (REVERSE_CONDITION): Add new CC_FPU* modes.
- (TARGET_FP_SP_BASE): Define.
- (TARGET_FP_DP_BASE): Likewise.
- (TARGET_FP_SP_FUSED): Likewise.
- (TARGET_FP_DP_FUSED): Likewise.
- (TARGET_FP_SP_CONV): Likewise.
- (TARGET_FP_DP_CONV): Likewise.
- (TARGET_FP_SP_SQRT): Likewise.
- (TARGET_FP_DP_SQRT): Likewise.
- (TARGET_FP_DP_AX): Likewise.
- * config/arc/arc.md (ARCV2_ACC): New constant.
- (type): New fpu type attribute.
- (SDF): Conditional iterator.
- (cstore<mode>, cbranch<mode>): Change expand condition.
- (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
- handles FPU/FPX cases as well.
- * config/arc/arc.opt (mfpu): New option.
- * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
- Renamed.
- (adddf3, muldf3, subdf3): Removed.
- * config/arc/predicates.md (proper_comparison_operator): Recognize
- CC_FPU* modes.
- * config/arc/fpu.md: New file.
- * doc/invoke.texi (ARC Options): Document mfpu option.
-
-2016-02-16 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/69291
- * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
- noce_operand_ok check.
-
-2016-02-16 Tom de Vries <tom@codesourcery.com>
-
- PR lto/67709
- * omp-low.c (simd_clone_create): Remove call to
- symtab->call_cgraph_insertion_hooks.
-
-2016-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69802
- * tree-ssa-reassoc.c (update_range_test): If op is
- SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
- op == 1 test of precision 1 integral op, otherwise handle
- that case as op itself. Fix up formatting.
- (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
- up formatting.
-
-2016-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69586
- * tree-vrp.c (register_edge_assert_for_2): Handle all integral
- types for conversion sources.
-
-2016-02-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69801
- * fold-const.c (operand_equal_p): For COND_EXPR zero operand
- mask OEP_ADDRESS_OF.
-
-2016-02-16 Alan Modra <amodra@gmail.com>
-
- PR target/68973
- * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
- (p8_mtvsrd_df, p8_mtvsrd_sf): New.
- (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
- (p8_mtvsrwz): New.
- (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
- (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
- (p8_fmrgow_<mode>): Likewise.
- (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
- changes.
- (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
- (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
- to use movdi_internal64. Remove op0_di.
- * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
-
-2016-02-15 Evandro Menezes <e.menezes@samsung.com>
-
- Add support for the FCCMP insn types
-
- * config/aarch64/aarch64.md (fccmp): Change insn type.
- (fccmpe): Likewise.
- * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
- * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
- * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
- * config/arm/xgene1.md (xgene1_fcmp): Likewise.
- * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
- * config/arm/types.md (fccmps): Add new insn type.
- (fccmpd): Likewise.
-
-2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * alias.c (get_alias_set): Fix a typo in comment.
-
-2016-02-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69595
- * match.pd: Complete range test simplification to true.
-
-2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/69648
- * lra-constraints.c (update_ebb_live_info): Don't remove sets of
- pic_offset_table_rtx.
-
- PR rtl-optimization/69752
- * ira.c (update_equiv_regs): When looking for more than a single SET,
- also take other side effects into account.
-
-2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
-
- * config/s390/s390.c (s390_function_profiler): Add a new sequence
- for z900+ CPUs in 31-bit mode.
-
-2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
-
- * common/config/s390/s390-common.c (s390_supports_split_stack):
- New function.
- (TARGET_SUPPORTS_SPLIT_STACK): New macro.
- * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
- * config/s390/s390.c (struct machine_function): New field
- split_stack_varargs_pointer.
- (s390_register_info): Mark r12 as clobbered if it'll be used as temp
- in s390_emit_prologue.
- (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
- vararg pointer.
- (morestack_ref): New global.
- (SPLIT_STACK_AVAILABLE): New macro.
- (s390_expand_split_stack_prologue): New function.
- (s390_live_on_entry): New function.
- (s390_va_start): Use split-stack vararg pointer if appropriate.
- (s390_asm_file_end): Emit the split-stack note sections.
- (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
- * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
- (UNSPECV_SPLIT_STACK_CALL): New unspec.
- (UNSPECV_SPLIT_STACK_DATA): New unspec.
- (split_stack_prologue): New expand.
- (split_stack_space_check): New expand.
- (split_stack_data): New insn.
- (split_stack_call): New expand.
- (split_stack_call_*): New insn.
- (split_stack_cond_call): New expand.
- (split_stack_cond_call_*): New insn.
-
-2016-02-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69783
- * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
- Add trivially correct cases.
-
-2016-02-15 Tom de Vries <tom@codesourcery.com>
-
- PR lto/69655
- * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
- do_force_output.
- * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
-
-2016-02-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69776
- * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
- * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
- indicate whether we can use TBAA to disambiguate against stores.
- Use alias-set zero if not.
- (visit_reference_op_store): Do not use TBAA when looking up
- redundant stores.
- * tree-ssa-pre.c (compute_avail): Use TBAA here.
- (eliminate_dom_walker::before_dom_children): But not when looking
- up redundant stores.
-
-2016-02-14 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
-
-2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/znver1.md
- (znver1_pop, znver1_pop_mem,
- znver1_load_imov_double_store,
- znver1_load_imov_direct_store,
- znver1_load_imov_direct_load,
- znver1_load_imov_double_load): Add new.
- (znver1_insn, znver1_insn_load): Add icmov type.
- (znver1_sseavx_fma,
- znver1_sseavx_fma_load,
- znver1_avx256_fma,
- znver1_avx256_fma_load): Fix pipe usage.
-
-2016-02-14 Alan Modra <amodra@gmail.com>
-
- PR target/68973
- * reload.c (find_reloads_address_1): For pre/post-inc/dec
- with an invalid hard reg, reload just the reg not the entire
- pre/post-inc/dec address expression.
-
-2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67260
- * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
- fixed R1_REG scratch reg.
- (sibcall_value_pcrel_fdpic): Likewise.
-
-2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67636
- PR target/64345
- * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
-
-2016-02-12 Walter Lee <walt@tilera.com>
-
- * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
- * config/tilegx/t-tilegx: Likewise.
-
-2016-02-12 David Malcolm <dmalcolm@redhat.com>
-
- PR other/69554
- * diagnostic-show-locus.c (struct line_span): New struct.
- (layout::get_first_line): Delete.
- (layout::get_last_line): Delete.
- (layout::get_num_line_spans): New member function.
- (layout::get_line_span): Likewise.
- (layout::print_heading_for_line_span_index_p): Likewise.
- (layout::get_expanded_location): Likewise.
- (layout::calculate_line_spans): Likewise.
- (layout::m_first_line): Delete.
- (layout::m_last_line): Delete.
- (layout::m_line_spans): New field.
- (layout::layout): Update comment. Replace m_first_line and
- m_last_line with m_line_spans, replacing their initialization
- with a call to calculate_line_spans.
- (diagnostic_show_locus): When printing source lines and
- annotations, rather than looping over a single span
- of lines, instead loop over each line_span within
- the layout, with an inner loop over the lines within them.
- Call the context's start_span callback when changing line spans.
- * diagnostic.c (diagnostic_initialize): Initialize start_span.
- (diagnostic_build_prefix): Break out the building of the location
- part of the string into...
- (diagnostic_get_location_text): ...this new function, rewriting
- it from nested ternary expressions to a sequence of "if"
- statements.
- (default_diagnostic_start_span_fn): New function.
- * diagnostic.h (diagnostic_start_span_fn): New typedef.
- (diagnostic_context::start_span): New field.
- (default_diagnostic_start_span_fn): New prototype.
-
-2016-02-12 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/69779
- * gcc.c (driver::finalize): Fix cleanup of "specs".
-
-2016-02-12 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/69265
- PR driver/69453
- * gcc.c (driver::driver): Initialize m_option_suggestions.
- (driver::~driver): Clean up m_option_suggestions.
- (suggest_option): Convert to...
- (driver::suggest_option): ...this, and split out into
- driver::build_option_suggestions and find_closest_string.
- (driver::build_option_suggestions): New function, from
- first half of suggest_option. Special-case
- OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
- the sanitizer_opts array. For options of enum types, add the
- various enum values to the candidate strings.
- (driver::handle_unrecognized_options): Remove "const".
- * gcc.h (driver::handle_unrecognized_options): Likewise.
- (driver::build_option_suggestions): New decl.
- (driver::suggest_option): New decl.
- (driver::m_option_suggestions): New field.
- * opts-common.c (add_misspelling_candidates): New function.
- * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
- and make non-static.
- * opts.h (sanitizer_opts): New array decl.
- (add_misspelling_candidates): New function decl.
- * spellcheck.c (find_closest_string): New function.
- * spellcheck.h (find_closest_string): New function decl.
-
-2016-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69764
- PR rtl-optimization/69771
- * optabs.c (expand_binop_directly): For shift_optab_p, force
- convert_modes with VOIDmode if xop1 has VOIDmode.
-
-2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/69729
- * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
- to correctly determine instrumentation thunks.
-
-2016-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/69241
- * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
- type by reference, force lhs on the call.
-
- PR ipa/68672
- * ipa-split.c (split_function): Don't compute/use main_part_return_p.
- Compute retval and retbnd early in all cases if split_part_return_p
- and return_bb is not EXIT. Remove all clobber stmts and reset
- all debug stmts that refer to SSA_NAMEs defined in split part,
- except if it is retval, in that case replace the old retval with the
- lhs of the call to the split part.
-
-2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- revert:
- 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/66726
- * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
- whose result is used in PHI.
- (maybe_optimize_range_tests): Likewise.
- (final_range_test_p): Likweise.
-
-2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/66726
- * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
- whose result is used in PHI.
- (maybe_optimize_range_tests): Likewise.
- (final_range_test_p): Likweise.
-
-2016-02-12 Jakub Jelinek <jakub@redhat.com>
-
- * cgraph.c: Spelling fixes - behaviour -> behavior and
- neighbour -> neighbor.
- * target.def: Likewise.
- * sel-sched.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/arc/arc.md: Likewise.
- * config/arm/cortex-a57.md: Likewise.
- * config/arm/arm.c: Likewise.
- * config/arm/neon.md: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/i386/znver1.md: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/hpux-unix2003.h: Likewise.
- * config/msp430/msp430.md: Likewise.
- * config/rx/rx.c: Likewise.
- * config/rx/rx.md: Likewise.
- * config/aarch64/aarch64-simd.md: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/cris/cris.opt: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * target.h: Likewise.
- * spellcheck.c: Likewise.
- * ira-build.c: Likewise.
- * tree-inline.c: Likewise.
- * builtins.c: Likewise.
- * lra-constraints.c: Likewise.
- * explow.c: Likewise.
- * hwint.h: Likewise.
- * targhooks.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * expr.c: Likewise.
- * doc/tm.texi: Likewise.
- * doc/extend.texi: Likewise.
- * doc/install.texi: Likewise.
- * doc/md.texi: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * sched-int.h: Likewise.
- * match.pd: Likewise.
- * sched-ebb.c: Likewise.
- * target.def (omit_struct_return_reg): Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- (find_implicit_erroneous_behaviour): Renamed to...
- (find_implicit_erroneous_behavior): ... this.
- (find_explicit_erroneous_behaviour): Renamed to...
- (find_explicit_erroneous_behavior): ... this.
- (gimple_ssa_isolate_erroneous_paths): Adjust caller.
-
-2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/64682
- PR rtl-optimization/69567
- PR rtl-optimization/69737
- * combine.c (distribute_notes) <REG_DEAD>: If the register is set
- in I2 as well, just lose it.
-
-2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
- New variable.
- (aarch64_last_printed_tune_string): Likewise.
- (aarch64_declare_function_name): Only output .arch assembler
- directive if it will be different from the previously output
- directive. Same for .tune comment but only if -dA is set.
- (aarch64_start_file): New function.
- (TARGET_ASM_FILE_START): Define.
-
-2016-02-11 David Malcolm <dmalcolm@redhat.com>
-
- PR plugins/69758
- * Makefile.in (PLUGIN_HEADERS): Add params.list.
-
-2016-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65313
- * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
- -Wmaybe-uninitialized warning.
-
-2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/69713
- * config/sh/sh.md (casesi_worker_0): Add T_REG use.
-
-2016-02-11 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/69291
- * ifcvt.c (noce_try_store_flag_constants): Do not allow
- subexpressions affected by changing the result.
-
-2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/69148
- * lra-constraints.c (curr_insn_transform): Find in/out operands
- for secondary memory moves. Update dups.
-
-2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/69652
- * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
- to nested loop, did source re-formatting, skip debug statements,
- add check on statement with volatile operand, remove dead scalar
- statements.
-
-2016-02-10 Jakub Jelinek <jakub@redhat.com>
- Patrick Palka <ppalka@gcc.gnu.org>
-
- PR ipa/69241
- PR c++/69649
- * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
- calls if the return type is TREE_ADDRESSABLE.
- * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
- * ipa-split.c (split_function): Fix doubled "we" in comment.
- Use void return type for the split part even if
- !split_point->split_part_set_retval.
-
-2016-02-10 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/68021
- * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
- when computing the value of biv cand by itself.
-
-2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
- (cortexa57_tunings): Likewise.
- (cortexa72_tunings): Likewise.
- (arch_macro_fusion_pair_p): Add support for AES fusion.
- * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
- * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
- Allow virtual registers before reload so early scheduling works.
- * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
- correct latency and pipeline.
- (cortex_a57_crypto_complex): Likewise.
- (cortex_a57_crypto_xor): Likewise.
- (define_bypass): Add AES bypass.
-
-2016-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69726
- * passes.def: Add DCE pass before late uninit.
- * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
- really fixup if-conversions job.
-
-2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
- (arm_cortex_a57_tune): Likewise.
- (aarch_macro_fusion_pair_p): Add support for AES fusion.
- * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
-
-2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * timevar.def (TV_PHASE_DBGINFO): Delete.
- (TV_PHASE_CHECK_DBGINFO): Likewise.
- * varpool.c (varpool_node::assemble_decl): Do not change timevar.
-
-2016-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69719
- * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
- Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
-
-2016-02-09 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/69282
- * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
- get_vcond_mask_icode returns false.
-
-2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/68404
- * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
- an ADDIS that adds a pointer to a large constant that sets the
- upper16 bits with a load operation.
-
-2016-02-09 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/68532
- * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
- order.
- * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
- endian.
- (vzipq_s16): Likewise.
- (vzipq_s32): Likewise.
- (vzipq_f32): Likewise.
- (vzipq_u8): Likewise.
- (vzipq_u16): Likewise.
- (vzipq_u32): Likewise.
- (vzipq_p8): Likewise.
- (vzipq_p16): Likewise.
-
-2016-02-09 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/68532
- * config/arm/arm.c (neon_endian_lane_map): New function.
- (neon_vector_pair_endian_lane_map): New function.
- (arm_evpc_neon_vuzp): Allow for big endian lane order.
- * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
- endian.
- (vuzpq_s16): Likewise.
- (vuzpq_s32): Likewise.
- (vuzpq_f32): Likewise.
- (vuzpq_u8): Likewise.
- (vuzpq_u16): Likewise.
- (vuzpq_u32): Likewise.
- (vuzpq_p8): Likewise.
- (vuzpq_p16): Likewise.
-
-2016-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- PR target/69634
- * regstat.c (regstat_bb_compute_calls_crossed): Disregard
- debug insns.
-
-2016-02-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
- truncate const_int operand 1 to QImode.
-
-2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
- corresponding to an abnormal edge.
-
-2016-02-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69599
- * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
- function.
- (find_func_aliases_for_builtin_call, find_func_clobbers)
- (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
- partition.
-
-2016-02-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69715
- * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
- LHS on calls as non-rewritable.
-
-2016-02-09 Tom de Vries <tom@codesourcery.com>
-
- PR lto/69707
- * lto-wrapper.c (append_diag_options): New function.
- (compile_offload_image): Call append_diag_options.
-
-2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
-
- PR other/69722
- * doc/extend.texi (Flag Output Operands): Correct sectioning.
- Minor copy-edit to fix verb tenses.
-
-2016-02-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69209
- * ipa-split.c (split_function): If split part is not
- returning retval, retval has gimple type but is not
- gimple value, force it into a SSA_NAME first.
-
-2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
-
- * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
- outdated section.
-
-2016-02-08 Jason Merrill <jason@redhat.com>
-
- PR c++/69631
- * convert.c (convert_to_integer_1): Check dofold on truncation
- distribution.
- (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
- (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
- Rename from *_nofold.
- * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
- (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
-
-2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/60410
- * tree.c (build_common_tree_nodes): Remove short_double argument.
- All callers changed.
- * tree.h (build_common_tree_nodes): Adjust declaration.
- * doc/invoke.texi (-fshort-double): Remove documentation.
- * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
- MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
- * lto-wrapper.c (merge_and_complain, append_compiler_options)
- (append_linker_options): Don't handle OPT_fshort_double.
-
- PR rtl-optimization/68730
- * lra-remat.c (insn_to_cand_activation): New static variable.
- (lra_remat): Allocate and free it.
- (create_cand): New arg activation. Initialize a field in
- insn_to_cand_activation if it is nonnull.
- (create_cands): Pass the activation insn to create_cand when making
- a candidate involving an output reload. Reorganize code a little.
- (do_remat): Keep track of active status of candidates in a separate
- bitmap.
-
-2016-02-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69719
- * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
- Properly use absolute of the difference of the two offsets to
- compare or adjust the segment length.
-
-2016-02-08 Richard Biener <rguenther@suse.de>
- Jeff Law <law@redhat.com>
-
- PR target/68273
- * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
- types for anonymous SSA names.
-
-2016-02-08 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/69274
- * ira.c (ira_setup_alts): Do not change recog_data.operand order.
-
-2016-02-08 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65917
- * tree-ssa-dom.c (record_temporary_equivalences): Record both
- equivalences from if (x == y) style conditionals.
- (loop_depth_of_name): Remove.
- (record_equality): Remove loop depth check.
- * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
- (const_and_copies::record_const_or_copy_raw): New member function.
- * tree-ssa-scopedtables.c
- (const_and_copies::record_const_or_copy_raw): New, factored out of
- (const_and_copies::record_const_or_copy): Call new member function.
-
-2016-02-05 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68541
- * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
- (count_stmts_in_block): New function.
- (poor_ifcvt_candidate_code): Likewise.
- (is_feasible_trace): Add some heuristics to determine when path
- splitting is profitable.
- (find_block_to_duplicate_for_splitting_paths): Make sure the graph
- is a diamond with a single exit.
-
-2016-02-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/69662
- * doc/invoke.texi: Update -Wplacement-new to take an optional
- argument.
-
-2016-02-06 Richard Henderson <rth@redhat.com>
-
- PR c/69643
- * tree.c (tree_nop_conversion_p): Do not strip casts into or
- out of non-standard address spaces.
-
-2016-02-05 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69691
- * lra-eliminations.c (move_plus_up): Don't add the addend twice.
-
-2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
- * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
- (*ieee128_mfvsrd_64bit): Likewise.
- (*ieee128_mfvsrd_32bit): Likewise.
-
-2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/69369
- Revert r232560:
- 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraphunit.c (cgraph_node::reset): Clear thunk info and
- instrumented_version.
-
-2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
-
- * doc/invoke.texi (Optimize Options): In table of --param options
- rename second occurrence of tracer-min-branch-ratio to
- tracer-min-branch-probability, rename
- tracer-min-branch-ratio-feedback to
- tracer-min-branch-probability-feedback and clarify description,
- rename sched-spec-state-edge-prob-cutoff to
- sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
- to selsched-insns-to-rename, rename lto-minpartition to
- lto-min-partition, delete reorder-blocks-duplicate and
- reorder-blocks-duplicate-feedback.
-
-2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_register_info_set_ranges): Remove
- superfluous loops.
-
-2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * doc/extend.texi: S/390: Correct some typos.
-
-2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
-
-2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/69625
- * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
- (s390_register_info_gprtofpr): Use new macros above.
- (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
- its name.
- (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
- its name. Adjust restore and save gpr ranges.
- (s390_register_info_set_ranges): New function.
- (s390_register_info): Use new macros above. Call
- s390_register_info_set_ranges.
- (s390_optimize_register_info): Likewise.
- (s390_hard_regno_rename_ok): Use new macros.
- (s390_hard_regno_scratch_ok): Likewise.
- (s390_emit_epilogue): Likewise.
- (s390_can_use_return_insn): Likewise.
- (s390_optimize_prologue): Likewise.
- * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
-
-2016-02-05 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/69677
- * config/i386/i386.c (convert_scalars_to_vector): Readd stack
- alignment fixes.
- (ix86_option_override_internal): Disable TARGET_STV even for
- -m{incoming,preferred}-stack-boundary=3.
-
-2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config.gcc: Mark deprecated rtems targets as obsolete.
-
-2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/64682
- PR rtl-optimization/69567
- * combine.c (distribute_notes) <REG_DEAD>: Place the death note
- before I2 only if the register is both used and set in I2.
-
-2016-02-04 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.c (msp430_start_function): Add function type.
-
-2016-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/69368
- * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
-
-2016-02-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/69577
- Revert:
- 2015-10-29 Richard Henderson <rth@redhat.com>
-
- PR target/68124
- PR rtl-opt/67609
- * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
- sse check to the exact conditions of PR 67609.
-
-2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/69667
- * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
- instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
- not allowed into the traditional Altivec registers.
- (movtd_64bit_nodm): Likewise.
- (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
-
-2016-02-04 David Malcolm <dmalcolm@redhat.com>
-
- * config/aarch64/cortex-a57-fma-steering.c
- (aarch64_register_fma_steering): Remove "static" from arguments
- to register_pass.
-
-2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
-
- PR target/69619
- * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
- twice when complex.
-
-2016-02-04 Mike Frysinger <vapier@gentoo.org>
-
- * doc/invoke.texi: Delete -mno-fma4.
-
-2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/69577
- * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
- (find_subregs_of_mode): Update accordingly. Iterate over partial
- definitions.
-
-2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm-protos.h (neon_reinterpret): Remove.
- * config/arm/arm.c (neon_reinterpret): Remove.
- * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
- vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
- vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
- vreinterpretti): Remove.
- * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
- neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
- neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
- neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
- neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
- neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
- * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
- vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
- vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
- vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
- vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
- vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
- vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
- vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
- vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
- vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
- vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
- vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
- vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
- vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
- vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
- vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
- vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
- vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
- vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
- vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
- vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
- vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
- vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
- vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
- vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
- vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
- vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
- vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
- vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
- vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
- vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
- vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
- vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
- vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
- vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
- vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
- vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
- vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
- vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
- vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
- vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
- vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
- vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
- vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
- vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
- vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
- vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
- vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
- vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
- vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
- vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
- vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
- vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
- vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
- vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
- vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
- vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
- vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
- vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
- vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
- vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
- vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
- vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
- vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
- vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
- vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
- vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
- vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
- vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
- vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
- vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
- vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
- vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
- vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
- vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
- vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
- vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
- vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
- vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
- vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
- vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
- vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
- vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
- vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
- vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
- vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
- vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
- vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
- vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
- vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
- vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
- vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
- vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
- vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
- vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
- vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
- vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
-
-2016-02-04 Martin Liska <mliska@suse.cz>
-
- PR sanitizer/69276
- * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
- that are gimple_store_p.
- (maybe_instrument_call): Likewise.
-
-2016-02-04 Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
- register scaling out of memory reference and comment why.
-
-2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65932
- PR target/67714
- * cse.c (cse_insn): Pass NULL to fold_rtx when initially
- folding the source of a SET.
-
-2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65932
- PR target/67714
- * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
- the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
-
-2016-02-04 Jim Wilson <jim.wilson@linaro.org>
-
- PR target/65932
- PR target/67714
- * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
- HImode.
-
-2016-02-04 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
- * config/arm/arm.c (arm_set_current_function): Likewise.
-
-2016-02-04 Jakub Jelinek <jakub@redhat.com>
- Ilya Enkovich <enkovich.gnu@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/69454
- * config/i386/i386.c (convert_scalars_to_vector): Remove
- stack alignment fixes.
- (ix86_option_override_internal): Disable TARGET_STV if stack
- might not be aligned enough.
- (ix86_minimum_alignment): Assert that TARGET_STV is false.
-
-2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
-
- * config/i386/x86-tune.def: Disable default prefetching
- for -march=znver1.
-
-2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
- Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/69461
- * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
- in validating fused toc addresses.
-
-2016-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c/69627
- * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
- range->m_caret fields if range->m_show_caret_p is false.
-
- PR target/69644
- * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
- Force oldval into register if it does not satisfy reg_or_short_operand
- predicate. Fix up formatting.
-
-2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- PR target/69461
- * lra-constraints.c (simplify_operand_subreg): Check additionally
- address validity after potential reloading.
- (process_address_1): Check insns validity. In case of failure do
- nothing.
-
-2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/69118
- * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
- Fix target.
-
-2016-02-02 Jakub Jelinek <jakub@redhat.com>
-
- * wide-int.cc (canonize_uhwi): New function.
- (wi::divmod_internal): Use it.
-
-2016-02-02 James Norris <jnorris@codesourcery.com>
-
- * gimplify.c (omp_notice_variable): Add usage check.
-
-2016-02-02 Alexander Monakov <amonakov@ispras.ru>
-
- * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
- like LE, GE, LT, GT when emitting relational operator.
-
-2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
-
- * ira-costs.c (find_costs_and_classes): Add extra argument.
- * target.def (ira_change_pseudo_allocno_class): Add parameter.
- * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
- * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
- * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
- Add best_class parameter, and return it if not ALL_REGS.
- * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
- Add parameter.
- * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
- Update target hook.
-
-2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c
- (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
- (aarch64_ira_change_pseudo_allocno_class): New function.
-
-2016-02-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67032
- * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
-
-2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * config/avr/avr.c (avr_option_override): Set
- PARAM_ALLOW_STORE_DATA_RACES to 1.
-
-2016-02-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69595
- * match.pd: Add range test simplifications to true/false.
-
-2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
-
- * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
- * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
- instead.
-
-2016-02-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69606
- * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
- info on the result before moving a stmt.
-
-2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR middle-end/68542
- * config/i386/i386.c (ix86_expand_branch): Add support for conditional
- branch with vector comparison.
- * config/i386/sse.md (VI48_AVX): New mode iterator.
- (define_expand "cbranch<mode>4): Add support for conditional branch
- with vector comparison.
- * tree-vect-loop.c (optimize_mask_stores): New function.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
- has_mask_store field of vect_info.
- * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
- vectorized loops having masked stores after vec_info destroy.
- * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
- correspondent macros.
- (optimize_mask_stores): Add prototype.
-
-2016-02-02 Alan Modra <amodra@gmail.com>
-
- PR target/69548
- * config/rs6000/predicates.md (quad_int_reg_operand): Don't
- allow subregs.
-
-2016-02-02 Alan Modra <amodra@gmail.com>
-
- PR target/68662
- * config/rs6000/rs6000.c (need_toc_init): New var, set it
- whenever toc_label_name used.
- (rs6000_file_start): Don't set up toc section here,
- (rs6000_output_function_epilogue): do so here instead,
- (rs6000_xcoff_file_start): and here.
- * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
- (load_toc_aix_di): Likewise.
-
-2016-02-01 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69592
- * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
- (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
- (num_sign_bit_copies_binary_arith_p): New inline function.
- (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
-
-2016-02-01 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69580
- * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
- * tree-ssa-threadbackward.c
- (fsm_find_control_statement_thread_paths): Do not try to walk
- through large PHI nodes.
-
-2016-02-01 Jakub Jelinek <jakub@redhat.com>
-
- * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
- when count is incremented above limit, don't analyze further
- insns afterwards.
-
- * omp-low.c (oacc_parse_default_dims): Avoid
- -Wsign-compare warning, make sure value fits into int
- rather than just unsigned int.
-
-2016-02-01 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/67921
- * fold-const.c (split_tree): New parameters. Convert pointer
- type variable part to proper type before negating.
- (fold_binary_loc): Pass new arguments to split_tree.
-
-2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
- (nvptx_goacc_validate_dims): Extend to handle global defaults.
- * target.def (OACC_VALIDATE_DIMS): Extend documentation.
- * doc/tm.texti: Rebuilt.
- * doc/invoke.texi (fopenacc-dim): Document.
- * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
- (append_compiler_options): Likewise.
- * omp-low.c (oacc_default_dims, oacc_min_dims): New.
- (oacc_parse_default_dims): New.
- (oacc_validate_dims): Add USED arg. Select non-unity default when
- possible.
- (oacc_loop_fixed_partitions): Return mask of used partitions.
- (oacc_loop_auto_partitions): Emit dump info.
- (oacc_loop_partition): Return mask of used partitions.
- (execute_oacc_device_lower): Parse default dimension arg. Adjust
- loop partitioning and validation calls.
-
-2016-02-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69556
- * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
-
-2016-02-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69574
- * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
- of asserting return chrec_dont_know.
-
-2016-02-01 Martin Liska <mliska@suse.cz>
-
- * mem-stats-traits.h: Add copyright header.
- * mem-stats.h: Likewise.
-
-2016-02-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69579
- * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
- Do not propagate through abnormal PHI results.
-
-2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * postreload.c (reload_cse_simplify): Remove dead code.
-
-2016-02-01 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/69570
- * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
- if there is more than one set, not if there is a single set.
-
-2016-02-01 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/69535
- * combine.c (make_compound_operation): When looking through a
- subreg, make sure to re-extend to the width of the outer mode.
-
-2016-01-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69546
- * wide-int.cc (wi::divmod_internal): For unsigned division
- where both operands fit into uhwi, if o1 is 1 and o0 has
- msb set, if divident_prec is larger than bits per hwi,
- clear another quotient word and return 2 instead of 1.
- Similarly for remainder with msb in HWI set, if dividend_prec
- is larger than bits per hwi.
-
-2016-01-29 Martin Jambor <mjambor@suse.cz>
-
- * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
- Use short lowercase names.
- (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
- MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
- acq_rel one. Protect warning agains segfaults if
- get_memory_order_name returns NULL.
- (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
- with release semantics. Do not warn if get_memory_order already did.
- (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
- semantics. Fix check for relaxed or acquire semantics. Do not warn
- if get_memory_order already did.
-
-2016-01-29 Sebastian Pop <s.pop@samsung.com>
-
- * doc/install.texi: Document that isl-0.16 is supported.
-
-2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/69299
- * config/i386/constraints.md (Bm): Describe as special memory
- constraint.
- * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
- * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
- * genpreds.c (struct constraint_data): Add is_special_memory.
- (have_special_memory_constraints, special_memory_start): New
- static vars.
- (special_memory_end): Ditto.
- (add_constraint): Add new arg is_special_memory. Add code to
- process its true value. Update have_special_memory_constraints.
- (process_define_constraint): Pass the new arg.
- (process_define_register_constraint): Ditto.
- (choose_enum_order): Process special memory.
- (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
- function insn_extra_special_memory_constraint.
- (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
- * gensupport.c (process_rtx): Process
- DEFINE_SPECIAL_MEMORY_CONSTRAINT.
- * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
- * ira-lives.c (single_reg_class): Use
- insn_extra_special_memory_constraint.
- * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
- * lra-constraints.c (process_alt_operands): Ditto.
- (curr_insn_transform): Use insn_extra_special_memory_constraint.
- * recog.c (asm_operand_ok, preprocess_constraints): Process
- CT_SPECIAL_MEMORY.
- * reload.c (find_reloads): Ditto.
- * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
- * stmt.c (parse_input_constraint): Use
- insn_extra_special_memory_constraint.
-
-2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/69530
- * lra-splill.c (lra_final_code_change): Revert r229087 by
- removing all sub-registers.
-
-2016-01-29 Steve Ellcey <sellcey@imgtec.com>
-
- PR target/65604
- * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
-
-2016-01-29 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69551
- * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
- SSE1, copy target into the temporary reg first before recursing
- on it.
-
-2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
- with vm.
-
-2016-01-29 Jonathan Wakely <jwakely@redhat.com>
-
- * ginclude/stdarg.h: Test __cplusplus instead of
- __GXX_EXPERIMENTAL_CXX0X__.
-
-2016-01-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69547
- * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
- Do not mark clobbers necessary.
- (mark_all_reaching_defs_necessary_1): Likewise.
-
-2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
- declaration name with %qs and print it in both error messages.
- Also fix indentation.
-
-2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR other/69006
- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
- trailing blank line from error message.
-
-2016-01-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/69462
- * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
- for C++-11.
-
-2016-01-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69537
- * match.pd: Allow all integral types when simplifying a
- widening or sign-changing conversion.
-
-2016-01-28 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
- back to setting codegen_error to fail codegen.
-
-2016-01-28 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/69459
- * config/i386/constraints.md (C): Only accept constant zero operand.
- (BC): New constraint.
- * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
- instead of C constraint.
- * doc/md.texi (Machine Constraints): Update description
- of C constraint.
-
-2016-01-28 Steve Ellcey <sellcey@imgtec.com>
-
- PR target/68400
- * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
-
-2016-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/69542
- * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
- non-debug insns.
-
-2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
- branches if using guessed profile.
-
-2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * graphite-optimize-isl.c (optimize_isl): Fix dump.
-
-2016-01-28 Richard Henderson <rth@redhat.com>
-
- PR target/69305
- * config/aarch64/aarch64-modes.def (CC_Cmode): New
- * config/aarch64/aarch64-protos.h: Update.
- * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
- (aarch64_select_cc_mode): Add check for use of CC_Cmode.
- (aarch64_get_condition_code_1): Handle CC_Cmode.
- * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
- (*add<mode>3_compareC_cconly_imm): New.
- (*add<mode>3_compareC_cconly): New.
- (*add<mode>3_compareC_imm): New.
- (add<mode>3_compareC): New.
- (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
- to be first. Use aarch64_carry_operation.
- (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
- (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
- (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
- (subti3): Use subdi3_compare1.
- (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
- (sub<mode>3_compare1): New.
- (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
- (*sub<mode>3_carryin): Use aarch64_borrow_operation.
- (*subsi3_carryin_uxtw): Likewise.
- (*ngc<mode>, *ngcsi_uxtw): Likewise.
- (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
- * config/aarch64/iterators.md (DWI): New.
- * config/aarch64/predicates.md (aarch64_carry_operation): New.
- (aarch64_borrow_operation): New.
-
-2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Print a different debug
- message when isl does not return a valid schedule.
-
-2016-01-28 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
- Remove comments from class declarations: they are already in the code
- close by the defs.
-
-2016-01-28 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
- codegen_error_p.
- (ternary_op_to_tree): Same.
- (unary_op_to_tree): Same.
- (nary_op_to_tree): Same.
- (gcc_expression_from_isl_expr_op): Same.
- (gcc_expression_from_isl_expression): Same.
- (graphite_create_new_loop): Same.
- (graphite_create_new_loop_guard): Same.
- (build_iv_mapping): Same.
- (graphite_create_new_guard): Same.
- (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
- (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
-
-2016-01-28 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
- instead of setting codegen_error to fail codegen.
-
-2016-01-28 Jason Merrill <jason@redhat.com>
-
- * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
-
-2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
- Remove CONST_INT_P check in CCMP cost calculation.
-
-2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (generic_vector_cost):
- Set vec_permute_cost.
- (cortexa57_vector_cost): Likewise.
- (exynosm1_vector_cost): Likewise.
- (xgene1_vector_cost): Likewise.
- (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
- * config/aarch64/aarch64-protos.h (cpu_vector_cost):
- Add vec_permute_cost entry.
-
-2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
- immediate as %1.
- (add<mode>3_compare0): Likewise.
- (addsi3_compare0_uxtw): Likewise.
- (add<mode>3nr_compare0): Likewise.
- (compare_neg<mode>): Likewise.
- (<optab><mode>3): Likewise.
-
-2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_comparison): Add
- NULL check for vectype.
-
-2016-01-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69466
- * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
- Account for PHIs we couldn't duplicate.
-
-2016-01-28 Martin Liska <mliska@suse.cz>
-
- PR pch/68758
- * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
- instead of ENABLE_VALGRIND_CHECKING.
-
-2016-01-27 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/69447
- * lra-remat.c (subreg_regs): New.
- (dump_candidates_and_remat_bb_data): Dump it.
- (operand_to_remat): Reject if operand in subreg_regs.
- (set_bb_regs): Collect subreg_regs.
- (lra_remat): Init and free subreg_regs. Compute
- calculate_local_reg_remat_bb_data before create_cands.
-
-2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/68986
- * config/i386/i386.c (ix86_update_stack_boundary): Don't
- change stack_alignment_needed for __tls_get_addr call.
-
-2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
-
-2016-01-27 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68398
- PR tree-optimization/69196
- * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
- (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Only count PHIs in the last block in the path. The others will
- const/copy propagate away. Add heuristic to allow more irreducible
- subloops to be created when it is likely profitable to do so.
-
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
- check from within the loop. Use gsi_next_nondebug rather than gsi_next.
-
-2016-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/69254
- * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
- END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
- * asan.c (DEF_BUILTIN_STUB): Temporarily define.
- * tree-streamer-in.c: Include asan.h.
- (streamer_get_builtin_tree): For builtins in sanitizer
- range call initialize_sanitizer_builtins and retry.
-
-2016-01-27 Ian Lance Taylor <iant@google.com>
-
- * common.opt (fkeep-gc-roots-live): New undocumented option.
- * tree-ssa-loop-ivopts.c (add_candidate_1): If
- -fkeep-gc-roots-live, skip pointers.
- (add_iv_candidate_for_biv): Handle add_candidate_1 returning
- NULL.
-
-2016-01-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/69512
- * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
- (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
-
-2016-01-27 Thomas Klausner <wiz@NetBSD.org>
-
- PR target/68380
- * configure.ac: NetBSD provides SSP in its C library.
- * configure: Updated.
-
-2016-01-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69166
- * tree-vect-loop.c (vect_is_simple_reduction): Always check
- reduction code for commutativity / associativity.
-
-2016-01-27 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/69355
- * tree-sra.c (analyze_access_subtree): Correct hole detection when
- total_scalarization fails.
-
-2016-01-27 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
- power9.
-
-2016-01-27 Christian Bruel <christian.bruel@st.com>
-
- PR target/69245
- * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
- Move arm_reset_previous_fndecl and set_target_option_current_node in
- the conditional part. Call save_restore_target_globals.
- * config/arm/arm.c (arm_set_current_function):
- Refactor to better support #pragma target and attribute mix.
- Call save_restore_target_globals.
- * config/arm/arm-protos.h (save_restore_target_globals): New function.
-
-2016-01-27 Martin Liska <mliska@suse.cz>
-
- * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
- reference for an HSA kernel and its host function.
-
-2016-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69399
- * wide-int.h (wi::lrshift): For larger precisions, only
- use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
-
-2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/predicates.md (proper_comparison_operator): Reject
- constant-constant comparison.
-
-2016-01-26 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69110
- * tree-data-ref.c (initialize_data_dependence_relation): Handle
- DR_NUM_DIMENSIONS == 0.
-
-2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
- isl_ast_op_cond and isl_ast_op_select.
- (gcc_expression_from_isl_expr_op): Same.
-
-2016-01-26 Jason Merrill <jason@redhat.com>
-
- PR c++/68782
- * tree.c (recompute_constructor_flags): Split out from
- build_constructor.
- (verify_constructor_flags): New.
- * tree.h: Declare them.
-
-2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
-
- PR rtl-optimization/69217
- * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
- are no TYPE_FIELDS set for the record type.
-
-2016-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68662
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
- toc_label_name unconditionally.
- (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
- SYMBOL_REF string. Use toc_label_name instead of constructing
- LCTOC1.
- (rs6000_elf_declare_function_name): Use toc_label_name instead of
- constructing LCTOC1.
-
-2016-01-26 Martin Sebor <msebor@redhat.com>
-
- PR other/69477
- * doc/extend.texi (Common Type Attributes): Move text that talks about
- attribute packed from attribute aligned to the section discussing
- the former attribute for clarity.
-
-2016-01-26 Richard Henderson <rth@redhat.com>
-
- PR middle-end/60908
- * trans-mem.c (tm_region_init): Mark entry block as visited.
-
-2016-01-26 David Malcolm <dmalcolm@redhat.com>
-
- PR other/69006
- * diagnostic-show-locus.c (layout::print_source_line): Replace
- call to pp_newline with call to layout::print_newline.
- (layout::print_annotation_line): Likewise.
- (layout::move_to_column): Likewise.
- (layout::print_any_fixits): After printing any fixits, print a
- trailing newline, if necessary.
- (layout::print_newline): New method, resetting any colorization
- before a newline.
- (diagnostic_show_locus): Move the pp_newline to before the
- early bailout. Remove dummy block enclosing the layout instance.
- * diagnostic.c (default_diagnostic_finalizer): Replace invocation
- of pp_newline_and_flush with pp_flush.
- (diagnostic_append_note): Delete use of pp_newline.
- (diagnostic_append_note_at_rich_loc): Delete.
- * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
- * pretty-print.h (output_buffer_append_r): Reset buff->line_length
- when newline characters are added to the buffer.
-
-2016-01-26 Michael Matz <matz@suse.de>
-
- * configure.ac (ac_cv_std_swap_in_utility): New test.
- * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (cstoresi4): Force operand into register.
- (arcset<code>): Fix predicate.
- (arcsetltu): Likewise.
- (arcsetgeu): Likewise.
- (arcsethi): Likewise.
- (arcsetls): Likewise.
-
-2016-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69483
- * gimple-fold.c (canonicalize_constructor_val): Return NULL
- if base has error_mark_node type.
-
-2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- PR target/68620
- * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
- * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
- New helper macros.
- (vget_lane_f16): Handle big-endian.
- (vgetq_lane_f16): Likewise.
- (vset_lane_f16): Likewise.
- (vsetq_lane_f16): Likewise.
- * config/arm/iterators.md (VQXMOV): Add V8HF.
- (VDQ): Add V4HF and V8HF.
- (V_reg): Handle V4HF and V8HF.
- (Is_float_mode): Likewise.
- * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
- neon_vdup_nv8hf): New patterns.
- (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
- Use VD_LANE iterator.
- (neon_vld1_dup<mode>): Use VQ2 iterator.
-
-2016-01-26 Nathan Sidwell <nathan@acm.org>
-
- * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
- (set_oacc_fn_attrib): Add IS_KERNEL arg.
- * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
- (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
- (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
- (oacc_validate_dims): Add LEVEL arg, don't return level.
- (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
- oacc_validate_dims.
- (execute_oacc_device_lower): Adjust, add more dump output.
- * tree-ssa-loop.c (gate_oacc_kernels): Use
- oacc_fn_attrib_kernels_p.
- * tree-parloops.c (create_parallel_loop): Adjust
- set_oacc_fn_attrib call.
-
-2016-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/69254
- * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
- (append_compiler_options): Handle -fcilkplus.
- (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
-
-2016-01-26 Nick Clifton <nickc@redhat.com>
-
- PR target/66655
- * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
- been marked as DECL_ONE_ONLY but we do not the means to make it
- so, then do not allow it to bind locally.
-
-2016-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/69254
- * opts.h (parse_sanitizer_options): New prototype.
- * opts.c (sanitizer_opts): New array.
- (parse_sanitizer_options): New function.
- (common_handle_option): Use parse_sanitizer_options.
-
-2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/68986
- * config/i386/i386.c (ix86_compute_frame_layout): Move stack
- alignment adjustment to ...
- (ix86_update_stack_boundary): Here. Don't over-align stack for
- __tls_get_addr.
- (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
- if __tls_get_addr is called.
-
-2016-01-26 Christian Bruel <christian.bruel@st.com>
-
- * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
-
-2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
-
-2016-01-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69467
- * match.pd: Guard X * CST CMP 0 pattern with single_use.
-
-2016-01-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69452
- * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
- (move_computations_dom_walker::before_dom_children): Rename
- to ...
- (move_computations_worker): This.
- (move_computations): Perform an RPO rather than a DOM walk.
-
-2016-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69442
- * combine.c (combine_instructions): For REG_EQUAL note with
- SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
- to the underlying register.
- * doc/rtl.texi (REG_EQUAL): Document the behavior of
- REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
-
-2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
-
- PR target/67896
- * config/aarch64/aarch64-builtins.c
- (aarch64_init_simd_builtin_types): Do not set structural
- equality to __Poly{8,16,64,128}_t types.
-
-2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/69400
- * wide-int.cc (wi_pack): Take the precision as argument and
- perform canonicalization here rather than in the callers.
- Use the main loop to handle all full-width HWIs. Add a
- zero HWI if in_len isn't a full result.
- (wi::divmod_internal): Update accordingly.
- (wi::mul_internal): Likewise. Simplify.
-
-2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (apply_poly_transforms): Simplify.
- (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
- (print_isl_map): Same.
- (print_isl_union_map): Same.
- (print_isl_schedule): New.
- (debug_isl_schedule): New.
- * graphite-dependences.c (scop_get_reads): Do not call
- isl_union_map_add_map that is undocumented isl functionality.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (scop_get_original_schedule): Remove.
- (scop_get_dependences): Do not call isl_union_map_compute_flow that
- is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
- (compute_deps): Remove.
- * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
- (debug_schedule_ast): New.
- (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
- set_separate_option.
- (graphite_regenerate_ast_isl): Add dump.
- (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
- from scop->transformed_schedule.
- (graphite_regenerate_ast_isl): Add more dump.
- * graphite-optimize-isl.c (optimize_isl): Set
- scop->transformed_schedule. Check whether schedules are equal.
- (apply_poly_transforms): Move here.
- * graphite-poly.c (apply_poly_transforms): ... from here.
- (free_poly_bb): Static.
- (free_scop): Static.
- (pbb_number_of_iterations_at_time): Remove.
- (print_isl_ast): New.
- (debug_isl_ast): New.
- (debug_scop_pbb): New.
- * graphite-scop-detection.c (print_edge): Move.
- (print_sese): Move.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
- (build_scop_scattering): Remove.
- (create_pw_aff_from_tree): Assert instead of bailing out.
- (add_condition_to_pbb): Remove unused code, do not fail.
- (add_conditions_to_domain): Same.
- (add_conditions_to_constraints): Remove.
- (build_scop_context): New.
- (add_iter_domain_dimension): New.
- (build_iteration_domains): Initialize pbb->iterators.
- Call add_conditions_to_domain.
- (nested_in): New.
- (loop_at): New.
- (index_outermost_in_loop): New.
- (index_pbb_in_loop): New.
- (outermost_pbb_in): New.
- (add_in_sequence): New.
- (add_outer_projection): New.
- (outer_projection_mupa): New.
- (add_loop_schedule): New.
- (build_schedule_pbb): New.
- (build_schedule_loop): New.
- (embed_in_surrounding_loops): New.
- (build_schedule_loop_nest): New.
- (build_original_schedule): New.
- (build_poly_scop): Call build_original_schedule.
- * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
- (free_poly_dr): Remove.
- (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
- (free_poly_bb): Remove.
- (debug_loop_vec): Remove.
- (print_isl_ast): Declare.
- (debug_isl_ast): Declare.
- (scop_do_interchange): Remove.
- (scop_do_strip_mine): Remove.
- (scop_do_block): Remove.
- (flatten_all_loops): Remove.
- (optimize_isl): Remove.
- (pbb_number_of_iterations_at_time): Remove.
- (debug_scop_pbb): Declare.
- (print_schedule_ast): Declare.
- (debug_schedule_ast): Declare.
- (struct scop): Remove schedule. Add original_schedule,
- transformed_schedule.
- (free_gimple_poly_bb): Remove.
- (print_generated_program): Remove.
- (debug_generated_program): Remove.
- (unify_scattering_dimensions): Remove.
- * sese.c (print_edge): ... here.
- (print_sese): ... here.
- (debug_edge): ... here.
- (debug_sese): ... here.
- * sese.h (print_edge): Declare.
- (print_sese): Declare.
- (dump_edge): Declare.
- (dump_sese): Declare.
-
-2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * Makefile.in: Set ISLVER in site.exp.
-
-2016-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
- DECL_VALUE_EXPR of new_var even for the non-array case. Look
- through DECL_VALUE_EXPR for expansion.
-
-2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
- the frame info after reload completed.
-
-2016-01-25 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69196
- PR tree-optimization/68398
- * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
- tree-ssa-threadupdate.c.
- (determine_bb_domination_status): Prototype
- * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
- (determine_bb_domination_status): No longer static.
- (valid_jump_thread_path): Remove code to detect characteristics
- of the jump thread path not associated with correctness.
- * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
- Correct test for thread path length. Count PHIs for real operands as
- statements that need to be copied. Do not count ASSERT_EXPRs.
- Look at all the blocks in the thread path. Compute and selectively
- filter thread paths based on threading through the latch, threading
- a multiway branch or crossing a multiway branch.
-
-2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
- decl with __attribute__ ((unused)) annotation.
-
-2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/69421
- * tree-vect-stmts.c (vectorizable_condition): Check vectype
- of operands is compatible with a statement vectype.
-
-2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
- improve wording for mixed storage order support.
-
-2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
- (vcvt_u64_f64): Likewise.
- (vcvta_s64_f64): Likewise.
- (vcvta_u64_f64): Likewise.
- (vcvtm_s64_f64): Likewise.
- (vcvtm_u64_f64): Likewise.
- (vcvtn_s64_f64): Likewise.
- (vcvtn_u64_f64): Likewise.
- (vcvtp_s64_f64): Likewise.
- (vcvtp_u64_f64): Likewise.
-
-2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
- (arc_init): Check validity mll64 option.
- (arc_save_restore): Use double load/store instruction.
- (arc_expand_movmem): Likewise.
- (arc_split_move): Don't split if we have double load/store
- instructions. Returns a boolean.
- (arc_process_double_reg_moves): Change function to return boolean
- instead of a sequence of instructions.
- (arc_dwarf_register_span): New function.
- * config/arc/arc-protos.h (arc_split_move): Change prototype.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
- * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
- (*movdf_insn): Likewise.
- * config/arc/arc.opt (mll64): New option.
- * config/arc/predicates.md (even_register_operand): New predicate.
- * doc/invoke.texi (ARC Options): Add mll64 documentation.
-
-2016-01-25 Richard Biener <rguenther@suse.de>
-
- PR lto/69393
- * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
- * tree-streamer-out.c (pack_ts_base_value_fields): Stream
- DECL_NAMELESS.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
-
-2016-01-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69376
- * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
- flag.
- (VN_INFO_ANTI_RANGE_P): New inline.
- (VN_INFO_RANGE_TYPE): Likewise.
- * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
- SSA_NAME_ANTI_RANGE_P.
- (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Properly query VN_INFO_RANGE_TYPE.
-
-2016-01-25 Nick Clifton <nickc@redhat.com>
-
- PR target/66655
- * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
-
-2016-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69426
- * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
- removed clobber.
-
-2016-01-23 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
- "the the" with "the" in the comments.
- * ipa-devirt.c (build_type_inheritance_graph,
- update_type_inheritance_graph): Likewise.
- * tree.c (build_function_type_list_1): Likewise.
- * cfgloopmanip.c (scale_loop_profile): Likewise.
- * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
- * gimple-ssa-split-paths.c
- (find_block_to_duplicate_for_splitting_paths): Likewise.
- * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
- * expr.c (convert_move): Likewise.
- * var-tracking.c (vt_stack_adjustments): Likewise.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
- * tree-vrp.c (test_for_singularity): Likewise.
-
- * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
- directly instead of building a temporary tree.
-
- PR bootstrap/69434
- * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
- remove <algorithm> include.
-
-2016-01-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69432
- * config/i386/i386.c: Include dojump.h.
- (expand_small_movmem_or_setmem,
- expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
- fixes.
- (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
- if dynamic_check != -1.
-
-2016-01-21 Jeff Law <law@redhat.com>
-
- PR middle-end/69347
- * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
- record_temporary_equivalences. Rewritten to avoid unnecessary calls
- into dominated_by_p.
- (cprop_into_successor_phis): Avoid unnecessary tests.
-
-2016-01-22 Richard Henderson <rth@redhat.com>
-
- PR target/69416
- * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
- (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
-
-2016-01-22 Michael Matz <matz@suse.de>
-
- * system.h (string, algorithm): Include only conditionally.
- (new): Include always under C++.
- * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
- * final.c (toplevel): Ditto.
- * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
- * genconditions.c (write_header): Make gencondmd.c define
- INCLUDE_STRING.
- * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
-
- * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
- * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
-
-2016-01-22 Christian Bruel <christian.bruel@st.com>
-
- PR target/68674
- * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
-
-2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69403
- * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
- define_insn_and_split. Ensure operands[1] and operands[0] do not
- get assigned the same register.
-
-2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
-
-2016-01-22 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-c.c (arm_pragma_target_parse):
- Remove warn_builtin_macro_redefined overwrite.
-
-2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
- flag_non_call_exceptions compatibility.
-
-2016-01-22 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/66668
- * dwarf2out.c (add_child_die_after): New function.
- (dwarf_qual_info_t): New type.
- (dwarf_qual_info): New variable.
- (qualified_die_p): New function.
- (modified_type_die): For -fdebug-types-section, ensure
- canonical order of qualifiers. Put qualified DIEs adjacent
- to the corresponding non-qualified type DIE and search there
- for existing qualified DIEs.
-
-2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/extend.texi (scalar_storage_order type attribute): Document
- restriction on type punning and aliasing, and remove future tense.
-
-2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
-
- PR target/69252
- * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
- first stage.
-
-2016-01-21 Jeff Law <law@redhat.com>
-
- PR middle-end/69347
- * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
- useless call to record_temporary_equivalences.
- * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
- allocate 10 slots in the bb_path vector and let it grow as needed.
- (fsm_find_control_statement_thread_paths): Similarly for the next_path
- vector.
-
-2016-01-21 David Edelsohn <dje.gcc@gmail.com>
-
- * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
- Detangle.
- * configure: Regenerate.
-
-2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
- * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
-
-2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
-
- PR middle-end/66178
- * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
- drop EXPAND_INITIALIZER.
- * rtl.h (contains_symbolic_reference_p): Declare.
- * rtlanal.c (contains_symbolic_reference_p): New function.
- * simplify-rtx.c (simplify_binary_operation_1): Don't turn
- a subtraction into a NOT if symbolic constants are involved.
-
-2016-01-21 Anton Blanchard <anton@samba.org>
- Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/63354
- * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
- #define.
- * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
- function.
-
-2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.c
- (get_branch_target): New.
- (insert_wic_for_ilb_runout): New.
- (insert_wic): New.
- (microblaze_machine_dependent_reorg): New.
- (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
- * config/microblaze/microblaze.md
- (UNSPEC_IPREFETCH): Define.
- (iprefetch): New pattern
- * config/microblaze/microblaze.opt
- (mxl-prefetch): New flag.
-
-2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.h
- (FIXED_REGISTERS): Update in macro.
- (CALL_USED_REGISTERS): Update in macro.
-
-2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR rtl-optimization/68920
- * ifcvt.c (cond_move_process_if_block): Limit number of conditional
- moves.
-
-2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68990
- * lra-coalesce.c (lra_coalesce): Invalidate value for the result
- pseudo instead of inheritance ones.
-
-2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
- Nick Clifton <nickc@redhat.com>
-
- PR target/69129
- PR target/69012
- * config/mips/mips.c (mips_compute_frame_info): Initialise
- args_size and hard_frame_pointer_offset fields of the frame
- structure before calling mips_global_pointer.
-
-2016-01-21 David Edelsohn <dje.gcc@gmail.com>
-
- * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
- label reference.
- * configure: Regenerate.
-
-2016-01-21 Richard Biener <rguenther@suse.de>
-
- * graphite-optimize-isl.c (get_schedule_map): Fix typo.
-
-2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
-
- * config/s390/s390.c (s390_asm_declare_function_size): Add code
- to actually emit the .size directive.
-
-2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/69187
- PR target/65624
- * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
- args array size by one to avoid buffer overflow.
-
-2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
-
- * config/s390/s390.md (pool_section_start): Use switch_to_section
- to select proper read-only data section instead of hardcoding
- .rodata.
- (pool_section_end): Use switch_to_section to match the above.
-
-2016-01-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69378
- * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
- (set_ssa_val_to): Use it for dominance checks taking into
- account not executable edges.
-
-2016-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/69355
- * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
- for bitsize instead of GET_MODE_PRECISION (mode).
-
-2016-01-20 Martin Sebor <msebor@redhat.com>
-
- PR c/52291
- * extend.texi (__sync Builtins): Clarify the semantics of
- __sync_fetch_and_OP built-ins on pointers.
- (__atomic Builtins): Same.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
- (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
- (is_valid_rename): Same.
- (translate_isl_ast_to_gimple::get_rename): Same.
- (translate_isl_ast_to_gimple::rename_all_uses): Same.
- (translate_isl_ast_to_gimple::rename_uses): Same.
- (get_new_name): Check for close_phi nodes.
- (copy_loop_phi_args): Use phi_node_kind.
- (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
- (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- Revert commit r229783.
- * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
- Remove use of parameter_rename_map.
- (copy_def): Remove.
- (copy_internal_parameters): Remove.
- (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
- * sese.c (new_sese_info): Do not initialize parameter_rename_map.
- (free_sese_info): Do not free parameter_rename_map.
- (set_rename): Do not use parameter_rename_map.
- (rename_uses): Update call to set_rename.
- (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
- * sese.h (parameter_rename_map_t): Remove.
- (struct sese_info_t): Remove field parameter_rename_map.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c: Fix comment.
- * graphite-scop-detection.c (defined_in_loop_p): New.
- (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
- names defined in loop.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
- Discard unstructured if-then-else regions.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
- (cleanup_loop_iter_dom): Remove.
- (build_loop_iteration_domains): Remove.
- (build_scop_context): Remove.
- (build_scop_iteration_domain): Remove.
- (add_loop_constraints): New.
- (build_iteration_domains): New.
- (build_poly_scop): Call build_iteration_domains.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c
- (scop_detection::harmful_loop_in_region): Free dom and loops.
- (scop_detection::loop_body_is_valid_scop): Free bbs.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (record_loop_in_sese): New.
- (gather_bbs::before_dom_children): Call record_loop_in_sese.
- (build_scops): Remove call to build_sese_loop_nests.
- * sese.c (sese_record_loop): Remove.
- (build_sese_loop_nests): Remove.
- (new_sese_info): Remove region->loops.
- (free_sese_info): Same.
- * sese.h (sese_contains_loop): Same.
- (build_sese_loop_nests): Remove.
- (sese_contains_loop): Remove.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (loop_is_valid_scop): Renamed
- loop_is_valid_in_scop.
- (scop_detection::harmful_stmt_in_region): Renamed
- harmful_loop_in_region.
- Call loop_is_valid_in_scop.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
- isl_ast_node_mark.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
- * graphite.h (struct poly_bb): Remove field is_reduction.
- (PBB_IS_REDUCTION): Remove.
-
-2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
- (add_pdr_constraints): Same.
- (scop_get_reads): Same.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (scop_get_original_schedule): Same.
- (extend_schedule): Same.
- (apply_schedule_on_deps): Same.
- (carries_deps): Same.
- (compute_deps): Same.
- (scop_get_dependences): Same.
- * graphite-isl-ast-to-gimple.c
- (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
- * graphite-optimize-isl.c (get_schedule_for_band): Same.
- (get_schedule_for_band_list): Same.
- (get_schedule_map): Same.
- (apply_schedule_map_to_scop): Same.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
- (build_loop_iteration_domains): Same.
- (add_condition_to_pbb): Same.
- (add_param_constraints): Same.
- (pdr_add_memory_accesses): Same.
- (pdr_add_data_dimensions): Same.
-
-2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
- requirements.
-
-2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
-
- * common.opt (feliminate-dwarf2-dups): Replace references to
- "DWARF 2" with just "DWARF".
- * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
- * doc/extend.texi: Likewise.
- * doc/cpp.texi: Likewise.
- * doc/invoke.texi: Likewise.
- (Option Summary): Add -gdwarf to list of Debugging Options.
- (Debugging Options): Document -gdwarf.
- * doc/contrib.texi: Spell "DWARF" like that.
-
-2016-01-21 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
- warning. Fix up formatting.
-
- PR middle-end/67653
- * gimplify.c (gimplify_asm_expr): Warn if it is too late to
- attempt to mark memory input operand addressable and
- call prepare_gimple_addressable in that case. Don't adjust
- input_location for diagnostics, use error_at instead.
-
-2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/ppc-auxv.h: New file.
- * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
- (cpu_is): Likewise.
- (cpu_supports): Likewise.
- * config/rs6000/rs6000.c: include "ppc-auxv.h".
- (cpu_is_info): New variable.
- (cpu_supports_info): Likewise.
- (tcb_verification_symbol): Likewise.
- (cpu_builtin_p): Likewise.
- (cpu_expand_builtin): New function.
- (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
- (rs6000_init_builtins): Likewise.
- (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
- * config/rs6000/rs6000.h (TLS_REGNUM): New define.
- * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
- * configure: Regenerate.
- * config.in: Likewise.
- * doc/extend.texi (PowerPC Built-in Functions): Document
- __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
-
-2016-01-20 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/68609
- * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
- domain check.
- * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
- for V4SFmode.
-
-2016-01-20 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/69343
- PR bootstrap/69339
- PR tree-opt/68964
- Revert:
- * tree.c (tm_define_builtin): New.
- (find_tm_vector_type): New.
- (build_tm_vector_builtins): New.
- (build_common_builtin_nodes): Call it.
-
-2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
- (arm_fp_ok): Likewise.
- (arm_fp): Likewise.
- (arm_crypto): Likewise.
-
-2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69328
- * tree-vect-stmts.c (vect_is_simple_cond): Check compared
- vectors have same number of elements.
- (vectorizable_condition): Fix masked version recognition.
-
-2016-01-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69345
- * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
- (VN_INFO_PTR_INFO): Likewise.
- * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
- info when it is equal between non-dominating SSA names.
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Make sure to look at original SSA infos.
-
-2016-01-20 Jeff Law <law@redhat.com>
-
- PR target/25114
- * config/m68k/predicates.md (pow2_m1_operand): New predicate
- extracted from ...
- (reg_or_pow2_m1_operand): Call pow2_m1_operand.
- (pc_or_label_operand): New predicate.
- * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
- tests for small integers that are 2^n - 1.
-
-2016-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (Options Summary): Add '.' after @xref.
-
-2016-01-19 Jeff Law <law@redhat.com>
-
- PR middle-end/69347
- * tree-ssa-threadbackwards.c
- (fsm_find_control_statement_thread_paths): Do not try to lookup
- FSM paths for SSA_NAMEs appearing in abnormal PHIs.
-
-2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * doc/lto.texi: Remove text that says only Gold has linker plugin
- support.
-
-2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
- (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
- the DIE accordingly.
- (modified_type_die): Add REVERSE parameter and pass it recursively,
- as well as to base_type_die. Adjust presence check accordingly.
- (base_type_for_mode): Adjust call to modified_type_die.
- (add_type_attribute): Add REVERSE parameter and pass it to
- modified_type_die.
- (generic_parameter_die): Adjust call to add_type_attribute.
- (add_scalar_info): Likewise.
- (add_subscript_info): Likewise.
- (gen_array_type_die): Likewise.
- (gen_descr_array_type_die): Likewise.
- (gen_entry_point_die): Likewise.
- (gen_enumeration_type_die): Likewise.
- (gen_formal_parameter_die): Likewise.
- (gen_subprogram_die): Likewise.
- (gen_variable_die ): Likewise.
- (gen_const_die): Likewise.
- (gen_field_die): Likewise.
- (gen_pointer_type_die): Likewise.
- (gen_reference_type_die): Likewise.
- (gen_ptr_to_mbr_type_die): Likewise.
- (gen_inheritance_die): Likewise.
- (gen_subroutine_type_die): Likewise.
- (gen_typedef_die): Likewise.
- (force_type_die): Adjust call to modified_type_die.
-
-2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/standards.texi: Copy-editing for grammar, markup, and sentence
- flow throughout the file. Fix broken link to Objective-C 2.0
- documentation.
- * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
- errors.
-
-2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-
- * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
-
-2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66223
- * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
- (maybe_record_node): Record cxa_pure_virtual as the only possible
- target if there are not ohter candidates.
- (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
-
-2016-01-19 Richard Biener <rguenther@suse.de>
-
- * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
- (get_memory_order): Likewise.
-
-2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * tree-vect-stmts.c (vectorizable_store): Check
- rhs vectype.
-
-2016-01-19 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/68446
- * gcc.c (driver::decode_argv): Add call to
- init_opts_obstack before init_options_struct.
- * opts.c (init_opts_obstack): Remove idempotency.
- (init_options_struct): Replace call to init_opts_obstack
- with a gcc_assert to verify that it has already been called.
- * toplev.c (toplev::main): Add call to init_opts_obstack before
- calls to init_options_struct.
- (toplev::finalize): Move cleanup of opts_obstack next to
- cleanup of save_decoded_options, clearing the latter, and
- save_decoded_options_count.
-
-2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/69135
- * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
- attribute to unconditional. Remove %? from output template.
-
-2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
- generated from different expand order.
-
-2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-
- * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
- Add support for CCMP costing.
-
-2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-
- * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
- * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
- (fccmpe<mode>): Likewise.
- (fcmp): Rename to fcmp and globalize pattern.
- (fcmpe): Likewise.
- * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
- (aarch64_gen_ccmp_next): Add FP support.
-
-2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-
- * target.def (gen_ccmp_first): Update documentation.
- (gen_ccmp_next): Likewise.
- * doc/tm.texi (gen_ccmp_first): Update documentation.
- (gen_ccmp_next): Likewise.
- * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
- expand_ccmp_expr_1. Improve comments.
- * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
- (ccmp_ior<mode>): Remove pattern.
- (cmp<mode>): Remove expand.
- (cmp): Globalize pattern.
- (cstorecc4): Use cc_register.
- (mov<mode>cc): Remove ccmp_cc_register check.
- * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
- Simplify after removal of CC_DNE/* modes.
- (aarch64_ccmp_mode_to_code): Remove.
- (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
- In 'k' case use integer as condition.
- (aarch64_nzcv_codes): Remove inverted cases.
- (aarch64_code_to_ccmode): Remove.
- (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
- comparison with CC register to be used in folowing CCMP/branch/CSEL.
- (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
- pattern. Return the comparison with CC register. Invert conditions
- when bitcode is OR.
- * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
- * config/aarch64/predicates.md (ccmp_cc_register): Remove.
-
-2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraphunit.c (cgraph_node::reset): Clear thunk info and
- instrumented_version.
-
-2016-01-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69336
- * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
- handled components with get_ref_base_and_extent.
- (equal_mem_array_ref_p): Adjust.
-
-2016-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65779
- * shrink-wrap.c: Include valtrack.h.
- (move_insn_for_shrink_wrap): Add DEBUG argument. If
- MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
- in between insn and where it will be moved to. Call
- dead_debug_insert_temp.
- (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
- first and dead_debug_local_finish at the end.
- For uses and defs bitmap, handle all regs in between REGNO and
- END_REGNO, not just the first one.
-
-2016-01-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69352
- * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
- (equal_mem_array_ref_p): Constrain size and max size properly.
- Compare the reverse flag.
-
-2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
-
- * ira.c (ira): Update regstat data if we deleted insns.
-
-2016-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68955
- PR rtl-optimization/64557
- * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
- here. Fix up formatting.
- * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
-
-2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/69133
- * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
- assume that the node has body.
- * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
- check.
-
-2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (lto_output): Do not stream instrumentation
- thunks.
-
-2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * symtab.c (symtab_node::asm_name): Do not call printable name directly.
- (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
-
-2016-01-19 Martin Jambor <mjambor@suse.cz>
- Martin Liska <mliska@suse.cz>
- Michael Matz <matz@suse.de>
-
- * Makefile.in (OBJS): Add new source files.
- (GTFILES): Add hsa.c.
- * common.opt (disable_hsa): New variable.
- (-Whsa): New warning.
- * config.in (ENABLE_HSA): New.
- * configure.ac: Treat hsa differently from other accelerators.
- (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
- $enable_offloading.
- (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
- * doc/install.texi (Configuration): Document --with-hsa-runtime,
- --with-hsa-runtime-include, --with-hsa-runtime-lib and
- --with-hsa-kmt-lib.
- * doc/invoke.texi (-Whsa): Document.
- (hsa-gen-debug-stores): Likewise.
- * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
- to invoke offload compiler for hsa acclerator.
- * opts.c (common_handle_option): Determine whether HSA offloading
- should be performed.
- * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
- * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
- * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
- * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
- GF_OMP_FOR_KIND_GRID_LOOP.
- (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
- (pp_gimple_stmt_1): Likewise.
- * gimple-walk.c (walk_gimple_stmt): Likewise.
- * gimple.c (gimple_build_omp_grid_body): New function.
- (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
- * gimple.def (GIMPLE_OMP_GRID_BODY): New.
- * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
- GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
- GF_OMP_TEAMS_GRID_PHONY.
- (gimple_statement_omp_single_layout): Updated comments.
- (gimple_build_omp_grid_body): New function.
- (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
- (gimple_omp_for_grid_phony): New function.
- (gimple_omp_for_set_grid_phony): Likewise.
- (gimple_omp_parallel_grid_phony): Likewise.
- (gimple_omp_parallel_set_grid_phony): Likewise.
- (gimple_omp_teams_grid_phony): Likewise.
- (gimple_omp_teams_set_grid_phony): Likewise.
- (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
- * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
- (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
- (BUILT_IN_GOMP_TARGET): Updated type.
- * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
- (adjust_for_condition): New function.
- (get_omp_for_step_from_incr): Likewise.
- (extract_omp_for_data): Moved parts to adjust_for_condition and
- get_omp_for_step_from_incr.
- (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
- (fixup_child_record_type): Bail out if receiver_decl is NULL.
- (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
- (scan_omp_parallel): Do not create child functions for phony
- constructs.
- (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
- (scan_omp_1_op): Checking assert we are not remapping to
- ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
- (parallel_needs_hsa_kernel_p): New function.
- (expand_parallel_call): Register apprpriate parallel child
- functions as HSA kernels.
- (grid_launch_attributes_trees): New type.
- (grid_attr_trees): New variable.
- (grid_create_kernel_launch_attr_types): New function.
- (grid_insert_store_range_dim): Likewise.
- (grid_get_kernel_launch_attributes): Likewise.
- (get_target_argument_identifier_1): Likewise.
- (get_target_argument_identifier): Likewise.
- (get_target_argument_value): Likewise.
- (push_target_argument_according_to_value): Likewise.
- (get_target_arguments): Likewise.
- (expand_omp_target): Call get_target_arguments instead of looking
- up for teams and thread limit.
- (grid_expand_omp_for_loop): New function.
- (grid_arg_decl_map): New type.
- (grid_remap_kernel_arg_accesses): New function.
- (grid_expand_target_kernel_body): New function.
- (expand_omp): Call it.
- (lower_omp_for): Do not emit phony constructs.
- (lower_omp_taskreg): Do not emit phony constructs but create for them
- a temporary variable receiver_decl.
- (lower_omp_taskreg): Do not emit phony constructs.
- (lower_omp_teams): Likewise.
- (lower_omp_grid_body): New function.
- (lower_omp_1): Call it.
- (grid_reg_assignment_to_local_var_p): New function.
- (grid_seq_only_contains_local_assignments): Likewise.
- (grid_find_single_omp_among_assignments_1): Likewise.
- (grid_find_single_omp_among_assignments): Likewise.
- (grid_find_ungridifiable_statement): Likewise.
- (grid_target_follows_gridifiable_pattern): Likewise.
- (grid_remap_prebody_decls): Likewise.
- (grid_copy_leading_local_assignments): Likewise.
- (grid_process_kernel_body_copy): Likewise.
- (grid_attempt_target_gridification): Likewise.
- (grid_gridify_all_targets_stmt): Likewise.
- (grid_gridify_all_targets): Likewise.
- (execute_lower_omp): Call grid_gridify_all_targets.
- (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
- * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
- (tree_omp_clause): Added union field dimension.
- * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
- * tree.c (omp_clause_num_ops): Added number of arguments of
- OMP_CLAUSE__GRIDDIM_.
- (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
- (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
- * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
- (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
- (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
- (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
- * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
- * tree-pass.h (make_pass_gen_hsail): Declare.
- (make_pass_ipa_hsa): Likewise.
- * ipa-hsa.c: New file.
- * lto-section-in.c (lto_section_name): Add hsa section name.
- * lto-streamer.h (lto_section_type): Add hsa section.
- * timevar.def (TV_IPA_HSA): New.
- * hsa-brig-format.h: New file.
- * hsa-brig.c: New file.
- * hsa-dump.c: Likewise.
- * hsa-gen.c: Likewise.
- * hsa.c: Likewise.
- * hsa.h: Likewise.
- * toplev.c (compile_file): Call hsa_output_brig.
- * hsa-regalloc.c: New file.
-
-2016-01-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69320
- * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
- ranged object, do nothing if the RHS constant is not [0..1].
- (optimize_stmt): Comparing a boolean ranged object against a
- constant outside [0..1] results in a compile-time constant.
-
- * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
- test.
-
-2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Invoking GCC): Add new section to menu.
- (Option Summary): Update to reflect new section and moved options.
- (C++ Dialect Options): Move -fstats to new section.
- (Debugging Options): Move all dump, statistics, and other GCC
- developer options to new section. Rewrite section introduction
- and re-order remaining options to put the more basic ones first.
- (Optimization Options): Move -fira-verbose and -flto-report* to
- new section.
- (Developer Options): New section incorporating moved options.
- * doc/cppopts.texi (-dM): Update cross-reference.
-
-2016-01-18 Richard Henderson <rth@redhat.com>
-
- PR target/69176
- * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
- operands to pseudo only if CSE is expected. Split long immediate
- operands only after reload, and for the stack pointer.
- (*add<GPI>3_pluslong): Remove.
- (*addsi3_aarch64, *adddi3_aarch64): Merge into...
- (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
- (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
- (*add<GPI>3 peepholes): New.
- (*add<GPI>3 splitters): New.
- * config/aarch64/constraints.md (Upl): New.
- * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
-
-2016-01-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69297
- * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
- stmt at most once.
- (vect_bb_vectorization_profitable_p): Clear visited flag again.
-
-2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR middle-end/68542
- * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
- of mixind vector and scalar types.
- (fold_relational_const): Add handling of vector
- comparison with boolean result.
- * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
- comparison of vector operands with boolean result for EQ/NE only.
- (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
- (verify_gimple_cond): Likewise.
- * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
- valid type of VAL.
-
-2016-01-18 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
- !TARGET_OCTEON.
-
-2016-01-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/69308
- * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
-
-2016-01-18 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
-
-2016-01-18 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (set_oacc_fn_attrib): Make extern.
- * omp-low.h (set_oacc_fn_attrib): Declare.
- * tree-parloops.c (struct reduction_info): Add reduc_addr field.
- (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
- (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
- Add and handle function parameter oacc_kernels_p.
- (find_reduc_addr, get_omp_data_i_param): New function.
- (ref_conflicts_with_region, oacc_entry_exit_ok_1)
- (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
- (parallelize_loops): Add and handle function parameter oacc_kernels_p.
- Calculate dominance info. Skip loops that are not in a kernels region
- in oacc_kernels_p mode. Skip inner loops of parallelized loops.
- (pass_parallelize_loops::execute): Call parallelize_loops with
- oacc_kernels_p argument.
- (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
- New member function.
- (pass_parallelize_loops::bool oacc_kernels_p): New member var.
- * passes.def: Add argument to pass_parallelize_loops instantation.
-
-2016-01-18 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (pass_parallelize_loops::execute): Allow
- pass_parallelize_loops to be run outside the loop pipeline.
-
-2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-scalar-evolution.c (follow_copies_to_constant): New.
- (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
-
-2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/63679
- * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
- using get_ref_base_and_extent.
- (equal_mem_array_ref_p): New.
- (hashable_expr_equal_p): Add call to previous.
-
-2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/63679
- * tree-sra.c (disqualified_constants, constant_decl_p): New.
- (sra_initialize): Allocate disqualified_constants.
- (sra_deinitialize): Free disqualified_constants.
- (disqualify_candidate): Update disqualified_constants when appropriate.
- (create_access): Scan for constant-pool entries as we go along.
- (scalarizable_type_p): Add check against type_contains_placeholder_p.
- (maybe_add_sra_candidate): Allow constant-pool entries.
- (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
- (initialize_constant_pool_replacements): New.
- (sra_modify_assign): Avoid mangling assignments created by previous,
- and don't generate writes into constant pool.
- (sra_modify_function_body): Call initialize_constant_pool_replacements.
-
-2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386.c (scalar_to_vector_candidate_p): Support
- andnot instruction.
- (scalar_chain::convert_op): Likewise.
- * config/i386/i386.md (*andndi3_doubleword): New.
-
-2016-01-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69170
- * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
- building a vector from scalar results of a pattern stmt.
-
-2016-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * haifa-sched.c (autopref_multipass_init): Work around
- -Wmaybe-uninitialized warning.
-
-2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/arm.c (thumb1_reorg): Check that the comparison is
- against the constant 0.
-
-2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/68799
- * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
- look up phi candidates in the statement-candidate map.
- (phi_add_costs): Likewise.
- (record_phi_increments): Likewise.
- (phi_incr_cost): Likewise.
- (ncd_with_phi): Likewise.
- (all_phi_incrs_profitable): Likewise.
-
-2016-01-17 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
- -Wmaybe-uninitialized warning.
-
-2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Invoking GCC): Add new section to menu.
- (Option Summary): Update to reflect new section and moved options.
- (C++ Dialect Options): Move -fvtable-verify and related options.
- (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
- and profiling-related options.
- (Optimization Options): Move profile generation options and
- -fstack-protector and related options.
- (Instrumentation Options): New section incorporating moved options.
- (Code Generation Options): Move -finstrument-functions and
- related options, -fstack-check, -fstack-limit*, and -fbounds-check.
-
-2016-01-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
-
-2016-01-16 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
-
-2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h (hash_table::empty): Turn into an inline wrapper
- that checks whether the table is already empty. Rename the
- original implementation to...
- (hash_table::empty_slot): ...this new private function.
-
-2016-01-15 David Malcolm <dmalcolm@redhat.com>
-
- PR diagnostic/68899
- * diagnostic-show-locus.c (layout::print_source_line): Move x
- offset of line until after call to
- get_line_width_without_trailing_whitespace.
-
-2016-01-15 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69270
- * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
- tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
- * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
- * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
- * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
- ssa_name_has_boolean_range and constant_boolean_node.
-
-2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/69030
- * lra-spills.c (remove_pseudos): Check nrefs and make the function
- returning bool.
- (spill_pseudos): Delete debug insn for dead pseudo.
- (lra_spill): Initiate spill_hard_reg and slots memory separately.
-
-2016-01-15 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
- New.
- (TYPES_UNOPUS): Likewise.
- * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
- builtin type, from UNOP to UNOPUS.
- (lbtruncuv4sf): Likewise.
- (lbtruncuv2df): Likewise.
- (lrounduv2sf): Likewise.
- (lrounduv4sf): Likewise.
- (lrounduv2df): Likewise.
- (lroundusf): Likewise.
- (lroundusf): Likewise.
- (lceiluv2sf): Likewise.
- (lceiluv4sf): Likewise.
- (lceiluv2df): Likewise.
- (lceilusf): Likewise.
- (lceiludf): Likewise.
- (lflooruv2sf): Likewise.
- (lflooruv4sf): Likewise.
- (lflooruv2df): Likewise.
- (lfloorusf): Likewise.
- (lfloorudf): Likewise.
- (lfrintnuv2sf): Likewise.
- (lfrintnuv4sf): Likewise.
- (lfrintnuv2df): Likewise.
- (lfrintnusf): Likewise.
- (lfrintnudf): Likewise.
- * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
- conversion.
- (vcvtq_u32_f32): Likewise.
- (vcvtq_u64_f64): Likewise.
- (vcvta_u32_f32): Likewise.
- (vcvtaq_u32_f32): Likewise.
- (vcvtaq_u64_f64): Likewise.
- (vcvtm_u32_f32): Likewise.
- (vcvtmq_u32_f32): Likewise.
- (vcvtmq_u64_f64): Likewise.
- (vcvtn_u32_f32): Likwise.
- (vcvtnq_u32_f32): Likewise.
- (vcvtnq_u64_f64): Likewise.
- (vcvtp_u32_f32): Likewise.
- (vcvtpq_u32_f32): Likewise.
- (vcvtpq_u64_f64): Likewise.
- (vcvtmd_u64_f64): Likewise.
- (vcvtms_u32_f32): Likewise.
- (vcvtad_u64_f64): Likewise.
- (vcvtas_u32_f32): Likewise.
- (vcvtnd_u64_f64): Likewise.
- (vcvtns_u32_f32): Likewise.
- (vcvtpd_u64_f64): Likewise.
- (vcvtps_u32_f32): Likewise.
-
-2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
- CSEL of zero_extended registers.
-
-2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
- Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
-
-2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
- false when argument string is not found in the attributes table
- at all.
-
-2016-01-15 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/68609
- * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
- (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
- * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
- precision estimate.
-
-2016-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66856
- * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
- * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
- (vect_create_new_slp_node): Increment stmt reference count.
- (vect_get_and_check_slp_defs): Make sure stmts are nor already in
- an SLP tree before swapping operands.
- (vect_build_slp_tree): Likewise.
- (destroy_bb_vec_info): Free stmt info after SLP instances.
- * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
- * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
- (STMT_VINFO_NUM_SLP_USES): New macro.
-
-2016-01-15 Richard Biener <rguenther@suse.de>
-
- PR debug/69137
- * dwarf2out.c (add_linkage_name_raw): New function split out from ...
- (add_linkage_name): ... here.
- (gen_typedef_die): Use add_linkage_name_raw instead of
- add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
- if necessary.
-
-2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
-
- * gimplify.c (oacc_default_clause): Decode reference and pointer
- types for both kernels and parallel regions.
-
-2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
-
- PR middle-end/69246
- * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
-
-2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
- (convert_scalars_to_vector): Likewise.
-
-2016-01-15 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (Type Traits): Fix grammar.
-
-2016-01-15 Martin Jambor <mjambor@suse.cz>
-
- * tree-inline.c (remap_decl): Use existing dclarations if
- remapping a type and prevent_decl_creation_for_types.
- (replace_locals_stmt): Do an initial remapping of non-VLA typed
- decls first. Do real remapping with
- prevent_decl_creation_for_types set.
- * tree-inline.h (copy_body_data): New field
- prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
- padding.
-
-2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.opt (mmvcle): More verbose help text.
-
-2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.opt: Add period to -mzvector option text.
-
-2016-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68961
- * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
- of invariants in stores again.
-
-2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
-
-2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386.c (ix86_expand_branch): Don't split
- DI mode xor instruction to SI mode.
-
-2016-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68148
- * ipa-icf.c (sem_function::merge): Virtual functions may become
- reachable even if they address is not taken and there are no
- idrect calls.
-
-2016-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (subtract_estimated_size): New function.
- (get_symbol_initial_value): Use it.
-
-2016-01-15 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
- (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
- (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
- use add_builtin_function_ext_scope instead of add_builtin_function.
- (neon_set_p, neon_crypto_set_p): Remove.
- (arm_init_builtins): Always call arm_init_neon_builtins and
- arm_init_crypto_builtins.
- (arm_expand_builtin): Check that builtins are allowed for the arch.
- * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
- * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
- arm_init_neon_builtins call.
-
-2016-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69117
- * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
- * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
- of the leader conservatively.
- (free_scc_vn): Restore original SSA name infos.
-
-2016-01-14 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69270
- * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
- single bit of precision, verify it's also unsigned.
- (record_edge_info): Use constant_boolean_node rather than fold_convert
- to convert boolean_true/boolean_false to the right type.
-
-2016-01-14 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/69014
- * loop-doloop.c (record_reg_sets): New.
- (doloop_optimize): Reject the transform if the sequence
- clobbers registers live at the end of the loop block.
- (doloop_optimize_loops): Enable df_live if needed.
-
-2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
- * config/rs6000/rs6000.c: Likewise.
- * config/rs6000/rs6000.h: Likewise.
- * config/rs6000/rs6000.md: Likewise.
- * doc/extend.texi: Likewsie.
-
-2016-01-14 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
- typo.
-
-2016-01-14 Richard Henderson <rth@redhat.com>
-
- PR c/69272
- PR tree-opt/68964
- * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
- * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
- instead of builtin_decl_declared_p to test for declaration.
-
-2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
-
- * doc/loop.texi (Loop Analysis and Representation): Document
- loop_depth function.
-
-2016-01-14 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68773
- * omp-low.c (expand_omp_target): Don't set force_output.
- * varpool.c (varpool_node::get_create): Same.
- * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
- offload_funcs with force_output.
-
-2016-01-14 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/69244
- * lra-eliminations.c (move_plus_up): Don't change anything if either
- the outer or inner subreg mode is not MODE_INT.
- * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
- integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
-
-2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
-
- * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
- reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
- reduc_uplus_@var{m}): Remove.
- * expr.c (expand_expr_real_2): Remove expansion path for
- reduc_[us](min|max|plus) optabs.
- * optabs-tree.c (scalar_reduc_to_vector): Remove.
- * optabs-tree.h (scalar_reduc_to_vector): Remove.
- * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
- reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
- * tree-vect-loop.c (vectorizable_reduction): Remove test for
- reduc_[us](min|max|plus) optabs.
-
-2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
- (reduc_plus_scal_v2sf): New.
- (reduc_smax_v2sf): Rename to...
- (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
- (reduc_smin_v2sf): Rename to...
- (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
-
-2016-01-14 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (compare_base_symbol_refs): New function.
- (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
- it.
-
-2016-01-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/68146
- PR tree-optimization/69155
- * tree-complex.c: Include cfganal.h.
- (phis_to_revisit): New variable.
- (extract_component): Add phiarg_p argument. Assert that returned
- SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
- (update_phi_components): Partly rewrite to use loop over real/imag
- components instead of code duplication. If extract_component returns
- SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
- create_tmp_reg into the PHI node instead, and mention the phi triplet
- in phis_to_revisit.
- (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
- in phis_to_revisit at the end.
-
-2016-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68060
- * tree-vect-loop.c (vect_is_simple_reduction): Check the
- outer loop reduction is only used in the inner loop before
- detecting a double reduction.
-
-2016-01-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68269
- * combine.c (expand_field_assignment): Punt if compute_mode is
- unsupported scalar mode.
-
-2016-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66856
- * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
- SLP node only if it built successfully.
- (vect_analyze_slp_instance): Adjust.
-
-2016-01-14 Jeff Law <law@redhat.com>
-
- PR tree-optimization/69270
- * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
- (record_edge_info): Use it. Convert boolean_{true,false}_node
- to the type of op0.
-
-2016-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66487
- * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
- use block_ultimate_origin
- (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
-
-2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Submodel Options): Rename section to
- "Machine-Dependent Options" to better reflect its content.
- Rewrite introductory text to remove archaic CPU names.
- Update references.
-
-2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Code Gen Options): Move section up in file,
- before target-specific options. Update menu and option summary
- to reflect the new section ordering.
-
-2016-01-13 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
- (C++ Dialect Options): Add cross-reference to -std option.
- * doc/standards.texi (C++ Language): Document C++14 support.
-
-2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
- for pack/unpack functions for __ibm128.
- (PACK_IF): Likewise.
- (UNPACK_IF): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
- support for __ibm128 pack/unpack functions.
- (rs6000_invalid_builtin): Likewise.
- (rs6000_init_builtins): Likewise.
- (rs6000_opt_masks): Likewise.
-
- * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
- (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
- functions
- (RS6000_BTM_COMMON): Likewise.
-
- * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
- (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
- disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
- 128-bit floating point. Add support for the double values to be
- in Altivec registers for TF/IF packing and unpacking, but restrict
- TD packing sub-fields to be FPR registers. Don't allow overlapped
- register support for packing. Allow pack inputs to be memory
- locations. Don't build generator functions for unpack<mode>_dm
- and unpack<mode>_nodm.
- (unpack<mode>_dm): Likewise.
- (unpack<mode>_nodm): Likewise.
- (pack<mode>): Likewise.
-
- * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
- built-in functions to pack/unpack explicit __ibm128 values.
- (__builtin_unpack_ibm128): Likewise.
-
- * doc/extend.texi (PowerPC Built-in Functions): Document
- __builtin_pack_ibm128 and __builtin_unpack_ibm128.
-
-2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
-
- PR c/66208
- * c-common.c (check_function_nonnull): Remove unnecessary declaration.
- Add new arg loc and pass it down as context.
- (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
- to the location to use for the warning.
- (check_function_arguments): New arg loc. All callers changed. Pass
- it to check_function_nonnull.
- * c-common.h (check_function_arguments): Adjust declaration.
-
-2016-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69156
- * gimple.c (validate_type): Removed.
- (gimple_builtin_call_types_compatible_p): Use
- useless_type_conversion_p instead of validate_type.
- * value-prof.c (gimple_stringop_fixed_value): Fold
- icall_size to correct type.
-
-2016-01-13 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
- effects.
-
-2016-01-13 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/68964
- * target.def (builtin_tm_load, builtin_tm_store): Remove.
- * config/i386/i386.c (ix86_builtin_tm_load): Remove.
- (ix86_builtin_tm_store): Remove.
- (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
- (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
- (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
- * doc/tm.texi: Rebuild.
-
- * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
- (BUILT_IN_TM_MEMCPY_RTWN): New.
- * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
- fallback from vector to integer helpers.
- (build_tm_load): Handle vector types directly, instead of
- via target hook.
- (build_tm_store): Likewise.
- (expand_assign_tm): Prepare for register types not handled by
- the above. Copy them to memory and use memcpy.
- * tree.c (tm_define_builtin): New.
- (find_tm_vector_type): New.
- (build_tm_vector_builtins): New.
- (build_common_builtin_nodes): Call it.
-
-2016-01-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
- TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
-
-2016-01-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69169
- * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
- handled_struct_type param.
- (create_variable_info_for, intra_create_variable_infos): Call
- create_variable_info_for_1 with extra arg.
-
-2016-01-13 Yvan Roux <yvan.roux@linaro.org>
-
- * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
- and "armv8.1-a+crc" entries.
-
-2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/69228
- * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
- Change first operand predicate from register_or_constm1_operand
- to register_operand.
- (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
- (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
- (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
- (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
- (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
- (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
- (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
- * config/i386/i386.c (ix86_expand_builtin): Remove first operand
- comparison with constm1_rtx from vec_prefetch_gen part.
-
-2016-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69013
- * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
- Exchange assert for a test.
-
-2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/69247
- * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
-
-2016-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69242
- * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
- assert with a check.
-
-2016-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69186
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Properly guard vect_update_misalignment_for_peel call.
-
-2016-01-12 Jeff Law <law@redhat.com>
-
- PR tree-optimization/pr67755
- * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
- "need_profile_correction".
- (thread_block_1): Initialize new field to false by default. If we
- have multiple thread paths through a common joiner to different
- final targets, then set new field to true.
- (compute_path_counts): Only do count adjustment when it's really
- needed.
-
-2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Spec Files): Move section down in file, past
- all command-line option descriptions.
-
-2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- PR middle-end/54809
- * doc/gty.texi: Remove documentation of mark_hook.
- * gengtype.c (struct write_types_data): Remove code to support
- mark_hook attribute.
- (walk_type): Likewise.
- (write_func_for_structure): Likewise.
-
-2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
- Directory Options, and -specs= to Overall Options.
- (Overall Options): Adjust similarly. Reorder to group related
- options together. Make -specs= cross-reference the spec file details.
- (Directory Options): Adjust similarly.
-
-2016-01-12 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
-
-2016-01-12 Olivier Hainque <hainque@adacore.com>
-
- * gcc.c (spec_undefvar_allowed): New global.
- (process_command): Set to true when running for --version or --help,
- alone or together.
- (getenv_spec_function): When the variable is not defined, use the
- variable name as the variable value if we're allowed not to issue
- a fatal error.
-
-2016-01-12 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/68911
- * tree-vrp.c (adjust_range_with_scev): Check overflow in range
- information computed for expression "init + nit * step".
-
-2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
- about name of GCC executable. Remove deleted node from menu.
- (Directory Options) <-B>: Remove cross-reference to deleted node.
- (Target Options): Delete section.
-
-2016-01-12 Christian Bruel <christian.bruel@st.com>
-
- PR target/69180
- * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
- for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
-
-2016-01-12 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69198
- * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
- aligned_mem is properly set for AVX512-VL floating point masked
- stores.
-
- PR target/69175
- * ifcvt.c (cond_exec_process_if_block): When removing the last
- insn from then_bb, remove also any possible barriers that follow it.
-
-2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/68456
- PR target/69226
- * config/i386/iamcu.h (SIZE_TYPE): New macro.
- (PTRDIFF_TYPE): Likewise.
- (WCHAR_TYPE): Likewise.
- (WCHAR_TYPE_SIZE): Likewise.
- (STDINT_LONG32): Likewise.
-
-2016-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69053
- * tree-vect-loop.c (get_initial_def_for_reduction): Properly
- convert initial value for cond reductions.
-
-2016-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69007
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
- widen_sum after dot_prod and sad.
-
-2016-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69168
- * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
- pattern stmt SLP type.
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
- end up unused so cope with that case.
-
-2016-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69157
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check
- stmts def type only during analyze phase.
- (vectorizable_call): Likewise.
- (vectorizable_simd_clone_call): Likewise.
- (vectorizable_conversion): Likewise.
- (vectorizable_assignment): Likewise.
- (vectorizable_shift): Likewise.
- (vectorizable_operation): Likewise.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
-
-2016-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69174
- * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
- space.
- (vectorizable_load): Properly compute the number of loads needed
- for permuted strided SLP loads and do not spuriously assign
- to SLP_TREE_VEC_STMTS.
-
-2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
-
- * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
- (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
- (MD_EXEC_PREFIX): Remove.
- (MD_STARTFILE_PREFIX) Removee.
- (FILE_NAME_ABSOLUTE_P): Remove.
- (CPP_SPEC): Do not read macros from sys/version.h.
- (LINK_COMMAND_SPEC): Remove.
- (LOCAL_INCLUDE_DIR): Remove.
- (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
- (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
- (POST_LINK_SPEC): Define to invoke stubify after linker
- (LIBSTDCXX): Remove define
- (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
- (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
- (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
- (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
- (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
- (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
- (i386_djgpp_asm_named_section): Add propotype of new procedure
-
- * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
- (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
- (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
- in config/i386/djgpp.h).
- (STANDARD_STARTFILE_PREFIX_2): Define identical to
- STANDARD_STARTFILE_PREFIX_1.
- (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
- (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
- installation errors.
- (MAX_OFILE_ALIGNMENT): Define to 128.
- (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
-
- * config/i386/djgpp.c: New file. Add implementation of
- i386_djgpp_asm_named_section.
-
- * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
-
- * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
- Add rule for building djgpp.o.
-
-2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (v2df_reduction_p): New function.
- (rtx_is_swappable_p): Reductions are swappable.
- (insn_is_swappable_p): V2DF reductions are swappable.
-
-2016-01-11 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
- reloads for other unsupported memory operands.
-
-2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
- Jim Wilson <jim.wilson@linaro.org>
-
- PR target/69194
- * config/arm/arm-builtins.c (arm_expand_neon_args): Call
- copy_to_mode_reg instead of force_reg.
-
-2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/69225
- * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
- TARGET_80387 is true.
-
-2016-01-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/69071
- * lra-eliminations.c (move_plus_up): Only move plus up
- if subreg of the constant can be simplified into constant
- and use the simplified subreg of the constant instead of
- the original constant.
-
- * fold-const.c (fold_convertible_p): Don't return true
- for conversion of VECTOR_TYPE to same sized integral type.
- (fold_convert_loc): Fix up formatting. Fold conversion of
- VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
- instead of NOP_EXPR.
-
- PR tree-optimization/69214
- * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
- innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
- Formatting fix.
-
- PR tree-optimization/69207
- * tree-vect-slp.c (vect_get_constant_vectors): For
- VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
- fold_convertible_p to vector_type's element type, and always
- use VCE for non-VECTOR_BOOLEAN_TYPE_P.
-
-2016-01-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/69173
- * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
- fixup the cycle if all stmts are in a pattern.
-
-2016-01-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/68999
- * alias.c (base_alias_check): Move check for addresses with
- alignment ANDs before the call for compare_base_decls.
- (memrefs_conflict_p): Return -1 for different decls
- that went through alignment adjustments.
-
-2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68796
- * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
- * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
- and QImode comparisons against zero with CC_NZmode.
- * config/aarch64/iterators.md (short_mask): New mode_attr.
-
-2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
- (<avx512>_store<mode>_mask): Likewise.
-
-2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68841
- * ifcvt.c (struct noce_if_info): Add orig_x field.
- (bbs_ok_for_cmove_arith): Add to_rename parameter.
- Don't record conflicts on to_rename if it's present.
- Allow memory destinations in sets.
- (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
- blocks, passing orig_x to the checks.
- (noce_process_if_block): Set if_info->orig_x appropriately.
-
-2016-01-11 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69069
- * tree-parloops.c (create_parallel_loop): Add missing phi args.
-
-2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR rtl-optimization/68920
- * config/i386/i386.c (ix86_option_override_internal): Restrict number
- of conditional moves for RTL if-conversion to 1 for
- TARGET_ONE_IF_CONV_INSN.
- * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
- * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
- * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
- parameter to restirct number of conditional moves for
- RTL if-conversion.
- * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
- * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
- conditionl moves.
-
-2016-01-11 Alexandre Oliva <aoliva@redhat.com>
-
- PR bootstrap/69123
- * var-tracking.c (drop_overlapping_mem_locs): Operate on all
- onepart vars. Fix typo in comment. Fix reversed condition in
- unshare test.
- (dataflow_set_remove_mem_locs): Operate on all onepart vars.
-
- PR bootstrap/69123
- * var-tracking.c (dump_onepart_variable_differences): New.
- (dataflow_set_different): If a detailed dump is requested,
- delay early returns and dump differences between onepart
- variables present before and after, and added variables.
-
-2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/69010
- * expr.c (expand_expr_real_1): For boolean vector constants
- with a scalar mode use const_scalar_mask_from_tree.
- (const_scalar_mask_from_tree): New.
- * optabs.c (expand_vec_cond_mask_expr): Use mask mode
- assigned to a mask type to handle constants.
-
-2016-01-11 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/69044
- * ipa-cp.c (estimate_local_effects): Do not clone for removal of
- useless parameters if we cannot change function signature.
-
-2016-01-11 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/66616
- * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
- flag.
-
-2016-01-11 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69109
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
- latch with phi.
-
-2016-01-11 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69108
- * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
- res is not used in a phi.
-
-2016-01-11 Yury Gribov <y.gribov@samsung.com>
-
- PR 67425
- * common.opt (frandom-seed): Fix parameter name.
- * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
-
-2016-01-11 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69058
- * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
- not supported.
-
-2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.opt (mdiv-rem): Add period to the end.
- (mcode-density): Likewise.
-
-2016-01-10 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69062
- * tree-parloops.c (loop_has_phi_with_address_arg): New function.
- (parallelize_loops): Don't paralelize loop that has phi with address
- arg.
-
-2016-01-10 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/69039
- * tree-parloops.c (try_create_reduction_list): Only allow single exit
- phi for reduction.
-
-2016-01-09 John David Anglin <danglin@gcc.gnu.org>
-
- PR middle-end/68743
- * match.pd: Require target has function_c99_misc before doing
- truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
-
-2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
-
- * configure.ac (isl_options_set_schedule_serialize_sccs): Also
- use GMPINC.
+ * Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
* configure: Regenerate.
+ * config.in: Regenerate.
-2016-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/50865
- PR tree-optimization/69097
- * fold-const.h (expr_not_equal_to): New prototype.
- * fold-const.c: Include stringpool.h and tree-ssanames.h.
- (expr_not_equal_to): New function.
- * match.pd (X % -Y is the same as X % Y): Don't optimize
- unless X is known not to be equal to minimum or Y is known
- not to be equal to -1.
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
- fold TRUNC_MOD_EXPR if the second argument is not a power of two.
- (simplify_stmt_using_ranges): Adjust caller.
- (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
- substitute_and_fold.
-
-2016-01-09 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
- w/o DECL_NAME.
-
-2016-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69167
- * gimple-fold.c (replace_stmt_with_simplification): Also punt if
- new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
- ops[0] comparison.
- * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
-
-2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68707
- * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
- instances that can be handled via vect_load_lanes.
-
-2016-01-08 Uros Bizjak <ubizjak@gmail.com>
-
- * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
- if we can't determine address equivalence.
- * alias.c (compare_base_decl): Update for changed return value of
- symtab_node::equal_address_to.
-
-2016-01-08 Jason Merrill <jason@redhat.com>
-
- PR c++/68983
- PR c++/67557
- * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
- * expr.c (store_field): Not here.
- * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
- call with TREE_ADDRESSABLE type.
- * tree-cfg.c (verify_gimple_call): Adjust.
-
-2016-01-08 Olivier Hainque <hainque@adacore.com>
-
- * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
- libc_internal.
-
-2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
- (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
- (reduc_smin_v2sf): Rename to...
- (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
- (reduc_splus_v2sf): Rename to...
- (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
-
-2016-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69162
- * gimplify.c (gimplify_va_arg_expr): Encode original type of
- valist argument in another argument.
- (gimplify_modify_expr): Adjust for the above change. Cleanup.
- * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
- to determine the va_list type, build a MEM_REF instead of
- build_fold_indirect_ref.
-
- PR tree-optimization/69172
- * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
- gimple_build.
-
-2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/67781
- * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
- and cmpnop in two steps: first the ones not accessed in original
- gimple expression in a endian independent way and then the ones not
- accessed in the final result in an endian-specific way.
-
-2016-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69083
- * tree-vect-slp.c (vect_get_constant_vectors): For
- VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
- element type. If op is fold_convertible_p to vector_type's element
- type, use NOP_EXPR instead of VCE.
-
-2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67778
- PR rtl-optimization/68634
- PR rtl-optimization/68909
- * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
- block from the stack until done with it. Remove a superfluous
- bitmap set. Remove a superfluous bitmap test.
-
-2016-01-07 Martin Sebor <msebor@redhat.com>
-
- PR c/68966
- * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
- constraint on the type of arguments.
-
-2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
- SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
- unaligned_access on the gcc_options set.
- * config/arm/arm.c (arm_option_override_internal): Use
- SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
-
-2016-01-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/69140
- * config/i386/i386.c (ix86_frame_pointer_required): Enable
- frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
-
-2016-01-07 Uros Bizjak <ubizjak@gmail.com>
-
- Revert
- 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/69140
- * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
- depending on frame_pointer_needed before remaining integer and SSE
- registers are saved.
-
-2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 1078
- * doc/extend.texi (Nvidia PDX Function Attributes): New section.
-
-2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/69171
- * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
- Use the "xBm" constraint.
- (float<sseintvecmodelower><mode>2<mask_name><round_name):
- Likewise.
- (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
- (sse_cvtsi2ssq<round_name>): Likewise.
- (sse_cvtss2si<round_name>): Likewise.
- (sse_cvtss2siq<round_name>): Likewise.
- (sse2_cvtsi2sdq<round_name>): Likewise.
- (sse2_cvtsd2si<round_name>): Likewise.
- (sse2_cvtsd2siq<round_name>): Likewise.
- * config/i386/subst.md (round_nimm_scalar_predicate): New
- predicate.
-
-2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
-
- PR middle-end/67639
- * varasm.c (make_decl_rtl): Mark invalid register vars as
- DECL_EXTERNAL.
-
- PR rtl-optimization/66206
- * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
- All callers changed.
-
-2016-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69141
- * tree-ssa-pre.c: Include langhooks.h.
- (eliminate_dom_walker::before_dom_children): Use
- lang_hooks.decl_printable_name instead of
- cgraph_node::get ()->name ().
-
- PR middle-end/68960
- * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
- it and DECL_ALIGN too.
-
-2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-ftypes.def: Sort to lexicographical order.
-
-2016-01-06 Uros Bizjak <ubizjak@gmail.com>
+2017-01-04 Jakub Jelinek <jakub@redhat.com>
- PR target/69140
- * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
- depending on frame_pointer_needed before remaining integer and SSE
- registers are saved.
+ PR bootstrap/77569
+ * input.c (ebcdic_execution_charset::on_error): Don't use strstr for
+ a substring of the message, but strcmp with the whole message. Ifdef
+ ENABLE_NLS, translate the message first using dgettext.
-2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+2017-01-03 Jeff Law <law@redhat.com>
- * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
- mode iterator with VSX_M2.
- (*p9_vecstore_<mode>): Likewise.
- (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
- (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
- (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
- (define_split for VSX_LE128 stores): Likewise.
- (define_peephole2 for TImode LE swaps): Likewise.
- (define_split for VSX_LE128 post-reload stores): Likewise.
+ PR tree-optimizatin/78856
+ * tree-ssa-threadupdate.c: Include tree-vectorizer.h.
+ (mark_threaded_blocks): Remove code to truncate thread paths that
+ cross multiple loop headers. Instead invalidate the cached loop
+ iteration information and handle case of a thread path walking
+ into an irreducible region.
-2016-01-06 Marek Polacek <polacek@redhat.com>
+2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
- PR sanitizer/69099
- * convert.c (convert_to_integer_1): Adjust call to
- ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
- * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
- EXPR instead of ARG.
- * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
+ PR target/78900
+ * config/rs6000/rs6000.c (rs6000_split_signbit): Change some
+ assertions. Add support for doing the signbit if the IEEE 128-bit
+ floating point value is in a GPR.
+ * config/rs6000/rs6000.md (Fsignbit): Delete.
+ (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
+ Update the length attribute if the value is in a GPR.
+ (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
+ the sign or zero extension instruction, since the value is always
+ 0/1.
+ (signbit<mode>2_dm2): Delete using <Fsignbit>.
-2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ PR target/78953
+ * config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
+ extracting SImode to a GPR register so that we can generate a
+ store, limit the vector to be in a traditional Altivec register
+ for the vextuwrx instruction.
- PR 1078
- * doc/extend.texi (RL78 Variable Attributes): New section.
+2017-01-03 Ian Lance Taylor <iant@google.com>
-2016-01-05 Marek Polacek <polacek@redhat.com>
+ * godump.c (go_format_type): Treat ENUMERAL_TYPE like
+ INTEGER_TYPE.
- PR c/69104
- * builtins.c (get_memmodel): Use expansion point location rather than
- the input location. Call warning_at rather than warning.
- (expand_builtin_atomic_compare_exchange): Likewise.
- (expand_builtin_atomic_load): Likewise.
- (expand_builtin_atomic_store): Likewise.
- (expand_builtin_atomic_clear): Likewise.
+2017-01-03 Martin Sebor <msebor@redhat.com>
-2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
+ PR tree-optimization/78696
+ * gimple-ssa-sprintf.c (format_floating): Correct handling of
+ precision. Use MPFR for %f for greater fidelity. Correct handling
+ of %g.
+ (pass_sprintf_length::compute_format_length): Set width and precision
+ specified by asrerisk to void_node for vararg functions.
+ (try_substitute_return_value): Adjust dump output.
- PR target/68991
- * config/i386/i386.c (ix86_expand_vector_logical_operator):
- Replace nonimmediate_operand with vector_operand.
- * config/i386/predicates.md (vector_operand): New predicate.
- (general_vector_operand): Replace nonimmediate_operand with
- vector_operand.
- * config/i386/sse.md: Replace nonimmediate_operand with
- vector_operand and m constraint with Bm constraint on SSE
- patterns with 16-byte memory operand.
- * config/i386/subst.md (round_nimm_predicate): Replace
- nonimmediate_operand with vector_operand.
- (round_saeonly_nimm_predicate): Likewise.
- (round_saeonly_nimm_scalar_predicate): New.
+2017-01-03 David Edelsohn <dje.gcc@gmail.com>
-2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
+ * doc/invoke.texi (RS6000 options): LRA is enabled by default.
- PR target/68991
- * config/i386/constraints.md (Bm): New constraint.
- * config/i386/predicates.md (vector_memory_operand): New
- predicate.
- * config/i386/sse.md: Replace xm with xBm in plusminus and
- any_logic patterns.
+2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
-2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ * doc/invoke.texi (SPARC options): Document -mlra as the default.
+ * config/sparc/sparc.c (sparc_option_override): Force LRA unless
+ -mlra/-mno-lra was passed to the compiler.
- PR 1078
- * doc/extend.texi (V850 Function Attributes): New section.
- (V850 Variable Attributes): New section.
+2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
-2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ PR rtl-optimization/65618
+ * emit-rtl.c (try_split): Move initialization of "before" and
+ "after" to just before the call to emit_insn_after_setloc.
- PR 1078
- * doc/extend.texi (MicroBlaze Function Attributes): Document
- interrupt_handler and fast_interrupt attributes.
+2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
-2016-01-05 Sergei Trofimovich <siarheit@google.com>
+ * doc/md.texi (Standard Names): Remove reference to Java frontend.
- PR other/60465
- * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
- for local symbolic operands.
- * config/ia64/predicates.md (local_symbolic_operand64): New
- predicate.
+2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
-2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * dwarf2out.c (gen_enumeration_type_die): When
+ -gno-strict-dwarf, add a DW_AT_encoding attribute.
- PR rtl-optimization/68651
- * combine.c (combine_simplify_rtx): Canonicalize x + x into
- x << 1.
+2017-01-03 Jakub Jelinek <jakub@redhat.com>
-2016-01-05 Nathan Sidwell <nathan@acm.org>
+ PR tree-optimization/78965
+ * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
+ Change first argument from const call_info & to call_info &. For %n
+ set info.nowrite to false.
- * alias.c (compare_base_decls): Use symtab_node::get.
+ PR middle-end/78901
+ * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
+ possibly throwing calls.
-2016-01-05 Nick Clifton <nickc@redhat.com>
+ * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
+ and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
+ and fns handling, rather than in a separate case SSA_NAME.
- PR target/68770
- * ira-costs.c (copy_cost): Initialise the t_icode field of the
- secondary_reload_info structure.
+2017-01-02 Jeff Law <law@redhat.com>
- PR target/66655
- * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
- decls if weak support is available.
+ * config/darwin-driver.c (darwin_driver_init): Const-correctness
+ fixes for first_period and second_period variables.
-2016-01-04 Martin Sebor <msebor@redhat.com>
+2017-01-02 Uros Bizjak <ubizjak@gmail.com>
- * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
+ PR target/78967
+ * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
+ (*insvqi_1): New insn pattern.
+ (*insvqi_1_mem_rex64): Ditto.
+ (*insvqi_2): Ditto.
+ (*insvqi_3): Rename from *insvqi.
-2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
+ (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
- OPTION_MASK_P9_DFORM.
+2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
- * config/rs6000/constraints.md (wo constraint): New constraint for
- ISA 3.0 (power9).
+ * doc/cfg.texi (Edges): Remove reference to Java.
+ (Maintaining the CFG): Ditto.
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
- for wo constraint.
- (rs6000_init_hard_regno_mode_ok): Likewise.
+2017-01-01 Jan Hubicka <hubicka@ucw.cz>
- * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
- wo constraint.
+ PR middle-end/77674
+ * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
+ transparent aliases.
- * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
- expanders not to have constraints. Add support for ISA 3.0 xxperm
- instruction. Add support for fusing xxlor with xxperm.
- (altivec_vperm_<mode>_internal): Likewise.
- (altivec_vperm_v8hiv16qi): Likewise.
- (altivec_vperm_<mode>v16q): Likewise.
- (altivec_vperm_<mode>_uns): Likewise.
- (vperm_v8hiv4si): Likewise.
- (vperm_v16qiv8hi): Likewise.
+2017-01-01 Jan Hubicka <hubicka@ucw.cz>
- * doc/md.texi (RS/6000 constraints): Document wo constraint.
+ PR middle-end/77484
+ * predict.def (PRED_CALL): Update hitrate.
+ (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
+ * predict.c (tree_estimate_probability_bb): Split CALL predictor
+ into direct/indirect/polymorphic variants.
-2016-01-04 Jakub Jelinek <jakub@redhat.com>
+2017-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
-
-2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
- modes larger than TImode as TImode if NEON is not enabled.
-
-2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/69100
- * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
- mode for %f0-%f31 only if TARGET_FPU.
-
-2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/69072
- * config/sparc/sparc.c (scan_record_type): Take into account subfields
- to compute the PACKED_P predicate.
- (function_arg_record_value): Minor tweaks.
-
-2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * doc/install.texi (--with-multilib-list): Describe the meaning of the
- option for arm*-*-* targets.
-
-2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Common Function Attributes): Move docs for
- MSP430-specific attributes to....
- (MSP430 Function Attributes): ...here. Delete the redundant
- entries and copy-edit the remaining text.
- (MSP430 Variable Attributes): Use uniform format for index
- entries and add a cross-reference to the corresponding function
- attribute docs.
-
-2016-01-03 Vladimír Čunát <vcunat@gmail.com>
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
- -finite-math typo.
- (x86 Options): Likewise.
-
-2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 1078
-
- * extend.texi (Common Function Attributes) <no_stack_limit>: New.
- * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
- to corresponding attribute.
-
-2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Common Function Attributes) <noplt>: Move
- to correct alphabetization of table. Copy-edit and correct
- markup.
- <stack_protect>: Likewise.
- <target_clones>: Likewise.
- <simd>: Likewise.
- * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
- Correct punctuation.
- (Code Gen Options) <-fno-plt>: Copy-edit.
-
-2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/68917
- * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
- SI values. Explicitly convert SI to DI and vice-versa.
-
-2016-01-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/69070
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
- REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
-
- PR sanitizer/69055
- * ubsan.c (ubsan_instrument_float_cast): Call
- initialize_sanitizer_builtins.
-
- PR target/69015
- * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
\f
-Copyright (C) 2016 Free Software Foundation, Inc.
+Copyright (C) 2017 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright