diff --git a/mlir/include/mlir/IR/MLIRContext.h b/mlir/include/mlir/IR/MLIRContext.h
--- a/mlir/include/mlir/IR/MLIRContext.h
+++ b/mlir/include/mlir/IR/MLIRContext.h
@@ -136,6 +136,9 @@
   bool allowsUnregisteredDialects();
 
   /// Enables creating operations in unregistered dialects.
+  /// This option is heavily discouraged: it is a convenient testing way but
+  /// it is not a good practice to use it in production code and MLIR isn't
+  /// designed to support it in every possible situation.
   void allowUnregisteredDialects(bool allow = true);
 
   /// Return true if multi-threading is enabled by the context.