Interface JitOpVisitor
- All Known Subinterfaces:
JitOpUpwardVisitor
- All Known Implementing Classes:
JitDataFlowModel.GraphvizExporter, JitDataFlowModel.ValCollector
public interface JitOpVisitor
A visitor for traversing the use-def graph
The default implementations here do nothing other than discern the type of an op and variable and
dispatch the invocations appropriately. To traverse the graph upward, consider
JitOpUpwardVisitor. Note no "downward" visitor is currently provided, because it was not
needed.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidvisitBinOp(JitBinOp binOp) Visit aJitBinOpdefault voidvisitBranchIndOp(JitBranchIndOp branchIndOp) Visit aJitBranchIndOpdefault voidvisitBranchOp(JitBranchOp branchOp) Visit aJitBranchOpdefault voidvisitCallOtherDefOp(JitCallOtherDefOp otherOp) Visit aJitCallOtherDefOpdefault voidVisit aJitCallOtherMissingOpdefault voidvisitCallOtherOp(JitCallOtherOp otherOp) Visit aJitCallOtherOpdefault voidvisitCatenateOp(JitCatenateOp catOp) Visit aJitCatenateOpdefault voidvisitCBranchOp(JitCBranchOp cBranchOp) Visit aJitCBranchOpdefault voidvisitConstVal(JitConstVal constVal) Visit aJitConstValdefault voidvisitDirectMemoryVar(JitDirectMemoryVar dirMemVar) Visit aJitDirectMemoryVardefault voidvisitFailVal(JitFailVal failVal) Visit aJitFailValdefault voidvisitIndirectMemoryVar(JitIndirectMemoryVar indMemVar) Visit aJitIndirectMemoryVardefault voidvisitInputVar(JitInputVar inputVar) Visit aJitInputVardefault voidvisitLoadOp(JitLoadOp loadOp) Visit aJitLoadOpdefault voidvisitMissingVar(JitMissingVar missingVar) Visit aJitMissingVardefault voidvisitNopOp(JitNopOp nopOp) Visit aJitNopOpdefault voidVisit an op nodedefault voidvisitOutVar(JitOutVar outVar) Visit aJitOutVardefault voidvisitPhiOp(JitPhiOp phiOp) Visit aJitPhiOpdefault voidvisitStoreOp(JitStoreOp storeOp) Visit aJitStoreOpdefault voidvisitSubPieceOp(JitSynthSubPieceOp pieceOp) Visit aJitSynthSubPieceOpdefault voidvisitUnimplementedOp(JitUnimplementedOp unimplOp) Visit aJitUnimplementedOpdefault voidVisit aJitUnOpdefault voidVisit aJitValdefault voidVisit aJitVar
-
Method Details
-
visitOp
Visit an op nodeThe default implementation dispatches this to the type-specific
visitmethod.- Parameters:
op- the op visited
-
visitUnOp
-
visitBinOp
-
visitStoreOp
Visit aJitStoreOp- Parameters:
storeOp- the op visited
-
visitLoadOp
-
visitCallOtherOp
Visit aJitCallOtherOp- Parameters:
otherOp- the op visited
-
visitCallOtherDefOp
Visit aJitCallOtherDefOp- Parameters:
otherOp- the op visited
-
visitCallOtherMissingOp
Visit aJitCallOtherMissingOp- Parameters:
otherOp- the op visited
-
visitCatenateOp
Visit aJitCatenateOp- Parameters:
catOp- the op visited
-
visitPhiOp
-
visitSubPieceOp
Visit aJitSynthSubPieceOp- Parameters:
pieceOp- the op visited
-
visitBranchOp
Visit aJitBranchOp- Parameters:
branchOp- the op visited
-
visitCBranchOp
Visit aJitCBranchOp- Parameters:
cBranchOp- the op visited
-
visitBranchIndOp
Visit aJitBranchIndOp- Parameters:
branchIndOp- the op visited
-
visitUnimplementedOp
Visit aJitUnimplementedOp- Parameters:
unimplOp- the op visited
-
visitNopOp
-
visitVal
-
visitVar
-
visitConstVal
Visit aJitConstVal- Parameters:
constVal- the value visited
-
visitFailVal
Visit aJitFailVal- Parameters:
failVal- the value visited
-
visitDirectMemoryVar
Visit aJitDirectMemoryVar- Parameters:
dirMemVar- the variable visited
-
visitIndirectMemoryVar
Visit aJitIndirectMemoryVarNOTE: These should not ordinarily appear in the use-def graph. There is only the one
JitIndirectMemoryVar.INSTANCE, and it's used as a temporary dummy. Indirect memory access is instead modeled by theJitLoadOp.- Parameters:
indMemVar- the variable visited
-
visitInputVar
Visit aJitInputVar- Parameters:
inputVar- the variable visited
-
visitMissingVar
Visit aJitMissingVar- Parameters:
missingVar- the variable visited
-
visitOutVar
-