Unverified Commit 32a4e3fc authored by Oleksandr "Alex" Zinenko's avatar Oleksandr "Alex" Zinenko Committed by GitHub
Browse files

[mlir] support non-interprocedural dataflow analyses (#75583)



The core implementation of the dataflow anlysis framework is
interpocedural by design. While this offers better analysis precision,
it also comes with additional cost as it takes longer for the analysis
to reach the fixpoint state. Add a configuration mechanism to the
dataflow solver to control whether it operates inteprocedurally or not
to offer clients a choice.

As a positive side effect, this change also adds hooks for explicitly
processing external/opaque function calls in the dataflow analyses,
e.g., based off of attributes present in the the function declaration or
call operation such as alias scopes and modref available in the LLVM
dialect.

This change should not affect existing analyses and the default solver
configuration remains interprocedural.

Co-authored-by: default avatarJacob Peng <jacobmpeng@gmail.com>
parent 82a1bffd
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment