Skip to content

Commit

Permalink
Remove compiler flag disableSimplifyComplexFunction
Browse files Browse the repository at this point in the history
  - Use --postOptModules-=simplifyComplexFunction/--initOptModules-=simplifyComplexFunction instead.
  • Loading branch information
AnHeuermann authored and AnHeuermann committed Nov 25, 2020
1 parent 0dceabb commit ea846da
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 65 deletions.
5 changes: 0 additions & 5 deletions OMCompiler/Compiler/BackEnd/BackendDAEUtil.mo
Expand Up @@ -8552,9 +8552,6 @@ algorithm
enabledModules := "partlintornsystem"::enabledModules;
end if;

// handle special flags, which disable modules
disabledModules := deprecatedDebugFlag(Flags.DIS_SIMP_FUN, disabledModules, "simplifyComplexFunction", "postOptModules-");

if Flags.getConfigString(Flags.REMOVE_SIMPLE_EQUATIONS) == "none" or
Flags.getConfigString(Flags.REMOVE_SIMPLE_EQUATIONS) == "fastAcausal" or
Flags.getConfigString(Flags.REMOVE_SIMPLE_EQUATIONS) == "allAcausal" then
Expand Down Expand Up @@ -8607,8 +8604,6 @@ algorithm
end if;

// handle special flags, which disable modules
disabledModules := deprecatedDebugFlag(Flags.DIS_SIMP_FUN, disabledModules, "simplifyComplexFunction", "initOptModules-");

if Config.getTearingMethod() == "noTearing" then
disabledModules := "tearingSystem"::disabledModules;
end if;
Expand Down
116 changes: 57 additions & 59 deletions OMCompiler/Compiler/Util/Flags.mo
Expand Up @@ -429,121 +429,119 @@ constant DebugFlag DUMP_SIMPLIFY_LOOPS = DEBUG_FLAG(128, "dumpSimplifyLoops", fa
Gettext.gettext("Dump between steps of simplifyLoops"));
constant DebugFlag DUMP_RTEARING = DEBUG_FLAG(129, "dumpRecursiveTearing", false,
Gettext.gettext("Dump between steps of recursiveTearing"));
constant DebugFlag DIS_SIMP_FUN = DEBUG_FLAG(130, "disableSimplifyComplexFunction", false,
Gettext.gettext("disable simplifyComplexFunction\nDeprecated flag: Use --postOptModules-=simplifyComplexFunction/--initOptModules-=simplifyComplexFunction instead."));
constant DebugFlag DIS_SYMJAC_FMI20 = DEBUG_FLAG(131, "disableDirectionalDerivatives", true,
constant DebugFlag DIS_SYMJAC_FMI20 = DEBUG_FLAG(130, "disableDirectionalDerivatives", true,
Gettext.gettext("For FMI 2.0 only dependecy analysis will be perform."));
constant DebugFlag EVAL_OUTPUT_ONLY = DEBUG_FLAG(132, "evalOutputOnly", false,
constant DebugFlag EVAL_OUTPUT_ONLY = DEBUG_FLAG(131, "evalOutputOnly", false,
Gettext.gettext("Generates equations to calculate outputs only."));
constant DebugFlag HARDCODED_START_VALUES = DEBUG_FLAG(133, "hardcodedStartValues", false,
constant DebugFlag HARDCODED_START_VALUES = DEBUG_FLAG(132, "hardcodedStartValues", false,
Gettext.gettext("Embed the start values of variables and parameters into the c++ code and do not read it from xml file."));
constant DebugFlag DUMP_FUNCTIONS = DEBUG_FLAG(134, "dumpFunctions", false,
constant DebugFlag DUMP_FUNCTIONS = DEBUG_FLAG(133, "dumpFunctions", false,
Gettext.gettext("Add functions to backend dumps."));
constant DebugFlag DEBUG_DIFFERENTIATION = DEBUG_FLAG(135, "debugDifferentiation", false,
constant DebugFlag DEBUG_DIFFERENTIATION = DEBUG_FLAG(134, "debugDifferentiation", false,
Gettext.gettext("Dumps debug output for the differentiation process."));
constant DebugFlag DEBUG_DIFFERENTIATION_VERBOSE = DEBUG_FLAG(136, "debugDifferentiationVerbose", false,
constant DebugFlag DEBUG_DIFFERENTIATION_VERBOSE = DEBUG_FLAG(135, "debugDifferentiationVerbose", false,
Gettext.gettext("Dumps verbose debug output for the differentiation process."));
constant DebugFlag FMU_EXPERIMENTAL = DEBUG_FLAG(137, "fmuExperimental", false,
constant DebugFlag FMU_EXPERIMENTAL = DEBUG_FLAG(136, "fmuExperimental", false,
Gettext.gettext("Include an extra function in the FMU fmi7GetSpecificDerivatives."));
constant DebugFlag DUMP_DGESV = DEBUG_FLAG(138, "dumpdgesv", false,
constant DebugFlag DUMP_DGESV = DEBUG_FLAG(137, "dumpdgesv", false,
Gettext.gettext("Enables dumping of the information whether DGESV is used to solve linear systems."));
constant DebugFlag MULTIRATE_PARTITION = DEBUG_FLAG(139, "multirate", false,
constant DebugFlag MULTIRATE_PARTITION = DEBUG_FLAG(138, "multirate", false,
Gettext.gettext("The solver can switch partitions in the system."));
constant DebugFlag DUMP_EXCLUDED_EXP = DEBUG_FLAG(140, "dumpExcludedSymJacExps", false,
constant DebugFlag DUMP_EXCLUDED_EXP = DEBUG_FLAG(139, "dumpExcludedSymJacExps", false,
Gettext.gettext("This flags dumps all expression that are excluded from differentiation of a symbolic Jacobian."));
constant DebugFlag DEBUG_ALGLOOP_JACOBIAN = DEBUG_FLAG(141, "debugAlgebraicLoopsJacobian", false,
constant DebugFlag DEBUG_ALGLOOP_JACOBIAN = DEBUG_FLAG(140, "debugAlgebraicLoopsJacobian", false,
Gettext.gettext("Dumps debug output while creating symbolic jacobians for non-linear systems."));
constant DebugFlag DISABLE_JACSCC = DEBUG_FLAG(142, "disableJacsforSCC", false,
constant DebugFlag DISABLE_JACSCC = DEBUG_FLAG(141, "disableJacsforSCC", false,
Gettext.gettext("Disables calculation of jacobians to detect if a SCC is linear or non-linear. By disabling all SCC will handled like non-linear."));
constant DebugFlag FORCE_NLS_ANALYTIC_JACOBIAN = DEBUG_FLAG(143, "forceNLSanalyticJacobian", false,
constant DebugFlag FORCE_NLS_ANALYTIC_JACOBIAN = DEBUG_FLAG(142, "forceNLSanalyticJacobian", false,
Gettext.gettext("Forces calculation analytical jacobian also for non-linear strong components with user-defined functions."));
constant DebugFlag DUMP_LOOPS = DEBUG_FLAG(144, "dumpLoops", false,
constant DebugFlag DUMP_LOOPS = DEBUG_FLAG(143, "dumpLoops", false,
Gettext.gettext("Dumps loop equation."));
constant DebugFlag DUMP_LOOPS_VERBOSE = DEBUG_FLAG(145, "dumpLoopsVerbose", false,
constant DebugFlag DUMP_LOOPS_VERBOSE = DEBUG_FLAG(144, "dumpLoopsVerbose", false,
Gettext.gettext("Dumps loop equation and enhanced adjacency matrix."));
constant DebugFlag SKIP_INPUT_OUTPUT_SYNTACTIC_SUGAR = DEBUG_FLAG(146, "skipInputOutputSyntacticSugar", false,
constant DebugFlag SKIP_INPUT_OUTPUT_SYNTACTIC_SUGAR = DEBUG_FLAG(145, "skipInputOutputSyntacticSugar", false,
Gettext.gettext("Used when bootstrapping to preserve the input output parsing of the code output by the list command."));
constant DebugFlag OMC_RECORD_ALLOC_WORDS = DEBUG_FLAG(147, "metaModelicaRecordAllocWords", false,
constant DebugFlag OMC_RECORD_ALLOC_WORDS = DEBUG_FLAG(146, "metaModelicaRecordAllocWords", false,
Gettext.gettext("Instrument the source code to record memory allocations (requires run-time and generated files compiled with -DOMC_RECORD_ALLOC_WORDS)."));
constant DebugFlag TOTAL_TEARING_DUMP = DEBUG_FLAG(148, "totaltearingdump", false,
constant DebugFlag TOTAL_TEARING_DUMP = DEBUG_FLAG(147, "totaltearingdump", false,
Gettext.gettext("Dumps total tearing information."));
constant DebugFlag TOTAL_TEARING_DUMPVERBOSE = DEBUG_FLAG(149, "totaltearingdumpV", false,
constant DebugFlag TOTAL_TEARING_DUMPVERBOSE = DEBUG_FLAG(148, "totaltearingdumpV", false,
Gettext.gettext("Dumps verbose total tearing information."));
constant DebugFlag PARALLEL_CODEGEN = DEBUG_FLAG(150, "parallelCodegen", true,
constant DebugFlag PARALLEL_CODEGEN = DEBUG_FLAG(149, "parallelCodegen", true,
Gettext.gettext("Enables code generation in parallel (disable this if compiling a model causes you to run out of RAM)."));
constant DebugFlag SERIALIZED_SIZE = DEBUG_FLAG(151, "reportSerializedSize", false,
constant DebugFlag SERIALIZED_SIZE = DEBUG_FLAG(150, "reportSerializedSize", false,
Gettext.gettext("Reports serialized sizes of various data structures used in the compiler."));
constant DebugFlag BACKEND_KEEP_ENV_GRAPH = DEBUG_FLAG(152, "backendKeepEnv", true,
constant DebugFlag BACKEND_KEEP_ENV_GRAPH = DEBUG_FLAG(151, "backendKeepEnv", true,
Gettext.gettext("When enabled, the environment is kept when entering the backend, which enables CevalFunction (function interpretation) to work. This module not essential for the backend to function in most cases, but can improve simulation performance by evaluating functions. The drawback to keeping the environment graph in memory is that it is huge (~80% of the total memory in use when returning the frontend DAE)."));
constant DebugFlag DUMPBACKENDINLINE = DEBUG_FLAG(153, "dumpBackendInline", false,
constant DebugFlag DUMPBACKENDINLINE = DEBUG_FLAG(152, "dumpBackendInline", false,
Gettext.gettext("Dumps debug output while inline function."));
constant DebugFlag DUMPBACKENDINLINE_VERBOSE = DEBUG_FLAG(154, "dumpBackendInlineVerbose", false,
constant DebugFlag DUMPBACKENDINLINE_VERBOSE = DEBUG_FLAG(153, "dumpBackendInlineVerbose", false,
Gettext.gettext("Dumps debug output while inline function."));
constant DebugFlag BLT_MATRIX_DUMP = DEBUG_FLAG(155, "bltmatrixdump", false,
constant DebugFlag BLT_MATRIX_DUMP = DEBUG_FLAG(154, "bltmatrixdump", false,
Gettext.gettext("Dumps the blt matrix in html file. IE seems to be very good in displaying large matrices."));
constant DebugFlag LIST_REVERSE_WRONG_ORDER = DEBUG_FLAG(156, "listAppendWrongOrder", true,
constant DebugFlag LIST_REVERSE_WRONG_ORDER = DEBUG_FLAG(155, "listAppendWrongOrder", true,
Gettext.gettext("Print notifications about bad usage of listAppend."));
constant DebugFlag PARTITION_INITIALIZATION = DEBUG_FLAG(157, "partitionInitialization", true,
constant DebugFlag PARTITION_INITIALIZATION = DEBUG_FLAG(156, "partitionInitialization", true,
Gettext.gettext("This flag controls if partitioning is applied to the initialization system."));
constant DebugFlag EVAL_PARAM_DUMP = DEBUG_FLAG(158, "evalParameterDump", false,
constant DebugFlag EVAL_PARAM_DUMP = DEBUG_FLAG(157, "evalParameterDump", false,
Gettext.gettext("Dumps information for evaluating parameters."));
constant DebugFlag NF_UNITCHECK = DEBUG_FLAG(159, "frontEndUnitCheck", false,
constant DebugFlag NF_UNITCHECK = DEBUG_FLAG(158, "frontEndUnitCheck", false,
Gettext.gettext("Checks the consistency of units in equation."));
constant DebugFlag DISABLE_COLORING = DEBUG_FLAG(160, "disableColoring", false,
constant DebugFlag DISABLE_COLORING = DEBUG_FLAG(159, "disableColoring", false,
Gettext.gettext("Disables coloring algorithm while spasity detection."));
constant DebugFlag MERGE_ALGORITHM_SECTIONS = DEBUG_FLAG(161, "mergeAlgSections", false,
constant DebugFlag MERGE_ALGORITHM_SECTIONS = DEBUG_FLAG(160, "mergeAlgSections", false,
Gettext.gettext("Disables coloring algorithm while sparsity detection."));
constant DebugFlag WARN_NO_NOMINAL = DEBUG_FLAG(162, "warnNoNominal", false,
constant DebugFlag WARN_NO_NOMINAL = DEBUG_FLAG(161, "warnNoNominal", false,
Gettext.gettext("Prints the iteration variables in the initialization and simulation DAE, which do not have a nominal value."));
constant DebugFlag REDUCE_DAE = DEBUG_FLAG(163, "backendReduceDAE", false,
constant DebugFlag REDUCE_DAE = DEBUG_FLAG(162, "backendReduceDAE", false,
Gettext.gettext("Prints all Reduce DAE debug information."));
constant DebugFlag IGNORE_CYCLES = DEBUG_FLAG(164, "ignoreCycles", false,
constant DebugFlag IGNORE_CYCLES = DEBUG_FLAG(163, "ignoreCycles", false,
Gettext.gettext("Ignores cycles between constant/parameter components."));
constant DebugFlag ALIAS_CONFLICTS = DEBUG_FLAG(165, "aliasConflicts", false,
constant DebugFlag ALIAS_CONFLICTS = DEBUG_FLAG(164, "aliasConflicts", false,
Gettext.gettext("Dumps alias sets with different start or nominal values."));
constant DebugFlag SUSAN_MATCHCONTINUE_DEBUG = DEBUG_FLAG(166, "susanDebug", false,
constant DebugFlag SUSAN_MATCHCONTINUE_DEBUG = DEBUG_FLAG(165, "susanDebug", false,
Gettext.gettext("Makes Susan generate code using try/else to better debug which function broke the expected match semantics."));
constant DebugFlag OLD_FE_UNITCHECK = DEBUG_FLAG(167, "oldFrontEndUnitCheck", false,
constant DebugFlag OLD_FE_UNITCHECK = DEBUG_FLAG(166, "oldFrontEndUnitCheck", false,
Gettext.gettext("Checks the consistency of units in equation (for the old front-end)."));
constant DebugFlag EXEC_STAT_EXTRA_GC = DEBUG_FLAG(168, "execstatGCcollect", false,
constant DebugFlag EXEC_STAT_EXTRA_GC = DEBUG_FLAG(167, "execstatGCcollect", false,
Gettext.gettext("When running execstat, also perform an extra full garbage collection."));
constant DebugFlag DEBUG_DAEMODE = DEBUG_FLAG(169, "debugDAEmode", false,
constant DebugFlag DEBUG_DAEMODE = DEBUG_FLAG(168, "debugDAEmode", false,
Gettext.gettext("Dump debug output for the DAEmode."));
constant DebugFlag NF_SCALARIZE = DEBUG_FLAG(170, "nfScalarize", true,
constant DebugFlag NF_SCALARIZE = DEBUG_FLAG(169, "nfScalarize", true,
Gettext.gettext("Run scalarization in NF, default true."));
constant DebugFlag NF_EVAL_CONST_ARG_FUNCS = DEBUG_FLAG(171, "nfEvalConstArgFuncs", true,
constant DebugFlag NF_EVAL_CONST_ARG_FUNCS = DEBUG_FLAG(170, "nfEvalConstArgFuncs", true,
Gettext.gettext("Evaluate all functions with constant arguments in the new frontend."));
constant DebugFlag NF_EXPAND_OPERATIONS = DEBUG_FLAG(172, "nfExpandOperations", true,
constant DebugFlag NF_EXPAND_OPERATIONS = DEBUG_FLAG(171, "nfExpandOperations", true,
Gettext.gettext("Expand all unary/binary operations to scalar expressions in the new frontend."));
constant DebugFlag NF_API = DEBUG_FLAG(173, "nfAPI", false,
constant DebugFlag NF_API = DEBUG_FLAG(172, "nfAPI", false,
Gettext.gettext("Enables experimental new instantiation use in the OMC API."));
constant DebugFlag NF_API_DYNAMIC_SELECT = DEBUG_FLAG(174, "nfAPIDynamicSelect", false,
constant DebugFlag NF_API_DYNAMIC_SELECT = DEBUG_FLAG(173, "nfAPIDynamicSelect", false,
Gettext.gettext("Show DynamicSelect(static, dynamic) in annotations. Default to false and will select the first (static) expression"));
constant DebugFlag NF_API_NOISE = DEBUG_FLAG(175, "nfAPINoise", false,
constant DebugFlag NF_API_NOISE = DEBUG_FLAG(174, "nfAPINoise", false,
Gettext.gettext("Enables error display for the experimental new instantiation use in the OMC API."));
constant DebugFlag FMI20_DEPENDENCIES = DEBUG_FLAG(176, "disableFMIDependency", false,
constant DebugFlag FMI20_DEPENDENCIES = DEBUG_FLAG(175, "disableFMIDependency", false,
Gettext.gettext("Disables the dependency analysis and generation for FMI 2.0."));
constant DebugFlag WARNING_MINMAX_ATTRIBUTES = DEBUG_FLAG(177, "warnMinMax", true,
constant DebugFlag WARNING_MINMAX_ATTRIBUTES = DEBUG_FLAG(176, "warnMinMax", true,
Gettext.gettext("Makes a warning assert from min/max variable attributes instead of error."));
constant DebugFlag NF_EXPAND_FUNC_ARGS = DEBUG_FLAG(178, "nfExpandFuncArgs", false,
constant DebugFlag NF_EXPAND_FUNC_ARGS = DEBUG_FLAG(177, "nfExpandFuncArgs", false,
Gettext.gettext("Expand all function arguments in the new frontend."));
constant DebugFlag DUMP_JL = DEBUG_FLAG(179, "dumpJL", false,
constant DebugFlag DUMP_JL = DEBUG_FLAG(178, "dumpJL", false,
Gettext.gettext("Dumps the absyn representation of a program as a Julia representation"));
constant DebugFlag DUMP_ASSC = DEBUG_FLAG(180, "dumpASSC", false,
constant DebugFlag DUMP_ASSC = DEBUG_FLAG(179, "dumpASSC", false,
Gettext.gettext("Dumps the conversion process of analytical to structural singularities."));
constant DebugFlag SPLIT_CONSTANT_PARTS_SYMJAC = DEBUG_FLAG(181, "symJacConstantSplit", false,
constant DebugFlag SPLIT_CONSTANT_PARTS_SYMJAC = DEBUG_FLAG(180, "symJacConstantSplit", false,
Gettext.gettext("Generates all symbolic Jacobians with splitted constant parts."));
constant DebugFlag NF_DUMP_FLAT = DEBUG_FLAG(182, "nfDumpFlat", false,
constant DebugFlag NF_DUMP_FLAT = DEBUG_FLAG(181, "nfDumpFlat", false,
Gettext.gettext("Dumps the flat model structure before generating the DAE."));
constant DebugFlag DUMP_FORCE_FMI_ATTRIBUTES = DEBUG_FLAG(183, "force-fmi-attributes", false,
constant DebugFlag DUMP_FORCE_FMI_ATTRIBUTES = DEBUG_FLAG(182, "force-fmi-attributes", false,
Gettext.gettext("Force to export all fmi attributes to the modelDescription.xml, including those which have default values"));
constant DebugFlag DUMP_DATARECONCILIATION = DEBUG_FLAG(184, "dataReconciliation", false,
constant DebugFlag DUMP_DATARECONCILIATION = DEBUG_FLAG(183, "dataReconciliation", false,
Gettext.gettext("Dumps all the dataReconciliation extraction algorithm procedure"));
constant DebugFlag ARRAY_CONNECT = DEBUG_FLAG(185, "arrayConnect", false,
constant DebugFlag ARRAY_CONNECT = DEBUG_FLAG(184, "arrayConnect", false,
Gettext.gettext("Use experimental array connection handler."));
constant DebugFlag COMBINE_SUBSCRIPTS = DEBUG_FLAG(186, "combineSubscripts", false,
constant DebugFlag COMBINE_SUBSCRIPTS = DEBUG_FLAG(185, "combineSubscripts", false,
Gettext.gettext("Move all subscripts to the end of component references."));
constant DebugFlag ZMQ_LISTEN_TO_ALL = DEBUG_FLAG(187, "zmqDangerousAcceptConnectionsFromAnywhere", false,
constant DebugFlag ZMQ_LISTEN_TO_ALL = DEBUG_FLAG(186, "zmqDangerousAcceptConnectionsFromAnywhere", false,
Gettext.gettext("When opening a zmq connection, listen on all interfaces instead of only connections from 127.0.0.1."));

public
Expand Down
1 change: 0 additions & 1 deletion OMCompiler/Compiler/Util/FlagsUtil.mo
Expand Up @@ -186,7 +186,6 @@ constant list<Flags.DebugFlag> allDebugFlags = {
Flags.SORT_EQNS_AND_VARS,
Flags.DUMP_SIMPLIFY_LOOPS,
Flags.DUMP_RTEARING,
Flags.DIS_SIMP_FUN,
Flags.DIS_SYMJAC_FMI20,
Flags.EVAL_OUTPUT_ONLY,
Flags.HARDCODED_START_VALUES,
Expand Down

0 comments on commit ea846da

Please sign in to comment.