11#include <mlir/CAPI/IR.h>
12#include <mlir/CAPI/Support.h>
13#include <llvm/ADT/TypeSwitch.h>
20 return llvm::isa<LoopBoundsAttr>(unwrap(inp));
25 return wrap(LoopBoundsAttr::get(unwrap(ctx), unwrap(lower), unwrap(upper), unwrap(step)));
29 return wrap(llvm::cast<LoopBoundsAttr>(unwrap(inp)).getLower());
33 return wrap(llvm::cast<LoopBoundsAttr>(unwrap(inp)).getUpper());
37 return wrap(llvm::cast<LoopBoundsAttr>(unwrap(inp)).getStep());
41 return llvm::isa<PublicAttr>(unwrap(inp));
46 return wrap(PublicAttr::get(unwrap(ctx)));
bool llzkAttributeIsA_Llzk_LoopBoundsAttr(MlirAttribute inp)
Returns true if the Attribute is a llzk::LoopBoundsAttr.
MlirAttribute llzkLlzk_PublicAttrGet(MlirContext ctx)
Create a llzk::PublicAttr Attribute with the given parameters.
int64_t llzkLlzk_LoopBoundsAttrGetStep(MlirAttribute inp)
Get 'step' parameter from a llzk::LoopBoundsAttr Attribute.
int64_t llzkLlzk_LoopBoundsAttrGetUpper(MlirAttribute inp)
Get 'upper' parameter from a llzk::LoopBoundsAttr Attribute.
bool llzkAttributeIsA_Llzk_PublicAttr(MlirAttribute inp)
Returns true if the Attribute is a llzk::PublicAttr.
MlirAttribute llzkLlzk_LoopBoundsAttrGet(MlirContext ctx, int64_t lower, int64_t upper, int64_t step)
Create a llzk::LoopBoundsAttr Attribute with the given parameters.
int64_t llzkLlzk_LoopBoundsAttrGetLower(MlirAttribute inp)
Get 'lower' parameter from a llzk::LoopBoundsAttr Attribute.