Package org.apache.sysds.parser
Class FunctionStatementBlock
- java.lang.Object
-
- org.apache.sysds.parser.LiveVariableAnalysis
-
- org.apache.sysds.parser.StatementBlock
-
- org.apache.sysds.parser.FunctionStatementBlock
-
- All Implemented Interfaces:
Types.FunctionBlock
,ParseInfo
public class FunctionStatementBlock extends StatementBlock implements Types.FunctionBlock
-
-
Field Summary
-
Fields inherited from class org.apache.sysds.parser.StatementBlock
DEFAULT_LOOP_REPETITIONS
-
-
Constructor Summary
Constructors Constructor Description FunctionStatementBlock()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VariableSet
analyze(VariableSet loPassed)
VariableSet
analyze(VariableSet liPassed, VariableSet loPassed)
Types.FunctionBlock
cloneFunctionBlock()
FunctionOp.FunctionType
getFunctionOpType()
VariableSet
initializebackwardLV(VariableSet loPassed)
VariableSet
initializeforwardLV(VariableSet activeInPassed)
For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.boolean
isNondeterministic()
void
setAvgLoopDepRatio()
void
setNondeterministic(boolean flag)
VariableSet
validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
TODO: DRB: This needs to be changed to reflect: 1) Default values for variables -- need to add R styled check here to make sure that once vars with default values start, they keep going to the right 2) The other parameters for External Functions-
Methods inherited from class org.apache.sysds.parser.StatementBlock
addStatement, addStatementBlock, getBeginColumn, getBeginLine, getCheckpointPositions, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getInputstoSB, getLoopDepRatio, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, hasHops, isMergeableFunctionCallBlock, isRecompileOnce, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setCheckpointPosition, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLoopDepRatio, setLops, setParseInfo, setRecompileOnce, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlag
-
Methods inherited from class org.apache.sysds.parser.LiveVariableAnalysis
getGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated
-
-
-
-
Method Detail
-
validate
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
TODO: DRB: This needs to be changed to reflect: 1) Default values for variables -- need to add R styled check here to make sure that once vars with default values start, they keep going to the right 2) The other parameters for External Functions- Overrides:
validate
in classStatementBlock
-
getFunctionOpType
public FunctionOp.FunctionType getFunctionOpType()
-
initializeforwardLV
public VariableSet initializeforwardLV(VariableSet activeInPassed)
Description copied from class:StatementBlock
For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.- Overrides:
initializeforwardLV
in classStatementBlock
-
initializebackwardLV
public VariableSet initializebackwardLV(VariableSet loPassed)
- Overrides:
initializebackwardLV
in classStatementBlock
-
analyze
public VariableSet analyze(VariableSet loPassed)
- Overrides:
analyze
in classStatementBlock
-
analyze
public VariableSet analyze(VariableSet liPassed, VariableSet loPassed)
-
setNondeterministic
public void setNondeterministic(boolean flag)
- Overrides:
setNondeterministic
in classStatementBlock
-
isNondeterministic
public boolean isNondeterministic()
- Overrides:
isNondeterministic
in classStatementBlock
-
setAvgLoopDepRatio
public void setAvgLoopDepRatio()
-
cloneFunctionBlock
public Types.FunctionBlock cloneFunctionBlock()
- Specified by:
cloneFunctionBlock
in interfaceTypes.FunctionBlock
-
-