Skip to content

Commit 3107627

Browse files
lochelOpenModelica-Hudson
authored andcommitted
Clean up default initOptModules
Modules that need to get activated using additional flags appear no longer in the default initOptModule list.
1 parent 40390de commit 3107627

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

Compiler/BackEnd/BackendDAEUtil.mo

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7357,21 +7357,43 @@ public function getInitOptModules
73577357
output list<tuple<BackendDAEFunc.optimizationModule, String>> outInitOptModules;
73587358
protected
73597359
list<String> initOptModules;
7360+
list<String> enabledModules = Flags.getConfigStringList(Flags.INIT_OPT_MODULES_ADD);
7361+
list<String> disabledModules = Flags.getConfigStringList(Flags.INIT_OPT_MODULES_SUB);
73607362
algorithm
73617363
initOptModules := Config.getInitOptModules();
73627364
initOptModules := Util.getOptionOrDefault(inInitOptModules, initOptModules);
73637365

7364-
if not Flags.getConfigBool(Flags.FORCE_RECOMMENDED_ORDERING) and not listEmpty(Flags.getConfigStringList(Flags.INIT_OPT_MODULES_ADD)) then
7366+
if Flags.getConfigBool(Flags.FORCE_RECOMMENDED_ORDERING) then
7367+
// handle special flags, which enable modules
7368+
if Flags.getConfigInt(Flags.SIMPLIFY_LOOPS) > 0 then
7369+
enabledModules := "simplifyLoops"::enabledModules;
7370+
end if;
7371+
7372+
if Flags.getConfigInt(Flags.RTEARING) > 0 then
7373+
enabledModules := "recursiveTearing"::enabledModules;
7374+
end if;
7375+
7376+
// handle special flags, which disable modules
7377+
if Flags.isSet(Flags.DIS_SIMP_FUN) then
7378+
disabledModules := "simplifyComplexFunction"::disabledModules;
7379+
end if;
7380+
7381+
if Config.getTearingMethod() == "noTearing" then
7382+
disabledModules := "tearingSystem"::disabledModules;
7383+
end if;
7384+
end if;
7385+
7386+
if not Flags.getConfigBool(Flags.FORCE_RECOMMENDED_ORDERING) and not listEmpty(enabledModules) then
73657387
Error.addCompilerError("It's not possible to combine following flags: --initOptModules+=... and --" + Flags.configFlagName(Flags.FORCE_RECOMMENDED_ORDERING) + "=false");
73667388
fail();
73677389
end if;
73687390

7369-
if not Flags.getConfigBool(Flags.FORCE_RECOMMENDED_ORDERING) and not listEmpty(Flags.getConfigStringList(Flags.INIT_OPT_MODULES_SUB)) then
7391+
if not Flags.getConfigBool(Flags.FORCE_RECOMMENDED_ORDERING) and not listEmpty(disabledModules) then
73707392
Error.addCompilerError("It's not possible to combine following flags: --initOptModules-=... and --" + Flags.configFlagName(Flags.FORCE_RECOMMENDED_ORDERING) + "=false");
73717393
fail();
73727394
end if;
73737395

7374-
outInitOptModules := selectOptModules(initOptModules, Flags.getConfigStringList(Flags.INIT_OPT_MODULES_ADD), Flags.getConfigStringList(Flags.INIT_OPT_MODULES_SUB), allInitOptimizationModules());
7396+
outInitOptModules := selectOptModules(initOptModules, enabledModules, disabledModules, allInitOptimizationModules());
73757397
end getInitOptModules;
73767398

73777399
protected function selectOptModules

Compiler/Util/Flags.mo

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,8 +1132,6 @@ constant ConfigFlag INIT_OPT_MODULES = CONFIG_FLAG(77, "initOptModules",
11321132
NONE(), EXTERNAL(), STRING_LIST_FLAG({
11331133
"simplifyComplexFunction",
11341134
"tearingSystem",
1135-
"simplifyLoops",
1136-
"recursiveTearing",
11371135
"calculateStrongComponentJacobians",
11381136
"solveSimpleEquations",
11391137
"simplifyAllExpressions"

0 commit comments

Comments
 (0)