Add a flag to Dialect that allows for dialects to enable support for unregistered...
authorRiver Riddle <riverriddle@google.com>
Mon, 1 Apr 2019 06:30:22 +0000 (23:30 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Mon, 1 Apr 2019 17:59:17 +0000 (10:59 -0700)
commit082016d43ac1aad6abe64ed01beb82e7e88a55f6
tree640223364d982cc2c22353cbecbd51df5861860a
parentff05e9da1988840d590f13657bbdba27bb0b87eb
Add a flag to Dialect that allows for dialects to enable support for unregistered operations. This flag is off by default and can be toggled via the 'allowUnknownOperations(...)' method. This means that moving forward an error will be emitted for unknown operations if the dialect does not explicitly allow it.

    Example:

    func @unknown_std_op() {
      %0 = "std.foo_bar_op"() : () -> index
      return
    }

    Will result in:

    error: unregistered operation 'std.foo_bar_op' found in dialect ('std') that does not allow unknown operations

--

PiperOrigin-RevId: 241266009
mlir/include/mlir/IR/Dialect.h
mlir/lib/Analysis/Verifier.cpp
mlir/lib/IR/Dialect.cpp
mlir/lib/LLVMIR/IR/LLVMDialect.cpp
mlir/test/IR/invalid-ops.mlir