## Uses of Class
org.apache.sysds.hops.rewrite.ProgramRewriteStatus

Packages that use ProgramRewriteStatus
org.apache.sysds.hops.rewrite

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

Methods in org.apache.sysds.hops.rewrite that return ProgramRewriteStatus
`ProgramRewriteStatus` ProgramRewriter.`rewriteProgramHopDAGs​(DMLProgram dmlp)`
`ProgramRewriteStatus` ProgramRewriter.`rewriteProgramHopDAGs​(DMLProgram dmlp, boolean splitDags)`
`ProgramRewriteStatus` ProgramRewriter.`rewriteProgramHopDAGs​(DMLProgram dmlp, boolean splitDags, ProgramRewriteStatus state)`

Methods in org.apache.sysds.hops.rewrite with parameters of type ProgramRewriteStatus
`abstract Hop` HopRewriteRule.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)` Handle a predicate hop DAG with exactly one root.
`ArrayList<Hop>` ProgramRewriter.`rewriteHopDAG​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`Hop` ProgramRewriter.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationStatic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteBlockSizeAndReblock.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteCommonSubexpressionElimination.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteConstantFolding.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteElementwiseMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteGPUSpecificOps.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteIndexingVectorization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteMatrixMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveDanglingParentReferences.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemovePersistentReadWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveReadAfterWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveUnnecessaryCasts.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteTransientWriteParentHandling.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`abstract ArrayList<Hop>` HopRewriteRule.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)` Handle a generic (last-level) hop DAG with multiple roots.
`ArrayList<Hop>` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteAlgebraicSimplificationStatic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteBlockSizeAndReblock.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteCommonSubexpressionElimination.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteConstantFolding.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteElementwiseMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteGPUSpecificOps.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteIndexingVectorization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteMatrixMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveDanglingParentReferences.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemovePersistentReadWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveReadAfterWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveUnnecessaryCasts.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteTransientWriteParentHandling.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`void` ProgramRewriter.`rewriteHopDAGsFunction​(FunctionStatementBlock fsb, ProgramRewriteStatus state, boolean splitDags)`
`ProgramRewriteStatus` ProgramRewriter.`rewriteProgramHopDAGs​(DMLProgram dmlp, boolean splitDags, ProgramRewriteStatus state)`
`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>` RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlock​(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>` RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlock​(StatementBlock sb, ProgramRewriteStatus status)`
`List<StatementBlock>` RewriteMergeBlockSequence.`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>` 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>` RewriteInjectSparkLoopCheckpointing.`rewriteStatementBlocks​(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>` RewriteMarkLoopVariablesUpdateInPlace.`rewriteStatementBlocks​(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`List<StatementBlock>` RewriteMergeBlockSequence.`rewriteStatementBlocks​(List<StatementBlock> sbs, ProgramRewriteStatus sate)`
`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>` 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)`
`void` ProgramRewriter.`rRewriteStatementBlockHopDAGs​(StatementBlock current, ProgramRewriteStatus state)`
`ArrayList<StatementBlock>` ProgramRewriter.`rRewriteStatementBlocks​(ArrayList<StatementBlock> sbs, ProgramRewriteStatus status, boolean splitDags)`