LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Poly.cpp File Reference
#include "llzk/CAPI/Builder.h"
#include "llzk/CAPI/Support.h"
#include "llzk/Dialect/Polymorphic/IR/Dialect.h"
#include "llzk/Dialect/Polymorphic/IR/Ops.h"
#include "llzk/Dialect/Polymorphic/IR/Types.h"
#include "llzk/Dialect/Polymorphic/Transforms/TransformationPasses.h"
#include "llzk-c/Dialect/Poly.h"
#include <mlir/CAPI/AffineExpr.h>
#include <mlir/CAPI/AffineMap.h>
#include <mlir/CAPI/Pass.h>
#include <mlir/CAPI/Registration.h>
#include <mlir/CAPI/Wrap.h>
#include <mlir/IR/BuiltinAttributes.h>
#include <mlir/Support/LLVM.h>
#include <mlir-c/Pass.h>
#include "llzk/Dialect/Polymorphic/Transforms/TransformationPasses.capi.cpp.inc"
Include dependency graph for Poly.cpp:

Go to the source code of this file.

Functions

MlirType llzkTypeVarTypeGet (MlirContext ctx, MlirStringRef name)
 Creates a llzk::polymorphic::TypeVarType.
bool llzkTypeIsATypeVarType (MlirType type)
MlirType llzkTypeVarTypeGetFromAttr (MlirContext, MlirAttribute attrWrapper)
 Creates a llzk::polymorphic::TypeVarType from either a StringAttr or a FlatSymbolRefAttr.
MlirStringRef llzkTypeVarTypeGetNameRef (MlirType type)
 Returns the var name of the TypeVarType as a StringRef.
MlirAttribute llzkTypeVarTypeGetName (MlirType type)
 Returns the var name of the TypeVarType as a FlatSymbolRefAttr.
 LLZK_DEFINE_OP_BUILD_METHOD (ApplyMapOp, MlirAttribute map, MlirValueRange mapOperands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (ApplyMapOp, WithAffineMap, MlirAffineMap map, MlirValueRange mapOperands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (ApplyMapOp, WithAffineExpr, MlirAffineExpr expr, MlirValueRange mapOperands)
bool llzkOperationIsAApplyMapOp (MlirOperation op)
MlirAffineMap llzkApplyMapOpGetAffineMap (MlirOperation op)
 Returns the affine map associated with the op.
intptr_t llzkApplyMapOpGetNumDimOperands (MlirOperation op)
 Returns the number of operands that correspond to dimensions in the affine map.
void llzkApplyMapOpGetDimOperands (MlirOperation op, MlirValue *dst)
 Writes into the destination buffer the operands that correspond to dimensions in the affine map.
intptr_t llzkApplyMapOpGetNumSymbolOperands (MlirOperation op)
 Returns the number of operands that correspond to symbols in the affine map.
void llzkApplyMapOpGetSymbolOperands (MlirOperation op, MlirValue *dst)
 Writes into the destination buffer the operands that correspond to symbols in the affine map.

Function Documentation

◆ LLZK_DEFINE_OP_BUILD_METHOD()

LLZK_DEFINE_OP_BUILD_METHOD ( ApplyMapOp ,
MlirAttribute map,
MlirValueRange mapOperands )

Definition at line 70 of file Poly.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [1/2]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( ApplyMapOp ,
WithAffineExpr ,
MlirAffineExpr expr,
MlirValueRange mapOperands )

Definition at line 92 of file Poly.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [2/2]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( ApplyMapOp ,
WithAffineMap ,
MlirAffineMap map,
MlirValueRange mapOperands )

Definition at line 80 of file Poly.cpp.

◆ llzkApplyMapOpGetAffineMap()

MlirAffineMap llzkApplyMapOpGetAffineMap ( MlirOperation op)

Returns the affine map associated with the op.

Definition at line 107 of file Poly.cpp.

◆ llzkApplyMapOpGetDimOperands()

void llzkApplyMapOpGetDimOperands ( MlirOperation op,
MlirValue * dst )

Writes into the destination buffer the operands that correspond to dimensions in the affine map.

The buffer needs to be preallocated first with the necessary amount and the caller is responsible of its lifetime. See llzkApplyMapOpGetNumDimOperands.

Definition at line 133 of file Poly.cpp.

◆ llzkApplyMapOpGetNumDimOperands()

intptr_t llzkApplyMapOpGetNumDimOperands ( MlirOperation op)

Returns the number of operands that correspond to dimensions in the affine map.

Definition at line 126 of file Poly.cpp.

◆ llzkApplyMapOpGetNumSymbolOperands()

intptr_t llzkApplyMapOpGetNumSymbolOperands ( MlirOperation op)

Returns the number of operands that correspond to symbols in the affine map.

Definition at line 138 of file Poly.cpp.

◆ llzkApplyMapOpGetSymbolOperands()

void llzkApplyMapOpGetSymbolOperands ( MlirOperation op,
MlirValue * dst )

Writes into the destination buffer the operands that correspond to symbols in the affine map.

The buffer needs to be preallocated first with the necessary amount and the caller is responsible of its lifetime. See llzkApplyMapOpGetNumSymbolOperands.

Definition at line 145 of file Poly.cpp.

◆ llzkOperationIsAApplyMapOp()

bool llzkOperationIsAApplyMapOp ( MlirOperation op)

Definition at line 104 of file Poly.cpp.

◆ llzkTypeIsATypeVarType()

bool llzkTypeIsATypeVarType ( MlirType type)

Definition at line 48 of file Poly.cpp.

◆ llzkTypeVarTypeGet()

MlirType llzkTypeVarTypeGet ( MlirContext ctx,
MlirStringRef name )

Creates a llzk::polymorphic::TypeVarType.

Definition at line 44 of file Poly.cpp.

◆ llzkTypeVarTypeGetFromAttr()

MlirType llzkTypeVarTypeGetFromAttr ( MlirContext context,
MlirAttribute attrWrapper )

Creates a llzk::polymorphic::TypeVarType from either a StringAttr or a FlatSymbolRefAttr.

Definition at line 50 of file Poly.cpp.

◆ llzkTypeVarTypeGetName()

MlirAttribute llzkTypeVarTypeGetName ( MlirType type)

Returns the var name of the TypeVarType as a FlatSymbolRefAttr.

Definition at line 62 of file Poly.cpp.

◆ llzkTypeVarTypeGetNameRef()

MlirStringRef llzkTypeVarTypeGetNameRef ( MlirType type)

Returns the var name of the TypeVarType as a StringRef.

Definition at line 58 of file Poly.cpp.