# Uses of Class
org.apache.sysds.parser.StatementBlock

Packages that use StatementBlock
Package
Description
org.apache.sysds.hops.codegen
org.apache.sysds.hops.fedplanner
org.apache.sysds.hops.ipa
org.apache.sysds.hops.recompile
org.apache.sysds.hops.rewrite
org.apache.sysds.lops
org.apache.sysds.lops.compile
org.apache.sysds.lops.rewrite
org.apache.sysds.parser
org.apache.sysds.runtime.controlprogram
org.apache.sysds.runtime.controlprogram.parfor.opt
org.apache.sysds.runtime.util
org.apache.sysds.utils

## Uses of StatementBlock in org.apache.sysds.hops.codegen

Methods in org.apache.sysds.hops.codegen with parameters of type StatementBlock
Modifier and Type
Method
Description
`static ArrayList<Instruction>`
SpoofCompiler.`generateCodeFromHopDAGsToInst(StatementBlock sb, ArrayList<Hop> roots)`
`static void`
SpoofCompiler.`generateCodeFromStatementBlock(StatementBlock current)`

## Uses of StatementBlock in org.apache.sysds.hops.fedplanner

Methods in org.apache.sysds.hops.fedplanner with parameters of type StatementBlock
Modifier and Type
Method
Description
`static void`
FederatedPlanCostEnumerator.`enumerateStatementBlock(StatementBlock sb, DMLProgram prog, FederatedMemoTable memoTable, Map<Long,FederatedMemoTable.HopCommon> hopCommonTable, Map<Long,List<Hop>> rewireTable, Map<Long,FTypes.Privacy> privacyConstraintMap, Map<Long,FTypes.FType> fTypeMap, Set<Long> unRefTwriteSet, Set<String> fnStack, int numOfWorkers, Set<Long> visitedHops)`
Enumerates the statement block and updates the transient and memoization tables.
`static Map<String,List<Hop>>`
FederatedPlanRewireTransTable.`rewireStatementBlock(StatementBlock sb, DMLProgram prog, Set<Long> visitedHops, Map<Long,List<Hop>> rewireTable, Map<Long,FederatedMemoTable.HopCommon> hopCommonTable, List<Map<String,List<Hop>>> outerTransTableList, Map<String,List<Hop>> formerTransTable, Map<Long,FTypes.Privacy> privacyConstraintMap, Map<Long,FTypes.FType> fTypeMap, List<org.apache.commons.lang3.tuple.Pair<FederatedRange,FederatedData>> fedMap, Set<Long> unRefTwriteSet, Set<Long> unRefSet, Set<Hop> progRootHopSet, Set<String> fnStack, double computeWeight, double networkWeight, List<org.apache.commons.lang3.tuple.Pair<Long,Double>> parentLoopStack)`

## Uses of StatementBlock in org.apache.sysds.hops.ipa

Methods in org.apache.sysds.hops.ipa that return types with arguments of type StatementBlock
Modifier and Type
Method
Description
`List<StatementBlock>`
FunctionCallGraph.`getFunctionCallsSB(String fkey)`
Returns all statement blocks that contain a function operator calling the given function.
Methods in org.apache.sysds.hops.ipa with parameters of type StatementBlock
Modifier and Type
Method
Description
`void`
FunctionCallGraph.`removeFunctionCall(String fkey, FunctionOp fop, StatementBlock sb)`
Removes a single function call identified by target function name, and source function op and statement block.
`boolean`
IPAPassFlagFunctionsRecompileOnce.`rFlagFunctionForRecompileOnce(StatementBlock sb, boolean inLoop)`
Returns true if this statementblock requires recompilation inside a loop statement block.
`boolean`
IPAPassFlagLoopsRecompileOnce.`rFlagFunctionForRecompileOnce(StatementBlock sb)`
Constructors in org.apache.sysds.hops.ipa with parameters of type StatementBlock
Modifier
Constructor
Description
``
`FunctionCallGraph(StatementBlock sb)`
Constructs the function call graph for all functions reachable from the given statement block.
``
`InterProceduralAnalysis(StatementBlock sb)`

## Uses of StatementBlock in org.apache.sysds.hops.recompile

Methods in org.apache.sysds.hops.recompile with parameters of type StatementBlock
Modifier and Type
Method
Description
`static ArrayList<Instruction>`
Recompiler.`recompile(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, boolean updateStats, boolean forceEt, boolean pred, Types.ExecType et, long tid)`
Core internal primitive for the dynamic recompilation of any DAGs/predicate, including all variants with slightly different configurations.
`static ArrayList<Instruction>`
Recompiler.`recompileHopsDag(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static ArrayList<Instruction>`
Recompiler.`recompileHopsDag(StatementBlock sb, ArrayList<Hop> hops, LocalVariableMap vars, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static ArrayList<Instruction>`
Recompiler.`recompileHopsDag2Forced(StatementBlock sb, ArrayList<Hop> hops, long tid, Types.ExecType et)`
`static ArrayList<Instruction>`
Recompiler.`recompileHopsDagInstructions(StatementBlock sb, ArrayList<Hop> hops)`
`static RecompileStatus`
Recompiler.`reconcileUpdatedCallVarsIf(RecompileStatus oldStatus, RecompileStatus callStatusIf, RecompileStatus callStatusElse, StatementBlock sb)`
`static LocalVariableMap`
Recompiler.`reconcileUpdatedCallVarsIf(LocalVariableMap oldCallVars, LocalVariableMap callVarsIf, LocalVariableMap callVarsElse, StatementBlock sb)`
`static boolean`
Recompiler.`reconcileUpdatedCallVarsLoops(RecompileStatus oldCallStatus, RecompileStatus callStatus, StatementBlock sb)`
`static boolean`
Recompiler.`reconcileUpdatedCallVarsLoops(LocalVariableMap oldCallVars, LocalVariableMap callVars, StatementBlock sb)`
`static void`
Recompiler.`removeUpdatedScalars(LocalVariableMap callVars, StatementBlock sb)`
Remove any scalar variables from the variable map if the variable is updated in this block.

## Uses of StatementBlock in org.apache.sysds.hops.rewrite

Methods in org.apache.sysds.hops.rewrite that return types with arguments of type StatementBlock
Modifier and Type
Method
Description
`List<StatementBlock>`
MarkForLineageReuse.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteCompressedReblock.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteForLoopVectorization.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteHoistLoopInvariantOperations.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectOOCTee.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteJoinReordering.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteMergeBlockSequence.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRaPushdown.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyBasicBlocks.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyForLoops.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveForLoopEmptySequence.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveTransformEncodeMeta.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveUnnecessaryBranches.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteSplitDagDataDependentOperators.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteSplitDagUnknownCSVRead.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`abstract List<StatementBlock>`
StatementBlockRewriteRule.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
Handle an arbitrary statement block.
`List<StatementBlock>`
MarkForLineageReuse.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteCompressedReblock.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteForLoopVectorization.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteHoistLoopInvariantOperations.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectOOCTee.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteJoinReordering.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteMergeBlockSequence.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRaPushdown.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyBasicBlocks.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveEmptyForLoops.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveForLoopEmptySequence.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveTransformEncodeMeta.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveUnnecessaryBranches.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteSplitDagDataDependentOperators.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteSplitDagUnknownCSVRead.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`abstract List<StatementBlock>`
StatementBlockRewriteRule.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
Handle a list of statement blocks.
`ArrayList<StatementBlock>`
ProgramRewriter.`rRewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status, boolean splitDags)`
`ArrayList<StatementBlock>`
ProgramRewriter.`rRewriteStatementBlocks(ArrayList<StatementBlock> sbs, ProgramRewriteStatus status, boolean splitDags)`
Methods in org.apache.sysds.hops.rewrite with parameters of type StatementBlock
Modifier and Type
Method
Description
`static boolean`
HopRewriteUtils.`isLastLevelLoopStatementBlock(StatementBlock sb)`
`static boolean`
HopRewriteUtils.`isLastLevelStatementBlock(StatementBlock sb)`
`static boolean`
HopRewriteUtils.`isLoopStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
MarkForLineageReuse.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteCompressedReblock.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteForLoopVectorization.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteHoistLoopInvariantOperations.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectOOCTee.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteJoinReordering.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteMergeBlockSequence.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRaPushdown.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyBasicBlocks.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyForLoops.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveForLoopEmptySequence.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveTransformEncodeMeta.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveUnnecessaryBranches.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteSplitDagDataDependentOperators.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteSplitDagUnknownCSVRead.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
`abstract List<StatementBlock>`
StatementBlockRewriteRule.`rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)`
Handle an arbitrary statement block.
`ArrayList<StatementBlock>`
ProgramRewriter.`rRewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status, boolean splitDags)`
`void`
ProgramRewriter.`rRewriteStatementBlockHopDAGs(StatementBlock current, ProgramRewriteStatus state)`
`static void`
HopRewriteUtils.`setUnoptimizedFunctionCalls(StatementBlock sb)`
Method parameters in org.apache.sysds.hops.rewrite with type arguments of type StatementBlock
Modifier and Type
Method
Description
`List<StatementBlock>`
MarkForLineageReuse.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus status)`
`List<StatementBlock>`
RewriteCompressedReblock.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteForLoopVectorization.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteHoistLoopInvariantOperations.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectOOCTee.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteJoinReordering.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteMergeBlockSequence.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRaPushdown.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveEmptyBasicBlocks.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveEmptyForLoops.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveForLoopEmptySequence.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
`List<StatementBlock>`
RewriteRemoveTransformEncodeMeta.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteRemoveUnnecessaryBranches.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteSplitDagDataDependentOperators.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>`
RewriteSplitDagUnknownCSVRead.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`abstract List<StatementBlock>`
StatementBlockRewriteRule.`rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)`
Handle a list of statement blocks.
`ArrayList<StatementBlock>`
ProgramRewriter.`rRewriteStatementBlocks(ArrayList<StatementBlock> sbs, ProgramRewriteStatus status, boolean splitDags)`

## Uses of StatementBlock in org.apache.sysds.lops

Methods in org.apache.sysds.lops with parameters of type StatementBlock
Modifier and Type
Method
Description
`static ArrayList<Lop>`
OperatorOrderingUtils.`getLopList(StatementBlock sb)`

## Uses of StatementBlock in org.apache.sysds.lops.compile

Methods in org.apache.sysds.lops.compile with parameters of type StatementBlock
Modifier and Type
Method
Description
`ArrayList<Instruction>`
Dag.`getJobs(StatementBlock sb, DMLConfig config)`
Method to compile a dag generically

## Uses of StatementBlock in org.apache.sysds.lops.rewrite

Methods in org.apache.sysds.lops.rewrite that return types with arguments of type StatementBlock
Modifier and Type
Method
Description
`abstract List<StatementBlock>`
LopRewriteRule.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddBroadcastLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddChkpointInLoop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddChkpointLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddGPUEvictLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddPrefetchLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteFixIDs.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteUpdateGPUPlacements.`rewriteLOPinStatementBlock(StatementBlock sb)`
`abstract List<StatementBlock>`
LopRewriteRule.`rewriteLOPinStatementBlocks(List<StatementBlock> sb)`
`List<StatementBlock>`
RewriteAddBroadcastLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddChkpointInLoop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddChkpointLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddGPUEvictLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddPrefetchLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteFixIDs.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteUpdateGPUPlacements.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`ArrayList<StatementBlock>`
LopRewriter.`rRewriteLop(StatementBlock sb)`
`ArrayList<StatementBlock>`
LopRewriter.`rRewriteLops(ArrayList<StatementBlock> sbs)`
Methods in org.apache.sysds.lops.rewrite with parameters of type StatementBlock
Modifier and Type
Method
Description
`ArrayList<Lop>`
LopRewriter.`rewriteLopDAG(StatementBlock sb, ArrayList<Lop> lops)`
`abstract List<StatementBlock>`
LopRewriteRule.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddBroadcastLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddChkpointInLoop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddChkpointLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddGPUEvictLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteAddPrefetchLop.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteFixIDs.`rewriteLOPinStatementBlock(StatementBlock sb)`
`List<StatementBlock>`
RewriteUpdateGPUPlacements.`rewriteLOPinStatementBlock(StatementBlock sb)`
`ArrayList<StatementBlock>`
LopRewriter.`rRewriteLop(StatementBlock sb)`
Method parameters in org.apache.sysds.lops.rewrite with type arguments of type StatementBlock
Modifier and Type
Method
Description
`abstract List<StatementBlock>`
LopRewriteRule.`rewriteLOPinStatementBlocks(List<StatementBlock> sb)`
`List<StatementBlock>`
RewriteAddBroadcastLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddChkpointInLoop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddChkpointLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddGPUEvictLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteAddPrefetchLop.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteFixIDs.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`List<StatementBlock>`
RewriteUpdateGPUPlacements.`rewriteLOPinStatementBlocks(List<StatementBlock> sbs)`
`ArrayList<StatementBlock>`
LopRewriter.`rRewriteLops(ArrayList<StatementBlock> sbs)`

## Uses of StatementBlock in org.apache.sysds.parser

Subclasses of StatementBlock in org.apache.sysds.parser
Modifier and Type
Class
Description
`class`
`ForStatementBlock`
`class`
`FunctionStatementBlock`
`class`
`IfStatementBlock`
`class`
`ParForStatementBlock`
This ParForStatementBlock is essentially identical to a ForStatementBlock, except an extended validate for checking/setting optional parfor parameters and running the loop dependency analysis.
`class`
`WhileStatementBlock`
Methods in org.apache.sysds.parser that return StatementBlock
Modifier and Type
Method
Description
`StatementBlock`
DMLProgram.`getStatementBlock(int i)`
`static StatementBlock`
ParserWrapper.`getStatementBlock(Statement current)`
Custom wrapper to convert statement into statement blocks.
Methods in org.apache.sysds.parser that return types with arguments of type StatementBlock
Modifier and Type
Method
Description
`ArrayList<StatementBlock>`
ForStatement.`getBody()`
`ArrayList<StatementBlock>`
FunctionStatement.`getBody()`
`ArrayList<StatementBlock>`
WhileStatement.`getBody()`
`ArrayList<StatementBlock>`
IfStatement.`getElseBody()`
`ArrayList<StatementBlock>`
IfStatement.`getIfBody()`
`ArrayList<StatementBlock>`
DMLProgram.`getStatementBlocks()`
`static ArrayList<StatementBlock>`
StatementBlock.`mergeFunctionCalls(List<StatementBlock> body, DMLProgram dmlProg)`
`static ArrayList<StatementBlock>`
StatementBlock.`mergeStatementBlocks(List<StatementBlock> sb)`
`static List<StatementBlock>`
StatementBlock.`rHoistFunctionCallsFromExpressions(StatementBlock current, DMLProgram prog)`
Methods in org.apache.sysds.parser with parameters of type StatementBlock
Modifier and Type
Method
Description
`void`
DMLProgram.`addStatementBlock(StatementBlock b)`
`void`
ForStatement.`addStatementBlock(StatementBlock sb)`
`void`
StatementBlock.`addStatementBlock(StatementBlock s)`
`void`
WhileStatement.`addStatementBlock(StatementBlock sb)`
`void`
IfStatement.`addStatementBlockElseBody(StatementBlock sb)`
`void`
IfStatement.`addStatementBlockIfBody(StatementBlock sb)`
`void`
DMLTranslator.`constructHops(StatementBlock sb)`
`void`
DMLTranslator.`constructHopsForConditionalPredicate(StatementBlock passedSB)`
`boolean`
DMLTranslator.`constructLops(StatementBlock sb)`
`ProgramBlock`
DMLTranslator.`createRuntimeProgramBlock(Program prog, StatementBlock sb, DMLConfig config)`
`static void`
DMLTranslator.`refreshMemEstimates(StatementBlock current)`
`static void`
DMLTranslator.`resetHopsDAGVisitStatus(StatementBlock current)`
`void`
DMLTranslator.`resetLopsDAGVisitStatus(StatementBlock current)`
`static List<StatementBlock>`
StatementBlock.`rHoistFunctionCallsFromExpressions(StatementBlock current, DMLProgram prog)`
Method parameters in org.apache.sysds.parser with type arguments of type StatementBlock
Modifier and Type
Method
Description
`void`
DMLTranslator.`cleanupLiveOutVariables(List<StatementBlock> sbs, VariableSet unionLiveIn)`
`static ArrayList<StatementBlock>`
StatementBlock.`mergeFunctionCalls(List<StatementBlock> body, DMLProgram dmlProg)`
`static ArrayList<StatementBlock>`
StatementBlock.`mergeStatementBlocks(List<StatementBlock> sb)`
`void`
ForStatement.`setBody(ArrayList<StatementBlock> body)`
`void`
FunctionStatement.`setBody(ArrayList<StatementBlock> body)`
`void`
WhileStatement.`setBody(ArrayList<StatementBlock> body)`
`void`
IfStatement.`setElseBody(ArrayList<StatementBlock> body)`
`void`
IfStatement.`setIfBody(ArrayList<StatementBlock> body)`
`void`
DMLProgram.`setStatementBlocks(ArrayList<StatementBlock> passed)`
Constructors in org.apache.sysds.parser with parameters of type StatementBlock
Modifier
Constructor
Description
``
`StatementBlock(StatementBlock sb)`

## Uses of StatementBlock in org.apache.sysds.runtime.controlprogram

Methods in org.apache.sysds.runtime.controlprogram that return StatementBlock
Modifier and Type
Method
Description
`StatementBlock`
ProgramBlock.`getStatementBlock()`
Methods in org.apache.sysds.runtime.controlprogram with parameters of type StatementBlock
Modifier and Type
Method
Description
`void`
ProgramBlock.`setStatementBlock(StatementBlock sb)`

## Uses of StatementBlock in org.apache.sysds.runtime.controlprogram.parfor.opt

Methods in org.apache.sysds.runtime.controlprogram.parfor.opt with parameters of type StatementBlock
Modifier and Type
Method
Description
`static LocalVariableMap`
ProgramRecompiler.`getReusableScalarVariables(DMLProgram prog, StatementBlock parforSB, LocalVariableMap vars)`
`static boolean`
ProgramRecompiler.`isApplicableForReuseVariable(DMLProgram prog, StatementBlock parforSB, String var)`
This function determines if an parfor input variable is guaranteed to be read-only across multiple invocations of parfor optimization (e.g., in a surrounding while loop).
`long`
OptTreePlanMapping.`putProgMapping(StatementBlock sb, ProgramBlock pb, OptNode n)`
`static OptNode`
OptTreeConverter.`rCreateAbstractOptNode(StatementBlock sb, ProgramBlock pb, LocalVariableMap vars, boolean topLevel, OptTreePlanMapping hlMap, Set<String> memo)`
`static void`
ProgramRecompiler.`replaceConstantScalarVariables(StatementBlock sb, LocalVariableMap vars)`
`static void`
ProgramRecompiler.`rFindAndRecompileIndexingHOP(StatementBlock sb, ProgramBlock pb, String var, ExecutionContext ec, boolean force)`
NOTE: if force is set, we set and recompile the respective indexing hops; otherwise, we release the forced exec type and recompile again.
Method parameters in org.apache.sysds.runtime.controlprogram.parfor.opt with type arguments of type StatementBlock
Modifier and Type
Method
Description
`static ArrayList<ProgramBlock>`
ProgramRecompiler.`generatePartitialRuntimeProgram(Program rtprog, ArrayList<StatementBlock> sbs)`

## Uses of StatementBlock in org.apache.sysds.runtime.util

Methods in org.apache.sysds.runtime.util that return StatementBlock
Modifier and Type
Method
Description
`static StatementBlock`
ProgramConverter.`createStatementBlockCopy(StatementBlock sb, long pid, boolean plain, boolean forceDeepCopy)`
`static StatementBlock`
ProgramConverter.`rCreateDeepCopyStatementBlock(StatementBlock sb)`
Methods in org.apache.sysds.runtime.util with parameters of type StatementBlock
Modifier and Type
Method
Description
`static StatementBlock`
ProgramConverter.`createStatementBlockCopy(StatementBlock sb, long pid, boolean plain, boolean forceDeepCopy)`
`static StatementBlock`
ProgramConverter.`rCreateDeepCopyStatementBlock(StatementBlock sb)`

## Uses of StatementBlock in org.apache.sysds.utils

Methods in org.apache.sysds.utils with parameters of type StatementBlock
Modifier and Type
Method
Description
`static String`
Explain.`explain(StatementBlock sb)`