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 ()),