Basic blocks are always executed in the scope of a context. A function context is a list of function nodes representing the call chain to the current context: I.e. fn is the function we are currently in, fn has called fn, and so on. Recursion levels are used for fn.
To get a unique number for a full execution context, use rec_index = min(<fn->rec_separation>,<active>) - 1; unique_no = <number> + rec_index
For each Context, recursion index and BB, there can be a BBCC.
|fn_node *||fn |