[flow] handle multiple func ops for dispatch graph (#9741)

diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp b/compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp
index 4220c2a..f592c79 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp
@@ -138,12 +138,14 @@
     auto modOp = dyn_cast<ModuleOp>(getOperation());
     if (!modOp) return;
 
-    for (auto funcOp : modOp.getOps<func::FuncOp>()) {
-      emitGraph([&]() {
-        processOperation(funcOp);
-        emitAllEdgeStmts();
-      });
-    }
+    auto funcOps = modOp.getOps<func::FuncOp>();
+
+    if (funcOps.empty()) return;
+
+    emitGraph([&]() {
+      for (auto funcOp : funcOps) processOperation(funcOp);
+      emitAllEdgeStmts();
+    });
   }
 
   /// Create a CFG graph for a region. Used in `Region::viewGraph`.