Uses of Interface
org.kink_lang.kink.internal.program.itree.ItreeVisitor
Packages that use ItreeVisitor
Package
Description
Itree (intermediate tree) representation of Kink programs.
Provides optimizers of itrees.
-
Uses of ItreeVisitor in org.kink_lang.kink.internal.program.itree
Classes in org.kink_lang.kink.internal.program.itree that implement ItreeVisitorModifier and TypeClassDescriptionclassAn itree visitor with a default make.Methods in org.kink_lang.kink.internal.program.itree with parameters of type ItreeVisitorModifier and TypeMethodDescription<T> TArgsPassingItree.accept(ItreeVisitor<T> visitor) <T> TArgVecItree.accept(ItreeVisitor<T> visitor) <T> TAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TBiArithmeticItree.accept(ItreeVisitor<T> visitor) <T> TBindingItree.accept(ItreeVisitor<T> visitor) <T> TBranchItree.accept(ItreeVisitor<T> visitor) <T> TBranchWithElseItree.accept(ItreeVisitor<T> visitor) <T> TDerefItree.accept(ItreeVisitor<T> visitor) <T> TFastFunItree.accept(ItreeVisitor<T> visitor) <T> TIfItree.accept(ItreeVisitor<T> visitor) <T> TItree.accept(ItreeVisitor<T> visitor) Accepts a visitor.<T> TLderefItree.accept(ItreeVisitor<T> visitor) <T> TLetRecItree.accept(ItreeVisitor<T> visitor) <T> TLstoreItree.accept(ItreeVisitor<T> visitor) <T> TMcallItree.accept(ItreeVisitor<T> visitor) <T> TNadaItree.accept(ItreeVisitor<T> visitor) <T> TNestedArgsPassingItree.accept(ItreeVisitor<T> visitor) <T> TNestedVecAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TNoTraitNewValItree.accept(ItreeVisitor<T> visitor) <T> TNumItree.accept(ItreeVisitor<T> visitor) <T> TOptRestVecAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TOptVecAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TRecvItree.accept(ItreeVisitor<T> visitor) <T> TRestVecAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TSeqItree.accept(ItreeVisitor<T> visitor) <T> TSlowFunItree.accept(ItreeVisitor<T> visitor) <T> TStoreItree.accept(ItreeVisitor<T> visitor) <T> TStrItree.accept(ItreeVisitor<T> visitor) <T> TSymcallItree.accept(ItreeVisitor<T> visitor) <T> TTraitNewValItree.accept(ItreeVisitor<T> visitor) <T> TVarrefItree.accept(ItreeVisitor<T> visitor) <T> TVarrefVecAssignmentItree.accept(ItreeVisitor<T> visitor) <T> TVecItree.accept(ItreeVisitor<T> visitor) -
Uses of ItreeVisitor in org.kink_lang.kink.internal.program.itreeoptimize
Classes in org.kink_lang.kink.internal.program.itreeoptimize that implement ItreeVisitorModifier and TypeClassDescriptionclassConverts expression like[:X :Y] <- \argsto ArgsPassingItree.classOptimizes a mcall likeX <- Yto AssignmentItree.classBase class for optimizing visitors.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.