52 "conservative-pre-ra-scheduler";
58 "save-backend-plugin";
60 "bottom-up-scheduler";
62 "bubblefish2-scheduler";
65 "use-old-backend-src";
67 "analyze-instruction-patterns";
77 "print-inline-asm-warnings";
84 "Usage: llvm-tce [OPTION]... BYTECODE\n"
85 "Compile LLVM bytecode for target TCE architecture.\n";
94 "assume-adf-stackalignment";
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).",
133 "Disable use of Address Space Alias Analysis",
138 DISABLE_DSF,
"Disable post-pass delay slot filler optimizer.",
144 "Conservative pre-ra-scheduler. May decrease register usage but "
145 "limit ILP. good for machines with low amount of registers."));
153 "Dump DDGs in dot format before and after scheduling."));
158 "Dump DDGs in XML format before and after scheduling."));
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."));
169 "Use an experiment Bottom Up scheduler."));
174 "Use an experimental Bubblefish instructionscheduler v2."));
179 "Use the old top-down instruction scheduler(previous default)."));
184 "Use the existing backend sources from the given temporary directory."));
189 "The temporary directory to use for files needed during the code generation."));
194 "The filename with Work Item Alias Analysis - this is filled automatically "
195 "if tcecc finds path to installed pocl."));
200 "Enable backend support for vector registers split between multiple RF's"));
205 "Analyze the instruction patterns after instruction selection."));
210 "The directory to use for caching LLVM backend plugins."));
215 "Initialize the stack pointer of the program to the given value."));
222 "Prints warnings from inline assembly parsing. Default is off."));
226 "Generates LLVM backend plugin for target machine without tpef "
231 "Do not use hardware loops even though the processor supports them."));
236 "Assume size of stackalignment based on biggest memory operations in the adf."));
259 for (
int i = 1; i <= opt->
listSize(); ++i) {
260 funcs->insert(opt->
String(i));
350 return "llvm-tce --no-stack-coloring";
352 std::string argv =
"llvm-tce --no-stack-coloring " +
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>")
451 for (
int i = 1; i <= size; i += 2) {
453 if (as_name == aSpace.
name()) {
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>")
478 for (
int i = 1; i <= size; i += 2) {
480 if (as_name == aSpace.
name()) {
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>")
#define abortWithError(message)
SimpleInterPassDatum< std::set< std::string > > FunctionNameList
This datum is set in case the pass should only process (or ignore) certain functions....
virtual int integer(int index=0) const
virtual int listSize() const
virtual bool isFlagOn() const
virtual std::string String(int index=0) const
virtual unsigned unsignedInteger(int index=0) const
CmdLineOptionParser * findOption(std::string name) const
void addOption(CmdLineOptionParser *opt)
static ULongWord toUnsignedLong(const T &source)
static std::string llvmtceCachePath()
static const std::string DISABLE_ADDRESS_SPACE_AA
static const std::string SWL_INIT_SP
static const std::string SWL_PRIMARY_FUNCTIONS
bool useBubbleFish2Scheduler() const
bool analyzeInstructionPatterns() const
virtual bool disableLLVMAA() const
TCEString tempDir() const
bool disableAddressSpaceAA() const
static const std::string DISABLE_DSF
static const std::string SWL_ENABLE_VECTOR_BACKEND
std::string standardEmulationLib() const
bool isStandardEmulationLibDefined() const
static const std::string SWL_GEN_PLUGIN_ONLY
static const std::string SWL_USE_OLD_BACKEND_SOURCES
uint64_t initialStackPointerValue() const
bool useBUScheduler() const
static const std::string SWL_ASSUME_ADF_STACKALIGNMENT
static const std::string CONSERVATIVE_PRE_RA_SCHEDULER
virtual bool dumpDDGsDot() const
bool useOldBackendSources() const
bool isVerboseSwitchDefined() const
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
virtual bool dumpDDGsXML() const
static const std::string SWS_PRIMARY_FUNCTIONS
bool isInitialStackPointerValueSet() const
bool conservativePreRAScheduler() const
bool printInlineAsmWarnings() const
static const std::string SWS_EMULATION_LIB
static const std::string SWL_DUMP_DDGS_XML
bool disableHWLoops() const
static const std::string SWL_SAVE_BACKEND_PLUGIN
bool useVectorBackend() const
bool assumeADFStackAlignment() const
bool isOptLevelDefined() const
bool disableDelaySlotFiller() const
bool saveBackendPlugin() const
std::string workItemAAFile() const
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
bool isWorkItemAAFileDefined() const
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
virtual std::string getLLVMargv() const
static const std::string LLVM_USER_ARGS
bool useTDScheduler() const
virtual FunctionNameList * primaryFunctions() const
std::string backendCacheDir() const
uint64_t dataStartAddress(TTAMachine::AddressSpace &aSpace) const
static const std::string SWS_OPT_LEVEL
static const std::string SWL_TD_SCHEDULER
static const std::string SWL_ANALYZE_INSTRUCTION_PATTERNS
bool generatePluginOnly() const
static const std::string SWL_DUMP_DDGS_DOT
bool isDataStartAddressSet(TTAMachine::AddressSpace &aSpace) const
static const std::string USAGE
virtual TCEString name() const