class |
MarkForLineageReuse |
|
class |
RewriteCompressedReblock |
Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
matrices if number of rows is above 1000 and cols at least 1.
|
class |
RewriteForLoopVectorization |
Rule: Simplify program structure by pulling if or else statement body out
(removing the if statement block ifself) in order to allow intra-procedure
analysis to propagate exact statistics.
|
class |
RewriteHoistLoopInvariantOperations |
Rule: Simplify program structure by hoisting loop-invariant operations
out of while, for, or parfor loops.
|
class |
RewriteInjectSparkLoopCheckpointing |
Rule: Insert checkpointing operations for caching purposes.
|
class |
RewriteMarkLoopVariablesUpdateInPlace |
Rule: Mark loop variables that are only read/updated through cp left indexing
for update in-place.
|
class |
RewriteMergeBlockSequence |
Rule: Simplify program structure by merging sequences of last-level
statement blocks in order to create optimization opportunities.
|
class |
RewriteRemoveEmptyBasicBlocks |
Rule: Simplify program structure by removing empty last-level blocks,
which may originate from the original program or due to a sequence of
rewrites (e.g., checkpoint injection and subsequent IPA).
|
class |
RewriteRemoveForLoopEmptySequence |
Rule: Simplify program structure by removing (par)for statements iterating over
an empty sequence, i.e., (par)for-loops without a single iteration.
|
class |
RewriteRemoveUnnecessaryBranches |
Rule: Simplify program structure by pulling if or else statement body out
(removing the if statement block ifself) in order to allow intra-procedure
analysis to propagate exact statistics.
|
class |
RewriteSplitDagDataDependentOperators |
Rule: Split Hop DAG after specific data-dependent operators.
|
class |
RewriteSplitDagUnknownCSVRead |
Rule: Split Hop DAG after CSV reads with unknown size.
|