Idris2Doc : Compiler.IR

Compiler.IR

(source)
For internal spidr use only.

Reexports

importpublic Compiler.Stablehlo.Dialect.StablehloEnums

Definitions

dataValueType : Type
Totality: total
Visibility: public export
Constructors:
TensorType : Shape->DType->ValueType
  A concrete tensor type
TypeRef : Nat->Nat->ValueType
  Points to the type of the value at this index and tag

Hint: 
ShowValueType
recordEnv : Type
Totality: total
Visibility: public export
Constructor: 
MkEnv : Nat->List (Nat, Op) ->Env

Projections:
.counter : Env->Nat
  The global counter
.ops : Env->List (Nat, Op)
  Local cached ops
.counter : Env->Nat
  The global counter

Totality: total
Visibility: public export
counter : Env->Nat
  The global counter

Totality: total
Visibility: public export
.ops : Env->List (Nat, Op)
  Local cached ops

Totality: total
Visibility: public export
ops : Env->List (Nat, Op)
  Local cached ops

Totality: total
Visibility: public export
empty : Env
Totality: total
Visibility: export
emptyFrom : Env->Env
Totality: total
Visibility: export
updateCounterFrom : Env->StateEnv ()
Totality: total
Visibility: export
dataValue : Type
Totality: total
Visibility: public export
Constructor: 
V : Nat->OpRef->Value
recordFn : Nat->Type
  An anonymous function. Approximates an MLIR `Region` or `Block` (these are somewhat synonymous
in spidr since all regions have exactly one block). `tag` labels the parameter set.

Totality: total
Visibility: public export
Constructor: 
MkFn : Nat->VectarityValueType->VectresultCountValueType->VectresultCountValue->Env->Fnarity

Projections:
.env : Fnarity->Env
.paramTypes : Fnarity->VectarityValueType
0.resultCount : Fnarity->Nat
.resultTypes : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) ValueType
.results : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) Value
.tag : Fnarity->Nat

Hint: 
Show (Fnarity)
.tag : Fnarity->Nat
Totality: total
Visibility: public export
tag : Fnarity->Nat
Totality: total
Visibility: public export
.paramTypes : Fnarity->VectarityValueType
Totality: total
Visibility: public export
paramTypes : Fnarity->VectarityValueType
Totality: total
Visibility: public export
.resultTypes : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) ValueType
Totality: total
Visibility: public export
resultTypes : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) ValueType
Totality: total
Visibility: public export
.results : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) Value
Totality: total
Visibility: public export
results : ({rec:0} : Fnarity) ->Vect (resultCount{rec:0}) Value
Totality: total
Visibility: public export
.env : Fnarity->Env
Totality: total
Visibility: public export
env : Fnarity->Env
Totality: total
Visibility: public export
dataBinaryOp : Type
Totality: total
Visibility: public export
Constructors:
Compare : ComparisonDirection->BinaryOp
And : BinaryOp
Or : BinaryOp
Add : BinaryOp
Sub : BinaryOp
Mul : BinaryOp
Div : BinaryOp
Rem : BinaryOp
Pow : BinaryOp
Min : BinaryOp
Max : BinaryOp
ShiftRightLogical : BinaryOp

Hint: 
ShowBinaryOp
dataUnaryOp : Type
Totality: total
Visibility: public export
Constructors:
Not : UnaryOp
Neg : UnaryOp
Ceil : UnaryOp
Floor : UnaryOp
Abs : UnaryOp
Log : UnaryOp
Exp : UnaryOp
Logistic : UnaryOp
Sqrt : UnaryOp
Sin : UnaryOp
Cos : UnaryOp
Tan : UnaryOp
Tanh : UnaryOp
Erf : UnaryOp
ErfInv : UnaryOp
Square : UnaryOp
Asin : UnaryOp
Acos : UnaryOp
Atan : UnaryOp
Sinh : UnaryOp
Cosh : UnaryOp
Asinh : UnaryOp
Acosh : UnaryOp
Atanh : UnaryOp

Hint: 
ShowUnaryOp
dataOp : Type
Totality: total
Visibility: public export
Constructors:
NamedFunc : Fnarity->Op
  Corresponds approximately to a FuncOp. The FuncOp's name is determined by the `Fn`s tag.
We use the tag to correspond to both the parameter set and the function itself. I think this
is OK because the function determines the parameter set (notably we don't introduce any
regions with multiple blocks, so each FuncOp only has one block).

The function is assumed **not** to capture variables, see `Passes.removeCaptures`.
CallByName : Nat->ListValueType->ListValue->Op
  Call a named function, by name.

The named functions must be listed in the `Env`, else it will not be interpreted.
Lit : (shape : Shape) -> (dtype : DType) ->Literalshape (idrisTypedtype) ->Op
Grad : Shape->Fn1->Value->Op
MinValue : DType->Op
MaxValue : DType->Op
MinFiniteFloat : Op
MaxFiniteFloat : Op
Iota : Shape->DType->Nat->Op
BitCastConvert : DType->Shape->Value->Op
Convert : DType->Shape->Value->Op
Reshape : DType->Shape->Value->Op
Slice : ListNat->ListNat->ListNat->Value->Op
DynamicSlice : ListValue->ListNat->Value->Op
Concat : Nat->Vect (Sn) Value->Op
Transpose : ListNat->Value->Op
Broadcast : DType->Shape->Shape->Value->Op
Map : Fnarity->VectarityValue->ValueType->Shape->Op
Reduce : Fn (n+n) ->VectnValue->ListNat->VectnValue->Op
Sort : Fn2->Nat->Bool->Value->Op
Reverse : ListNat->Value->Op
BinaryElementwise : BinaryOp->Value->Value->Op
UnaryElementwise : UnaryOp->Value->Op
Select : Value->Value->Value->Op
While : Fnn->Fnn->VectnValue->Op
If : ValueType->Value->Fn0->Fn0->Op
DotGeneral : ListNat->ListNat->ListNat->ListNat->ValueType->Value->Value->Op
Cholesky : Value->Op
TriangularSolve : Value->Value->Bool->Op
Rng : Value->ValueType->Op
dataOpRef : Type
Totality: total
Visibility: public export
Constructors:
BoundSet : Nat->OpRef
Concrete : Op->OpRef

Hint: 
TaggableOpRef
tagOpRef : Monadm=>OpRef->StateTEnvmOpRef
Totality: total
Visibility: export
reserve : StateEnvNat
Totality: total
Visibility: export