| class  | IPAPassApplyStaticAndDynamicHopRewrites | This rewrite applies static hop dag and statement block
 rewrites such as constant folding and branch removal
 in order to simplify statistic propagation. | 
| class  | IPAPassCompressionWorkloadAnalysis | This rewrite obtains workload summaries for all hops candidates amenable for compression as a basis for
 workload-aware compression planning. | 
| class  | IPAPassEliminateDeadCode | This rewrite eliminates unnecessary sub-DAGs that produce
 transient write outputs which are never consumed subsequently. | 
| class  | IPAPassFlagFunctionsRecompileOnce | This rewrite marks functions with loops as recompile once
 in order to reduce recompilation overhead. | 
| class  | IPAPassFlagNonDeterminism |  | 
| class  | IPAPassForwardFunctionCalls | This rewrite forwards a function call to a function with a simple
 function call that only consumes function parameters and literals
 into the original call location. | 
| class  | IPAPassInlineFunctions | This rewrite inlines single statement block functions, which have fewer 
 operations than an internal threshold. | 
| class  | IPAPassPropagateReplaceLiterals | This rewrite propagates and replaces literals into functions
 in order to enable subsequent rewrites such as branch removal. | 
| class  | IPAPassRemoveConstantBinaryOps | This rewrite identifies binary operations with constant matrices 
 such as X * ones, where ones might be created as a vector of ones
 before a loop. | 
| class  | IPAPassRemoveUnnecessaryCheckpoints | This rewrite identifies and removes unnecessary checkpoints, i.e.,
 persisting of Spark RDDs into a given storage level. | 
| class  | IPAPassRemoveUnusedFunctions | This rewrite identifies and removes unused functions in order
 to reduce compilation overhead and other overheads such as 
 parfor worker creation, where we construct function copies. | 
| class  | IPAPassReplaceEvalFunctionCalls | This rewrite applies static hop dag and statement block
 rewrites such as constant folding and branch removal
 in order to simplify statistic propagation. | 
| class  | IPAPassRewriteFederatedPlan | This rewrite generates a federated execution plan by estimating and setting costs and the FederatedOutput values of
 all relevant hops in the DML program. |