Package org.apache.sysds.hops.rewrite
Class RewriteCommonSubexpressionElimination
java.lang.Object
org.apache.sysds.hops.rewrite.HopRewriteRule
org.apache.sysds.hops.rewrite.RewriteCommonSubexpressionElimination
Rule: CommonSubexpressionElimination. For all statement blocks,
eliminate common subexpressions within dags by merging equivalent
operators (same input, equal parameters) bottom-up. For the moment,
this only applies within a dag, later this should be extended across
statements block (global, inter-procedure).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrewriteHopDAG(Hop root, ProgramRewriteStatus state) Handle a predicate hop DAG with exactly one root.rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) Handle a generic (last-level) hop DAG with multiple roots.
-
Constructor Details
-
RewriteCommonSubexpressionElimination
public RewriteCommonSubexpressionElimination() -
RewriteCommonSubexpressionElimination
public RewriteCommonSubexpressionElimination(boolean mergeLeafs)
-
-
Method Details
-
rewriteHopDAGs
Description copied from class:HopRewriteRuleHandle a generic (last-level) hop DAG with multiple roots.- Specified by:
rewriteHopDAGsin classHopRewriteRule- Parameters:
roots- high-level operator rootsstate- program rewrite status- Returns:
- list of high-level operators
-
rewriteHopDAG
Description copied from class:HopRewriteRuleHandle a predicate hop DAG with exactly one root.- Specified by:
rewriteHopDAGin classHopRewriteRule- Parameters:
root- high-level operator rootstate- program rewrite status- Returns:
- high-level operator
-