Mark -fstack-protect as optimization flag.
[platform/upstream/gcc.git] / gcc / ChangeLog
index 52b3e1c..1c63e41 100644 (file)
@@ -1,3 +1,145 @@
+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.