#include <rrRoadRunnerOptions.h>
Public Types | |
enum | ModelGeneratorOpt { CONSERVED_MOIETIES = (0x1 << 0), RECOMPILE = (0x1 << 1), READ_ONLY = (0x1 << 2), MUTABLE_INITIAL_CONDITIONS = (0x1 << 3), OPTIMIZE_GVN = (0x1 << 4), OPTIMIZE_CFG_SIMPLIFICATION = (0x1 << 5), OPTIMIZE_INSTRUCTION_COMBINING = (0x1 << 6), OPTIMIZE_DEAD_INST_ELIMINATION = (0x1 << 7), OPTIMIZE_DEAD_CODE_ELIMINATION = (0x1 << 8), OPTIMIZE_INSTRUCTION_SIMPLIFIER = (0x1 << 9) } |
enum | LoadOpt { NO_DEFAULT_SELECTIONS = (0x1 << 0) } |
Public Member Functions | |
LoadSBMLOptions () | |
Public Attributes | |
uint16_t | version |
uint16_t | size |
Options for loading SBML into RoadRunner.
Future version may add additional fields to the end of this struct, this way we can maintain binary compatibility with older RoadRunner versions.
Enumerator | |
---|---|
CONSERVED_MOIETIES |
perform conservation analysis. This causes a re-ordering of the species, so results generated with this flag enabled can not be compared index wise to results generated otherwise. currently only implemented with the C code generating model |
RECOMPILE |
Should the model be recompiled? The LLVM ModelGenerator maintins a hash table of currently running models. If this flag is NOT set, then the generator will look to see if there is already a running instance of the given model and use the generated code from that one. If only a single instance of a model is run, there is no need to cache the models, and this can safetly be enabled, realizing some performance gains. |
READ_ONLY |
If this is set, then a read-only model is generated. A read-only model can be simulated, but no code is generated to set model values, i.e. parameters, amounts, values, etc... It takes a finite amount of time to generate the model value setting functions, and if they are not needed, one may see some performance gains, especially in very large models. |
MUTABLE_INITIAL_CONDITIONS |
Generate accessor functions to allow changing of initial conditions. |
OPTIMIZE_GVN |
GVN - This pass performs global value numbering and redundant load elimination cotemporaneously. |
OPTIMIZE_CFG_SIMPLIFICATION |
CFGSimplification - Merge basic blocks, eliminate unreachable blocks, simplify terminator instructions, etc... |
OPTIMIZE_INSTRUCTION_COMBINING |
InstructionCombining - Combine instructions to form fewer, simple instructions. This pass does not modify the CFG, and has a tendency to make instructions dead, so a subsequent DCE pass is useful. |
OPTIMIZE_DEAD_INST_ELIMINATION |
DeadInstElimination - This pass quickly removes trivially dead instructions without modifying the CFG of the function. It is a BasicBlockPass, so it runs efficiently when queued next to other BasicBlockPass's. |
OPTIMIZE_DEAD_CODE_ELIMINATION |
DeadCodeElimination - This pass is more powerful than DeadInstElimination, because it is worklist driven that can potentially revisit instructions when their other instructions become dead, to eliminate chains of dead computations. |
OPTIMIZE_INSTRUCTION_SIMPLIFIER |
InstructionSimplifier - Remove redundant instructions. |
rr::LoadSBMLOptions::LoadSBMLOptions | ( | ) |
initializes the struct with the default options.
uint16_t rr::LoadSBMLOptions::size |
sizeof this struct
uint16_t rr::LoadSBMLOptions::version |
the version this struct