Commit Graph

199 Commits

Author SHA1 Message Date
Mikhail Glushenkov 6da4749ce6 The 'forward_as' property did not use its second argument.
See PR4159 for details. Patch by Martin Nowack!

llvm-svn: 71054
2009-05-06 01:41:19 +00:00
Mikhail Glushenkov 2c332fec97 Support --with-llvmgccdir and friends in llvmc, take 2.
Should now work when building with objdir != srcdir and when llvm-gcc is not
available.

Thanks to Duncan Sands for testing and advice!

llvm-svn: 69700
2009-04-21 19:46:10 +00:00
Bill Wendling 4d10aae8c2 Revert 69474 and 69475. They are causing failures during a bootstrap on Darwin.
llvm-svn: 69478
2009-04-18 21:45:27 +00:00
Mikhail Glushenkov 73e9e021f1 Add a configure check for llvm-gcc (reapply).
llvm-svn: 69474
2009-04-18 20:55:28 +00:00
Bill Wendling 02b47d9958 Temporarily revert r69438 and r69439. These were causing failures during a
release build of llvm.

llvm-svn: 69440
2009-04-18 11:20:33 +00:00
Mikhail Glushenkov e078105a89 Add a configure check for llvm-gcc.
llvm-svn: 69438
2009-04-18 09:57:58 +00:00
Mikhail Glushenkov eccc5967bf Do not pass '-relocation-model=pic' to llc.
Does not work well on 32 bit targets. Bug reported by Albert Graef.

This patch also adds new "-Wllc,option" syntax to pass options to llc.

llvm-svn: 68127
2009-03-31 18:33:54 +00:00
Mikhail Glushenkov 0f78c2721b Documentation update.
Expand a bit on various '--*-graph' options.

llvm-svn: 67836
2009-03-27 12:58:29 +00:00
Mikhail Glushenkov 33435e49a9 Add example/Skeleton.
This is a template that can be used to build your own LLVMC-based drivers.
It can be also useful as a "bare-bones" LLVMC.

llvm-svn: 65944
2009-03-03 11:02:48 +00:00
Mikhail Glushenkov b5f56fc268 Comment fixes.
llvm-svn: 65943
2009-03-03 10:04:57 +00:00
Mikhail Glushenkov 4f85b86120 Use LLVMLIBS instead of USEDLIBS.
Since this Makefile is supposed to be usable from LLVM-based projects not in the
tree, LLVMLIBS should be used instead of USEDLIBS. This depends on my previous
fix to Makefile.rules.

llvm-svn: 65941
2009-03-03 10:03:53 +00:00
Mikhail Glushenkov b00b964697 Move example plugins to the example/ directory.
llvm-svn: 65939
2009-03-03 10:02:53 +00:00
Mikhail Glushenkov 7cff81825f Move the rules for building plugins to Makefile.rules.
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov 37b419cdee Fix build with objdir != srcdir.
llvm-svn: 65826
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov ecfab627fd Move code from Main.cpp to the include dir.
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).

llvm-svn: 65825
2009-03-02 09:03:02 +00:00
Mikhail Glushenkov 931d4521c3 Reorganize llvmc code.
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.

llvm-svn: 65821
2009-03-02 09:01:14 +00:00
Mikhail Glushenkov c7d6951c92 Add some comments.
llvm-svn: 63364
2009-01-30 02:12:57 +00:00
Mikhail Glushenkov 2115d09a10 Add three new option properties.
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.

llvm-svn: 63172
2009-01-28 03:47:20 +00:00
Mikhail Glushenkov 1a0c083748 Fix 'llvm-config --libs' output.
Change the naming scheme for llvmc plugins so that they do not appear in
'llvm-config --libs' output.

llvm-svn: 62687
2009-01-21 13:05:00 +00:00
Mikhail Glushenkov fbc89cecad Change the hook API back to prevent memory leaks.
llvm-svn: 62686
2009-01-21 13:04:33 +00:00
Mikhail Glushenkov bf9716e15d Allow hooks with arguments.
llvm-svn: 62685
2009-01-21 13:04:00 +00:00
Mikhail Glushenkov bc39dff6e5 Some small documentation fixes.
llvm-svn: 62251
2009-01-15 02:42:40 +00:00
Mikhail Glushenkov bf78b20490 Clarify the documentation a bit.
llvm-svn: 62249
2009-01-15 02:04:54 +00:00
Mikhail Glushenkov 66068b3baf Make -o a prefix option.
Both 'llvmc -o file' and 'llvmc -ofile' should work.

llvm-svn: 62211
2009-01-14 02:02:16 +00:00
Mikhail Glushenkov 0f88cfa2ac Add a --check-graph option to llvmc.
llvm-svn: 61989
2009-01-09 16:16:27 +00:00
Mikhail Glushenkov 5932d8c986 Some enhancements for the 'case' expression.
Add (error) and (empty).

llvm-svn: 61117
2008-12-17 02:47:01 +00:00
Mikhail Glushenkov e04b5bfd19 Add a comment to the auto-generated docs.
llvm-svn: 60985
2008-12-13 17:51:47 +00:00
Mikhail Glushenkov 6027992ea9 Merge llvm-rst.css and llvm.css.
llvm-svn: 60984
2008-12-13 17:50:58 +00:00
Mikhail Glushenkov afebaf96f9 Some more documentation tweaks.
llvm-svn: 60970
2008-12-13 03:11:37 +00:00
Mikhail Glushenkov c0363fcba6 More cosmetic tweaks for llvmc docs.
llvm-svn: 60969
2008-12-13 02:28:58 +00:00
Mikhail Glushenkov 6932e2f368 Fix W3C validator errors.
llvm-svn: 60912
2008-12-11 23:43:14 +00:00
Mikhail Glushenkov d9a7795abc Use correct file for the llvmc tutorial.
llvm-svn: 60910
2008-12-11 23:33:33 +00:00
Mikhail Glushenkov 6fd5513284 Update the auto-generated llvmc documentation.
llvm-svn: 60909
2008-12-11 23:24:40 +00:00
Mikhail Glushenkov 4673023e71 Add a '-Wo,' option that passes options to opt.
llvm-svn: 60902
2008-12-11 22:19:14 +00:00
Mikhail Glushenkov 8d84a7d3b7 Merge Base.td and Tools.td.
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.

llvm-svn: 60873
2008-12-11 10:38:06 +00:00
Mikhail Glushenkov 65b0b2bf28 Support -emit-llvm properly (with -S and -c).
llvm-svn: 60764
2008-12-09 14:40:18 +00:00
Oscar Fuentes 8c78391c8a CMake: Added Tool.cpp to tools/llvmc/driver.
llvm-svn: 60670
2008-12-07 17:01:16 +00:00
Mikhail Glushenkov c0fc34660b Describe recent changes in the documentation.
llvm-svn: 60668
2008-12-07 16:47:42 +00:00
Mikhail Glushenkov 7f1bef5a55 Make 'extern' an option property.
Makes (forward) work better.

llvm-svn: 60667
2008-12-07 16:47:12 +00:00
Mikhail Glushenkov 2804af0929 Plugin updates: support more options.
llvm-svn: 60666
2008-12-07 16:46:23 +00:00
Mikhail Glushenkov ce31b34a6f Join tools couldn't be used in the middle of the toolchain.
llvm-svn: 60665
2008-12-07 16:45:37 +00:00
Mikhail Glushenkov 8e1507d7c6 Enable the Clang plugin by default.
This will eventually replace `ccc`. The command `llvmc -clang` now uses
the Clang toolchain instead of `llvm-gcc`.

llvm-svn: 60661
2008-12-07 16:43:42 +00:00
Mikhail Glushenkov 385691b1bd Update plugins to use (actions).
llvm-svn: 60660
2008-12-07 16:43:17 +00:00
Mikhail Glushenkov 85467c71d2 Use (actions) instead of option properties, support external options.
Also includes a major refactoring. See documentation for more
information.

llvm-svn: 60656
2008-12-07 16:41:11 +00:00
Mikhail Glushenkov 7283d44569 Scrap some boilerplate.
llvm-svn: 60200
2008-11-28 00:14:11 +00:00
Mikhail Glushenkov 3bb3da6f4c Add 'hidden' and 'really_hidden' option properties.
llvm-svn: 60198
2008-11-28 00:13:25 +00:00
Mikhail Glushenkov 4ad34cbdc0 Documentation: clarify what is meant by 'multiple edges'.
llvm-svn: 60197
2008-11-28 00:12:09 +00:00
Mikhail Glushenkov 6f4cb52c71 Disallow multiple edges.
llvm-svn: 60127
2008-11-26 22:59:45 +00:00
Oscar Fuentes c4430484bc CMake: llvmc2 is now known as llvmc.
llvm-svn: 60052
2008-11-25 22:18:49 +00:00
Mikhail Glushenkov 98d5ed5cb7 Since the old llvmc was removed, rename llvmc2 to llvmc.
llvm-svn: 60048
2008-11-25 21:38:12 +00:00