aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CompilerDriver
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Support dependencies between plugins by priority-sorting.Mikhail Glushenkov2008-11-172-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59449 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a layer of indirection to make plugins more flexible.Mikhail Glushenkov2008-11-171-10/+6
| | | | | | | Use strings instead of TableGen defs in the compilation graph definition. Makes it easier for the plugins to modify an existing graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59447 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVMC2 tool definitions for Objective-C and Objective-C++.Daniel Dunbar2008-11-081-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58885 91177308-0d34-0410-b5e6-96231b3b80d8
* Build system tweaks to make it more convenient for the plugin authors.Mikhail Glushenkov2008-10-022-0/+223
| | | | | | | | | | Plugins can be now compiled in with a slight Makefile change. For example, to compile the new Clang driver, use: cd $LLVMC2_DIR make TOOLNAME=ccc2 BUILTIN_PLUGINS=Clang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56967 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove silly semicolon.Dale Johannesen2008-09-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56481 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a compiler warning.Dale Johannesen2008-09-221-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56478 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert llvmc2 plugins to use llvm/Support/Registry.h machinery.Mikhail Glushenkov2008-09-221-15/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56467 91177308-0d34-0410-b5e6-96231b3b80d8
* Move llvmc2 header files under include/llvm/CompilerDriverMikhail Glushenkov2008-09-224-0/+478
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56466 91177308-0d34-0410-b5e6-96231b3b80d8