diff --git a/mlir/lib/Transforms/Inliner.cpp b/mlir/lib/Transforms/Inliner.cpp --- a/mlir/lib/Transforms/Inliner.cpp +++ b/mlir/lib/Transforms/Inliner.cpp @@ -457,6 +457,8 @@ // here as more calls may be added during inlining. bool inlinedAnyCalls = false; for (unsigned i = 0; i != calls.size(); ++i) { + if (llvm::find(deadNodes, calls[i].sourceNode) != deadNodes.end()) + continue; ResolvedCall it = calls[i]; bool doInline = shouldInline(it); CallOpInterface call = it.call;