This patch evolves the cache of ControlFlowContexts into a parameter that the
user can supply. Specifically, the system now limits inline analysis of function
calls specifically to those functions contained in a user-supplied map from
"fully qualified name" to ControlFlowContext.
To avoid the cost of generating the fully qualified function name for every
CallExpr, we cache the results of the map lookup in an intermediary map over
FunctionDecl*s.
Additionally, this patch adds a utility function to construct such a map from an ASTUnit. This allows either admitting all the functions in the main AST (for example, a test code snippet) or from a separate AST. This latter functionality is a step towards supporting models from independent ASTs.
Part of issue #56879