Guarding --print_statistics logic when device creation fails.
diff --git a/tools/iree-benchmark-module-main.cc b/tools/iree-benchmark-module-main.cc
index 35f57fb..f028523 100644
--- a/tools/iree-benchmark-module-main.cc
+++ b/tools/iree-benchmark-module-main.cc
@@ -292,7 +292,7 @@
     iree_vm_instance_release(instance_);
 
     // Tear down device last in order to get accurate statistics.
-    if (FLAG_print_statistics) {
+    if (device_allocator_ && FLAG_print_statistics) {
       IREE_IGNORE_ERROR(
           iree_hal_allocator_statistics_fprint(stderr, device_allocator_));
     }
diff --git a/tools/iree-run-module-main.cc b/tools/iree-run-module-main.cc
index e1a43dd..b4eda1d 100644
--- a/tools/iree-run-module-main.cc
+++ b/tools/iree-run-module-main.cc
@@ -139,7 +139,7 @@
   iree_vm_module_release(main_module);
   iree_vm_context_release(context);
 
-  if (FLAG_print_statistics) {
+  if (device_allocator && FLAG_print_statistics) {
     IREE_IGNORE_ERROR(
         iree_hal_allocator_statistics_fprint(stderr, device_allocator));
   }