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

- Packages that use ProgramRewriteStatus
  Package | Description
  --- | ---
  org.apache.sysds.hops.rewrite |

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

    Methods in org.apache.sysds.hops.rewrite that return ProgramRewriteStatus
    Modifier and Type | Method | Description
    --- | --- | ---
    `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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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` | RewriteFederatedExecution.`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>` | RewriteFederatedExecution.`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>` | 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>` | 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)` |