aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CompilerDriver
Commit message (Collapse)AuthorAgeFilesLines
* Make it not an error to specify -O* options several times.Mikhail Glushenkov2010-03-051-0/+1
| | | | | | As in 'llvmc -O2 -O2 test.c'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97787 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct option forwarding: initial implementation.Mikhail Glushenkov2010-02-232-1/+10
| | | | | | Does not work, but the infrastructure changes are in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96920 91177308-0d34-0410-b5e6-96231b3b80d8
* New experimental/undocumented feature: 'works_on_empty'.Mikhail Glushenkov2010-02-232-1/+3
| | | | | | For now, just enough support to make -filelist work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a way to enable '-opt=foo' forwarding.Mikhail Glushenkov2010-02-231-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96916 91177308-0d34-0410-b5e6-96231b3b80d8
* Refer to -help instead of --help since this is what tools themselves say.Duncan Sands2010-02-181-1/+1
| | | | | | | | | Also, have tools output -help-hidden rather than refer to --help-hidden, for consistency, and likewise adjust documentation. This doesn't change every mention of --help, only those which seemed clearly safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96578 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a 'set_option' action for use in OptionPreprocessor.Mikhail Glushenkov2009-12-171-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91594 91177308-0d34-0410-b5e6-96231b3b80d8
* Validate the generated C++ code in llvmc tests.Mikhail Glushenkov2009-12-151-1/+1
| | | | | | | | | | Checks that the code generated by 'tblgen --emit-llvmc' can be actually compiled. Also fixes two bugs found in this way: - forward_transformed_value didn't work with non-list arguments - cl::ZeroOrOne is now called cl::Optional git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8
* Deprecate 'unpack_values'.Mikhail Glushenkov2009-12-071-0/+1
| | | | | | Use 'forward_values' + 'comma_separated' instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement 'forward_value' and 'forward_transformed_value'.Mikhail Glushenkov2009-12-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: Add a '-time' option.Mikhail Glushenkov2009-11-071-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86348 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot a declaration.Mikhail Glushenkov2009-10-221-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84828 91177308-0d34-0410-b5e6-96231b3b80d8
* First draft of the OptionPreprocessor.Mikhail Glushenkov2009-10-172-8/+19
| | | | | | More to follow... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84352 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete bogus semicolons.Dan Gohman2009-10-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84132 91177308-0d34-0410-b5e6-96231b3b80d8
* Raise the limit on built-in plugins in llvmc to 10.Mikhail Glushenkov2009-10-091-0/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83614 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a way to query the number of input files.Mikhail Glushenkov2009-09-281-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82957 91177308-0d34-0410-b5e6-96231b3b80d8
* Distinguish between 'empty' and empty DAG marker.Mikhail Glushenkov2009-09-101-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81448 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a logical 'not' operator to llvmc's TableGen dialect.Mikhail Glushenkov2009-09-101-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81447 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate all 80-col violations that I have introduced in my recent checkins ↵Gabor Greif2009-08-271-1/+2
| | | | | | (and some others more) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80304 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up the minor mess I caused with removing iterator.h. I shall take care ↵Gabor Greif2009-08-271-2/+1
| | | | | | of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a -t="dir" option to the driver. This can be used to specify the ↵Sanjiv Gupta2009-07-091-0/+1
| | | | | | directory to be used as TempDir if somebody doesn't want to use the standard /tmp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75121 91177308-0d34-0410-b5e6-96231b3b80d8
* s/llvmc2/llvmc/Mikhail Glushenkov2009-07-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74906 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an 'init' option property.Mikhail Glushenkov2009-07-071-0/+5
| | | | | | | Makes possible to provide default values for options defined in plugins (same as cl::init). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74905 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the driver entry point out of Main.inc.Mikhail Glushenkov2009-06-301-105/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74482 91177308-0d34-0410-b5e6-96231b3b80d8
* Make dynamic LLVMC plugins work on Windows (finally!).Mikhail Glushenkov2009-06-291-38/+0
| | | | | | | | Implemented by making lib/CompilerDriver a shared library that holds all the global static data (CommandLine options, plugin registry) that we unfortunately have to live with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74417 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -save-temps behave like in GCC 4.5.Mikhail Glushenkov2009-06-252-8/+71
| | | | | | | | | | The -save-temps option now behaves like described in GCC 4.5 release notes (you can specify output directory for temporary files with -save-temps=obj -o $DIRNAME). I do not have GCC 4.5 installed, so if there are any inconsistencies between llvmc and GCC in the implementation of this feature, please let me know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74190 91177308-0d34-0410-b5e6-96231b3b80d8
* Make llvmc work again.Mikhail Glushenkov2009-06-233-0/+114
| | | | | | | | | | Chris recently broke llvmc with his Makefile changes (r75379). That patch made the global change .o -> .a, which caused built-in llvmc plugins to stop working since plugin initialization in llvmc is based on static variables not referenced from the main executable. This patch implements auto-generated forced references to the plugin libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74000 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Mikhail Glushenkov2009-06-231-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73999 91177308-0d34-0410-b5e6-96231b3b80d8
* -write-graph now can be used with -o.Mikhail Glushenkov2009-03-272-4/+10
| | | | | | Makes it possible to set the output file name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67835 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some duplication.Mikhail Glushenkov2009-03-071-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66347 91177308-0d34-0410-b5e6-96231b3b80d8
* Move code from Main.cpp to the include dir.Mikhail Glushenkov2009-03-021-0/+133
| | | | | | | | User drivers based on llvmc must all share the initialization code. Putting main() into libCompilerDriver is not a very good idea IMO (and ld gave me some strange EH-related error anyway). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65825 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic fixes: include guards.Mikhail Glushenkov2009-03-025-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65824 91177308-0d34-0410-b5e6-96231b3b80d8
* Plugin::Priority() doesn't need to be pure virtual.Mikhail Glushenkov2009-03-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65823 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Mikhail Glushenkov2009-03-021-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65822 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorganize llvmc code.Mikhail Glushenkov2009-03-021-0/+33
| | | | | | | | | | Move the code from 'llvmc/driver' into a new CompilerDriver library, and change the build system accordingly. Makes it easier for projects using LLVM to build their own llvmc-based drivers. Tested with objdir != srcdir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65821 91177308-0d34-0410-b5e6-96231b3b80d8
* Add three new option properties.Mikhail Glushenkov2009-01-281-1/+4
| | | | | | Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63172 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a --check-graph option to llvmc.Mikhail Glushenkov2009-01-091-3/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61989 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up #includes, deleting a bunch of unnecessary #includes.Dan Gohman2009-01-051-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
* Some enhancements for the 'case' expression.Mikhail Glushenkov2008-12-171-0/+1
| | | | | | Add (error) and (empty). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61117 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge Base.td and Tools.td.Mikhail Glushenkov2008-12-111-145/+0
| | | | | | | | This stuff is not used outside Base.td, and with the conversion of the compilation graph to string-based format became much less (if at all) useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60873 91177308-0d34-0410-b5e6-96231b3b80d8
* Support -emit-llvm properly (with -S and -c).Mikhail Glushenkov2008-12-091-9/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60764 91177308-0d34-0410-b5e6-96231b3b80d8
* Make 'extern' an option property.Mikhail Glushenkov2008-12-071-4/+1
| | | | | | Makes (forward) work better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60667 91177308-0d34-0410-b5e6-96231b3b80d8
* Plugin updates: support more options.Mikhail Glushenkov2008-12-071-11/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60666 91177308-0d34-0410-b5e6-96231b3b80d8
* Use (actions) instead of option properties, support external options.Mikhail Glushenkov2008-12-074-55/+96
| | | | | | | Also includes a major refactoring. See documentation for more information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60656 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 'hidden' and 'really_hidden' option properties.Mikhail Glushenkov2008-11-281-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60198 91177308-0d34-0410-b5e6-96231b3b80d8
* Disallow multiple edges.Mikhail Glushenkov2008-11-261-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60127 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the -I option (llvmc -I dir1 -I dir2 didn't work).Mikhail Glushenkov2008-11-261-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60101 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor Tools.td to remove repetition.Mikhail Glushenkov2008-11-261-68/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60100 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -fsyntax-only, -include and -emit-llvm work for C++ and Objective-C/C++.Mikhail Glushenkov2008-11-251-1/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60047 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMC2: -emit-llvm stops compilation.Daniel Dunbar2008-11-191-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59586 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMC2: Teach llvm_gcc_c tool about -include and -fsyntax-only.Daniel Dunbar2008-11-191-0/+6
| | | | | | | | - Only focusing on llvm_gcc_c for now, eventually this needs to be refactored so it can be shared via all the gcc-like tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59582 91177308-0d34-0410-b5e6-96231b3b80d8