clang 22.0.0git
LoweringHelpers.h File Reference
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/Transforms/DialectConversion.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"

Go to the source code of this file.

Functions

mlir::DenseElementsAttr convertStringAttrToDenseElementsAttr (cir::ConstArrayAttr attr, mlir::Type type)
template<typename StorageTy>
StorageTy getZeroInitFromType (mlir::Type ty)
template<>
mlir::APInt getZeroInitFromType (mlir::Type ty)
template<>
mlir::APFloat getZeroInitFromType (mlir::Type ty)
template<typename AttrTy, typename StorageTy>
void convertToDenseElementsAttrImpl (cir::ConstArrayAttr attr, llvm::SmallVectorImpl< StorageTy > &values)
template<typename AttrTy, typename StorageTy>
mlir::DenseElementsAttr convertToDenseElementsAttr (cir::ConstArrayAttr attr, const llvm::SmallVectorImpl< int64_t > &dims, mlir::Type type)
std::optional< mlir::Attribute > lowerConstArrayAttr (cir::ConstArrayAttr constArr, const mlir::TypeConverter *converter)
mlir::Value getConstAPInt (mlir::OpBuilder &bld, mlir::Location loc, mlir::Type typ, const llvm::APInt &val)
mlir::Value getConst (mlir::OpBuilder &bld, mlir::Location loc, mlir::Type typ, unsigned val)
mlir::Value createShL (mlir::OpBuilder &bld, mlir::Value lhs, unsigned rhs)
mlir::Value createAShR (mlir::OpBuilder &bld, mlir::Value lhs, unsigned rhs)
mlir::Value createAnd (mlir::OpBuilder &bld, mlir::Value lhs, const llvm::APInt &rhs)
mlir::Value createLShR (mlir::OpBuilder &bld, mlir::Value lhs, unsigned rhs)

Function Documentation

◆ convertStringAttrToDenseElementsAttr()

mlir::DenseElementsAttr convertStringAttrToDenseElementsAttr ( cir::ConstArrayAttr attr,
mlir::Type type )

◆ convertToDenseElementsAttr()

template<typename AttrTy, typename StorageTy>
mlir::DenseElementsAttr convertToDenseElementsAttr ( cir::ConstArrayAttr attr,
const llvm::SmallVectorImpl< int64_t > & dims,
mlir::Type type )

◆ convertToDenseElementsAttrImpl()

template<typename AttrTy, typename StorageTy>
void convertToDenseElementsAttrImpl ( cir::ConstArrayAttr attr,
llvm::SmallVectorImpl< StorageTy > & values )

◆ createAnd()

mlir::Value createAnd ( mlir::OpBuilder & bld,
mlir::Value lhs,
const llvm::APInt & rhs )

Definition at line 173 of file LoweringHelpers.cpp.

References getConstAPInt().

◆ createAShR()

mlir::Value createAShR ( mlir::OpBuilder & bld,
mlir::Value lhs,
unsigned rhs )

Definition at line 166 of file LoweringHelpers.cpp.

References getConst().

◆ createLShR()

mlir::Value createLShR ( mlir::OpBuilder & bld,
mlir::Value lhs,
unsigned rhs )

Definition at line 179 of file LoweringHelpers.cpp.

References getConst().

◆ createShL()

mlir::Value createShL ( mlir::OpBuilder & bld,
mlir::Value lhs,
unsigned rhs )

Definition at line 159 of file LoweringHelpers.cpp.

References getConst().

◆ getConst()

mlir::Value getConst ( mlir::OpBuilder & bld,
mlir::Location loc,
mlir::Type typ,
unsigned val )

Definition at line 154 of file LoweringHelpers.cpp.

Referenced by createAShR(), createLShR(), and createShL().

◆ getConstAPInt()

mlir::Value getConstAPInt ( mlir::OpBuilder & bld,
mlir::Location loc,
mlir::Type typ,
const llvm::APInt & val )

Definition at line 149 of file LoweringHelpers.cpp.

Referenced by createAnd().

◆ getZeroInitFromType() [1/3]

template<typename StorageTy>
StorageTy getZeroInitFromType ( mlir::Type ty)

◆ getZeroInitFromType() [2/3]

template<>
mlir::APInt getZeroInitFromType ( mlir::Type ty)

Definition at line 35 of file LoweringHelpers.cpp.

◆ getZeroInitFromType() [3/3]

template<>
mlir::APFloat getZeroInitFromType ( mlir::Type ty)

Definition at line 35 of file LoweringHelpers.cpp.

◆ lowerConstArrayAttr()

std::optional< mlir::Attribute > lowerConstArrayAttr ( cir::ConstArrayAttr constArr,
const mlir::TypeConverter * converter )