clang 22.0.0git
Functions
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 
)

◆ createAShR()

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

◆ createLShR()

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

◆ createShL()

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

◆ 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 
)