OpenASIP
2.0
|
#include <SchedulerCmdLineOptions.hh>
Public Member Functions | |
SchedulerCmdLineOptions () | |
virtual | ~SchedulerCmdLineOptions () |
virtual void | printVersion () const |
virtual bool | isMachineFileDefined () const |
virtual std::string | machineFile () const |
virtual bool | isOutputFileDefined () const |
virtual std::string | outputFile () const |
virtual int | schedulingWindowSize () const |
virtual bool | useRestrictedAliasAnalyzer () const |
virtual bool | renameRegisters () const |
bool | enableStackAA () const |
bool | enableOffsetAA () const |
bool | printResourceConstraints () const |
virtual int | ifConversionThreshold () const |
virtual bool | dumpIfConversionCFGs () const |
virtual int | lowMemModeThreshold () const |
virtual bool | isLoopOptDefined () const |
virtual int | bypassDistance () const |
virtual int | noDreBypassDistance () const |
virtual int | operandShareDistance () const |
virtual bool | killDeadResults () const |
virtual FunctionNameList * | noaliasFunctions () const |
Public Member Functions inherited from CmdLineOptions | |
CmdLineOptions (std::string description, std::string version="") | |
virtual | ~CmdLineOptions () |
void | parse (char *argv[], int argc) |
void | parse (std::string argv[], int argc) |
void | parse (std::vector< std::string > argv) |
virtual void | printHelp () const |
virtual bool | isVerboseSwitchDefined () const |
virtual bool | isVerboseSpamSwitchDefined () const |
Public Member Functions inherited from CmdLineParser | |
CmdLineParser (std::string description) | |
virtual | ~CmdLineParser () |
virtual void | storeOptions (Options &options) |
virtual int | numberOfArguments () const |
virtual std::string | argument (int index) const |
Private Member Functions | |
SchedulerCmdLineOptions (const SchedulerCmdLineOptions &) | |
Copying forbidden. More... | |
SchedulerCmdLineOptions & | operator= (const SchedulerCmdLineOptions &) |
Assignment forbidden. More... | |
Static Private Attributes | |
static const std::string | USAGE |
Description of the command line usage of the Scheduler. More... | |
static const std::string | SWL_TARGET_MACHINE = "adf" |
static const std::string | SWS_TARGET_MACHINE = "a" |
static const std::string | SWL_OUTPUT_FILE = "output" |
static const std::string | SWS_OUTPUT_FILE = "o" |
static const std::string | SWL_LOOP_FLAG = "loop" |
static const std::string | SWL_SCHEDULING_WINDOW |
static const std::string | SWL_STACK_AA = "stack-aa" |
static const std::string | SWL_OFFSET_AA = "offset-aa" |
static const std::string | SWL_RENAME_REGISTERS = "rename-registers" |
static const std::string | SWL_RESTRICTED_AA = "restricted-aa" |
static const std::string | SWL_IF_CONVERSION_THRESHOLD |
static const std::string | SWL_LOWMEM_MODE_THRESHOLD |
static const std::string | SWL_RESOURCE_CONSTRAINT_PRINTING |
static const std::string | SWL_KILL_DEAD_RESULTS = "kill-dead-results" |
static const std::string | SWL_NO_DRE_BYPASS_DISTANCE = "bypass-distance-nodre" |
static const std::string | SWL_BYPASS_DISTANCE = "bypass-distance" |
static const std::string | SWL_DUMP_IFCONVERSION_CFGS |
static const std::string | SWL_OPERAND_SHARE_DISTANCE = "operand-share-distance" |
static const std::string | SWL_NOALIAS_FUNCTIONS = "noalias-functions" |
Additional Inherited Members | |
Protected Member Functions inherited from CmdLineOptions | |
bool | optionGiven (std::string key) const |
Protected Member Functions inherited from CmdLineParser | |
void | addOption (CmdLineOptionParser *opt) |
CmdLineOptionParser * | findOption (std::string name) const |
bool | parseOption (std::string option, std::string &name, std::string &arguments, std::string &prefix, bool &hasArgument) const |
bool | readPrefix (std::string &option, std::string &prefix, bool &longOption) const |
bool | isPrefix (std::string name) const |
Protected Attributes inherited from CmdLineParser | |
std::map< std::string, CmdLineOptionParser * > | optionLongNames_ |
Database for holding options with their long names as a key. More... | |
std::map< std::string, CmdLineOptionParser * > | optionShortNames_ |
Database for holding options with their short names as a key. More... | |
std::vector< std::string > | commandLine_ |
Command line is stored here. More... | |
std::vector< std::string > | arguments_ |
Command line arguments are stored here. More... | |
std::vector< std::string > | prefixes_ |
Legal prefixes are stored here. More... | |
Command line options for the command line interface of the Scheduler (schedule).
Definition at line 45 of file SchedulerCmdLineOptions.hh.
SchedulerCmdLineOptions::SchedulerCmdLineOptions | ( | ) |
Constructor.
Definition at line 76 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::addOption(), SWL_BYPASS_DISTANCE, SWL_DUMP_IFCONVERSION_CFGS, SWL_IF_CONVERSION_THRESHOLD, SWL_KILL_DEAD_RESULTS, SWL_LOOP_FLAG, SWL_LOWMEM_MODE_THRESHOLD, SWL_NO_DRE_BYPASS_DISTANCE, SWL_NOALIAS_FUNCTIONS, SWL_OFFSET_AA, SWL_OPERAND_SHARE_DISTANCE, SWL_OUTPUT_FILE, SWL_RENAME_REGISTERS, SWL_RESOURCE_CONSTRAINT_PRINTING, SWL_RESTRICTED_AA, SWL_SCHEDULING_WINDOW, SWL_STACK_AA, SWL_TARGET_MACHINE, SWS_OUTPUT_FILE, and SWS_TARGET_MACHINE.
|
virtual |
|
private |
Copying forbidden.
|
virtual |
Returns the bypass limit when dead result elimination can be used.
By default returns -1 which results in using heuristics to define the maximum values.
Definition at line 327 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWL_BYPASS_DISTANCE.
Referenced by BFEarlyBypasser::BFEarlyBypasser(), BFLateBypasses::BFLateBypasses(), CycleLookBackSoftwareBypasser::CycleLookBackSoftwareBypasser(), BUBasicBlockScheduler::handleDDG(), and BUBasicBlockScheduler::handleLoopDDG().
|
virtual |
Definition at line 279 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_DUMP_IFCONVERSION_CFGS.
Referenced by SimpleIfConverter::handleControlFlowGraph().
bool SchedulerCmdLineOptions::enableOffsetAA | ( | ) | const |
Definition at line 255 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_OFFSET_AA.
bool SchedulerCmdLineOptions::enableStackAA | ( | ) | const |
Definition at line 247 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_STACK_AA.
|
virtual |
Returns the maximum number of moves in an if-structure which is still if-converted.
By default returns -1 which results in using heuristics to define the maximum values.
Definition at line 294 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWL_IF_CONVERSION_THRESHOLD.
Referenced by SimpleIfConverter::SimpleIfConverter().
|
virtual |
Return true if the loop opt switch was defined in the command line.
Definition at line 237 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_LOOP_FLAG.
Referenced by BBSchedulerController::handleBasicBlock().
|
virtual |
Returns true if the target machine file is defined, false otherwise.
Definition at line 207 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWS_TARGET_MACHINE.
|
virtual |
Returns true if the output file name is defined, false otherwise.
Definition at line 227 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWS_OUTPUT_FILE.
|
virtual |
Definition at line 361 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_KILL_DEAD_RESULTS.
Referenced by BF2Scheduler::BF2Scheduler(), CycleLookBackSoftwareBypasser::CycleLookBackSoftwareBypasser(), BUBasicBlockScheduler::handleDDG(), and BUBasicBlockScheduler::handleLoopDDG().
|
virtual |
Returns the maximum number of moves in an if-structure which is still if-converted.
By default returns -1 which results in using heuristics to define the maximum values.
Definition at line 310 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWL_LOWMEM_MODE_THRESHOLD.
Referenced by PreOptimizer::handleProcedure(), and BBSchedulerController::handleProcedure().
|
virtual |
Returns path to the target .adf file defined with the -a switch.
Definition at line 197 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::String(), and SWS_TARGET_MACHINE.
|
virtual |
Returns the list of "noalias functions" that are scheduled with assumption of no aliasing memory accesses.
Definition at line 373 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::listSize(), CmdLineOptionParser::String(), and SWL_NOALIAS_FUNCTIONS.
|
virtual |
Returns the bypass limit when dead result elimination cannot be used.
By default returns -1 which results in using heuristics to define the maximum values.
Definition at line 352 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWL_NO_DRE_BYPASS_DISTANCE.
Referenced by CycleLookBackSoftwareBypasser::CycleLookBackSoftwareBypasser().
|
virtual |
Definition at line 336 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWL_OPERAND_SHARE_DISTANCE.
Referenced by BFShareOperands::BFShareOperands(), and BFShareOperandsLate::BFShareOperandsLate().
|
private |
Assignment forbidden.
|
virtual |
Returns path to the output file defined with the -o switch.
Definition at line 217 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::String(), and SWS_OUTPUT_FILE.
bool SchedulerCmdLineOptions::printResourceConstraints | ( | ) | const |
Definition at line 271 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_RESOURCE_CONSTRAINT_PRINTING.
Referenced by BBSchedulerController::executeDDGPass().
|
virtual |
Print the version of the user interface.
Implements CmdLineOptions.
Reimplemented in LLVMTCECmdLineOptions.
Definition at line 186 of file SchedulerCmdLineOptions.cc.
References Application::TCEVersionString().
|
virtual |
Definition at line 263 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isFlagOn(), CmdLineOptions::optionGiven(), and SWL_RENAME_REGISTERS.
|
inlinevirtual |
Definition at line 58 of file SchedulerCmdLineOptions.hh.
References CmdLineParser::findOption(), CmdLineOptionParser::integer(), CmdLineOptionParser::isDefined(), and SWL_SCHEDULING_WINDOW.
|
virtual |
Definition at line 242 of file SchedulerCmdLineOptions.cc.
References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_RESTRICTED_AA.
|
staticprivate |
Definition at line 109 of file SchedulerCmdLineOptions.hh.
Referenced by bypassDistance(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 110 of file SchedulerCmdLineOptions.hh.
Referenced by dumpIfConversionCFGs(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 104 of file SchedulerCmdLineOptions.hh.
Referenced by ifConversionThreshold(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 107 of file SchedulerCmdLineOptions.hh.
Referenced by killDeadResults(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 98 of file SchedulerCmdLineOptions.hh.
Referenced by isLoopOptDefined(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 105 of file SchedulerCmdLineOptions.hh.
Referenced by lowMemModeThreshold(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 108 of file SchedulerCmdLineOptions.hh.
Referenced by noDreBypassDistance(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 112 of file SchedulerCmdLineOptions.hh.
Referenced by noaliasFunctions(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 101 of file SchedulerCmdLineOptions.hh.
Referenced by enableOffsetAA(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 111 of file SchedulerCmdLineOptions.hh.
Referenced by operandShareDistance(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 96 of file SchedulerCmdLineOptions.hh.
Referenced by SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 102 of file SchedulerCmdLineOptions.hh.
Referenced by renameRegisters(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 106 of file SchedulerCmdLineOptions.hh.
Referenced by printResourceConstraints(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 103 of file SchedulerCmdLineOptions.hh.
Referenced by SchedulerCmdLineOptions(), and useRestrictedAliasAnalyzer().
|
staticprivate |
Definition at line 99 of file SchedulerCmdLineOptions.hh.
Referenced by SchedulerCmdLineOptions(), and schedulingWindowSize().
|
staticprivate |
Definition at line 100 of file SchedulerCmdLineOptions.hh.
Referenced by enableStackAA(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 94 of file SchedulerCmdLineOptions.hh.
Referenced by SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 97 of file SchedulerCmdLineOptions.hh.
Referenced by isOutputFileDefined(), outputFile(), and SchedulerCmdLineOptions().
|
staticprivate |
Definition at line 95 of file SchedulerCmdLineOptions.hh.
Referenced by isMachineFileDefined(), machineFile(), and SchedulerCmdLineOptions().
|
staticprivate |
Description of the command line usage of the Scheduler.
Definition at line 93 of file SchedulerCmdLineOptions.hh.