diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2009-10-23 14:19:52 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2009-10-23 14:19:52 +0000 |
commit | 9643cca39fb9fb3b49a8912926de98acf882283c (patch) | |
tree | 22cc59e4b240d84c3a5a60531119c4eca914a256 /include/llvm/CompilerDriver | |
parent | 1adacceba9c9ee0f16e54388e56c9a249b296f75 (diff) | |
download | FreeBSD-src-9643cca39fb9fb3b49a8912926de98acf882283c.zip FreeBSD-src-9643cca39fb9fb3b49a8912926de98acf882283c.tar.gz |
Update LLVM to r84949.
Diffstat (limited to 'include/llvm/CompilerDriver')
-rw-r--r-- | include/llvm/CompilerDriver/Common.td | 12 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/Plugin.h | 16 |
2 files changed, 20 insertions, 8 deletions
diff --git a/include/llvm/CompilerDriver/Common.td b/include/llvm/CompilerDriver/Common.td index 5b7c543..79edb02 100644 --- a/include/llvm/CompilerDriver/Common.td +++ b/include/llvm/CompilerDriver/Common.td @@ -68,6 +68,9 @@ def not_empty; def default; def single_input_file; def multiple_input_files; +def any_switch_on; +def any_not_empty; +def any_empty; // Possible actions. @@ -76,7 +79,9 @@ def forward; def forward_as; def stop_compilation; def unpack_values; +def warning; def error; +def unset_option; // Increase/decrease the edge weight. def inc_weight; @@ -90,11 +95,16 @@ class PluginPriority<int p> { int priority = p; } -// Option list - used to specify aliases and sometimes help strings. +// Option list - a single place to specify options. class OptionList<list<dag> l> { list<dag> options = l; } +// Option preprocessor - actions taken during plugin loading. +class OptionPreprocessor<dag d> { + dag preprocessor = d; +} + // Map from suffixes to language names class LangToSuffixes<string str, list<string> lst> { diff --git a/include/llvm/CompilerDriver/Plugin.h b/include/llvm/CompilerDriver/Plugin.h index 9f9eee3..e9a2048 100644 --- a/include/llvm/CompilerDriver/Plugin.h +++ b/include/llvm/CompilerDriver/Plugin.h @@ -29,6 +29,11 @@ namespace llvmc { /// first. virtual int Priority() const { return 0; } + /// PreprocessOptions - The auto-generated function that performs various + /// consistency checks on options (like ensuring that -O2 and -O3 are not + /// used together). + virtual void PreprocessOptions() const = 0; + /// PopulateLanguageMap - The auto-generated function that fills in /// the language map (map from file extensions to language names). virtual void PopulateLanguageMap(LanguageMap&) const = 0; @@ -60,13 +65,10 @@ namespace llvmc { PluginLoader(); ~PluginLoader(); - /// PopulateLanguageMap - Fills in the language map by calling - /// PopulateLanguageMap methods of all plugins. - void PopulateLanguageMap(LanguageMap& langMap); - - /// PopulateCompilationGraph - Populates the compilation graph by - /// calling PopulateCompilationGraph methods of all plugins. - void PopulateCompilationGraph(CompilationGraph& tools); + /// RunInitialization - Calls PreprocessOptions, PopulateLanguageMap and + /// PopulateCompilationGraph methods of all plugins. This populates the + /// global language map and the compilation graph. + void RunInitialization(LanguageMap& langMap, CompilationGraph& graph) const; private: // noncopyable |