Uses of Class
org.kink_lang.kink.internal.program.itreeoptimize.BaseOptimizer
Packages that use BaseOptimizer
Package
Description
Provides optimizers of itrees.
-
Uses of BaseOptimizer in org.kink_lang.kink.internal.program.itreeoptimize
Subclasses of BaseOptimizer in org.kink_lang.kink.internal.program.itreeoptimizeModifier and TypeClassDescriptionclassConverts expression like[:X :Y] <- \argsto ArgsPassingItree.classOptimizes a mcall likeX <- Yto AssignmentItree.classOptimizes bi arithmetic operations to BiArithmeticItree..classApplies inlining of calls of branch in the form below.classApplies inlining of calls of branch in the form below.classPropagates the content of local var in its dereference.classEliminates lstore to unused lvars.classReduces a one step seq to an expression, removing the parentheses.classEliminates unused code from a seq.classFlattens a seq recursively.classConverts method call of Fun.call to symcall.classInlining optimizer of preloadedif.classOptimizes\binding.DatatoData.classUnifies consequent letrec into a single letrec.classConverts:foo <- { ,,, }to letrec.classRemove assignment from letrec if the lvar is not used.classInlining optimizer of a let clause on the tail context.classOptimizer from:Val <- 42to an LSTORE itree.classApplies constant folding for expressions in the form- NUM_CONST.classConverts expression like[:X :Y] <- \argsto ArgsPassingItree.classInlining of assignment in the form[:X [:Y :Z]] <- Rhs.classOptimizes[:A :B :C.opt :D.opt :Rest.rest] <- xxxto OptRestVecAssignmentItree.classOptimizes assignment in the form[:A :B :C.opt :D.opt] <- xxx.classOptimizer which puts the continuation of a seq into the seq.classOptimizes[:Rest.rest] <- xxxto RestVecAssignmentItree.classOptimizes invocation in the formnew_val('X' x 'Y' y).classConverts a fun to SSA form if possible.classOptimizer fromB:X <- 42to a STORE itree.classTemplateArgsPassingOptimizer<S extends ItreeWithRhs,D extends Itree> Converts an assignment to args passing.classConverts expression likenew_val(... Trait 'X' 10 'Y' 20)to TraitNewValItree.classConverts nested args passing to unnested one.classOptimizes an assignment in the form[X:Foo Y:Bar] <- Rhsto VarrefVecAssignmentItree.classOptimizes a VarrefVecAssignmentItree to a better form.