diff options
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/CompilerDriver/Common.td | 5 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/Plugin.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/CompilerDriver/Common.td b/include/llvm/CompilerDriver/Common.td index e017326..4589f91 100644 --- a/include/llvm/CompilerDriver/Common.td +++ b/include/llvm/CompilerDriver/Common.td @@ -65,6 +65,11 @@ def or; def inc_weight; def dec_weight; +// Used to specify plugin priority. +class PluginPriority<int p> { + int priority = p; +} + // Option list - used to specify aliases and sometimes help strings. class OptionList<list<dag> l> { list<dag> options = l; diff --git a/include/llvm/CompilerDriver/Plugin.h b/include/llvm/CompilerDriver/Plugin.h index 1dc0df9..5426ac7 100644 --- a/include/llvm/CompilerDriver/Plugin.h +++ b/include/llvm/CompilerDriver/Plugin.h @@ -24,6 +24,11 @@ namespace llvmc { /// BasePlugin - An abstract base class for all LLVMC plugins. struct BasePlugin { + /// Priority - Plugin priority, useful for handling dependencies + /// between plugins. Plugins with lower priorities are loaded + /// first. + virtual int Priority() 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; |