at.dms.kjc
Interface SLIRVisitor

All Superinterfaces:
KjcVisitor
All Known Subinterfaces:
CodeGenerator
All Known Implementing Classes:
CheckForMethodCalls, CloningVisitor, CodeEstimate, DetectConst, EmitCellCode.CellPPUCodeGen, EmitCellCode.CellSPUCodeGen, EmitCode.CodeGen, FindTapeOps, FindVarDecls, FlatIRToC, FlatIRToC, FlatIRToCluster, FlatIRToRS, HasSideEffects, InsertCounters, InsertTimers, IRPrinter, LIRToC, ModState, PeekPopInHelper, PeekPopPushInHelper, PeekPopPushInHelper, PPAnalyze, SIRPrinter, SIRToStreamIt, SLIREmptyVisitor, ToC, ToCCommon, TraceIRtoC, UseDefInfo, VariablesDefUse, VariablesUsed, VarsAssigned

public interface SLIRVisitor
extends KjcVisitor

This visitor is for visiting statement-level constructs in the streamit IR. It visits both high-level constructs like SIRInitStatement that never appear in the LIR, as well as low-level constructs like LIRSetPeek that never appear in the low IR.


Method Summary
 void visitCreatePortalExpression(SIRCreatePortal self)
           
 void visitDynamicToken(SIRDynamicToken self)
          Visits a dynamic token.
 void visitFileReader(LIRFileReader self)
          Visits a file reader.
 void visitFileWriter(LIRFileWriter self)
          Visits a file writer.
 void visitFunctionPointer(LIRFunctionPointer self, String name)
          Visits a function pointer.
 void visitIdentity(LIRIdentity self)
          Visits an identity creator.
 void visitInitStatement(SIRInitStatement self, SIRStream target)
          Visits an init statement.
 void visitInterfaceTable(SIRInterfaceTable self)
           
 void visitLatency(SIRLatency self)
          Visits a latency.
 void visitLatencyMax(SIRLatencyMax self)
          Visits a max latency.
 void visitLatencyRange(SIRLatencyRange self)
          Visits a latency range.
 void visitLatencySet(SIRLatencySet self)
          Visits a latency set.
 void visitMainFunction(LIRMainFunction self, String typeName, LIRFunctionPointer init, List<JStatement> initStatements)
          Visits a main function contents.
 void visitMarker(SIRMarker self)
          Visit SIRMarker.
 void visitMessageStatement(SIRMessageStatement self, JExpression portal, String iname, String ident, JExpression[] args, SIRLatency latency)
          Visits a message statement.
 void visitNode(LIRNode self)
          Visits an LIR node.
 void visitPeekExpression(SIRPeekExpression self, CType tapeType, JExpression arg)
          Visits a peek expression.
 void visitPopExpression(SIRPopExpression self, CType tapeType)
          Visits a pop expression.
 void visitPortal(SIRPortal self)
          Visits a message-receiving portal.
 void visitPrintStatement(SIRPrintStatement self, JExpression arg)
          Visits a print statement.
 void visitPushExpression(SIRPushExpression self, CType tapeType, JExpression arg)
          Visits a push expression.
 void visitRangeExpression(SIRRangeExpression self)
          Visits a range expression.
 void visitRegisterReceiver(LIRRegisterReceiver self, JExpression streamContext, SIRPortal portal, String childName, SIRInterfaceTable itable)
          Visits an LIR register-receiver statement.
 void visitRegReceiverStatement(SIRRegReceiverStatement self, JExpression portal, SIRStream receiver, JMethodDeclaration[] methods)
          Visits a register-receiver statement.
 void visitRegSenderStatement(SIRRegSenderStatement self, String portal, SIRLatency latency)
          Visits a register-sender statement.
 void visitSetBodyOfFeedback(LIRSetBodyOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set body of feedback loop.
 void visitSetChild(LIRSetChild self, JExpression streamContext, String childType, String childName)
          Visits a child registration node.
 void visitSetDecode(LIRSetDecode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits a decoder registration node.
 void visitSetDelay(LIRSetDelay self, JExpression data, JExpression streamContext, int delay, CType type, LIRFunctionPointer fp)
          Visits a feedback loop delay node.
 void visitSetEncode(LIRSetEncode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits an encoder registration node.
 void visitSetJoiner(LIRSetJoiner self, JExpression streamContext, SIRJoinType type, int ways, int[] weights)
          Visits a joiner-setting node.
 void visitSetLoopOfFeedback(LIRSetLoopOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set loop of feedback loop.
 void visitSetParallelStream(LIRSetParallelStream self, JExpression streamContext, JExpression childContext, int position, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set a parallel stream.
 void visitSetPeek(LIRSetPeek self, JExpression streamContext, int peek)
          Visits a peek-rate-setting node.
 void visitSetPop(LIRSetPop self, JExpression streamContext, int pop)
          Visits a pop-rate-setting node.
 void visitSetPush(LIRSetPush self, JExpression streamContext, int push)
          Visits a push-rate-setting node.
 void visitSetSplitter(LIRSetSplitter self, JExpression streamContext, SIRSplitType type, int ways, int[] weights)
          Visits a splitter-setting node.
 void visitSetStreamType(LIRSetStreamType self, JExpression streamContext, LIRStreamType streamType)
          Visits a stream-type-setting node.
 void visitSetTape(LIRSetTape self, JExpression streamContext, JExpression srcStruct, JExpression dstStruct, CType type, int size)
          Visits a tape registerer.
 void visitSetWork(LIRSetWork self, JExpression streamContext, LIRFunctionPointer fn)
          Visits a work-function-setting node.
 void visitVectorLiteral(JVectorLiteral self, JLiteral scalar)
          Visit a vector literal value.
 void visitWorkEntry(LIRWorkEntry self)
          Visits a work function entry.
 void visitWorkExit(LIRWorkExit self)
          Visits a work function exit.
 
Methods inherited from interface at.dms.kjc.KjcVisitor
visitArrayAccessExpression, visitArrayInitializer, visitArrayLengthExpression, visitAssignmentExpression, visitBinaryExpression, visitBitwiseComplementExpression, visitBitwiseExpression, visitBlockStatement, visitBooleanLiteral, visitBreakStatement, visitByteLiteral, visitCastExpression, visitCatchClause, visitCharLiteral, visitClassBody, visitClassDeclaration, visitClassExpression, visitClassImport, visitComment, visitComments, visitCompilationUnit, visitCompoundAssignmentExpression, visitCompoundStatement, visitConditionalExpression, visitConstructorCall, visitConstructorDeclaration, visitContinueStatement, visitDoStatement, visitDoubleLiteral, visitEmittedTextExpression, visitEmptyStatement, visitEqualityExpression, visitExpressionListStatement, visitExpressionStatement, visitFieldDeclaration, visitFieldExpression, visitFloatLiteral, visitFormalParameters, visitForStatement, visitIfStatement, visitInnerClassDeclaration, visitInstanceofExpression, visitInterfaceDeclaration, visitIntLiteral, visitJavadoc, visitLabeledStatement, visitLocalVariableExpression, visitLogicalComplementExpression, visitLongLiteral, visitMethodCallExpression, visitMethodDeclaration, visitNameExpression, visitNewArrayExpression, visitNullLiteral, visitPackageImport, visitPackageName, visitParenthesedExpression, visitPostfixExpression, visitPrefixExpression, visitQualifiedAnonymousCreation, visitQualifiedInstanceCreation, visitRelationalExpression, visitReturnStatement, visitShiftExpression, visitShortLiteral, visitStringLiteral, visitSuperExpression, visitSwitchGroup, visitSwitchLabel, visitSwitchStatement, visitSynchronizedStatement, visitThisExpression, visitThrowStatement, visitTryCatchStatement, visitTryFinallyStatement, visitTypeDeclarationStatement, visitTypeNameExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitUnaryPromoteExpression, visitUnqualifiedAnonymousCreation, visitUnqualifiedInstanceCreation, visitVariableDeclarationStatement, visitVariableDefinition, visitWhileStatement
 

Method Detail

visitInitStatement

void visitInitStatement(SIRInitStatement self,
                        SIRStream target)
Visits an init statement.


visitInterfaceTable

void visitInterfaceTable(SIRInterfaceTable self)

visitLatency

void visitLatency(SIRLatency self)
Visits a latency.


visitLatencyMax

void visitLatencyMax(SIRLatencyMax self)
Visits a max latency.


visitLatencyRange

void visitLatencyRange(SIRLatencyRange self)
Visits a latency range.


visitLatencySet

void visitLatencySet(SIRLatencySet self)
Visits a latency set.


visitCreatePortalExpression

void visitCreatePortalExpression(SIRCreatePortal self)

visitMessageStatement

void visitMessageStatement(SIRMessageStatement self,
                           JExpression portal,
                           String iname,
                           String ident,
                           JExpression[] args,
                           SIRLatency latency)
Visits a message statement.


visitRangeExpression

void visitRangeExpression(SIRRangeExpression self)
Visits a range expression.


visitDynamicToken

void visitDynamicToken(SIRDynamicToken self)
Visits a dynamic token.


visitPeekExpression

void visitPeekExpression(SIRPeekExpression self,
                         CType tapeType,
                         JExpression arg)
Visits a peek expression.


visitPopExpression

void visitPopExpression(SIRPopExpression self,
                        CType tapeType)
Visits a pop expression.


visitPortal

void visitPortal(SIRPortal self)
Visits a message-receiving portal.


visitPrintStatement

void visitPrintStatement(SIRPrintStatement self,
                         JExpression arg)
Visits a print statement.


visitPushExpression

void visitPushExpression(SIRPushExpression self,
                         CType tapeType,
                         JExpression arg)
Visits a push expression.


visitRegReceiverStatement

void visitRegReceiverStatement(SIRRegReceiverStatement self,
                               JExpression portal,
                               SIRStream receiver,
                               JMethodDeclaration[] methods)
Visits a register-receiver statement.


visitRegSenderStatement

void visitRegSenderStatement(SIRRegSenderStatement self,
                             String portal,
                             SIRLatency latency)
Visits a register-sender statement.


visitMarker

void visitMarker(SIRMarker self)
Visit SIRMarker.


visitFunctionPointer

void visitFunctionPointer(LIRFunctionPointer self,
                          String name)
Visits a function pointer.


visitFileReader

void visitFileReader(LIRFileReader self)
Visits a file reader.


visitFileWriter

void visitFileWriter(LIRFileWriter self)
Visits a file writer.


visitIdentity

void visitIdentity(LIRIdentity self)
Visits an identity creator.


visitNode

void visitNode(LIRNode self)
Visits an LIR node.


visitRegisterReceiver

void visitRegisterReceiver(LIRRegisterReceiver self,
                           JExpression streamContext,
                           SIRPortal portal,
                           String childName,
                           SIRInterfaceTable itable)
Visits an LIR register-receiver statement.


visitSetChild

void visitSetChild(LIRSetChild self,
                   JExpression streamContext,
                   String childType,
                   String childName)
Visits a child registration node.


visitSetDecode

void visitSetDecode(LIRSetDecode self,
                    JExpression streamContext,
                    LIRFunctionPointer fp)
Visits a decoder registration node.


visitSetDelay

void visitSetDelay(LIRSetDelay self,
                   JExpression data,
                   JExpression streamContext,
                   int delay,
                   CType type,
                   LIRFunctionPointer fp)
Visits a feedback loop delay node.


visitSetEncode

void visitSetEncode(LIRSetEncode self,
                    JExpression streamContext,
                    LIRFunctionPointer fp)
Visits an encoder registration node.


visitSetJoiner

void visitSetJoiner(LIRSetJoiner self,
                    JExpression streamContext,
                    SIRJoinType type,
                    int ways,
                    int[] weights)
Visits a joiner-setting node.


visitSetPeek

void visitSetPeek(LIRSetPeek self,
                  JExpression streamContext,
                  int peek)
Visits a peek-rate-setting node.


visitSetPop

void visitSetPop(LIRSetPop self,
                 JExpression streamContext,
                 int pop)
Visits a pop-rate-setting node.


visitSetPush

void visitSetPush(LIRSetPush self,
                  JExpression streamContext,
                  int push)
Visits a push-rate-setting node.


visitSetSplitter

void visitSetSplitter(LIRSetSplitter self,
                      JExpression streamContext,
                      SIRSplitType type,
                      int ways,
                      int[] weights)
Visits a splitter-setting node.


visitSetStreamType

void visitSetStreamType(LIRSetStreamType self,
                        JExpression streamContext,
                        LIRStreamType streamType)
Visits a stream-type-setting node.


visitSetWork

void visitSetWork(LIRSetWork self,
                  JExpression streamContext,
                  LIRFunctionPointer fn)
Visits a work-function-setting node.


visitSetTape

void visitSetTape(LIRSetTape self,
                  JExpression streamContext,
                  JExpression srcStruct,
                  JExpression dstStruct,
                  CType type,
                  int size)
Visits a tape registerer.


visitMainFunction

void visitMainFunction(LIRMainFunction self,
                       String typeName,
                       LIRFunctionPointer init,
                       List<JStatement> initStatements)
Visits a main function contents.


visitSetBodyOfFeedback

void visitSetBodyOfFeedback(LIRSetBodyOfFeedback self,
                            JExpression streamContext,
                            JExpression childContext,
                            CType inputType,
                            CType outputType,
                            int inputSize,
                            int outputSize)
Visits a set body of feedback loop.


visitSetLoopOfFeedback

void visitSetLoopOfFeedback(LIRSetLoopOfFeedback self,
                            JExpression streamContext,
                            JExpression childContext,
                            CType inputType,
                            CType outputType,
                            int inputSize,
                            int outputSize)
Visits a set loop of feedback loop.


visitSetParallelStream

void visitSetParallelStream(LIRSetParallelStream self,
                            JExpression streamContext,
                            JExpression childContext,
                            int position,
                            CType inputType,
                            CType outputType,
                            int inputSize,
                            int outputSize)
Visits a set a parallel stream.


visitWorkEntry

void visitWorkEntry(LIRWorkEntry self)
Visits a work function entry.


visitWorkExit

void visitWorkExit(LIRWorkExit self)
Visits a work function exit.


visitVectorLiteral

void visitVectorLiteral(JVectorLiteral self,
                        JLiteral scalar)
Visit a vector literal value.