MLIR  20.0.0git
Macros | Functions
EmitC.cpp File Reference
#include "mlir/Dialect/EmitC/IR/EmitC.h"
#include "mlir/Dialect/EmitC/IR/EmitCTraits.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/IR/Types.h"
#include "mlir/Interfaces/FunctionImplementation.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/Casting.h"
#include "mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc"
#include "mlir/Dialect/EmitC/IR/EmitC.cpp.inc"
#include "mlir/Dialect/EmitC/IR/EmitCTypes.cpp.inc"
#include "mlir/Dialect/EmitC/IR/EmitCAttributes.cpp.inc"
#include "mlir/Dialect/EmitC/IR/EmitCEnums.cpp.inc"

Go to the source code of this file.

Macros

#define GET_OP_LIST
 
#define GET_TYPEDEF_LIST
 
#define GET_ATTRDEF_LIST
 
#define GET_ATTRDEF_CLASSES
 
#define GET_TYPEDEF_CLASSES
 
#define GET_OP_CLASSES
 

Functions

static LogicalResult verifyInitializationAttribute (Operation *op, Attribute value)
 Check that the type of the initial value is compatible with the operations result type. More...
 
static void printEmitCGlobalOpTypeAndInitialValue (OpAsmPrinter &p, GlobalOp op, TypeAttr type, Attribute initialValue)
 
static Type getInitializerTypeForGlobal (Type type)
 
static ParseResult parseEmitCGlobalOpTypeAndInitialValue (OpAsmParser &parser, TypeAttr &typeAttr, Attribute &initialValue)
 
static ParseResult parseSwitchCases (OpAsmParser &parser, DenseI64ArrayAttr &cases, SmallVectorImpl< std::unique_ptr< Region >> &caseRegions)
 Parse the case regions and values. More...
 
static void printSwitchCases (OpAsmPrinter &p, Operation *op, DenseI64ArrayAttr cases, RegionRange caseRegions)
 Print the case regions and values. More...
 
static LogicalResult verifyRegion (emitc::SwitchOp op, Region &region, const Twine &name)
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 922 of file EmitC.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 1296 of file EmitC.cpp.

◆ GET_OP_LIST

#define GET_OP_LIST

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 929 of file EmitC.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ getInitializerTypeForGlobal()

static Type getInitializerTypeForGlobal ( Type  type)
static

Definition at line 1056 of file EmitC.cpp.

References mlir::get().

Referenced by parseEmitCGlobalOpTypeAndInitialValue().

◆ parseEmitCGlobalOpTypeAndInitialValue()

static ParseResult parseEmitCGlobalOpTypeAndInitialValue ( OpAsmParser parser,
TypeAttr &  typeAttr,
Attribute initialValue 
)
static

◆ parseSwitchCases()

static ParseResult parseSwitchCases ( OpAsmParser parser,
DenseI64ArrayAttr cases,
SmallVectorImpl< std::unique_ptr< Region >> &  caseRegions 
)
static

◆ printEmitCGlobalOpTypeAndInitialValue()

static void printEmitCGlobalOpTypeAndInitialValue ( OpAsmPrinter p,
GlobalOp  op,
TypeAttr  type,
Attribute  initialValue 
)
static

Definition at line 1046 of file EmitC.cpp.

References mlir::AsmPrinter::printAttributeWithoutType().

◆ printSwitchCases()

static void printSwitchCases ( OpAsmPrinter p,
Operation op,
DenseI64ArrayAttr  cases,
RegionRange  caseRegions 
)
static

◆ verifyInitializationAttribute()

static LogicalResult verifyInitializationAttribute ( Operation op,
Attribute  value 
)
static

Check that the type of the initial value is compatible with the operations result type.

Definition at line 141 of file EmitC.cpp.

References mlir::Operation::emitOpError(), mlir::Operation::getNumResults(), mlir::Operation::getResult(), mlir::Value::getType(), mlir::Type::isIndex(), and mlir::emitc::isPointerWideType().

◆ verifyRegion()

static LogicalResult verifyRegion ( emitc::SwitchOp  op,
Region region,
const Twine &  name 
)
static