* Partially revert my previous commit.
[gcc.git] / gcc / ChangeLog
index c589250be68ced74f89d7c72e11b7ed93d3c986f..5c3375e550e11fa482fd51af76533ef808756a87 100644 (file)
@@ -1,3 +1,351 @@
+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_.
+       (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
            Jiong Wang  <jiong.wang@arm.com>
 
        PR rtl-optimization/70751
-       * lra-constraints.c (process_alt_operands): Recognize Non-pseudo spilled
-       into memory.
+       * lra-constraints.c (process_alt_operands): Recognize Non-pseudo
+       spilled into memory.
 
-2016-06-09 Jonathan Yong  <10walls@gmail.com>
+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>
+       * 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.
+       Delete.
 
 2016-06-09  David Malcolm  <dmalcolm@redhat.com>
 
 
 2016-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
-       * simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local
-       variable.
+       * simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local variable.
 
 2016-06-07  Jakub Jelinek  <jakub@redhat.com>
 
        only edges out of BB are EH edges.
 
 2016-06-04  Martin Sebor  <msebor@redhat.com>
-           Marcin Baczyński <marbacz@gmail.com>
+           Marcin Baczyński  <marbacz@gmail.com>
 
        PR c/48116
        * doc/invoke.texi (-Wreturn-type): Mention not warning on return with