OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | Static Private Attributes | List of all members
LLVMTCECmdLineOptions Class Reference

#include <LLVMTCECmdLineOptions.hh>

Inheritance diagram for LLVMTCECmdLineOptions:
Inheritance graph
Collaboration diagram for LLVMTCECmdLineOptions:
Collaboration graph

Public Member Functions

 LLVMTCECmdLineOptions ()
 
 ~LLVMTCECmdLineOptions ()
 
virtual FunctionNameListprimaryFunctions () const
 
bool isStandardEmulationLibDefined () const
 
std::string standardEmulationLib () const
 
bool isOptLevelDefined () const
 
int optLevel () const
 
bool isVerboseSwitchDefined () const
 
bool debugFlag () const
 
bool conservativePreRAScheduler () const
 
bool saveBackendPlugin () const
 
bool useBUScheduler () const
 
bool useTDScheduler () const
 
bool useBubbleFish2Scheduler () const
 
bool useOldBackendSources () const
 
bool disableDelaySlotFiller () const
 
bool isWorkItemAAFileDefined () const
 
std::string workItemAAFile () const
 
bool analyzeInstructionPatterns () const
 
std::string backendCacheDir () const
 
TCEString tempDir () const
 
virtual std::string getLLVMargv () const
 
virtual bool dumpDDGsDot () const
 
virtual bool dumpDDGsXML () const
 
virtual bool disableLLVMAA () const
 
bool useVectorBackend () const
 
bool isInitialStackPointerValueSet () const
 
uint64_t initialStackPointerValue () const
 
bool isDataStartAddressSet (TTAMachine::AddressSpace &aSpace) const
 
uint64_t dataStartAddress (TTAMachine::AddressSpace &aSpace) const
 
bool printInlineAsmWarnings () const
 
bool generatePluginOnly () const
 
bool disableAddressSpaceAA () const
 
bool disableHWLoops () const
 
bool assumeADFStackAlignment () const
 
virtual void printVersion () const
 
- Public Member Functions inherited from SchedulerCmdLineOptions
 SchedulerCmdLineOptions ()
 
virtual ~SchedulerCmdLineOptions ()
 
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 FunctionNameListnoaliasFunctions () 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 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
 

Static Private Attributes

static const std::string SWL_EMULATION_LIB = "emulation"
 
static const std::string SWS_EMULATION_LIB = "e"
 
static const std::string SWL_DEBUG_FLAG = "debug"
 
static const std::string SWL_OPT_LEVEL = "optimize"
 
static const std::string SWS_OPT_LEVEL = "O"
 
static const std::string SWL_PRIMARY_FUNCTIONS
 
static const std::string SWS_PRIMARY_FUNCTIONS = "p"
 
static const std::string SWL_EXPERIMENTAL_REGALLOC
 
static const std::string VERBOSE_SWITCH = "verbose"
 Switch for verbose output listing scheduler modules.
 
static const std::string DISABLE_LLVMAA = "disable-llvmaa"
 
static const std::string CONSERVATIVE_PRE_RA_SCHEDULER
 
static const std::string LLVM_USER_ARGS = "llvm-args"
 
static const std::string DISABLE_DSF = "disable-dsf"
 
static const std::string DISABLE_ADDRESS_SPACE_AA = "disable-as-aa"
 
static const std::string SWL_DUMP_DDGS_DOT = "dump-ddgs-dot"
 
static const std::string SWL_DUMP_DDGS_XML = "dump-ddgs-xml"
 
static const std::string SWL_SAVE_BACKEND_PLUGIN
 
static const std::string SWL_BU_SCHEDULER
 
static const std::string SWL_BUBBLEFISH2_SCHEDULER
 
static const std::string SWL_TD_SCHEDULER = "td-scheduler"
 
static const std::string SWL_USE_OLD_BACKEND_SOURCES
 
static const std::string SWL_TEMP_DIR = "temp-dir"
 
static const std::string SWL_ENABLE_VECTOR_BACKEND
 
static const std::string SWL_WORK_ITEM_AA_FILE
 
static const std::string SWL_ANALYZE_INSTRUCTION_PATTERNS
 
static const std::string SWL_BACKEND_CACHE_DIR
 
static const std::string SWL_INIT_SP = "init-sp"
 
static const std::string SWL_DATA_START = "data-start"
 
static const std::string USAGE
 
static const std::string SWL_PRINT_INLINE_ASM_WARNINGS
 
static const std::string SWL_GEN_PLUGIN_ONLY
 
static const std::string SWL_DISABLE_HWLOOPS
 
static const std::string SWL_ASSUME_ADF_STACKALIGNMENT
 

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)
 
CmdLineOptionParserfindOption (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.
 
std::map< std::string, CmdLineOptionParser * > optionShortNames_
 Database for holding options with their short names as a key.
 
std::vector< std::string > commandLine_
 Command line is stored here.
 
std::vector< std::string > arguments_
 Command line arguments are stored here.
 
std::vector< std::string > prefixes_
 Legal prefixes are stored here.
 

Detailed Description

Command line options class for the llvm-tce compiler CLI.

Definition at line 51 of file LLVMTCECmdLineOptions.hh.

Constructor & Destructor Documentation

◆ LLVMTCECmdLineOptions()

LLVMTCECmdLineOptions::LLVMTCECmdLineOptions ( )

Constructor.

Definition at line 98 of file LLVMTCECmdLineOptions.cc.

98 {
99
100 addOption(
102 SWL_EMULATION_LIB, "Emulation library bitcode file.",
104
105 addOption(
107 SWL_OPT_LEVEL, "Optimization level (0-2)",
109
110 addOption(
112 SWL_DEBUG_FLAG, "Print LLVM debug data."));
113
114 addOption(
117 "List of function names that should be scheduled with "
118 "the primary scheduler config (-c). Other functions are scheduled "
119 "with the secondary config (-s).",
121
122 addOption(
124 VERBOSE_SWITCH, "The verbose switch", "v"));
125
126 addOption(
128 DISABLE_LLVMAA, "Disable use of LLVM Alias Analysis", DISABLE_LLVMAA));
129
130 addOption(
133 "Disable use of Address Space Alias Analysis",
135
136 addOption(
138 DISABLE_DSF, "Disable post-pass delay slot filler optimizer.",
139 DISABLE_DSF));
140
141 addOption(
144 "Conservative pre-ra-scheduler. May decrease register usage but "
145 "limit ILP. good for machines with low amount of registers."));
146
148 LLVM_USER_ARGS, "Parameters to pass to LLVM"));
149
150 addOption(
153 "Dump DDGs in dot format before and after scheduling."));
154
155 addOption(
158 "Dump DDGs in XML format before and after scheduling."));
159
160 addOption(
163 "Save the generated backend plugin for the architecture. "
164 "This avoid the regeneration of the backend plugin when calling "
165 "tcecc for the same architecture."));
166 addOption(
169 "Use an experiment Bottom Up scheduler."));
170
171 addOption(
174 "Use an experimental Bubblefish instructionscheduler v2."));
175
176 addOption(
179 "Use the old top-down instruction scheduler(previous default)."));
180
181 addOption(
184 "Use the existing backend sources from the given temporary directory."));
185
186 addOption(
189 "The temporary directory to use for files needed during the code generation."));
190
191 addOption(
194 "The filename with Work Item Alias Analysis - this is filled automatically "
195 "if tcecc finds path to installed pocl."));
196
197 addOption(
200 "Enable backend support for vector registers split between multiple RF's"));
201
202 addOption(
205 "Analyze the instruction patterns after instruction selection."));
206
207 addOption(
210 "The directory to use for caching LLVM backend plugins."));
211
212 addOption(
215 "Initialize the stack pointer of the program to the given value."));
217 SWL_DATA_START, "Override the global data start address."));
218
219 addOption(
222 "Prints warnings from inline assembly parsing. Default is off."));
223 addOption(
226 "Generates LLVM backend plugin for target machine without tpef "
227 "generation."));
228
231 "Do not use hardware loops even though the processor supports them."));
232
233 addOption(
236 "Assume size of stackalignment based on biggest memory operations in the adf."));
237}
void addOption(CmdLineOptionParser *opt)
static const std::string DISABLE_ADDRESS_SPACE_AA
static const std::string SWL_INIT_SP
static const std::string SWL_PRIMARY_FUNCTIONS
static const std::string DISABLE_DSF
static const std::string SWL_ENABLE_VECTOR_BACKEND
static const std::string SWL_GEN_PLUGIN_ONLY
static const std::string SWL_USE_OLD_BACKEND_SOURCES
static const std::string SWL_ASSUME_ADF_STACKALIGNMENT
static const std::string CONSERVATIVE_PRE_RA_SCHEDULER
static const std::string SWL_DEBUG_FLAG
static const std::string SWL_BACKEND_CACHE_DIR
static const std::string DISABLE_LLVMAA
static const std::string SWL_EMULATION_LIB
static const std::string SWS_PRIMARY_FUNCTIONS
static const std::string SWS_EMULATION_LIB
static const std::string SWL_DUMP_DDGS_XML
static const std::string SWL_SAVE_BACKEND_PLUGIN
static const std::string SWL_PRINT_INLINE_ASM_WARNINGS
static const std::string VERBOSE_SWITCH
Switch for verbose output listing scheduler modules.
static const std::string SWL_BU_SCHEDULER
static const std::string SWL_DATA_START
static const std::string SWL_TEMP_DIR
static const std::string SWL_WORK_ITEM_AA_FILE
static const std::string SWL_DISABLE_HWLOOPS
static const std::string SWL_BUBBLEFISH2_SCHEDULER
static const std::string SWL_OPT_LEVEL
static const std::string LLVM_USER_ARGS
static const std::string SWS_OPT_LEVEL
static const std::string SWL_TD_SCHEDULER
static const std::string SWL_ANALYZE_INSTRUCTION_PATTERNS
static const std::string SWL_DUMP_DDGS_DOT

References CmdLineParser::addOption(), CONSERVATIVE_PRE_RA_SCHEDULER, DISABLE_ADDRESS_SPACE_AA, DISABLE_DSF, DISABLE_LLVMAA, LLVM_USER_ARGS, SWL_ANALYZE_INSTRUCTION_PATTERNS, SWL_ASSUME_ADF_STACKALIGNMENT, SWL_BACKEND_CACHE_DIR, SWL_BU_SCHEDULER, SWL_BUBBLEFISH2_SCHEDULER, SWL_DATA_START, SWL_DEBUG_FLAG, SWL_DISABLE_HWLOOPS, SWL_DUMP_DDGS_DOT, SWL_DUMP_DDGS_XML, SWL_EMULATION_LIB, SWL_ENABLE_VECTOR_BACKEND, SWL_GEN_PLUGIN_ONLY, SWL_INIT_SP, SWL_OPT_LEVEL, SWL_PRIMARY_FUNCTIONS, SWL_PRINT_INLINE_ASM_WARNINGS, SWL_SAVE_BACKEND_PLUGIN, SWL_TD_SCHEDULER, SWL_TEMP_DIR, SWL_USE_OLD_BACKEND_SOURCES, SWL_WORK_ITEM_AA_FILE, SWS_EMULATION_LIB, SWS_OPT_LEVEL, SWS_PRIMARY_FUNCTIONS, and VERBOSE_SWITCH.

Here is the call graph for this function:

◆ ~LLVMTCECmdLineOptions()

LLVMTCECmdLineOptions::~LLVMTCECmdLineOptions ( )

Destructor.

Definition at line 242 of file LLVMTCECmdLineOptions.cc.

242 {
243}

Member Function Documentation

◆ analyzeInstructionPatterns()

bool LLVMTCECmdLineOptions::analyzeInstructionPatterns ( ) const

Definition at line 414 of file LLVMTCECmdLineOptions.cc.

414 {
416}
CmdLineOptionParser * findOption(std::string name) const

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_ANALYZE_INSTRUCTION_PATTERNS.

Here is the call graph for this function:

◆ assumeADFStackAlignment()

bool LLVMTCECmdLineOptions::assumeADFStackAlignment ( ) const

Definition at line 511 of file LLVMTCECmdLineOptions.cc.

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_ASSUME_ADF_STACKALIGNMENT.

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ backendCacheDir()

std::string LLVMTCECmdLineOptions::backendCacheDir ( ) const

Definition at line 419 of file LLVMTCECmdLineOptions.cc.

419 {
420 if (findOption(SWL_BACKEND_CACHE_DIR)->isDefined())
423}
virtual std::string String(int index=0) const
static std::string llvmtceCachePath()

References CmdLineParser::findOption(), Environment::llvmtceCachePath(), CmdLineOptionParser::String(), and SWL_BACKEND_CACHE_DIR.

Referenced by LLVMBackend::LLVMBackend().

Here is the call graph for this function:

◆ conservativePreRAScheduler()

bool LLVMTCECmdLineOptions::conservativePreRAScheduler ( ) const

Definition at line 339 of file LLVMTCECmdLineOptions.cc.

339 {
340 if (findOption(CONSERVATIVE_PRE_RA_SCHEDULER)->isDefined() &&
342 return true;
343 }
344 return false;
345}

References CONSERVATIVE_PRE_RA_SCHEDULER, and CmdLineParser::findOption().

Referenced by llvm::TCETargetLowering::TCETargetLowering().

Here is the call graph for this function:

◆ dataStartAddress()

uint64_t LLVMTCECmdLineOptions::dataStartAddress ( TTAMachine::AddressSpace aSpace) const

Definition at line 462 of file LLVMTCECmdLineOptions.cc.

463 {
465 if (opts->isDefined()) {
466 int size = opts->listSize();
467 if (size == 1) {
468 uint64_t tmp = Conversion::toUnsignedLong(opts->String(1));
469 return tmp;
470 }
471 if (size % 2 != 0) {
473 "ERROR: Data-start option must be either just the start"
474 " of the default address space (unsigned integer),"
475 " or a list consisting of pairs:"
476 " <Address-Space Name>,<Address-Space Start>")
477 }
478 for (int i = 1; i <= size; i += 2) {
479 TCEString as_name = opts->String(i);
480 if (as_name == aSpace.name()) {
481 return Conversion::toUnsignedLong(opts->String(i + 1));
482 }
483 }
484 }
486 "ERROR: Failed parsing the data-start-option."
487 " Data-start option must be either just the start"
488 " of the default address space (unsigned integer),"
489 " or a list consisting of pairs:"
490 " <Address-Space Name>,<Address-Space Start>")
491}
#define abortWithError(message)
virtual int listSize() const
static ULongWord toUnsignedLong(const T &source)
virtual TCEString name() const

References abortWithError, CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), CmdLineOptionParser::listSize(), TTAMachine::Component::name(), CmdLineOptionParser::String(), SWL_DATA_START, and Conversion::toUnsignedLong().

Referenced by llvm::LLVMTCEBuilder::dataEnd().

Here is the call graph for this function:

◆ debugFlag()

bool LLVMTCECmdLineOptions::debugFlag ( ) const

Returns true if the debug flag option was given.

Returns
True, if debug mode switch was given.

Definition at line 303 of file LLVMTCECmdLineOptions.cc.

303 {
304
305 if (findOption(SWL_DEBUG_FLAG)->isDefined() &&
306 findOption(SWL_DEBUG_FLAG)->isFlagOn()) {
307
308 return true;
309 }
310 return false;
311}

References CmdLineParser::findOption(), and SWL_DEBUG_FLAG.

Here is the call graph for this function:

◆ disableAddressSpaceAA()

bool LLVMTCECmdLineOptions::disableAddressSpaceAA ( ) const

Definition at line 319 of file LLVMTCECmdLineOptions.cc.

319 {
321}

References DISABLE_ADDRESS_SPACE_AA, CmdLineParser::findOption(), and CmdLineOptionParser::isDefined().

Referenced by DataDependenceGraphBuilder::memoryCategory().

Here is the call graph for this function:

◆ disableDelaySlotFiller()

bool LLVMTCECmdLineOptions::disableDelaySlotFiller ( ) const

Definition at line 324 of file LLVMTCECmdLineOptions.cc.

324 {
326}

References DISABLE_DSF, CmdLineParser::findOption(), and CmdLineOptionParser::isDefined().

Referenced by llvm::LLVMTCEIRBuilder::LLVMTCEIRBuilder().

Here is the call graph for this function:

◆ disableHWLoops()

bool LLVMTCECmdLineOptions::disableHWLoops ( ) const

Definition at line 506 of file LLVMTCECmdLineOptions.cc.

506 {
508}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_DISABLE_HWLOOPS.

Referenced by llvm::TCETargetLowering::TCETargetLowering().

Here is the call graph for this function:

◆ disableLLVMAA()

bool LLVMTCECmdLineOptions::disableLLVMAA ( ) const
virtual

◆ dumpDDGsDot()

bool LLVMTCECmdLineOptions::dumpDDGsDot ( ) const
virtual

◆ dumpDDGsXML()

bool LLVMTCECmdLineOptions::dumpDDGsXML ( ) const
virtual

◆ generatePluginOnly()

bool LLVMTCECmdLineOptions::generatePluginOnly ( ) const

Definition at line 500 of file LLVMTCECmdLineOptions.cc.

500 {
501 return (findOption(SWL_GEN_PLUGIN_ONLY)->isDefined() &&
502 findOption(SWL_GEN_PLUGIN_ONLY)->isFlagOn());
503}

References CmdLineParser::findOption(), and SWL_GEN_PLUGIN_ONLY.

Here is the call graph for this function:

◆ getLLVMargv()

std::string LLVMTCECmdLineOptions::getLLVMargv ( ) const
virtual

Definition at line 348 of file LLVMTCECmdLineOptions.cc.

348 {
349 if (!findOption(LLVM_USER_ARGS)->isDefined()) {
350 return "llvm-tce --no-stack-coloring";
351 } else {
352 std::string argv = "llvm-tce --no-stack-coloring " +
354 return argv;
355 }
356}

References CmdLineParser::findOption(), LLVM_USER_ARGS, and CmdLineOptionParser::String().

Here is the call graph for this function:

◆ initialStackPointerValue()

uint64_t LLVMTCECmdLineOptions::initialStackPointerValue ( ) const

Definition at line 431 of file LLVMTCECmdLineOptions.cc.

431 {
433}
virtual unsigned unsignedInteger(int index=0) const

References CmdLineParser::findOption(), SWL_INIT_SP, and CmdLineOptionParser::unsignedInteger().

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ isDataStartAddressSet()

bool LLVMTCECmdLineOptions::isDataStartAddressSet ( TTAMachine::AddressSpace aSpace) const

Definition at line 436 of file LLVMTCECmdLineOptions.cc.

437 {
439 if (opts->isDefined()) {
440 int size = opts->listSize();
441 if (size == 1) {
442 return true;
443 }
444 if (size % 2 != 0) {
446 "ERROR: Data-start option must be either just the start"
447 " of the default address space (unsigned integer),"
448 " or a list consisting of pairs:"
449 " <Address-Space Name>,<Address-Space Start>")
450 }
451 for (int i = 1; i <= size; i += 2) {
452 TCEString as_name = opts->String(i);
453 if (as_name == aSpace.name()) {
454 return true;
455 }
456 }
457 }
458 return false;
459}

References abortWithError, CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), CmdLineOptionParser::listSize(), TTAMachine::Component::name(), CmdLineOptionParser::String(), and SWL_DATA_START.

Referenced by llvm::LLVMTCEBuilder::dataEnd().

Here is the call graph for this function:

◆ isInitialStackPointerValueSet()

bool LLVMTCECmdLineOptions::isInitialStackPointerValueSet ( ) const

Definition at line 426 of file LLVMTCECmdLineOptions.cc.

426 {
428}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_INIT_SP.

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ isOptLevelDefined()

bool LLVMTCECmdLineOptions::isOptLevelDefined ( ) const

Returns true if optimization level switch was given.

Returns
True, if optimization level was given on command line.

Definition at line 281 of file LLVMTCECmdLineOptions.cc.

281 {
283}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWS_OPT_LEVEL.

Here is the call graph for this function:

◆ isStandardEmulationLibDefined()

bool LLVMTCECmdLineOptions::isStandardEmulationLibDefined ( ) const

Definition at line 271 of file LLVMTCECmdLineOptions.cc.

271 {
273}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWS_EMULATION_LIB.

Here is the call graph for this function:

◆ isVerboseSwitchDefined()

bool LLVMTCECmdLineOptions::isVerboseSwitchDefined ( ) const
virtual

Return true if the verbose switch was defined in the command line.

Returns
True if the verbose switch was defined in the command line.

Reimplemented from CmdLineOptions.

Definition at line 334 of file LLVMTCECmdLineOptions.cc.

334 {
336}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and VERBOSE_SWITCH.

Here is the call graph for this function:

◆ isWorkItemAAFileDefined()

bool LLVMTCECmdLineOptions::isWorkItemAAFileDefined ( ) const

Definition at line 404 of file LLVMTCECmdLineOptions.cc.

404 {
406}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_WORK_ITEM_AA_FILE.

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ optLevel()

int LLVMTCECmdLineOptions::optLevel ( ) const

Returns optimization level defined with the -O switch.

Returns
Optimization level.

Definition at line 292 of file LLVMTCECmdLineOptions.cc.

292 {
294}
virtual int integer(int index=0) const

References CmdLineParser::findOption(), CmdLineOptionParser::integer(), and SWS_OPT_LEVEL.

Referenced by llvm::LLVMTCEIRBuilder::writeMachineFunction().

Here is the call graph for this function:

◆ primaryFunctions()

FunctionNameList * LLVMTCECmdLineOptions::primaryFunctions ( ) const
virtual

Returns the list of "primary functions" that should be scheduled with the primary scheduling conf.

Rest of the functions are scheduled with the scheduling config given with -s.

Definition at line 254 of file LLVMTCECmdLineOptions.cc.

254 {
255 FunctionNameList* funcs = new FunctionNameList();
257 if (opt == NULL)
258 return funcs;
259 for (int i = 1; i <= opt->listSize(); ++i) {
260 funcs->insert(opt->String(i));
261 }
262 return funcs;
263}
SimpleInterPassDatum< std::set< std::string > > FunctionNameList
This datum is set in case the pass should only process (or ignore) certain functions....

References CmdLineParser::findOption(), CmdLineOptionParser::listSize(), CmdLineOptionParser::String(), and SWS_PRIMARY_FUNCTIONS.

Referenced by llvm::LLVMTCEIRBuilder::isHotFunction().

Here is the call graph for this function:

◆ printInlineAsmWarnings()

bool LLVMTCECmdLineOptions::printInlineAsmWarnings ( ) const

Definition at line 494 of file LLVMTCECmdLineOptions.cc.

494 {
495 return (findOption(SWL_PRINT_INLINE_ASM_WARNINGS)->isDefined() &&
497}

References CmdLineParser::findOption(), and SWL_PRINT_INLINE_ASM_WARNINGS.

Referenced by llvm::LLVMTCEBuilder::emitInlineAsm().

Here is the call graph for this function:

◆ printVersion()

virtual void LLVMTCECmdLineOptions::printVersion ( ) const
inlinevirtual

Print the version of the user interface.

Reimplemented from SchedulerCmdLineOptions.

Definition at line 110 of file LLVMTCECmdLineOptions.hh.

110 {
111 std::cout
112 << "llvm-tce - TCE LLVM code generator "
114 << std::endl;
115 }
static std::string TCEVersionString()

References Application::TCEVersionString().

Here is the call graph for this function:

◆ saveBackendPlugin()

bool LLVMTCECmdLineOptions::saveBackendPlugin ( ) const

Definition at line 369 of file LLVMTCECmdLineOptions.cc.

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), CmdLineOptionParser::isFlagOn(), and SWL_SAVE_BACKEND_PLUGIN.

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ standardEmulationLib()

std::string LLVMTCECmdLineOptions::standardEmulationLib ( ) const

Definition at line 266 of file LLVMTCECmdLineOptions.cc.

266 {
268}

References CmdLineParser::findOption(), CmdLineOptionParser::String(), and SWS_EMULATION_LIB.

Here is the call graph for this function:

◆ tempDir()

TCEString LLVMTCECmdLineOptions::tempDir ( ) const

Definition at line 394 of file LLVMTCECmdLineOptions.cc.

394 {
395 return findOption(SWL_TEMP_DIR)->String();
396}

References CmdLineParser::findOption(), CmdLineOptionParser::String(), and SWL_TEMP_DIR.

Here is the call graph for this function:

◆ useBubbleFish2Scheduler()

bool LLVMTCECmdLineOptions::useBubbleFish2Scheduler ( ) const

Definition at line 379 of file LLVMTCECmdLineOptions.cc.

379 {
381}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_BUBBLEFISH2_SCHEDULER.

Referenced by BBSchedulerController::handleBasicBlock().

Here is the call graph for this function:

◆ useBUScheduler()

bool LLVMTCECmdLineOptions::useBUScheduler ( ) const

Definition at line 374 of file LLVMTCECmdLineOptions.cc.

374 {
376}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_BU_SCHEDULER.

Referenced by BBSchedulerController::handleBasicBlock().

Here is the call graph for this function:

◆ useOldBackendSources()

bool LLVMTCECmdLineOptions::useOldBackendSources ( ) const

Definition at line 389 of file LLVMTCECmdLineOptions.cc.

389 {
391}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_USE_OLD_BACKEND_SOURCES.

Referenced by LLVMBackend::createPlugin().

Here is the call graph for this function:

◆ useTDScheduler()

bool LLVMTCECmdLineOptions::useTDScheduler ( ) const

Definition at line 384 of file LLVMTCECmdLineOptions.cc.

384 {
386}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_TD_SCHEDULER.

Referenced by BBSchedulerController::handleBasicBlock().

Here is the call graph for this function:

◆ useVectorBackend()

bool LLVMTCECmdLineOptions::useVectorBackend ( ) const

Definition at line 399 of file LLVMTCECmdLineOptions.cc.

399 {
401}

References CmdLineParser::findOption(), CmdLineOptionParser::isDefined(), and SWL_ENABLE_VECTOR_BACKEND.

Here is the call graph for this function:

◆ workItemAAFile()

std::string LLVMTCECmdLineOptions::workItemAAFile ( ) const

Definition at line 409 of file LLVMTCECmdLineOptions.cc.

409 {
411}

References CmdLineParser::findOption(), CmdLineOptionParser::String(), and SWL_WORK_ITEM_AA_FILE.

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

Member Data Documentation

◆ CONSERVATIVE_PRE_RA_SCHEDULER

const std::string LLVMTCECmdLineOptions::CONSERVATIVE_PRE_RA_SCHEDULER
staticprivate
Initial value:
=
"conservative-pre-ra-scheduler"

Definition at line 130 of file LLVMTCECmdLineOptions.hh.

Referenced by conservativePreRAScheduler(), and LLVMTCECmdLineOptions().

◆ DISABLE_ADDRESS_SPACE_AA

const std::string LLVMTCECmdLineOptions::DISABLE_ADDRESS_SPACE_AA = "disable-as-aa"
staticprivate

Definition at line 133 of file LLVMTCECmdLineOptions.hh.

Referenced by disableAddressSpaceAA(), and LLVMTCECmdLineOptions().

◆ DISABLE_DSF

const std::string LLVMTCECmdLineOptions::DISABLE_DSF = "disable-dsf"
staticprivate

Definition at line 132 of file LLVMTCECmdLineOptions.hh.

Referenced by disableDelaySlotFiller(), and LLVMTCECmdLineOptions().

◆ DISABLE_LLVMAA

const std::string LLVMTCECmdLineOptions::DISABLE_LLVMAA = "disable-llvmaa"
staticprivate

Definition at line 129 of file LLVMTCECmdLineOptions.hh.

Referenced by disableLLVMAA(), and LLVMTCECmdLineOptions().

◆ LLVM_USER_ARGS

const std::string LLVMTCECmdLineOptions::LLVM_USER_ARGS = "llvm-args"
staticprivate

Definition at line 131 of file LLVMTCECmdLineOptions.hh.

Referenced by getLLVMargv(), and LLVMTCECmdLineOptions().

◆ SWL_ANALYZE_INSTRUCTION_PATTERNS

const std::string LLVMTCECmdLineOptions::SWL_ANALYZE_INSTRUCTION_PATTERNS
staticprivate
Initial value:
=
"analyze-instruction-patterns"

Definition at line 144 of file LLVMTCECmdLineOptions.hh.

Referenced by analyzeInstructionPatterns(), and LLVMTCECmdLineOptions().

◆ SWL_ASSUME_ADF_STACKALIGNMENT

const std::string LLVMTCECmdLineOptions::SWL_ASSUME_ADF_STACKALIGNMENT
staticprivate
Initial value:
=
"assume-adf-stackalignment"

Definition at line 152 of file LLVMTCECmdLineOptions.hh.

Referenced by assumeADFStackAlignment(), and LLVMTCECmdLineOptions().

◆ SWL_BACKEND_CACHE_DIR

const std::string LLVMTCECmdLineOptions::SWL_BACKEND_CACHE_DIR
staticprivate
Initial value:
=
"backend-cache-dir"

Definition at line 145 of file LLVMTCECmdLineOptions.hh.

Referenced by backendCacheDir(), and LLVMTCECmdLineOptions().

◆ SWL_BU_SCHEDULER

const std::string LLVMTCECmdLineOptions::SWL_BU_SCHEDULER
staticprivate
Initial value:
=
"bottom-up-scheduler"

Definition at line 137 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and useBUScheduler().

◆ SWL_BUBBLEFISH2_SCHEDULER

const std::string LLVMTCECmdLineOptions::SWL_BUBBLEFISH2_SCHEDULER
staticprivate
Initial value:
=
"bubblefish2-scheduler"

Definition at line 138 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and useBubbleFish2Scheduler().

◆ SWL_DATA_START

const std::string LLVMTCECmdLineOptions::SWL_DATA_START = "data-start"
staticprivate

◆ SWL_DEBUG_FLAG

const std::string LLVMTCECmdLineOptions::SWL_DEBUG_FLAG = "debug"
staticprivate

Definition at line 121 of file LLVMTCECmdLineOptions.hh.

Referenced by debugFlag(), and LLVMTCECmdLineOptions().

◆ SWL_DISABLE_HWLOOPS

const std::string LLVMTCECmdLineOptions::SWL_DISABLE_HWLOOPS
staticprivate
Initial value:
=
"disable-hwloops"

Definition at line 151 of file LLVMTCECmdLineOptions.hh.

Referenced by disableHWLoops(), and LLVMTCECmdLineOptions().

◆ SWL_DUMP_DDGS_DOT

const std::string LLVMTCECmdLineOptions::SWL_DUMP_DDGS_DOT = "dump-ddgs-dot"
staticprivate

Definition at line 134 of file LLVMTCECmdLineOptions.hh.

Referenced by dumpDDGsDot(), and LLVMTCECmdLineOptions().

◆ SWL_DUMP_DDGS_XML

const std::string LLVMTCECmdLineOptions::SWL_DUMP_DDGS_XML = "dump-ddgs-xml"
staticprivate

Definition at line 135 of file LLVMTCECmdLineOptions.hh.

Referenced by dumpDDGsXML(), and LLVMTCECmdLineOptions().

◆ SWL_EMULATION_LIB

const std::string LLVMTCECmdLineOptions::SWL_EMULATION_LIB = "emulation"
staticprivate

Definition at line 119 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions().

◆ SWL_ENABLE_VECTOR_BACKEND

const std::string LLVMTCECmdLineOptions::SWL_ENABLE_VECTOR_BACKEND
staticprivate
Initial value:
=
"vector-backend"

Definition at line 142 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and useVectorBackend().

◆ SWL_EXPERIMENTAL_REGALLOC

const std::string LLVMTCECmdLineOptions::SWL_EXPERIMENTAL_REGALLOC
staticprivate

Definition at line 126 of file LLVMTCECmdLineOptions.hh.

◆ SWL_GEN_PLUGIN_ONLY

const std::string LLVMTCECmdLineOptions::SWL_GEN_PLUGIN_ONLY
staticprivate
Initial value:
=
"gen-plugin-only"

Definition at line 150 of file LLVMTCECmdLineOptions.hh.

Referenced by generatePluginOnly(), and LLVMTCECmdLineOptions().

◆ SWL_INIT_SP

const std::string LLVMTCECmdLineOptions::SWL_INIT_SP = "init-sp"
staticprivate

◆ SWL_OPT_LEVEL

const std::string LLVMTCECmdLineOptions::SWL_OPT_LEVEL = "optimize"
staticprivate

Definition at line 122 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions().

◆ SWL_PRIMARY_FUNCTIONS

const std::string LLVMTCECmdLineOptions::SWL_PRIMARY_FUNCTIONS
staticprivate
Initial value:
=
"primary-functions"

Definition at line 124 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions().

◆ SWL_PRINT_INLINE_ASM_WARNINGS

const std::string LLVMTCECmdLineOptions::SWL_PRINT_INLINE_ASM_WARNINGS
staticprivate
Initial value:
=
"print-inline-asm-warnings"

Definition at line 149 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and printInlineAsmWarnings().

◆ SWL_SAVE_BACKEND_PLUGIN

const std::string LLVMTCECmdLineOptions::SWL_SAVE_BACKEND_PLUGIN
staticprivate
Initial value:
=
"save-backend-plugin"

Definition at line 136 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and saveBackendPlugin().

◆ SWL_TD_SCHEDULER

const std::string LLVMTCECmdLineOptions::SWL_TD_SCHEDULER = "td-scheduler"
staticprivate

Definition at line 139 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and useTDScheduler().

◆ SWL_TEMP_DIR

const std::string LLVMTCECmdLineOptions::SWL_TEMP_DIR = "temp-dir"
staticprivate

Definition at line 141 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and tempDir().

◆ SWL_USE_OLD_BACKEND_SOURCES

const std::string LLVMTCECmdLineOptions::SWL_USE_OLD_BACKEND_SOURCES
staticprivate
Initial value:
=
"use-old-backend-src"

Definition at line 140 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and useOldBackendSources().

◆ SWL_WORK_ITEM_AA_FILE

const std::string LLVMTCECmdLineOptions::SWL_WORK_ITEM_AA_FILE
staticprivate
Initial value:
=
"wi-aa-filename"

Definition at line 143 of file LLVMTCECmdLineOptions.hh.

Referenced by isWorkItemAAFileDefined(), LLVMTCECmdLineOptions(), and workItemAAFile().

◆ SWS_EMULATION_LIB

const std::string LLVMTCECmdLineOptions::SWS_EMULATION_LIB = "e"
staticprivate

◆ SWS_OPT_LEVEL

const std::string LLVMTCECmdLineOptions::SWS_OPT_LEVEL = "O"
staticprivate

Definition at line 123 of file LLVMTCECmdLineOptions.hh.

Referenced by isOptLevelDefined(), LLVMTCECmdLineOptions(), and optLevel().

◆ SWS_PRIMARY_FUNCTIONS

const std::string LLVMTCECmdLineOptions::SWS_PRIMARY_FUNCTIONS = "p"
staticprivate

Definition at line 125 of file LLVMTCECmdLineOptions.hh.

Referenced by LLVMTCECmdLineOptions(), and primaryFunctions().

◆ USAGE

const std::string LLVMTCECmdLineOptions::USAGE
staticprivate
Initial value:
=
"Usage: llvm-tce [OPTION]... BYTECODE\n"
"Compile LLVM bytecode for target TCE architecture.\n"

Definition at line 148 of file LLVMTCECmdLineOptions.hh.

◆ VERBOSE_SWITCH

const std::string LLVMTCECmdLineOptions::VERBOSE_SWITCH = "verbose"
staticprivate

Switch for verbose output listing scheduler modules.

Definition at line 128 of file LLVMTCECmdLineOptions.hh.

Referenced by isVerboseSwitchDefined(), and LLVMTCECmdLineOptions().


The documentation for this class was generated from the following files: