Browse Source

added -loopOpt flag, to determine whether we want hintco to launch algebraic loop optimizer or not

Claudio Gomes 5 years ago
parent
commit
fbd9fee26f
1 changed files with 5 additions and 6 deletions
  1. 5 6
      HintCOEngine/src/ua/ansymo/hintco/Main.xtend

+ 5 - 6
HintCOEngine/src/ua/ansymo/hintco/Main.xtend

@@ -27,6 +27,7 @@ class Main implements IApplication {
 		val scenarioOpt = Option.builder("s").longOpt("scenario").desc("Path to scenario file").hasArg().numberOfArgs(1).argName("path").build();
 		val contractOpt = Option.builder("c").longOpt("contract").desc("Path to contracts file").hasArg().numberOfArgs(1).argName("path").build();
 		val genDefAdaptations = Option.builder("d").longOpt("default").desc("Generate default adaptations").build();
+		val optLoops = Option.builder("loopOpt").desc("Optimize algebraic loops").build();
 		val genTrace = Option.builder("t").longOpt("trace").desc("Generate debug trace.").hasArg().numberOfArgs(1).build();
 		val outDirOpt = Option.builder("o").longOpt("output").desc("Path to output directory").hasArg().numberOfArgs(1).argName("path").build();
 		val nVarsOpt = Option.builder("n").longOpt("variants").desc("Number of variants to run").hasArg().numberOfArgs(1).argName("int").build();
@@ -36,6 +37,7 @@ class Main implements IApplication {
 		options.addOption(scenarioOpt)
 		options.addOption(contractOpt)
 		options.addOption(genDefAdaptations)
+		options.addOption(optLoops)
 		options.addOption(genTrace)
 		options.addOption(outDirOpt)
 		options.addOption(nVarsOpt)
@@ -94,12 +96,9 @@ class Main implements IApplication {
 		generator.createVariantTree(src)
 		generator.processAdaptations(src)
 		
-		if (cmd.hasOption(nVarsOpt.getOpt())){
-			val nVars = Integer.parseInt(cmd.getOptionValue(nVarsOpt.getOpt()))
-			generator.generateVariants(src, nVars, false)
-		} else {
-			generator.generateVariants(src, Integer.MAX_VALUE, false)
-		}
+		val nVars = Integer.parseInt(cmd.getOptionValue(nVarsOpt.opt, Integer.MAX_VALUE.toString))
+		
+		generator.generateVariants(src, nVars, cmd.hasOption(optLoops.opt))
 		
 		runner.close()
 	}