X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fcompilation%2FCodeGeneration.java;h=f0b9f735e68b7b6522b46423e188f7a0ca95feba;hp=082fa2f6dc553d1b36e2b64c6152329f46b87725;hb=0861b325fcbbfa8c5985f1e11cfc39154a3808d1;hpb=edb5c89575392565d23dbfc7083617c981048c1e diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/CodeGeneration.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/CodeGeneration.java index 082fa2f6d..f0b9f735e 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/CodeGeneration.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/CodeGeneration.java @@ -53,12 +53,16 @@ import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.Types; import org.simantics.scl.compiler.types.exceptions.MatchException; import org.simantics.scl.compiler.types.util.MultiFunction; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import gnu.trove.procedure.TObjectObjectProcedure; import gnu.trove.procedure.TObjectProcedure; public class CodeGeneration { - + + private static final Logger LOGGER = LoggerFactory.getLogger(CodeGeneration.class); + public static final int OPTIMIZATION_PHASES = 2; CompilationContext compilationContext; @@ -85,11 +89,11 @@ public class CodeGeneration { } public void simplifyValues() { - //System.out.println("===== Simplify values ====="); + //LOGGER.info("===== Simplify values ====="); Collection values = module.getValues(); SimplificationContext simplificationContext = new SimplificationContext(compilationContext, validator); - //System.out.println("-----------------------------------------------"); + //LOGGER.info("-----------------------------------------------"); SCLValue[] valueArray = values.toArray(new SCLValue[values.size()]); for(SCLValue value : valueArray) { @@ -101,16 +105,16 @@ public class CodeGeneration { // Simplify for(SCLValue value : valueArray) { - //System.out.println("BEFORE " + value.getName() + " = " + value.getExpression()); + //LOGGER.info("BEFORE " + value.getName() + " = " + value.getExpression()); value.getSimplifiedExpression(simplificationContext); - //System.out.println("AFTER " + value.getName() + " = " + value.getExpression()); + //LOGGER.info("AFTER " + value.getName() + " = " + value.getExpression()); } } public void convertToSSA() { ModuleWriter mw = new ModuleWriter(compilationContext.namingPolicy.getModuleClassName(), compilationContext.lineLocator); for(SCLValue value : module.getValues()) { - //System.out.println(value.getName().name + " :: " + value.getType()); + //LOGGER.info(value.getName().name + " :: " + value.getType()); Expression expression = value.getExpression(); if(expression == null) continue; @@ -149,7 +153,7 @@ public class CodeGeneration { if(constant.getTypeParameters().length > 0) continue; - //System.out.println(value.getName() + " <- " + constant.getValue().getName()); + //LOGGER.info(value.getName() + " <- " + constant.getValue().getName()); value.setValue(constant.getValue().getValue()); value.setExpression(null); // HMM?? }*/ @@ -190,24 +194,24 @@ public class CodeGeneration { public void optimizeSSA() { if(SCLCompilerConfiguration.SHOW_SSA_BEFORE_OPTIMIZATION && SCLCompilerConfiguration.debugFilter(module.getName())) { - System.out.println("=== SSA before optimization ===================================="); - System.out.println(ssaModule); + LOGGER.info("=== SSA before optimization ===================================="); + LOGGER.info("{}", ssaModule); } if(SCLCompilerConfiguration.DEBUG) ssaModule.validate(); int optCount = 0; for(int phase=0;phase