commit:     2e21af15be068befb82fb9ada4cfadd1ed003a3a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 12 12:37:41 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 12 12:37:41 2026 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=2e21af15

16.0.0: drop revert for now-fixed commit

Signed-off-by: Sam James <sam <AT> gentoo.org>

 16.0.0/gentoo/87_all_PR123517-ipa-cp-revert.patch | 226 ----------------------
 16.0.0/gentoo/README.history                      |   4 +
 2 files changed, 4 insertions(+), 226 deletions(-)

diff --git a/16.0.0/gentoo/87_all_PR123517-ipa-cp-revert.patch 
b/16.0.0/gentoo/87_all_PR123517-ipa-cp-revert.patch
deleted file mode 100644
index 5dfebcb..0000000
--- a/16.0.0/gentoo/87_all_PR123517-ipa-cp-revert.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 05fb697e9c2ebb503dbe01c41b86fa01e4a5bec2 Mon Sep 17 00:00:00 2001
-Message-ID: 
<05fb697e9c2ebb503dbe01c41b86fa01e4a5bec2.1768209954.git....@gentoo.org>
-From: Sam James <[email protected]>
-Date: Mon, 12 Jan 2026 09:25:28 +0000
-Subject: [PATCH] Revert "ipa-cp: Use the VR and bits lattices for clones of
- non-local functions too"
-
-This reverts commit e58b11cd6c9ca3d05752ad84f743a46aa92a6979.
-
-Bug: https://gcc.gnu.org/PR123517
-Bug: https://gcc.gnu.org/PR123543
----
- gcc/ipa-cp.cc | 73 ++++++++-------------------------------------------
- gcc/ipa-cp.h  | 14 ----------
- 2 files changed, 11 insertions(+), 76 deletions(-)
-
-diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc
-index 54f4e4f543c2..769531db193b 100644
---- a/gcc/ipa-cp.cc
-+++ b/gcc/ipa-cp.cc
-@@ -339,25 +339,18 @@ ipcp_print_widest_int (FILE *f, const widest_int &value)
- void
- ipcp_bits_lattice::print (FILE *f)
- {
--  if (bottom_p ())
--    {
--      fprintf (f, "         Bits unusable (BOTTOM)\n");
--      return;
--    }
--
-   if (top_p ())
--    fprintf (f, "         Bits unknown (TOP)");
-+    fprintf (f, "         Bits unknown (TOP)\n");
-+  else if (bottom_p ())
-+    fprintf (f, "         Bits unusable (BOTTOM)\n");
-   else
-     {
-       fprintf (f, "         Bits: value = ");
-       ipcp_print_widest_int (f, get_value ());
-       fprintf (f, ", mask = ");
-       ipcp_print_widest_int (f, get_mask ());
-+      fprintf (f, "\n");
-     }
--
--  if (m_recipient_only)
--    fprintf (f, " (recipient only)");
--  fprintf (f, "\n");
- }
- 
- /* Print value range lattice to F.  */
-@@ -365,8 +358,6 @@ ipcp_bits_lattice::print (FILE *f)
- void
- ipcp_vr_lattice::print (FILE * f)
- {
--  if (m_recipient_only)
--    fprintf (f, "(recipient only) ");
-   m_vr.dump (f);
- }
- 
-@@ -897,18 +888,6 @@ ipcp_vr_lattice::set_to_bottom ()
-   return true;
- }
- 
--/* Set the flag that this lattice is a recipient only, return true if it was
--   not set before.  */
--
--bool
--ipcp_vr_lattice::set_recipient_only ()
--{
--  if (m_recipient_only)
--    return false;
--  m_recipient_only = true;
--  return true;
--}
--
- /* Set lattice value to bottom, if it already isn't the case.  */
- 
- bool
-@@ -945,18 +924,6 @@ ipcp_bits_lattice::known_nonzero_p () const
-   return wi::ne_p (wi::bit_and (wi::bit_not (m_mask), m_value), 0);
- }
- 
--/* Set the flag that this lattice is a recipient only, return true if it was 
not
--   set before.  */
--
--bool
--ipcp_bits_lattice::set_recipient_only ()
--{
--  if (m_recipient_only)
--    return false;
--  m_recipient_only = true;
--  return true;
--}
--
- /* Convert operand to value, mask form.  */
- 
- void
-@@ -1359,28 +1326,17 @@ intersect_argaggs_with (vec<ipa_argagg_value> &elts,
- }
- 
- /* Mark bot aggregate and scalar lattices as containing an unknown variable,
--   return true is any of them has not been marked as such so far.  If if
--   MAKE_SIMPLE_RECIPIENTS is true, set the lattices that can only hold one
--   value to being recipients only, otherwise also set them to bottom.  */
-+   return true is any of them has not been marked as such so far.  */
- 
- static inline bool
--set_all_contains_variable (class ipcp_param_lattices *plats,
--                         bool make_simple_recipients = false)
-+set_all_contains_variable (class ipcp_param_lattices *plats)
- {
-   bool ret;
-   ret = plats->itself.set_contains_variable ();
-   ret |= plats->ctxlat.set_contains_variable ();
-   ret |= set_agg_lats_contain_variable (plats);
--  if (make_simple_recipients)
--    {
--      ret |= plats->bits_lattice.set_recipient_only ();
--      ret |= plats->m_value_range.set_recipient_only ();
--    }
--  else
--    {
--      ret |= plats->bits_lattice.set_to_bottom ();
--      ret |= plats->m_value_range.set_to_bottom ();
--    }
-+  ret |= plats->bits_lattice.set_to_bottom ();
-+  ret |= plats->m_value_range.set_to_bottom ();
-   return ret;
- }
- 
-@@ -1525,7 +1481,7 @@ initialize_node_lattices (struct cgraph_node *node)
-       {
-         plats->m_value_range.init (type);
-         if (variable)
--          set_all_contains_variable (plats, true);
-+          set_all_contains_variable (plats);
-       }
-     }
- 
-@@ -2617,8 +2573,7 @@ propagate_bits_across_jump_function (cgraph_edge *cs, 
int idx,
-        result of x & 0xff == 0xff, which gets computed during ccp1 pass
-        and we store it in jump function during analysis stage.  */
- 
--      if (!src_lats->bits_lattice.bottom_p ()
--        || src_lats->bits_lattice.recipient_only_p ())
-+      if (!src_lats->bits_lattice.bottom_p ())
-       {
-         if (!op_type)
-           op_type = ipa_get_type (caller_info, src_idx);
-@@ -2684,8 +2639,7 @@ propagate_vr_across_jump_function (cgraph_edge *cs, 
ipa_jump_func *jfunc,
-       = ipa_get_parm_lattices (caller_info, src_idx);
-       tree operand_type = ipa_get_type (caller_info, src_idx);
- 
--      if (src_lats->m_value_range.bottom_p ()
--        || src_lats->m_value_range.recipient_only_p ())
-+      if (src_lats->m_value_range.bottom_p ())
-       return dest_lat->set_to_bottom ();
- 
-       if (ipa_get_jf_pass_through_operation (jfunc) == NOP_EXPR
-@@ -6576,11 +6530,6 @@ ipcp_store_vr_results (void)
-       bool do_vr = true;
-       bool do_bits = true;
- 
--      /* If the function is not local, the gathered information is only useful
--       for clones.  */
--      if (!node->local)
--      continue;
--
-       if (!info || !opt_for_fn (node->decl, flag_ipa_vrp))
-       {
-         if (dump_file)
-diff --git a/gcc/ipa-cp.h b/gcc/ipa-cp.h
-index 45da483e9abb..521983d9ad91 100644
---- a/gcc/ipa-cp.h
-+++ b/gcc/ipa-cp.h
-@@ -201,8 +201,6 @@ public:
-   bool set_to_bottom ();
-   bool set_to_constant (widest_int, widest_int);
-   bool known_nonzero_p () const;
--  bool set_recipient_only ();
--  bool recipient_only_p () const {return m_recipient_only; }
- 
-   widest_int get_value () const { return m_value; }
-   widest_int get_mask () const { return m_mask; }
-@@ -218,11 +216,6 @@ private:
-   enum { IPA_BITS_UNDEFINED, IPA_BITS_CONSTANT, IPA_BITS_VARYING }
-     m_lattice_val = IPA_BITS_UNDEFINED;
- 
--  /* Set to true if the lattice is valid only as a recipient of propagatad
--     values but cannot be used as source of propagation because there may be
--     unknown callers.  */
--  bool m_recipient_only;
--
-   /* Similar to ccp_lattice_t, mask represents which bits of value are 
constant.
-      If a bit in mask is set to 0, then the corresponding bit in
-      value is known to be constant.  */
-@@ -238,16 +231,10 @@ class ipcp_vr_lattice
- {
- public:
-   value_range m_vr;
--  /* Set to true if the lattice is valid only as a recipient of propagatad
--     values but cannot be used as source of propagation because there may be
--     unknown callers.  */
--  bool m_recipient_only;
- 
-   inline bool bottom_p () const;
-   inline bool top_p () const;
-   inline bool set_to_bottom ();
--  bool set_recipient_only ();
--  bool recipient_only_p () const {return m_recipient_only; }
-   bool meet_with (const vrange &p_vr);
-   bool meet_with (const ipcp_vr_lattice &other);
-   void init (tree type);
-@@ -264,7 +251,6 @@ ipcp_vr_lattice::init (tree type)
-     m_vr.set_type (type);
- 
-   // Otherwise m_vr will default to unsupported_range.
--  m_recipient_only = false;
- }
- 
- /* Structure containing lattices for a parameter itself and for pieces of
-
-base-commit: 3e8ce187dc4595da3d2f41a0fb09ee9cd2e437ff
--- 
-2.52.0
-

diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history
index d097817..4188558 100644
--- a/16.0.0/gentoo/README.history
+++ b/16.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+31     ????
+
+       - 87_all_PR123517-ipa-cp-revert.patch
+
 30     12 January 2026
 
        - 87_all_PR123383-revert-devirt-ICE.patch

Reply via email to