/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Interface Definitions                                                      *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/


/// Returns true iff the usage of the temporary array copy
/// can be made safe applying some dynamic checks.
bool fir::SafeTempArrayCopyAttrInterface::isDynamicallySafe() const {
      return getImpl()->isDynamicallySafe();
  }

/// Generate FIR that produces an i1 Value indicating
/// whether the creation of the temporary array copy is safe.
/// \p array is a definition of the original array.
/// The implementation may assume that \p array is present
/// (though, it may be empty).
mlir::Value fir::SafeTempArrayCopyAttrInterface::genDynamicCheck(::mlir::Location loc, ::fir::FirOpBuilder & builder, ::mlir::Value array) const {
      return getImpl()->genDynamicCheck(loc, builder, array);
  }

/// This method allows inserting any FIR right before the optional
/// copy-out (from \p temp to \p array) and the deallocation
/// of the temporary array (implying that the temporary copy was
/// actually created).
void fir::SafeTempArrayCopyAttrInterface::registerTempDeallocation(::mlir::Location loc, ::fir::FirOpBuilder & builder, ::mlir::Value array, ::mlir::Value temp) const {
      return getImpl()->registerTempDeallocation(loc, builder, array, temp);
  }
