https://gcc.gnu.org/g:f214fdbf4e4711b8fd334dea17d30384951ef3cd

commit f214fdbf4e4711b8fd334dea17d30384951ef3cd
Author: Josef Melcr <melcr...@fit.cvut.cz>
Date:   Mon Oct 21 18:04:21 2024 +0200

    omp-cp: add callback flag to some checks
    
    gcc/ChangeLog:
    
            * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): return
              if callback flag is set
            (cgraph_node::verify_node): allow some weirdness if callback is
            set
    
    Signed-off-by: Josef Melcr <melcr...@fit.cvut.cz>

Diff:
---
 gcc/cgraph.cc | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 11002c884bb6..0465538cab9f 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1515,9 +1515,7 @@ cgraph_edge::redirect_call_stmt_to_callee (cgraph_edge *e,
        }
     }
 
-
-  if (e->indirect_unknown_callee
-      || decl == e->callee->decl)
+  if (e->indirect_unknown_callee || decl == e->callee->decl || e->callback)
     return e->call_stmt;
 
   if (decl && ipa_saved_clone_sources)
@@ -3683,6 +3681,7 @@ cgraph_node::verify_node (void)
       if (gimple_has_body_p (e->caller->decl)
          && !e->caller->inlined_to
          && !e->speculative
+         && !e->callback
          /* Optimized out calls are redirected to __builtin_unreachable.  */
          && (e->count.nonzero_p ()
              || ! e->callee->decl
@@ -3930,7 +3929,7 @@ cgraph_node::verify_node (void)
 
       for (e = callees; e; e = e->next_callee)
        {
-         if (!e->aux && !e->speculative)
+         if (!e->aux && !e->speculative && !e->callback)
            {
              error ("edge %s->%s has no corresponding call_stmt",
                     identifier_to_locale (e->caller->name ()),

Reply via email to