Package org.apache.sysds.hops.rewrite
Class RewriteRemoveForLoopEmptySequence
- java.lang.Object
 - 
- org.apache.sysds.hops.rewrite.StatementBlockRewriteRule
 - 
- org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence
 
 
 
- 
public class RewriteRemoveForLoopEmptySequence extends StatementBlockRewriteRule
Rule: Simplify program structure by removing (par)for statements iterating over an empty sequence, i.e., (par)for-loops without a single iteration. 
- 
- 
Constructor Summary
Constructors Constructor Description RewriteRemoveForLoopEmptySequence() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancreatesSplitDag()Indicates if the rewrite potentially splits dags, which is used for phase ordering of rewrites.List<StatementBlock>rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)Handle an arbitrary statement block.List<StatementBlock>rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)Handle a list of statement blocks.- 
Methods inherited from class org.apache.sysds.hops.rewrite.StatementBlockRewriteRule
createCutVarName 
 - 
 
 - 
 
- 
- 
Method Detail
- 
createsSplitDag
public boolean createsSplitDag()
Description copied from class:StatementBlockRewriteRuleIndicates if the rewrite potentially splits dags, which is used for phase ordering of rewrites.- Specified by:
 createsSplitDagin classStatementBlockRewriteRule- Returns:
 - true if dag splits are possible.
 
 
- 
rewriteStatementBlock
public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state)
Description copied from class:StatementBlockRewriteRuleHandle an arbitrary statement block. Specific type constraints have to be ensured within the individual rewrites. If a rewrite does not apply to individual blocks, it should simply return the input block.- Specified by:
 rewriteStatementBlockin classStatementBlockRewriteRule- Parameters:
 sb- statement blockstate- program rewrite status- Returns:
 - list of statement blocks
 
 
- 
rewriteStatementBlocks
public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus state)
Description copied from class:StatementBlockRewriteRuleHandle a list of statement blocks. Specific type constraints have to be ensured within the individual rewrites. If a rewrite does not require sequence access, it should simply return the input list of statement blocks.- Specified by:
 rewriteStatementBlocksin classStatementBlockRewriteRule- Parameters:
 sbs- list of statement blocksstate- program rewrite status- Returns:
 - list of statement blocks
 
 
 - 
 
 -