From 6adb0c6d2d78d54c112ad209af1fae648c5100d3 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Tue, 12 Mar 2019 17:59:35 +0100 Subject: [PATCH] Improved verbosity for fragment debug output. --- src/main/java/dk/camelot64/kickc/KickC.java | 107 +++++++++++--------- 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/src/main/java/dk/camelot64/kickc/KickC.java b/src/main/java/dk/camelot64/kickc/KickC.java index 6e2db8dac..0db58a662 100644 --- a/src/main/java/dk/camelot64/kickc/KickC.java +++ b/src/main/java/dk/camelot64/kickc/KickC.java @@ -118,16 +118,21 @@ public class KickC implements Callable { } if(fragment!=null) { + configVerbosity(compiler); + if(verbose) { + compiler.getLog().setVerboseFragmentLog(true); + } compiler.getLog().setSysOut(true); Collection fragmentTemplates = AsmFragmentTemplateSynthesizer.getFragmentTemplates(fragment, compiler.getLog()); for(AsmFragmentTemplate fragmentTemplate : fragmentTemplates) { AsmFragmentTemplateUsages.logTemplate(compiler.getLog(), fragmentTemplate, ""); } - compiler.getLog().setSysOut(false); } if(kcFile!=null) { + configVerbosity(compiler); + String fileBaseName = getFileBaseName(kcFile); Path kcFileDir = kcFile.getParent(); @@ -150,55 +155,6 @@ public class KickC implements Callable { compiler.setUpliftCombinations(optimizeUpliftCombinations); } - if(verbose) { - compiler.getLog().setSysOut(true); - } - - if(verboseParse) { - compiler.getLog().setVerboseParse(true); - compiler.getLog().setSysOut(true); - } - if(verboseCreateSsa) { - compiler.getLog().setVerboseCreateSsa(true); - compiler.getLog().setSysOut(true); - } - if(verboseSSAOptimize) { - compiler.getLog().setVerboseSSAOptimize(true); - compiler.getLog().setSysOut(true); - } - if(verboseNonOptimization) { - compiler.getLog().setVerboseNonOptimization(true); - compiler.getLog().setSysOut(true); - } - if(verboseSequencePlan) { - compiler.getLog().setVerboseSequencePlan(true); - compiler.getLog().setSysOut(true); - } - if(verboseLoopAnalysis) { - compiler.getLog().setVerboseLoopAnalysis(true); - compiler.getLog().setSysOut(true); - } - if(verboseLoopUnroll) { - compiler.getLog().setVerboseLoopUnroll(true); - compiler.getLog().setSysOut(true); - } - if(verboseLiveRanges) { - compiler.getLog().setVerboseLiveRanges(true); - compiler.getLog().setSysOut(true); - } - if(verboseUplift) { - compiler.getLog().setVerboseUplift(true); - compiler.getLog().setSysOut(true); - } - if(verboseFragments) { - compiler.getLog().setVerboseFragmentLog(true); - compiler.getLog().setSysOut(true); - } - if(verboseAsmOptimize) { - compiler.getLog().setVerboseAsmOptimize(true); - compiler.getLog().setSysOut(true); - } - System.out.println("Compiling " + kcFile); Program program = compiler.compile(kcFile.toString()); @@ -250,6 +206,57 @@ public class KickC implements Callable { return null; } + private void configVerbosity(Compiler compiler) { + if(verbose) { + compiler.getLog().setSysOut(true); + } + + if(verboseParse) { + compiler.getLog().setVerboseParse(true); + compiler.getLog().setSysOut(true); + } + if(verboseCreateSsa) { + compiler.getLog().setVerboseCreateSsa(true); + compiler.getLog().setSysOut(true); + } + if(verboseSSAOptimize) { + compiler.getLog().setVerboseSSAOptimize(true); + compiler.getLog().setSysOut(true); + } + if(verboseNonOptimization) { + compiler.getLog().setVerboseNonOptimization(true); + compiler.getLog().setSysOut(true); + } + if(verboseSequencePlan) { + compiler.getLog().setVerboseSequencePlan(true); + compiler.getLog().setSysOut(true); + } + if(verboseLoopAnalysis) { + compiler.getLog().setVerboseLoopAnalysis(true); + compiler.getLog().setSysOut(true); + } + if(verboseLoopUnroll) { + compiler.getLog().setVerboseLoopUnroll(true); + compiler.getLog().setSysOut(true); + } + if(verboseLiveRanges) { + compiler.getLog().setVerboseLiveRanges(true); + compiler.getLog().setSysOut(true); + } + if(verboseUplift) { + compiler.getLog().setVerboseUplift(true); + compiler.getLog().setSysOut(true); + } + if(verboseFragments) { + compiler.getLog().setVerboseFragmentLog(true); + compiler.getLog().setSysOut(true); + } + if(verboseAsmOptimize) { + compiler.getLog().setVerboseAsmOptimize(true); + compiler.getLog().setSysOut(true); + } + } + /** * Get the current version of KickC * @return The name and version (eg "KickC 0.5")