1. 20 Sep, 2016 27 commits
    • Add IPA VRP · 8bc5448f
      gcc/lto/ChangeLog:
      2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* lto-partition.c: Include tree-vrp.h.
      	* lto.c: Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* g++.dg/ipa/pure-const-3.C: Add -fno-ipa-vrp. Else constant arguments
      	will be optimized away.
      	* gcc.dg/ipa/vrp1.c: New test.
      	* gcc.dg/ipa/vrp2.c: New test.
      	* gcc.dg/ipa/vrp3.c: New test.
      
      gcc/ChangeLog:
      
      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.
      
      From-SVN: r240292
      Kugan Vivekanandarajah committed
    • Add Early VRP · 973625a0
      gcc/ChangeLog:
      
      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.
      
      
      gcc/testsuite/ChangeLog:
      
      2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* g++.dg/tree-ssa/pr31146-2.C: Run with -fno-tree-evrp as evrp also
      	does the same transformation.
      	* g++.dg/warn/pr33738.C: XFAIL as optimization now happens in ccp.
      	* gcc.dg/tree-ssa/evrp1.c: New test.
      	* gcc.dg/tree-ssa/evrp2.c: New test.
      	* gcc.dg/tree-ssa/evrp3.c: New test.
      	* gcc.dg/tree-ssa/pr20657.c: Check for the pattern in evrp dump.
      	* gcc.dg/tree-ssa/pr22117.c: Likewise.
      	* gcc.dg/tree-ssa/pr61839_2.c: Likewise.
      	* gcc.dg/tree-ssa/pr64130.c: Likewise.
      	* gcc.dg/tree-ssa/pr37508.c: Change the pattern to be checked as
      	foling now happens early.
      	* gcc.dg/tree-ssa/vrp04.c: Likewise.
      	* gcc.dg/tree-ssa/vrp06.c: Likewise.
      	* gcc.dg/tree-ssa/vrp16.c: Likewise.
      	* gcc.dg/tree-ssa/vrp25.c: Likewise.
      	* gcc.dg/tree-ssa/vrp67.c: Likewise.
      
      From-SVN: r240291
      Kugan Vivekanandarajah committed
    • Report DejaGnu ERROR messages in dg-extract-results. · aa9baacf
      2016-09-20  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* dg-extract-results.py: Report DejaGnu error in the final
      	summary.
      	* dg-extract-results.sh: Likewise.
      
      From-SVN: r240289
      Christophe Lyon committed
    • Report DejaGnu ERROR messages in compare_tests · b0a5704b
      2016-09-20  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* compare_tests: Take ERROR messages into account when
                comparing.
      
      From-SVN: r240288
      Christophe Lyon committed
    • trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through comment. · 60590933
      	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through
      	comment.
      
      From-SVN: r240286
      Marek Polacek committed
    • syscall: build export_unix_test.go on solaris · 321f72a2
          
          Patch from Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/29436
      
      From-SVN: r240285
      Ian Lance Taylor committed
    • i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2. · ed34fc97
      	* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
      	instead of exact_log2.
      
      From-SVN: r240281
      Uros Bizjak committed
    • re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type… · 3c191794
      re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type ‘std::ofstr eam {aka std::basic_ofstream<char>}’ with extended alignment 16)
      
      	PR go/77625
      
          compiler: allocate std::ofstream as a local variable
          
          GCC PR 77625 points out a warning about new std::ofstream.  I don't know
          how that is supposed to work, but in this case the std::ofstream may as
          well be a local variable anyhow.
          
          Reviewed-on: https://go-review.googlesource.com/29435
      
      From-SVN: r240279
      Ian Lance Taylor committed
    • re PR tree-optimization/77621 (Internal compiler error for mtune=atom + msse2) · 9b1ba33c
      	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.
      
      testsuite/ChangeLog:
      
      	PR target/77621
      	* gcc.target/i386/pr77621.c: New test.
      	* gcc.target/i386/vect-double-2.c: Update scan-tree-dump-times
      	pattern, loop should vectorize with -mtune=atom.
      
      From-SVN: r240277
      Uros Bizjak committed
    • re PR go/77642 (GO Bootstrap fail starting with r239872 splitstack signature does not match) · b276eda4
      	PR go/77642
      
          runtime: pass correct type to __splitstack_find
          
          The code was passing uintptr* to a function that expected size_t*.
          
          Based on patch by Andreas Krebbel.
          
          Fixes GCC PR 77642.
          
          Reviewed-on: https://go-review.googlesource.com/29433
      
      From-SVN: r240275
      Ian Lance Taylor committed
    • invoke.texi (Warning Options): Simplify language. · c7922247
      	* doc/invoke.texi (Warning Options): Simplify language.
      	(Optimize Options): Complete sentence.
      
      From-SVN: r240274
      Gerald Pfeifer committed
    • rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use… · 00cc7cbf
      rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use the VMRGEW instruction instead of a permute.
      
      2016-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* 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.
      
      From-SVN: r240272
      Michael Meissner committed
    • [PATCH] [AArch64] Add missing attributes to arm_neon.h · c55b5440
      Committed on behalf of Tamar Christina  <tamar.christina@arm.com>
      
      gcc/
      
      	* 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.
      
      From-SVN: r240271
      Tamar Christina committed
    • vax.h (ELIMINABLE_REGS): Define. · 978fc7d4
      2016-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * config/var/vax.h (ELIMINABLE_REGS): Define.
              (INITIAL_ELIMINATION_OFFSET): Define.
      
      From-SVN: r240269
      Bernd Edlinger committed
    • re PR testsuite/63299 (ASan reported alloc-dealloc-mismatch in g++.old-deja/g++.jason/init3.C) · f5bd4ad8
      	PR testsuite/63299
      	* g++.old-deja/g++.jason/init3.C (My_string::~My_string): Use delete[]
      	instead of delete.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r240268
      Maxim Ostapenko committed
    • re PR c++/77626 (ICE with -Wall on x86_64-linux-gnu (internal compiler error:… · b912f962
      re PR c++/77626 (ICE with -Wall on x86_64-linux-gnu (internal compiler error: Segmentation fault, byte_from_pos, cxx_fold_indirect_ref))
      
      	PR c++/77626
      	* constexpr.c (cxx_fold_indirect_ref): Don't call byte_position on
      	FIELD_DECLs with error_mark_node type.  Remove useless break; after
      	return.
      
      	* g++.dg/other/pr77626.C: New test.
      
      From-SVN: r240267
      Jakub Jelinek committed
    • re PR c++/77638 (ICE on x86_64-linux-gnu (internal compiler error: tree check:… · eaf1ece1
      re PR c++/77638 (ICE on x86_64-linux-gnu (internal compiler error: tree check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in cp_parser_template_declaration_after_parameters, at cp/parser.c:25722))
      
      	PR c++/77638
      	* parser.c (cp_parser_template_declaration_after_parameter): For 2
      	argument operator"" template set ok to false for
      	parm == error_mark_node.
      
      	* g++.dg/cpp0x/udlit-tmpl-arg-neg2.C: New test.
      
      From-SVN: r240266
      Jakub Jelinek committed
    • re PR c++/77637 (ICE on x86_64-linux-gnu (Segmentation fault, tree_check,… · 590b62e9
      re PR c++/77637 (ICE on x86_64-linux-gnu (Segmentation fault, tree_check, cp_parser_std_attribute_list...))
      
      	PR c++/77637
      	* parser.c (cp_parser_std_attribute_list): Reject ... without
      	preceding attribute.
      
      	* g++.dg/cpp0x/gen-attrs-62.C: New test.
      
      From-SVN: r240265
      Jakub Jelinek committed
    • re PR libstdc++/77619 (uninitialized_meow_construct and friends not exception safe) · 377f30c0
      	PR libstdc++/77619
      	* include/bits/stl_construct.h: (_Construct_novalue): New.
      	(_Destroy_n_aux, _Destroy_n): New.
      	* include/bits/stl_uninitialized.h: (type_traits):
      	New include in C++11 mode.
      	(__uninitialized_default_novalue_1): New.
      	(__uninitialized_default_novalue_n_1): Likewise.
      	(__uninitialized_default_novalue): Likewise.
      	(__uninitialized_default_novalue_n): Likewise.
      	(__uninitialized_copy_n_pair): Likewise.
      	(uninitialized_default_construct):
      	Use __uninitialized_default_novalue.
      	(uninitialized_default_construct_n):
      	Use __uninitialized_default_novalue_n.
      	(uninitialized_value_construct): Use __uninitialized_default.
      	(uninitialized_value_construct_n): Use __uninitialized_default_n.
      	(uninitialized_move): Use uninitialized_copy.
      	(uninitialized_move_n): Use __uninitialized_copy_n_pair.
      	(destroy_at): Use _Destroy.
      	(destroy): Likewise.
      	(destroy_n): Likewise.
      	* testsuite/20_util/specialized_algorithms/
      	memory_management_tools/1.cc: Add tests for exceptions,
      	add tests for trivial cases for construct and move.
      
      From-SVN: r240264
      Ville Voutilainen committed
    • re PR middle-end/77624 (ICE on x86_64-linux-gnu (internal compiler error: in… · 7d9cf801
      re PR middle-end/77624 (ICE on x86_64-linux-gnu (internal compiler error: in fold_builtin_atomic_always_lock_free, at builtins.c:5583))
      
      	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.
      
      	* c-c++-common/pr77624-1.c: New test.
      	* c-c++-common/pr77624-2.c: New test.
      
      From-SVN: r240263
      Jakub Jelinek committed
    • coarray_allocate_7.f08: Using + instead of fixed number of digits expected. · 3aebb6ff
      2016-09-20  Andre Vehreschild  <vehre@gcc.gnu.org>
      
              * gfortran.dg/coarray_allocate_7.f08: Using + instead of fixed number
              of digits expected.
      
      From-SVN: r240262
      Andre Vehreschild committed
    • re PR tree-optimization/77646 (GCC Segfault with -O3) · b5bbe47b
      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.
      
      	* gcc.dg/torture/pr77646.c: New testcase.
      
      From-SVN: r240261
      Richard Biener committed
    • Replace casts with floordiv operator in Python xmethods · 564beb5f
      	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
      	(DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
      
      From-SVN: r240258
      Jonathan Wakely committed
    • [GCC][PATCH] Add __artificial__ attribute to Aarch64 NEON intrinsics · a063e204
      Committed on behalf of Tamar Christina <tamar.christina@arm.com>.
      
      gcc/
      
      	* config/aarch64/arm_neon.h: Add gnu_inline and artificial
      	attributes to all inlined functions and make them extern.
      
      From-SVN: r240256
      Tamar Christina committed
    • debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook. · 68317985
      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.
      
      	lto/
      	* lto.c (lto_main): Call early_finish with "<artificial>" as
      	filename.
      
      From-SVN: r240255
      Richard Biener committed
    • Daily bump. · b7871393
      From-SVN: r240254
      GCC Administrator committed
  2. 19 Sep, 2016 13 commits
    • re PR c++/77434 (warn about suspicious precedence of ternary operator (?:)) · 144a96e4
      gcc:
      2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77434
              * doc/invoke.texi: Document -Wint-in-bool-context.
      
      c-family:
      2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77434
              * c.opt (Wcond-in-bool-context): New warning.
              * c-common.c (c_common_truthvalue_conversion): Warn on integer
              constants in boolean context.
      
      cp:
      2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77434
              * cvt.c (cp_convert_and_check): Suppress Wint-in-bool-context here.
      
      testsuite:
      2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77434
              * c-c++-common/Wint-in-bool-context.c: New test.
      
      From-SVN: r240251
      Bernd Edlinger committed
    • re PR other/77421 (Bugs found in GCC with the help of PVS-Studio) · 3385d437
      2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR middle-end/77421
              * dwarf2out.c (output_loc_operands): Fix an assertion.
      
      From-SVN: r240250
      Bernd Edlinger committed
    • Define TS 18661-1 CR_DECIMAL_DIG in <float.h>. · 1f2071fa
      TS 18661-1 defines a macro CR_DECIMAL_DIG in <float.h>, for the number
      of decimal digits for which conversions between decimal character
      strings and (IEEE) binary formats, in both directions, are correctly
      rounded.  This patch implements support for this macro in GCC's
      <float.h>.
      
      The definition __UINTMAX_MAX__ is the right one for GCC's conversions
      of floating constants, since I made those use MPFR to make them
      correctly rounding.  The macro also covers standard library functions
      such as strtod and printf.  The definition is also correct for current
      glibc.  If any targets' libcs support correct rounding in a way that
      conforms to TS 18661-1 with a smaller value of CR_DECIMAL_DIG, making
      <float.h> reflect that could not be done in isolation without changes
      to the interpretation of floating constants as well, since a smaller
      CR_DECIMAL_DIG requires double rounding of floating constants (first
      to CR_DECIMAL_DIG decimal digits, then to the desired binary format).
      
      Boostrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc:
      	* ginclude/float.h [__STDC_WANT_IEC_60559_BFP_EXT__]
      	(CR_DECIMAL_DIG): New macro.
      
      gcc/testsuite:
      	* gcc.dg/cr-decimal-dig-1.c: New test.
      
      From-SVN: r240249
      Joseph Myers committed
    • Make max_align_t respect _Float128. · 63012d9a
      The _FloatN, _FloatNx, _DecimalN and _DecimalNx types are specified in
      such a way that they are basic types, meaning that max_align_t must be
      at least as aligned as those types.
      
      On 32-bit x86, max_align_t is currently 8-byte aligned, but
      _Decimal128 and _Float128 are 16-byte aligned, so the alignment of
      max_align_t needs to increase to meet the standard requirements for
      these types.
      
      This patch implements such an increase.  Because max_align_t needs to
      be usable for C++ as well as for C, <stddef.h> can't actually refer to
      _Float128, but needs to use __float128 (or some other notation for the
      type) instead.  And since __float128 is architecture-specific, there
      isn't a preprocessor conditional that means "__float128 is available"
      (whereas one could test __FLT128_MANT_DIG__ to see if _Float128 is
      available; __SIZEOF_FLOAT128__ is available on x86 only).  But I
      believe the only case that actually has an alignment problem here is
      32-bit x86, and <stddef.h> already has lots of conditional specific to
      particular architectures or OSes, so this patch uses a conditional on
      __i386__; that also is the minimal change that ensures neither size
      nor alignment of max_align_t is changed in any case other than where
      it is necessary.  If any other architectures turn out to have such an
      issue, it will show up as failures of one of the testcases added by
      this patch.
      
      Such an increase is of course an ABI change, but a reasonably safe
      one, in that max_align_t doesn't tend to appear in library interfaces
      (rather, it's something to use when writing allocators and similar
      code; most matches found on codesearch.debian.net look like copies of
      the gnulib stddef.h module rather than anything actually using
      max_align_t at all).
      
      max_align_t_align has a corresponding change (adding _Float128 to the
      types considered).
      
      (I think glibc malloc alignment should also increase to 16-byte on
      32-bit x86 so it works for allocating objects of these types, which is
      now straightforward given the fix made for 32-bit powerpc.)
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu, and
      spot-tested with -m32 that the new float128-align.c test now compiles
      where previously it didn't.
      
      gcc:
      	* ginclude/stddef.h (max_align_t) [__i386__]: Add __float128
      	element.
      
      gcc/c-family:
      	* c-common.c (max_align_t_align): Also consider alignment of
      	float128_type_node.
      
      gcc/testsuite:
      	* gcc.dg/float128-align.c, gcc.dg/float128x-align.c,
      	gcc.dg/float16-align.c, gcc.dg/float32-align.c,
      	gcc.dg/float32x-align.c, gcc.dg/float64-align.c,
      	gcc.dg/float64x-align.c, gcc.dg/floatn-align.h: New tests.
      
      From-SVN: r240248
      Joseph Myers committed
    • re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call) · 02410826
      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  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/77416
      	* gcc.target/powerpc/pr77416.c: New.
      
      From-SVN: r240247
      Vladimir Makarov committed
    • Fix PR c++/77639 (ICE during error recovery) · 6101a7ab
      gcc/cp/ChangeLog:
      
      	PR c++/77639
      	* parser.c (cp_parser_class_head): When
      	processing_template_parmlist, don't assume that the
      	class-head may start an explicit specialization.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/77639
      	* g++.dg/template/error-recovery4.C: New test.
      
      From-SVN: r240245
      Patrick Palka committed
    • libstdc++/77645 fix deque and vector xmethods for Python 3 · d0f59435
      	PR libstdc++/77645
      	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
      	(DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
      	division to int to work with Python 3.
      
      From-SVN: r240241
      Jonathan Wakely committed
    • pr57558-1.c: Use unsigned int instead of unsigned long. · 1993ff76
      	gcc/testsuite
      	* gcc.dg/vect/pr57558-1.c: Use unsigned int instead of unsigned long.
      
      From-SVN: r240239
      Bin Cheng committed
    • [simplify-rtx] (GTU (PLUS a C) (C - 1)) --> (LTU a -C) · 5fa9e644
      	* simplify-rtx.c (simplify_relational_operation_1): Add transformation
      	(GTU (PLUS a C) (C - 1)) --> (LTU a -C).
      
      	* gcc.target/aarch64/gtu_to_ltu_cmp_1.c: New test.
      	* gcc.target/aarch64/gtu_to_ltu_cmp_2.c: New test.
      
      From-SVN: r240238
      Kyrylo Tkachov committed
    • Make libstdc++ tests FAIL on Python errors · ee1ab3e3
      	* testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
      
      From-SVN: r240237
      Jonathan Wakely committed
    • Fix lra_p text · f37cb70b
      
      	* target.def (lra_p): Wordsmithing.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r240236
      Segher Boessenkool committed
    • Improve pretty printer for std::variant · a0a1009a
      	* python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
      	display_hint to be set by subclasses.
      	(StdVariantPrinter): Use array for display_hint. Adjust output to be
      	more similar to std::any and std::optional output.
      	(register_type_printers): Add type printers for basic_string_view
      	typedefs and experimental::any. Adjust type printers for
      	fundamentals_v1 templates to match fundamentals_v2 and later.
      	* testsuite/libstdc++-prettyprinters/cxx17.cc: New.
      
      From-SVN: r240234
      Jonathan Wakely committed
    • libstdc++/77645 Fix xmethods for std::list · 019270bc
      	PR libstdc++/77645
      	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
      	argument.
      	(ListWorkerBase.get_value_from_node): Define new method.
      	(ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
      
      From-SVN: r240233
      Jonathan Wakely committed