Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add some assertions. | Mikhail Glushenkov | 2009-04-19 | 1 | -1/+2 |
| | | | | | | Fixes segfaults in some corner cases. llvm-svn: 69494 | ||||
* | 'append_cmd' should split its argument. | Mikhail Glushenkov | 2009-02-27 | 1 | -1/+6 |
| | | | | | | Makes '(append_cmd "-foo a b c")' work. llvm-svn: 65623 | ||||
* | Typo. | Mikhail Glushenkov | 2009-01-28 | 1 | -1/+1 |
| | | | | llvm-svn: 63174 | ||||
* | Add three new option properties. | Mikhail Glushenkov | 2009-01-28 | 1 | -32/+116 |
| | | | | | | Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'. llvm-svn: 63172 | ||||
* | Change the hook API back to prevent memory leaks. | Mikhail Glushenkov | 2009-01-21 | 1 | -1/+1 |
| | | | | llvm-svn: 62686 | ||||
* | Allow hooks with arguments. | Mikhail Glushenkov | 2009-01-21 | 1 | -43/+212 |
| | | | | llvm-svn: 62685 | ||||
* | Fix typo in error message. | Mikhail Glushenkov | 2008-12-18 | 1 | -1/+1 |
| | | | | llvm-svn: 61191 | ||||
* | Some enhancements for the 'case' expression. | Mikhail Glushenkov | 2008-12-17 | 1 | -7/+27 |
| | | | | | | Add (error) and (empty). llvm-svn: 61117 | ||||
* | Put Edge* classes into anonymous namespace. | Mikhail Glushenkov | 2008-12-11 | 1 | -7/+7 |
| | | | | | | Prevents conflicts between plugins. llvm-svn: 60871 | ||||
* | Make 'extern' an option property. | Mikhail Glushenkov | 2008-12-07 | 1 | -38/+19 |
| | | | | | | Makes (forward) work better. llvm-svn: 60667 | ||||
* | Better error message. | Mikhail Glushenkov | 2008-12-07 | 1 | -1/+6 |
| | | | | llvm-svn: 60664 | ||||
* | Re-apply Cedric's changes. | Mikhail Glushenkov | 2008-12-07 | 1 | -24/+24 |
| | | | | | | | Use B instead of Beg (for consistency), but NodeA and NodeB instead of A and B. llvm-svn: 60663 | ||||
* | Try to guess when the auto-generated cl::Sink option should be marked 'extern'. | Mikhail Glushenkov | 2008-12-07 | 1 | -5/+20 |
| | | | | | | | This would be much easier to do if the CommandLine library didn't use global state. Global state is evil. llvm-svn: 60659 | ||||
* | Add a (progn)-like construct for (actions). Implemented as a DAG list. | Mikhail Glushenkov | 2008-12-07 | 1 | -10/+37 |
| | | | | llvm-svn: 60658 | ||||
* | Use (actions) instead of option properties, support external options. | Mikhail Glushenkov | 2008-12-07 | 1 | -975/+885 |
| | | | | | | | Also includes a major refactoring. See documentation for more information. llvm-svn: 60656 | ||||
* | The use of the construct: | Cedric Venet | 2008-12-05 | 1 | -12/+12 |
| | | | | | | | | for(Type1 B = ...;;) { Type2 B ; ... } is bad: code is hard to read and VS VS don't like it (it ignore the second declaration of B). This patch fix the problem in tablegen. Please don't write code like this. llvm-svn: 60590 | ||||
* | Support multiple compilation graph definitions. Not terribly useful, but ↵ | Mikhail Glushenkov | 2008-11-28 | 1 | -42/+51 |
| | | | | | | makes the code more generic. llvm-svn: 60199 | ||||
* | Add 'hidden' and 'really_hidden' option properties. | Mikhail Glushenkov | 2008-11-28 | 1 | -1/+43 |
| | | | | llvm-svn: 60198 | ||||
* | Small fix: the error message was incorrect in some cases. | Mikhail Glushenkov | 2008-11-26 | 1 | -3/+3 |
| | | | | llvm-svn: 60099 | ||||
* | Support dependencies between plugins by priority-sorting. | Mikhail Glushenkov | 2008-11-17 | 1 | -5/+19 |
| | | | | llvm-svn: 59449 | ||||
* | Filter ToolPropertiesList to exclude all Tools not mentioned in the ↵ | Mikhail Glushenkov | 2008-11-17 | 1 | -49/+78 |
| | | | | | | compilation graph. llvm-svn: 59448 | ||||
* | Add a layer of indirection to make plugins more flexible. | Mikhail Glushenkov | 2008-11-17 | 1 | -55/+58 |
| | | | | | | | Use strings instead of TableGen defs in the compilation graph definition. Makes it easier for the plugins to modify an existing graph. llvm-svn: 59447 | ||||
* | Check the return value of std::getenv. | Mikhail Glushenkov | 2008-11-12 | 1 | -4/+8 |
| | | | | | | | | | When constructing std::strings from C strings, we should check the input value to be not NULL so that the std::string constructor does not segfault. Fixes #3047. llvm-svn: 59131 | ||||
* | Add a bit of lazy evaluation to PopulateCompilationGraph(). | Mikhail Glushenkov | 2008-11-12 | 1 | -11/+18 |
| | | | | | | | | Only the tools that are mentioned in the compilation graph definition are now inserted by PopulateCompilationGraph(). This should cut down plugin loading time a little. llvm-svn: 59097 | ||||
* | Some cosmetic changes. | Mikhail Glushenkov | 2008-11-12 | 1 | -0/+2 |
| | | | | llvm-svn: 59096 | ||||
* | Allow $CALL and $ENV in command names. Fixes #3025. | Mikhail Glushenkov | 2008-11-08 | 1 | -1/+1 |
| | | | | llvm-svn: 58922 | ||||
* | Properly escape dashes in TableGen's LLVMC2 emitter. | Anton Korobeynikov | 2008-11-08 | 1 | -2/+2 |
| | | | | | | Patch by Patrick Walton! llvm-svn: 58901 | ||||
* | Move llvmc2 header files under include/llvm/CompilerDriver | Mikhail Glushenkov | 2008-09-22 | 1 | -3/+3 |
| | | | | llvm-svn: 56466 | ||||
* | Plugin support for llvmc2 (a-la opt). | Mikhail Glushenkov | 2008-09-22 | 1 | -4/+42 |
| | | | | llvm-svn: 56465 | ||||
* | Make comments a little bit more clear. | Mikhail Glushenkov | 2008-09-22 | 1 | -2/+4 |
| | | | | llvm-svn: 56463 | ||||
* | Get rid of GlobalLanguageMap. Global state is evil. | Mikhail Glushenkov | 2008-09-22 | 1 | -7/+9 |
| | | | | llvm-svn: 56462 | ||||
* | Add a (forward_as) option property | Mikhail Glushenkov | 2008-09-22 | 1 | -11/+39 |
| | | | | llvm-svn: 56459 | ||||
* | Delete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor ↵ | Mikhail Glushenkov | 2008-09-22 | 1 | -3/+2 |
| | | | | | | language/spelling fixes. llvm-svn: 56458 | ||||
* | Add #includes required by GCC 4.3, thanks for Zhongxing Xu | Chris Lattner | 2008-06-04 | 1 | -2/+1 |
| | | | | | | for reporting this. llvm-svn: 51926 | ||||
* | Initialize members properly during construction | Anton Korobeynikov | 2008-06-01 | 1 | -2/+2 |
| | | | | llvm-svn: 51841 | ||||
* | Callback was not executed on OS X when it was a function. | Mikhail Glushenkov | 2008-05-31 | 1 | -1/+1 |
| | | | | llvm-svn: 51814 | ||||
* | Add a check for side effect-free options (specified only in the OptionList). | Mikhail Glushenkov | 2008-05-30 | 1 | -2/+38 |
| | | | | llvm-svn: 51759 | ||||
* | Refactoring: remove code duplication introduced in the previous patch. | Mikhail Glushenkov | 2008-05-30 | 1 | -86/+65 |
| | | | | llvm-svn: 51757 | ||||
* | Refactoring: split CollectProperties into two separate function objects. | Mikhail Glushenkov | 2008-05-30 | 1 | -137/+226 |
| | | | | llvm-svn: 51756 | ||||
* | New feature: OptionList. | Mikhail Glushenkov | 2008-05-30 | 1 | -4/+31 |
| | | | | | | | | | | | | | | | | | | It can be handy to have all information about options gathered in a single place to provide an overview of all supported options. This patch allows the following: def Options : OptionList<[ (switch_option "E", (help "Help string")), (alias_option "quiet", "q") ... ]>; Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in this context, so the only properties that are allowed are 'help' and 'required'. See usage example in examples/Clang.td. llvm-svn: 51754 | ||||
* | A small optimization: use static char* array instead of StrVector. | Mikhail Glushenkov | 2008-05-30 | 1 | -12/+21 |
| | | | | llvm-svn: 51752 | ||||
* | Make it possible to test if the '-o' option is provided. | Mikhail Glushenkov | 2008-05-30 | 1 | -5/+11 |
| | | | | | | | | | | The following is now allowed: (case (not_empty "o"), do_something, ...) This didn't work previously because "-o" is built-in. llvm-svn: 51751 | ||||
* | Fix: 'sink' handling was broken. | Mikhail Glushenkov | 2008-05-30 | 1 | -5/+5 |
| | | | | llvm-svn: 51750 | ||||
* | Add support for option aliases. | Mikhail Glushenkov | 2008-05-30 | 1 | -17/+68 |
| | | | | llvm-svn: 51749 | ||||
* | Allow nesting of case expressions. | Mikhail Glushenkov | 2008-05-30 | 1 | -17/+36 |
| | | | | | | | | | | | The following is now legal: (case (in_language "c"), (case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"), (default), "gcc $INFILE $OUTFILE") llvm-svn: 51748 | ||||
* | Small error message improvement. | Mikhail Glushenkov | 2008-05-30 | 1 | -0/+5 |
| | | | | llvm-svn: 51747 | ||||
* | Remove RequireDefault parameter from EmitCaseConstructHandler. | Mikhail Glushenkov | 2008-05-30 | 1 | -9/+3 |
| | | | | | | There are now no situations when 'default' is required. llvm-svn: 51746 | ||||
* | Fix some headers. | Mikhail Glushenkov | 2008-05-30 | 1 | -1/+1 |
| | | | | llvm-svn: 51745 | ||||
* | New tests for the 'case' expression: not_empty, in_language. | Mikhail Glushenkov | 2008-05-30 | 1 | -4/+14 |
| | | | | llvm-svn: 51744 | ||||
* | Make it possible to have multiple input languages for a single tool. | Mikhail Glushenkov | 2008-05-30 | 1 | -24/+65 |
| | | | | llvm-svn: 51742 |