MLIR  19.0.0git
Functions
mlir::emitc Namespace Reference

Functions

void buildTerminatedBody (OpBuilder &builder, Location loc)
 Default callback for builders of ops carrying a region. More...
 
bool isSupportedEmitCType (mlir::Type type)
 Determines whether type is valid in EmitC. More...
 
bool isSupportedIntegerType (mlir::Type type)
 Determines whether type is a valid integer type in EmitC. More...
 
bool isIntegerIndexOrOpaqueType (Type type)
 Determines whether type is integer like, i.e. More...
 
bool isSupportedFloatType (mlir::Type type)
 Determines whether type is a valid floating-point type in EmitC. More...
 
std::unique_ptr< PasscreateFormExpressionsPass ()
 Creates an instance of the C-style expressions forming pass. More...
 
ExpressionOp createExpression (Operation *op, OpBuilder &builder)
 
void populateExpressionPatterns (RewritePatternSet &patterns)
 Populates patterns with expression-related patterns. More...
 
LogicalResult translateToCpp (Operation *op, raw_ostream &os, bool declareVariablesAtTop=false)
 Translates the given operation to C++ code. More...
 

Function Documentation

◆ buildTerminatedBody()

void mlir::emitc::buildTerminatedBody ( OpBuilder builder,
Location  loc 
)

Default callback for builders of ops carrying a region.

Inserts a yield without arguments.

Definition at line 57 of file EmitC.cpp.

References mlir::OpBuilder::create().

◆ createExpression()

ExpressionOp mlir::emitc::createExpression ( Operation op,
OpBuilder builder 
)

Definition at line 18 of file Transforms.cpp.

◆ createFormExpressionsPass()

std::unique_ptr< Pass > mlir::emitc::createFormExpressionsPass ( )

Creates an instance of the C-style expressions forming pass.

Definition at line 59 of file FormExpressions.cpp.

◆ isIntegerIndexOrOpaqueType()

bool mlir::emitc::isIntegerIndexOrOpaqueType ( Type  type)

Determines whether type is integer like, i.e.

it's a supported integer, an index or opaque type.

Definition at line 111 of file EmitC.cpp.

References isSupportedIntegerType().

◆ isSupportedEmitCType()

bool mlir::emitc::isSupportedEmitCType ( mlir::Type  type)

Determines whether type is valid in EmitC.

Definition at line 61 of file EmitC.cpp.

References mlir::Type::isIndex(), isSupportedFloatType(), and isSupportedIntegerType().

◆ isSupportedFloatType()

bool mlir::emitc::isSupportedFloatType ( mlir::Type  type)

Determines whether type is a valid floating-point type in EmitC.

Definition at line 116 of file EmitC.cpp.

Referenced by isSupportedEmitCType().

◆ isSupportedIntegerType()

bool mlir::emitc::isSupportedIntegerType ( mlir::Type  type)

Determines whether type is a valid integer type in EmitC.

Definition at line 95 of file EmitC.cpp.

Referenced by isIntegerIndexOrOpaqueType(), and isSupportedEmitCType().

◆ populateExpressionPatterns()

void mlir::emitc::populateExpressionPatterns ( RewritePatternSet patterns)

Populates patterns with expression-related patterns.

Definition at line 110 of file Transforms.cpp.

References mlir::RewritePatternSet::add(), and mlir::RewritePatternSet::getContext().

◆ translateToCpp()

LogicalResult mlir::emitc::translateToCpp ( Operation op,
raw_ostream &  os,
bool  declareVariablesAtTop = false 
)

Translates the given operation to C++ code.

The operation or operations in the region of 'op' need almost all be in EmitC dialect. The parameter 'declareVariablesAtTop' enforces that all variables for op results and block arguments are declared at the beginning of the function.

Definition at line 1632 of file TranslateToCpp.cpp.