[MINOR] Cleanup applied rewrites in optimization level 1

This patch cleans up an inconsistency of not disabling the rewrites for
(1) matrix multiplication chain optimization and (2) the removal of
unnecessary casts under optimization level 1, which is supposed to
disable all rewrites.


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

Branch: refs/heads/master
Commit: ac7990ef803327f442d4ef62a4d72ec1ae43e188
Parents: 4fea3c6
Author: Matthias Boehm <[email protected]>
Authored: Mon Nov 13 21:56:42 2017 -0800
Committer: Matthias Boehm <[email protected]>
Committed: Tue Nov 14 11:54:27 2017 -0800

----------------------------------------------------------------------
 .../apache/sysml/hops/rewrite/ProgramRewriter.java | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/ac7990ef/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java 
b/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
index d8acdf6..ee8d27c 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
@@ -87,7 +87,8 @@ public class ProgramRewriter
                        _dagRuleSet.add(     new 
RewriteTransientWriteParentHandling()       );
                        _dagRuleSet.add(     new RewriteRemoveReadAfterWrite()  
             ); //dependency: before blocksize
                        _dagRuleSet.add(     new RewriteBlockSizeAndReblock()   
             );
-                       _dagRuleSet.add(     new 
RewriteRemoveUnnecessaryCasts()             );
+                       if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
+                               _dagRuleSet.add( new 
RewriteRemoveUnnecessaryCasts()             );
                        if( 
OptimizerUtils.ALLOW_COMMON_SUBEXPRESSION_ELIMINATION )
                                _dagRuleSet.add( new 
RewriteCommonSubexpressionElimination()     );
                        if( OptimizerUtils.ALLOW_CONSTANT_FOLDING )
@@ -120,20 +121,20 @@ public class ProgramRewriter
                // DYNAMIC REWRITES (which do require size information)
                if( dynamicRewrites )
                {
-                       _dagRuleSet.add(     new 
RewriteMatrixMultChainOptimization()         ); //dependency: cse
-                       if ( OptimizerUtils.ALLOW_SUM_PRODUCT_REWRITES)
+                       if ( OptimizerUtils.ALLOW_SUM_PRODUCT_REWRITES) {
+                               _dagRuleSet.add( new 
RewriteMatrixMultChainOptimization()         ); //dependency: cse
                                _dagRuleSet.add( new 
RewriteElementwiseMultChainOptimization()    ); //dependency: cse
-                       
-                       if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
-                       {
+                       }
+                       if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION ) {
                                _dagRuleSet.add( new 
RewriteAlgebraicSimplificationDynamic()      ); //dependencies: cse
                                _dagRuleSet.add( new 
RewriteAlgebraicSimplificationStatic()       ); //dependencies: cse
                        }
                }
                
                // cleanup after all rewrites applied 
-               // (newly introduced operators, introduced redundancy after 
rewrites w/ multiple parents) 
-               _dagRuleSet.add(     new RewriteRemoveUnnecessaryCasts()        
     );
+               // (newly introduced operators, introduced redundancy after 
rewrites w/ multiple parents)
+               if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
+                       _dagRuleSet.add( new RewriteRemoveUnnecessaryCasts()    
         );
                if( OptimizerUtils.ALLOW_COMMON_SUBEXPRESSION_ELIMINATION )
                        _dagRuleSet.add( new 
RewriteCommonSubexpressionElimination(true) );
        }

Reply via email to