mlir-gccjit

An MLIR dialect for libgccjit

Attributes

ByteArrayInitializerAttr

Byte array initializer

Syntax:

#gccjit.byte_array<
  DenseI8ArrayAttr   # initializer
>

Represents the byte array initializer.

Parameters:

Parameter C++ type Description
initializer DenseI8ArrayAttr

FieldAttr

A field within a struct or a union

Syntax:

#gccjit.field<
  mlir::StringAttr,   # name
  mlir::Type,   # type
  std::optional<unsigned>,   # bitWidth
  std::optional<mlir::gccjit::SourceLocAttr>   # loc
>

The #gccjit.field attribute represents a field within a record (i.e. a record or a union).

When the bitWidth parameter is present, the attribute represents a bitfield. The bitWidth parameter gives the width of the bitfield.

Parameters:

Parameter C++ type Description
name mlir::StringAttr
type mlir::Type
bitWidth std::optional<unsigned>
loc std::optional<mlir::gccjit::SourceLocAttr>

FloatAttr

An attribute containing a constant floating-point value

A #gccjit.float attribute represents a constant floating-point value of some libgccjit floating-point type.

Example:

#gccjit.float<42.0>

Parameters:

Parameter C++ type Description
type mlir::gccjit::FloatType
value ::mlir::APFloat

FunctionAttr

Function Attribute

A #gccjit.fn_attr attribute represents a function attribute. There three types of function attributes:

  • unit attributes: those without a value.
  • string attributes: those with a string value.
  • integer array attributes: those with an array of integers.

Parameters:

Parameter C++ type Description
attr FnAttrEnumAttr
strValue std::optional<mlir::StringAttr>
intArrayValue std::optional<mlir::DenseI32ArrayAttr>

IntAttr

An attribute containing a integer value

An #gccjit.int attribute represents a constant integer value of some libgccjit integer type.

Example:

#gccjit.int<42>

Parameters:

Parameter C++ type Description
type mlir::gccjit::IntType
value ::mlir::APInt

NullAttr

An attribute containing a null pointer constant

Syntax:

#gccjit.null<
  mlir::gccjit::PointerType   # type
>

A #gccjit.null attribute represents a constant null pointer value of some libgccjit pointer type.

Parameters:

Parameter C++ type Description
type mlir::gccjit::PointerType

OneAttr

An attribute containing a constant one

Syntax:

#gccjit.one<
  ::mlir::Type   # type
>

A #gccjit.one attribute represents a constant one value of some libgccjit integer or floating-point type.

Parameters:

Parameter C++ type Description
type ::mlir::Type

OptLevelAttr

Optimization level

Represents the optimization level.

Parameters:

Parameter C++ type Description
level OptLevelEnumAttr

SourceLocAttr

Source location

Syntax:

#gccjit.loc<
  mlir::StringAttr,   # filename
  int,   # line
  int   # column
>

Represent a source location in GCCJIT.

Parameters:

Parameter C++ type Description
filename mlir::StringAttr
line int
column int

TLSModelAttr

Thread Local Storage model

Represents the Thread Local Storage model for the lvalue.

Parameters:

Parameter C++ type Description
model TLSModelEnumAttr

ZeroAttr

An attribute containing a constant zero

Syntax:

#gccjit.zero<
  ::mlir::Type   # type
>

A #gccjit.zero attribute represents a constant zero value of some libgccjit integer or floating-point type.

Parameters:

Parameter C++ type Description
type ::mlir::Type
Last updated on 30 Nov 2024
Published on 30 Nov 2024