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

commit cf15a12be9efe68841746d0ab189e3846499498f
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 c62f5de807da..96d95a87c769 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1514,9 +1514,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)
@@ -3682,6 +3680,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
@@ -3929,7 +3928,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