## Uses of Class
org.apache.sysds.hops.ipa.IPAPass

Packages that use IPAPass
org.apache.sysds.hops.ipa

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

Subclasses of IPAPass in org.apache.sysds.hops.ipa
`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` `IPAPassFlagLoopsRecompileOnce` This rewrite marks loops in the main program 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.