Skip to content
Snippets Groups Projects
  1. Jan 28, 2025
  2. Jan 27, 2025
  3. Jan 26, 2025
  4. Jan 25, 2025
  5. Jan 24, 2025
    • James K. Lowden's avatar
    • James K. Lowden's avatar
      track copybook name location · f8761931
      James K. Lowden authored
      f8761931
    • rdubner's avatar
      Update ChangeLog · 21a594dc
      rdubner authored
    • rdubner's avatar
    • rdubner's avatar
      Triple-ply copybook playpen · 7370bf9f
      rdubner authored
      7370bf9f
    • rdubner's avatar
    • Richard Biener's avatar
      tree-optimization/116010 - dr_may_alias regression · 02fc12b0
      Richard Biener authored
      r15-491-gc290e6a0b7a9de fixed a latent issue with dr_analyze_innermost
      and dr_may_alias where not properly analyzed DRs would yield an invalid
      answer.  This caused some missed optimizations in case there is not
      actually any evolution in the not analyzed base part.  The following
      recovers this by only handling base parts which reference SSA vars
      as index in the conservative way.
      
      The gfortran.dg/vect/vect-8.f90 testcase is difficult to deal with,
      so the following merely bumps the maximum number of expected vectorized loops
      for both aarch64 and x86-64.
      
      	PR tree-optimization/116010
      	* tree-data-ref.cc (contains_ssa_ref_p_1): New function.
      	(contains_ssa_ref_p): Likewise.
      	(dr_may_alias_p): Avoid treating unanalyzed base parts without
      	SSA reference conservatively.
      
      	* gfortran.dg/vect/vect-8.f90: Adjust.
      02fc12b0
    • Stefan Schulze Frielinghaus's avatar
      s390: Implement isfinite and isnormal optabs · b00bd292
      Stefan Schulze Frielinghaus authored
      Merge new optabs with the existing implementations for signbit and
      isinf.
      
      gcc/ChangeLog:
      
      	* config/s390/s390.h (S390_TDC_POSITIVE_ZERO): Remove.
      	(S390_TDC_NEGATIVE_ZERO): Remove.
      	(S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): Remove.
      	(S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): Remove.
      	(S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): Remove.
      	(S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): Remove.
      	(S390_TDC_POSITIVE_INFINITY): Remove.
      	(S390_TDC_NEGATIVE_INFINITY): Remove.
      	(S390_TDC_POSITIVE_QUIET_NAN): Remove.
      	(S390_TDC_NEGATIVE_QUIET_NAN): Remove.
      	(S390_TDC_POSITIVE_SIGNALING_NAN): Remove.
      	(S390_TDC_NEGATIVE_SIGNALING_NAN): Remove.
      	(S390_TDC_POSITIVE_DENORMALIZED_DFP_NUMBER): Remove.
      	(S390_TDC_NEGATIVE_DENORMALIZED_DFP_NUMBER): Remove.
      	(S390_TDC_POSITIVE_NORMALIZED_DFP_NUMBER): Remove.
      	(S390_TDC_NEGATIVE_NORMALIZED_DFP_NUMBER): Remove.
      	(S390_TDC_SIGNBIT_SET): Remove.
      	(S390_TDC_INFINITY): Remove.
      	* config/s390/s390.md (signbit<mode>2<tf_fpr>): Merge this one
      	(isinf<mode>2<tf_fpr>): and this one into
      	(<TDC_CLASS:tdc_insn><mode>2<tf_fpr>): new expander.
      	(isnormal<mode>2<tf_fpr>): New BFP expander.
      	(isnormal<mode>2): New DFP expander.
      	* config/s390/vector.md (signbittf2_vr): Merge this one
      	(isinftf2_vr): and this one into
      	(<tdc_insn>tf2_vr): new expander.
      	(signbittf2): Merge this one
      	(isinftf2): and this one into
      	(<tdc_insn>tf2): new expander.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/s390/isfinite-isinf-isnormal-signbit-1.c: New test.
      	* gcc.target/s390/isfinite-isinf-isnormal-signbit-2.c: New test.
      	* gcc.target/s390/isfinite-isinf-isnormal-signbit-3.c: New test.
      	* gcc.target/s390/isfinite-isinf-isnormal-signbit.h: New test.
      b00bd292
    • Richard Biener's avatar
      tree-optimization/118634 - improve cunroll dump · dc1e1b38
      Richard Biener authored
      We no longer subtract the estimated eliminated number of instructions
      from the estimated size after unrolling we print - this is a bit
      confusing when comparing dumps to previous releases.  The following
      changes the dump from
      
        Estimated size after unrolling: 42
      
      to
      
        Estimated size after unrolling: 42-12
      
      for the testcase in the PR.
      
      	PR tree-optimization/118634
      	* tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely):
      	Dump the number of estimated eliminated insns.
      dc1e1b38
    • Saurabh Jha's avatar
      Fix command flags for SVE2 faminmax · 8bdf10fc
      Saurabh Jha authored
      Earlier, we were gating SVE2 faminmax behind sve+faminmax. This was
      incorrect and this patch changes it so that it is gated behind
      sve2+faminmax.
      
      gcc/ChangeLog:
      
      	* config/aarch64/aarch64-sve2.md:
      	(*aarch64_pred_faminmax_fused): Fix to use the correct flags.
      	* config/aarch64/aarch64.h
      	(TARGET_SVE_FAMINMAX): Remove.
      	* config/aarch64/iterators.md: Fix iterators so that famax and
      	famin use correct flags.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/aarch64/sve/faminmax_1.c: Fix test to use the
      	correct flags.
      	* gcc.target/aarch64/sve/faminmax_2.c: Fix test to use the
      	correct flags.
      	* gcc.target/aarch64/sve/faminmax_3.c: New test.
      8bdf10fc
    • Alexandre Oliva's avatar
      [ifcombine] check for more zero-extension cases [PR118572] · 91fa9c15
      Alexandre Oliva authored
      When comparing a signed narrow variable with a wider constant that has
      the bit corresponding to the variable's sign bit set, we would check
      that the constant is a sign-extension from that sign bit, and conclude
      that the compare fails if it isn't.
      
      When the signed variable is masked without getting the [lr]l_signbit
      variable set, or when the sign bit itself is masked out, we know the
      sign-extension bits from the extended variable are going to be zero,
      so the constant will only compare equal if it is a zero- rather than
      sign-extension from the narrow variable's precision, therefore, check
      that it satisfies this property, and yield a false compare result
      otherwise.
      
      
      for  gcc/ChangeLog
      
      	PR tree-optimization/118572
      	* gimple-fold.cc (fold_truth_andor_for_ifcombine): Compare as
      	unsigned the variables whose extension bits are masked out.
      
      for  gcc/testsuite/ChangeLog
      
      	PR tree-optimization/118572
      	* gcc.dg/field-merge-24.c: New.
      91fa9c15
    • Alexandre Oliva's avatar
      [ifcombine] improve reverse checking and operand swapping · a56122de
      Alexandre Oliva authored
      Don't reject an ifcombine field-merging opportunity just because the
      left-hand operands aren't both reversed, if the second compare needs
      to be swapped for operands to match.
      
      Also mention that reversep does NOT affect the turning of range tests
      into bit tests.
      
      
      for  gcc/ChangeLog
      
      	* gimple-fold.cc (fold_truth_andor_for_ifcombine): Document
      	reversep's absence of effects on range tests.  Don't reject
      	reversep mismatches before trying compare swapping.
      a56122de
    • Alexandre Oliva's avatar
      [ifcombine] out-of-bounds bitfield refs can trap [PR118514] · 3f05d703
      Alexandre Oliva authored
      Check that BIT_FIELD_REFs of DECLs are in range before deciding they
      don't trap.
      
      Check that a replacement bitfield load is as trapping as the replaced
      load.
      
      
      for  gcc/ChangeLog
      
      	PR tree-optimization/118514
      	* tree-eh.cc (bit_field_ref_in_bounds_p): New.
      	(tree_could_trap_p) <BIT_FIELD_REF>: Call it.
      	* gimple-fold.cc (make_bit_field_load): Check trapping status
      	of replacement load against original load.
      
      for  gcc/testsuite/ChangeLog
      
      	PR tree-optimization/118514
      	* gcc.dg/field-merge-23.c: New.
      3f05d703
    • GCC Administrator's avatar
      Daily bump. · 35d5c4f9
      GCC Administrator authored
      35d5c4f9
  6. Jan 23, 2025
    • Marek Polacek's avatar
      c++: bogus error with nested lambdas [PR117602] · 6d8a0e8b
      Marek Polacek authored
      
      The error here should also check that we aren't nested in another
      lambda; in it, at_function_scope_p() will be false.
      
      	PR c++/117602
      
      gcc/cp/ChangeLog:
      
      	* cp-tree.h (current_nonlambda_scope): Add a default argument.
      	* lambda.cc (current_nonlambda_scope): New bool parameter.  Use it.
      	* parser.cc (cp_parser_lambda_introducer): Use current_nonlambda_scope
      	to check if the lambda is non-local.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/cpp2a/lambda-uneval21.C: New test.
      
      Reviewed-by: default avatarJason Merrill <jason@redhat.com>
      6d8a0e8b
    • Jakub Jelinek's avatar
      c++: Small make_tree_vector_from_ctor improvement · 4ce9e353
      Jakub Jelinek authored
      After committing the append_ctor_to_tree_vector patch, I've realized
      that for the larger constructors make_tree_vector_from_ctor unnecessarily
      wastes one GC vector; make_tree_vector () / release_tree_vector () only
      caches GC vectors from 4 to 16 allocated tree elements, so in the likely
      case of a rather small ctor using make_tree_vector () can be beneficial,
      we can pick something from the cache and if we don't need it later,
      pt.cc calls release_tree_vector on it to return it back to the cache.
      But for the larger ctors, we just eat one vector from the cache, never
      use it (because the vec_safe_reserve will immediately allocate a different
      vector) and never return it back to the cache.
      
      So, the following patch passes NULL for the larger vectors, which
      append_ctor_to_tree_vector handles just fine now (vec_safe_reserve will
      just allocate appropriately sized vector).
      
      2025-01-23  Jakub Jelinek  <jakub@redhat.com>
      
      	* c-common.cc (make_tree_vector_from_ctor): Only use make_tree_vector
      	for ctors with <= 16 elements.
      4ce9e353
    • James K. Lowden's avatar
      extend copyright to 2025 · 77418c53
      James K. Lowden authored
      77418c53
    • John David Anglin's avatar
      hppa: Fix typo in ADDITIONAL_REGISTER_NAMES in pa32-regs.h · ce28eb9f
      John David Anglin authored
      2025-01-23  John David Anglin  <danglin@gcc.gnu.org>
      
      gcc/ChangeLog:
      
      	* config/pa/pa32-regs.h (ADDITIONAL_REGISTER_NAMES): Change
      	register 86 name to "%fr31L".
      ce28eb9f
    • rdubner's avatar
      c1dc4e7a
    • rdubner's avatar
      35e0b040
    • Jakub Jelinek's avatar
      vect: Avoid copying of uninitialized variable [PR118628] · 8f6dd185
      Jakub Jelinek authored
      vectorizable_{store,load} does roughly
            tree offvar;
            tree running_off;
            if (!costing_p)
              {
                ... initialize offvar ...
              }
            running_off = offvar;
            for (...)
              {
                if (costing_p)
                  {
                    ...
                    continue;
                  }
                ... use running_off ...
              }
      so, it copies unconditionally sometimes uninitialized variable (but then
      uses the copied variable only if it was set to something initialized).
      Still, I think it is better to avoid copying around maybe uninitialized
      vars.
      
      2025-01-23  Jakub Jelinek  <jakub@redhat.com>
      
      	PR tree-optimization/118628
      	* tree-vect-stmts.cc (vectorizable_store, vectorizable_load):
      	Initialize offvar to NULL_TREE.
      8f6dd185
    • rdubner's avatar
      WIP: rounding · f81df894
      rdubner authored
      f81df894
    • Harald Anlauf's avatar
      Fortran: do not evaluate arguments of MAXVAL/MINVAL too often [PR118613] · 3cef53a4
      Harald Anlauf authored
      	PR fortran/118613
      
      gcc/fortran/ChangeLog:
      
      	* trans-intrinsic.cc (gfc_conv_intrinsic_minmaxval): Adjust algorithm
      	for inlined version of MINLOC and MAXLOC so that arguments are only
      	evaluted once, and create temporaries where necessary.  Document
      	change of algorithm.
      
      gcc/testsuite/ChangeLog:
      
      	* gfortran.dg/maxval_arg_eval_count.f90: New test.
      3cef53a4
    • James K. Lowden's avatar
      remove -v from install · db9f068f
      James K. Lowden authored
      db9f068f
Loading