SpecHLS

SpecHLS: A Speculative High-Level Synthesis Framework

'wcet' Dialect

A dialect for wcet analysis in speculative High-Level Synthesis.

TODO

Operations

wcet.cast (wcet::CastOp)

Syntax:

operation ::= `wcet.cast` $input attr-dict `:` type($input) `to` type($output)

Traits: AlwaysSpeculatableImplTrait

Interfaces: CastOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
inputany type

Results:

ResultDescription
outputany type

wcet.commit (wcet::CommitOp)

Commit the ouput of the core

Syntax:

operation ::= `wcet.commit` attr-dict ($inputs^ `:` type($inputs))?

Traits: AlwaysSpeculatableImplTrait, HasParent<CoreOp>, Terminator

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
inputsvariadic of any type

wcet.constArrayRead (wcet::ConstArrayRead)

Syntax:

operation ::= `wcet.constArrayRead` $index `<` $contents `>` `,` $step attr-dict `:` type($index) `,` type($result)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
contents::mlir::DenseI64ArrayAttri64 dense array attribute
step::mlir::IntegerAttr64-bit signless integer attribute

Operands:

OperandDescription
indexinteger

Results:

ResultDescription
resultinteger

wcet.core (wcet::CoreOp)

TODO

TODO

Traits: IsolatedFromAbove

Interfaces: ArgAndResultAttrsOpInterface, CallableOpInterface, FunctionOpInterface, RegionKindInterface, Symbol

Attributes:

AttributeMLIR TypeDescription
sym_name::mlir::StringAttrstring attribute
function_type::mlir::TypeAttrtype attribute of function type
arg_attrs::mlir::ArrayAttrArray of dictionary attributes
res_attrs::mlir::ArrayAttrArray of dictionary attributes

wcet.core_instance (wcet::CoreInstanceOp)

Instanciate a core

Syntax:

operation ::= `wcet.core_instance` $callee `(` $inputs `)` attr-dict `:` functional-type($inputs, results)

Interfaces: ArgAndResultAttrsOpInterface, CallOpInterface

Attributes:

AttributeMLIR TypeDescription
callee::mlir::FlatSymbolRefAttrflat symbol reference attribute
arg_attrs::mlir::ArrayAttrArray of dictionary attributes
res_attrs::mlir::ArrayAttrArray of dictionary attributes

Operands:

OperandDescription
inputsvariadic of any type

Results:

ResultDescription
«unnamed»variadic of any type

wcet.dontCare (wcet::DontCare)

An invalid valid that can be throw aways

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results:

ResultDescription
resultany type

wcet.dummy (wcet::DummyOp)

Dummy.

Syntax:

operation ::= `wcet.dummy` $inputs `:` type($inputs) `->` qualified(type($outputs)) attr-dict

Dummy operation for longestPath analysis.

Operands:

OperandDescription
inputsvariadic of any type

Results:

ResultDescription
outputsvariadic of any type

wcet.gamma (wcet::GammaOp)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), OpAsmOpInterface

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
sym_name::mlir::StringAttrstring attribute

Operands:

OperandDescription
selectinteger
inputsvariadic of any type

Results:

ResultDescription
resultany type

wcet.init (wcet::InitOp)

Init.

Syntax:

operation ::= `wcet.init` $name `:` type($result)      attr-dict

Attributes:

AttributeMLIR TypeDescription
name::mlir::FlatSymbolRefAttrflat symbol reference attribute

Results:

ResultDescription
resultany type

wcet.lut (wcet::LUTOp)

Syntax:

operation ::= `wcet.lut` $index $contents attr-dict `:` functional-type($index, $result)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), OpAsmOpInterface

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
contents::mlir::DenseI64ArrayAttri64 dense array attribute

Operands:

OperandDescription
indexinteger

Results:

ResultDescription
resultinteger

wcet.penalty (wcet::PenaltyOp)

Traits: AttrSizedOperandSegments

Interfaces: InferTypeOpInterface

Attributes:

AttributeMLIR TypeDescription
depth::mlir::IntegerAttr32-bit unsigned integer attribute

Operands:

OperandDescription
inputany type
enable1-bit signless integer
initany type

Results:

ResultDescription
resultany type
Last updated on 20 Feb 2026
Published on 20 Feb 2026