re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
[gcc.git] / gcc / ChangeLog
index 88506a587ebf5a66ad2e99db6df49a65494f1d92..f0077b8d605e9821827bdc14a21200c26e7fb4b5 100644 (file)
@@ -1,3 +1,163 @@
+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  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_.
        * 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.
-       Add __builtin_nanq and __builtin_nansq builtin functions.
+       (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.