Skip to content

Commit

Permalink
- move encapsulateWhenCodnitions to post opt. modules
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@14892 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
lochel committed Jan 23, 2013
1 parent 1cc84c8 commit 894e1bc
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 39 deletions.
13 changes: 4 additions & 9 deletions Compiler/BackEnd/BackendDAEOptimize.mo
Expand Up @@ -10849,16 +10849,11 @@ algorithm
case (DAE.CREF(componentRef=componentRef)::conditionList, _, _) equation
(conditionVarList, initialCall) = getConditionList1(conditionList, componentRef::inConditionVarList, inInitialCall);
then (conditionVarList, initialCall);

case (DAE.BCONST(_)::conditionList, _, _) equation
(conditionVarList, initialCall) = getConditionList1(conditionList, inConditionVarList, inInitialCall);
then (conditionVarList, initialCall);

case (exp::_,_,_)
equation
msg = "./Compiler/BackEnd/BackendDAEOptimize.mo: function getConditionList1 failed for " +& ExpressionDump.printExpStr(exp) +& "\n";
Error.addMessage(Error.INTERNAL_ERROR, {msg});
then fail();
case (exp::_, _ ,_) equation
msg = "./Compiler/BackEnd/BackendDAEOptimize.mo: function getConditionList1 failed for " +& ExpressionDump.printExpStr(exp) +& "\n";
Error.addMessage(Error.INTERNAL_ERROR, {msg});
then fail();
end matchcontinue;
end getConditionList1;

Expand Down
56 changes: 28 additions & 28 deletions Compiler/BackEnd/BackendDAEUtil.mo
Expand Up @@ -8510,8 +8510,7 @@ protected
list<tuple<preoptimiseDAEModule,String,Boolean>> allPreOptModules;
list<String> strPreOptModules;
algorithm
allPreOptModules := {(BackendDAEOptimize.encapsulateWhenConditions, "encapsulateWhenConditions", false),
(RemoveSimpleEquations.fastAcausal, "removeSimpleEquations", false),
allPreOptModules := {(RemoveSimpleEquations.fastAcausal, "removeSimpleEquations", false),
(RemoveSimpleEquations.allAcausal, "removeAllSimpleEquations", false),
(BackendDAEOptimize.inlineArrayEqn, "inlineArrayEqn", false),
(BackendDAEOptimize.evaluateFinalParameters, "evaluateFinalParameters", false),
Expand Down Expand Up @@ -8549,32 +8548,33 @@ protected
list<tuple<pastoptimiseDAEModule,String,Boolean>> allPastOptModules;
list<String> strPastOptModules;
algorithm
allPastOptModules := {(BackendDAEOptimize.lateInlineFunction,"lateInlineFunction",false),
(RemoveSimpleEquations.causal,"removeSimpleEquations",false),
(RemoveSimpleEquations.fastAcausal,"removeSimpleEquationsFast",false),
(BackendDAEOptimize.removeEqualFunctionCalls,"removeEqualFunctionCalls",false),
(BackendDAEOptimize.removeFinalParameters,"removeFinalParameters",false),
(BackendDAEOptimize.inlineArrayEqn,"inlineArrayEqn",false),
(BackendDAEOptimize.removeUnusedParameter,"removeUnusedParameter",false),
(BackendDAEOptimize.removeUnusedVariables,"removeUnusedVariables",false),
(BackendDAEOptimize.constantLinearSystem,"constantLinearSystem",false),
(OnRelaxation.relaxSystem,"relaxSystem",false),
(BackendDAEOptimize.removeevaluateParameters,"removeevaluateParameters",false),
(BackendDAEOptimize.countOperations,"countOperations",false),
(BackendDump.dumpComponentsGraphStr,"dumpComponentsGraphStr",false),
(BackendDAEOptimize.generateSymbolicJacobianPast,"generateSymbolicJacobian",false),
(BackendDAEOptimize.generateSymbolicLinearizationPast,"generateSymbolicLinearization",false),
(BackendDAEOptimize.collapseIndependentBlocks,"collapseIndependentBlocks",true),
(BackendDAEOptimize.removeUnusedFunctions,"removeUnusedFunctions",false),
(BackendDAEOptimize.simplifyTimeIndepFuncCalls,"simplifyTimeIndepFuncCalls",false),
(BackendDAEOptimize.inputDerivativesUsed,"inputDerivativesUsed",false),
(BackendDAEOptimize.simplifysemiLinear,"simplifysemiLinear",false),
(BackendDAEOptimize.removeConstants,"removeConstants",false),
(BackendDAEOptimize.optimizeInitialSystem,"optimizeInitialSystem",false),
(BackendDAEOptimize.detectSparsePatternODE,"detectJacobianSparsePattern",false),
(BackendDAEOptimize.partitionIndependentBlocks, "partitionIndependentBlocks", true),
(Tearing.tearingSystem, "tearingSystem", false)
};
allPastOptModules := {(BackendDAEOptimize.encapsulateWhenConditions, "encapsulateWhenConditions", false),
(BackendDAEOptimize.lateInlineFunction,"lateInlineFunction",false),
(RemoveSimpleEquations.causal,"removeSimpleEquations",false),
(RemoveSimpleEquations.fastAcausal,"removeSimpleEquationsFast",false),
(BackendDAEOptimize.removeEqualFunctionCalls,"removeEqualFunctionCalls",false),
(BackendDAEOptimize.removeFinalParameters,"removeFinalParameters",false),
(BackendDAEOptimize.inlineArrayEqn,"inlineArrayEqn",false),
(BackendDAEOptimize.removeUnusedParameter,"removeUnusedParameter",false),
(BackendDAEOptimize.removeUnusedVariables,"removeUnusedVariables",false),
(BackendDAEOptimize.constantLinearSystem,"constantLinearSystem",false),
(OnRelaxation.relaxSystem,"relaxSystem",false),
(BackendDAEOptimize.removeevaluateParameters,"removeevaluateParameters",false),
(BackendDAEOptimize.countOperations,"countOperations",false),
(BackendDump.dumpComponentsGraphStr,"dumpComponentsGraphStr",false),
(BackendDAEOptimize.generateSymbolicJacobianPast,"generateSymbolicJacobian",false),
(BackendDAEOptimize.generateSymbolicLinearizationPast,"generateSymbolicLinearization",false),
(BackendDAEOptimize.collapseIndependentBlocks,"collapseIndependentBlocks",true),
(BackendDAEOptimize.removeUnusedFunctions,"removeUnusedFunctions",false),
(BackendDAEOptimize.simplifyTimeIndepFuncCalls,"simplifyTimeIndepFuncCalls",false),
(BackendDAEOptimize.inputDerivativesUsed,"inputDerivativesUsed",false),
(BackendDAEOptimize.simplifysemiLinear,"simplifysemiLinear",false),
(BackendDAEOptimize.removeConstants,"removeConstants",false),
(BackendDAEOptimize.optimizeInitialSystem,"optimizeInitialSystem",false),
(BackendDAEOptimize.detectSparsePatternODE,"detectJacobianSparsePattern",false),
(BackendDAEOptimize.partitionIndependentBlocks, "partitionIndependentBlocks", true),
(Tearing.tearingSystem, "tearingSystem", false)};

strPastOptModules := getPastOptModulesString();
strPastOptModules := Util.getOptionOrDefault(ostrPastOptModules,strPastOptModules);
pastOptModules := selectOptModules(strPastOptModules,allPastOptModules,{});
Expand Down
4 changes: 2 additions & 2 deletions Compiler/Util/Flags.mo
Expand Up @@ -569,11 +569,9 @@ public constant ConfigFlag PRE_OPT_MODULES = CONFIG_FLAG(12, "preOptModules",
"findStateOrder",
"replaceEdgeChange",
"inlineArrayEqn",
"encapsulateWhenConditions",
"removeSimpleEquations"
}),
SOME(STRING_DESC_OPTION({
("encapsulateWhenConditions", Util.gettext("replace each when-condition with an discrete variable")),
("removeSimpleEquations", removeSimpleEquationDesc),
("removeAllSimpleEquations", removeSimpleEquationDesc),
("inlineArrayEqn", Util.notrans("DESCRIBE ME")),
Expand Down Expand Up @@ -638,6 +636,7 @@ constant ConfigFlag POST_OPT_MODULES = CONFIG_FLAG(16, "postOptModules",
"simplifysemiLinear",
"removeSimpleEquations",
"tearingSystem",
"encapsulateWhenConditions", // must called after remove simple equations
// "countOperations",
"removeUnusedFunctions",
"inputDerivativesUsed",
Expand All @@ -648,6 +647,7 @@ constant ConfigFlag POST_OPT_MODULES = CONFIG_FLAG(16, "postOptModules",
// "partitionIndependentBlocks"
}),
SOME(STRING_DESC_OPTION({
("encapsulateWhenConditions", Util.gettext("replace each when-condition with an discrete variable")),
("lateInlineFunction", Util.gettext("perform function inlining for function with annotation LateInline=true")),
("removeSimpleEquationsFast", removeSimpleEquationDesc),
("removeSimpleEquations", removeSimpleEquationDesc),
Expand Down

0 comments on commit 894e1bc

Please sign in to comment.