aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CompilerDriver
Commit message (Collapse)AuthorAgeFilesLines
* llvmc: Make syntax more consistent.Mikhail Glushenkov2010-08-231-24/+7
| | | | | | CompilationGraph and LanguageMap definitions do not use special syntax anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111862 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: Properly handle (error) in edge properties.Mikhail Glushenkov2010-08-232-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111827 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: Cut global namespace pollution.Mikhail Glushenkov2010-08-201-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111619 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: remove dynamic plugins.Mikhail Glushenkov2010-08-157-250/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8
* Return -1 only on failure to execute a program.Mikhail Glushenkov2010-07-273-27/+36
| | | | | | Also fix some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109499 91177308-0d34-0410-b5e6-96231b3b80d8
* StringRef'icate.Mikhail Glushenkov2010-07-231-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109217 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of exceptions in llvmc.Mikhail Glushenkov2010-07-235-54/+60
| | | | | | llvmc can be now compiled with llvm-gcc on Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109215 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmc: Add a new option type (switch_list).Mikhail Glushenkov2010-07-191-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108673 91177308-0d34-0410-b5e6-96231b3b80d8
* 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