Ensure the `wumm` new pattern does not have foreign parents

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/14bd65a5
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/14bd65a5
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/14bd65a5

Branch: refs/heads/master
Commit: 14bd65a551b227860faba56ed1633db85d7110f2
Parents: 479b9da
Author: Dylan Hutchison <[email protected]>
Authored: Thu Jul 13 01:41:51 2017 -0700
Committer: Dylan Hutchison <[email protected]>
Committed: Thu Jul 13 01:41:51 2017 -0700

----------------------------------------------------------------------
 .../sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/14bd65a5/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
 
b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
index 6246270..09b66de 100644
--- 
a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
+++ 
b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
@@ -1960,7 +1960,7 @@ public class RewriteAlgebraicSimplificationDynamic 
extends HopRewriteRule
                        LOG.debug("Applied simplifyWeightedUnaryMM1 (line 
"+hi.getBeginLine()+")");     
                }
 
-               //Pattern 1.5) (W*(U%*%t(V))*2 or 2*(W*(U%*%t(V))
+               //Pattern 2.7) (W*(U%*%t(V))*2 or 2*(W*(U%*%t(V))
                if( !appliedPattern
                                && hi instanceof BinaryOp && 
HopRewriteUtils.isValidOp(((BinaryOp)hi).getOp(), OpOp2.MULT)
                                && 
(HopRewriteUtils.isLiteralOfValue(hi.getInput().get(0), 2)
@@ -1974,6 +1974,7 @@ public class RewriteAlgebraicSimplificationDynamic 
extends HopRewriteRule
                        }
 
                        if (       HopRewriteUtils.isBinary(nl, OpOp2.MULT)
+                                       && nl.getParent().size()==1 // ensure 
no foreign parents
                                        && 
HopRewriteUtils.isEqualSize(nl.getInput().get(0), nl.getInput().get(1)) 
//prevent mv
                                        && nl.getDim2() > 1 //not applied for 
vector-vector mult
                                        && nl.getInput().get(0).getDataType() 
== DataType.MATRIX

Reply via email to