[Mlir-commits] [mlir] [mlir] support non-interprocedural dataflow analyses (PR #75583)
William Moses
llvmlistbot at llvm.org
Fri Dec 15 10:27:04 PST 2023
================
@@ -54,12 +54,22 @@ LogicalResult AbstractDenseForwardDataFlowAnalysis::visit(ProgramPoint point) {
}
void AbstractDenseForwardDataFlowAnalysis::visitCallOperation(
- CallOpInterface call, AbstractDenseLattice *after) {
+ CallOpInterface call, const AbstractDenseLattice &before,
+ AbstractDenseLattice *after) {
+ // Allow for customizing the behavior of calls to external symbols, including
+ // when the analysis is explicitly marked as non-interprocedural.
+ auto callable =
+ dyn_cast_if_present<CallableOpInterface>(call.resolveCallable());
+ if (!getSolverConfig().isInterprocedural() ||
+ (callable && !callable.getCallableRegion())) {
----------------
wsmoses wrote:
Okay, that seems reasonable to me.
https://github.com/llvm/llvm-project/pull/75583
More information about the Mlir-commits
mailing list