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


/// Check whether operation has side effects that may affect the expression
/// evaluation.
/// 
/// By default operation is marked as having side effects.
/// 
/// ```c++
/// class ConcreteOp ... {
/// public:
///   bool hasSideEffects() {
///     // That way we can override the default implementation.
///     return false;
///   }
/// };
/// ```
bool mlir::emitc::CExpressionInterface::hasSideEffects() {
      return getImpl()->hasSideEffects(getImpl(), getOperation());
  }

/// Check whether operation must be inlined into all its users.
/// 
/// By default operation is not marked as always inlined.
/// 
/// ```c++
/// class ConcreteOp ... {
/// public:
///   bool alwaysInline() {
///     // That way we can override the default implementation.
///     return true;
///   }
/// };
/// ```
bool mlir::emitc::CExpressionInterface::alwaysInline() {
      return getImpl()->alwaysInline(getImpl(), getOperation());
  }
