public class ForStatementBlock extends StatementBlock
| Constructor and Description |
|---|
ForStatementBlock() |
| Modifier and Type | Method and Description |
|---|---|
VariableSet |
analyze(VariableSet loPassed) |
Hop |
getFromHops() |
Lop |
getFromLops() |
Hop |
getIncrementHops() |
Lop |
getIncrementLops() |
ArrayList<String> |
getInputstoSB() |
IterablePredicate |
getIterPredicate() |
Hop |
getToHops() |
Lop |
getToLops() |
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.
|
void |
performConstantPropagation(HashMap<String,ConstIdentifier> currConstVars) |
boolean |
requiresFromRecompilation() |
boolean |
requiresIncrementRecompilation() |
boolean |
requiresPredicateRecompilation() |
boolean |
requiresToRecompilation() |
void |
setFromHops(Hop hops) |
void |
setFromLops(Lop lops) |
void |
setIncrementHops(Hop hops) |
void |
setIncrementLops(Lop lops) |
void |
setToHops(Hop hops) |
void |
setToLops(Lop lops) |
boolean |
updatePredicateRecompilationFlags() |
VariableSet |
validate(DMLProgram dmlProg,
VariableSet ids,
HashMap<String,ConstIdentifier> constVars,
boolean conditional) |
addStatement, addStatementBlock, getBeginColumn, getBeginLine, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, isMergeableFunctionCallBlock, isNondeterministic, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLops, setNondeterministic, setParseInfo, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlaggetGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdatedequals, getClass, hashCode, notify, notifyAll, wait, wait, waitctxAndFilenameToParseInfopublic IterablePredicate getIterPredicate()
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
validate in class StatementBlockpublic VariableSet initializeforwardLV(VariableSet activeInPassed)
StatementBlockinitializeforwardLV in class StatementBlockpublic VariableSet initializebackwardLV(VariableSet loPassed)
initializebackwardLV in class StatementBlockpublic void setFromHops(Hop hops)
public void setToHops(Hop hops)
public void setIncrementHops(Hop hops)
public Hop getFromHops()
public Hop getToHops()
public Hop getIncrementHops()
public void setFromLops(Lop lops)
public void setToLops(Lop lops)
public void setIncrementLops(Lop lops)
public Lop getFromLops()
public Lop getToLops()
public Lop getIncrementLops()
public ArrayList<String> getInputstoSB()
getInputstoSB in class StatementBlockpublic VariableSet analyze(VariableSet loPassed)
analyze in class StatementBlockpublic void performConstantPropagation(HashMap<String,ConstIdentifier> currConstVars)
public boolean updatePredicateRecompilationFlags()
public boolean requiresPredicateRecompilation()
public boolean requiresFromRecompilation()
public boolean requiresToRecompilation()
public boolean requiresIncrementRecompilation()
Copyright © 2021 The Apache Software Foundation. All rights reserved.