Skip to content

bloqade.gemini.common.validation.recursion.check_call_graph

← Module overview

functioncheck_call_graphsource

bloqade.gemini.common.validation.recursion.check_call_graph

def check_call_graph(method: ir.Method) -> None

Require method’s call graph to be statically resolvable and acyclic.

Raises ValidationErrorGroup listing every cycle and every opaque call found, rather than stopping at the first.

Callers should run this before any pass that walks callees, and must not gate it on a verify flag. A cyclic call graph has no finite lowering, and the inliner and address analysis diverge on one instead of erroring, so skipping the check turns a clear rejection back into an unkillable hang (bloqade-lanes#921).

Parameters

NameTypeDescription
methodir.Method
source