Package org.apache.sysds.hops.rewrite
Class ProgramRewriter
- java.lang.Object
- 
- org.apache.sysds.hops.rewrite.ProgramRewriter
 
- 
 public class ProgramRewriter extends Object This program rewriter applies a variety of rule-based rewrites on all hop dags of the given program in one pass over the entire program.
- 
- 
Constructor SummaryConstructors Constructor Description ProgramRewriter()ProgramRewriter(boolean staticRewrites, boolean dynamicRewrites)ProgramRewriter(ArrayList<HopRewriteRule> hRewrites, ArrayList<StatementBlockRewriteRule> sbRewrites)Construct a program rewriter for the given rewrite sets which are passed from outside.ProgramRewriter(HopRewriteRule... rewrites)Construct a program rewriter for a given rewrite which is passed from outside.ProgramRewriter(StatementBlockRewriteRule... rewrites)Construct a program rewriter for a given rewrite which is passed from outside.
 - 
Method Summary
 
- 
- 
- 
Constructor Detail- 
ProgramRewriterpublic ProgramRewriter() 
 - 
ProgramRewriterpublic ProgramRewriter(boolean staticRewrites, boolean dynamicRewrites)
 - 
ProgramRewriterpublic ProgramRewriter(HopRewriteRule... rewrites) Construct a program rewriter for a given rewrite which is passed from outside.- Parameters:
- rewrites- the HOP rewrite rules
 
 - 
ProgramRewriterpublic ProgramRewriter(StatementBlockRewriteRule... rewrites) Construct a program rewriter for a given rewrite which is passed from outside.- Parameters:
- rewrites- the statement block rewrite rules
 
 - 
ProgramRewriterpublic ProgramRewriter(ArrayList<HopRewriteRule> hRewrites, ArrayList<StatementBlockRewriteRule> sbRewrites) Construct a program rewriter for the given rewrite sets which are passed from outside.- Parameters:
- hRewrites- HOP rewrite rules
- sbRewrites- statement block rewrite rules
 
 
- 
 - 
Method Detail- 
removeHopRewritepublic void removeHopRewrite(Class<? extends HopRewriteRule> clazz) 
 - 
removeStatementBlockRewritepublic void removeStatementBlockRewrite(Class<? extends StatementBlockRewriteRule> clazz) 
 - 
rewriteProgramHopDAGspublic ProgramRewriteStatus rewriteProgramHopDAGs(DMLProgram dmlp) 
 - 
rewriteProgramHopDAGspublic ProgramRewriteStatus rewriteProgramHopDAGs(DMLProgram dmlp, boolean splitDags) 
 - 
rewriteProgramHopDAGspublic ProgramRewriteStatus rewriteProgramHopDAGs(DMLProgram dmlp, boolean splitDags, ProgramRewriteStatus state) 
 - 
rewriteHopDAGsFunctionpublic void rewriteHopDAGsFunction(FunctionStatementBlock fsb, boolean splitDags) 
 - 
rewriteHopDAGsFunctionpublic void rewriteHopDAGsFunction(FunctionStatementBlock fsb, ProgramRewriteStatus state, boolean splitDags) 
 - 
rRewriteStatementBlockHopDAGspublic void rRewriteStatementBlockHopDAGs(StatementBlock current, ProgramRewriteStatus state) 
 - 
rewriteHopDAGpublic ArrayList<Hop> rewriteHopDAG(ArrayList<Hop> roots, ProgramRewriteStatus state) 
 - 
rewriteHopDAGpublic Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) 
 - 
rRewriteStatementBlockspublic ArrayList<StatementBlock> rRewriteStatementBlocks(ArrayList<StatementBlock> sbs, ProgramRewriteStatus status, boolean splitDags) 
 - 
rRewriteStatementBlockpublic ArrayList<StatementBlock> rRewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status, boolean splitDags) 
 
- 
 
-