bloqade.gemini.common.validation.recursion.check_call_graph
← Module overview
function
source
functioncheck_call_graph¶source
bloqade.gemini.common.validation.recursion.check_call_graph
def check_call_graph(method: ir.Method) -> NoneRequire 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
| Name | Type | Description |
|---|---|---|
method | ir.Method |