| ArrayList<Hop> | ProgramRewriter. rewriteHopDAG(ArrayList<Hop> roots,
             ProgramRewriteStatus state) | 
| Hop | RewriteFederatedExecution. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteAlgebraicSimplificationDynamic. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteAlgebraicSimplificationStatic. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteTransientWriteParentHandling. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteCommonSubexpressionElimination. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteConstantFolding. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteIndexingVectorization. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteInjectSparkPReadCheckpointing. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteGPUSpecificOps. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteBlockSizeAndReblock. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteRemoveReadAfterWrite. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| abstract Hop | HopRewriteRule. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state)Handle a predicate hop DAG with exactly one root. | 
| Hop | RewriteElementwiseMultChainOptimization. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteRemoveUnnecessaryCasts. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteRemoveDanglingParentReferences. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | ProgramRewriter. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteRemovePersistentReadWrite. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| Hop | RewriteMatrixMultChainOptimization. rewriteHopDAG(Hop root,
             ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteFederatedExecution. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteAlgebraicSimplificationDynamic. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteAlgebraicSimplificationStatic. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteTransientWriteParentHandling. 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> | RewriteIndexingVectorization. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteInjectSparkPReadCheckpointing. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteGPUSpecificOps. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteBlockSizeAndReblock. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteRemoveReadAfterWrite. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| abstract ArrayList<Hop> | HopRewriteRule. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state)Handle a generic (last-level) hop DAG with multiple roots. | 
| ArrayList<Hop> | RewriteElementwiseMultChainOptimization. rewriteHopDAGs(ArrayList<Hop> roots,
              ProgramRewriteStatus state) | 
| ArrayList<Hop> | RewriteRemoveUnnecessaryCasts. 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> | RewriteMatrixMultChainOptimization. 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> | RewriteRemoveForLoopEmptySequence. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteForLoopVectorization. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | MarkForLineageReuse. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus status) | 
| List<StatementBlock> | RewriteRemoveEmptyBasicBlocks. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteSplitDagDataDependentOperators. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteCompressedReblock. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteMergeBlockSequence. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteInjectSparkLoopCheckpointing. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus status) | 
| abstract List<StatementBlock> | StatementBlockRewriteRule. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state)Handle an arbitrary statement block. | 
| List<StatementBlock> | RewriteHoistLoopInvariantOperations. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteMarkLoopVariablesUpdateInPlace. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus status) | 
| List<StatementBlock> | RewriteSplitDagUnknownCSVRead. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteRemoveUnnecessaryBranches. rewriteStatementBlock(StatementBlock sb,
                     ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteRemoveForLoopEmptySequence. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteForLoopVectorization. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | MarkForLineageReuse. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus status) | 
| List<StatementBlock> | RewriteRemoveEmptyBasicBlocks. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteSplitDagDataDependentOperators. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteCompressedReblock. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteMergeBlockSequence. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteInjectSparkLoopCheckpointing. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| abstract List<StatementBlock> | StatementBlockRewriteRule. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus state)Handle a list of statement blocks. | 
| List<StatementBlock> | RewriteHoistLoopInvariantOperations. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus state) | 
| List<StatementBlock> | RewriteMarkLoopVariablesUpdateInPlace. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteSplitDagUnknownCSVRead. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| List<StatementBlock> | RewriteRemoveUnnecessaryBranches. rewriteStatementBlocks(List<StatementBlock> sbs,
                      ProgramRewriteStatus sate) | 
| 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) |