MLIR 22.0.0git
IRAffine.cpp File Reference
#include <cstddef>
#include <cstdint>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
#include "mlir-c/AffineExpr.h"
#include "mlir-c/AffineMap.h"
#include "mlir/Bindings/Python/IRCore.h"
#include "mlir/Bindings/Python/NanobindUtils.h"
#include "mlir-c/Bindings/Python/Interop.h"
#include "mlir-c/IntegerSet.h"
#include "mlir/Bindings/Python/Nanobind.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"

Go to the source code of this file.

Classes

class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteAffineExpr< DerivedTy, BaseTy >
 CRTP base class for Python MLIR affine expressions that subclass AffineExpr and should be castable from it. More...
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineConstantExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineDimExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineSymbolExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineBinaryExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineAddExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineMulExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineModExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineFloorDivExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineCeilDivExpr
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAffineMapExprList
 A list of expressions contained in an affine map. More...
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyIntegerSetConstraint
class  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyIntegerSetConstraintList
class  SmallVector< T, N >

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::python
namespace  mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN

Functions

template<typename PyType, typename CType>
static void pyListToVector (const nb::list &list, llvm::SmallVectorImpl< CType > &result, StringRef action)
 Attempts to populate result with the content of list casted to the appropriate type (Python and C types are provided as template arguments).
template<typename PermutationTy>
static bool isPermutation (const std::vector< PermutationTy > &permutation)
void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRAffine (nb::module_ &m)

Variables

static const char kDumpDocstring []

Function Documentation

◆ isPermutation()

template<typename PermutationTy>
bool isPermutation ( const std::vector< PermutationTy > & permutation)
static

◆ pyListToVector()

template<typename PyType, typename CType>
void pyListToVector ( const nb::list & list,
llvm::SmallVectorImpl< CType > & result,
StringRef action )
static

Attempts to populate result with the content of list casted to the appropriate type (Python and C types are provided as template arguments).

Throws errors in case of failure, using "action" to describe what the caller was attempting to do.

Definition at line 47 of file IRAffine.cpp.

References result.

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRAffine().

Variable Documentation

◆ kDumpDocstring

const char kDumpDocstring[]
static
Initial value:
=
R"(Dumps a debug representation of the object to stderr.)"

Definition at line 39 of file IRAffine.cpp.

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRAffine(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRCore().