Commit Graph

143 Commits

Author SHA1 Message Date
Jeffrey Yasskin
f0356fe140 Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
other languages still use the ModuleProvider concept.  It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27 20:34:15 +00:00
Nick Lewycky
808ce5fd67 Remove the 'simple jit' tutorial as it wasn't really being maintained and its
material is covered by the Kaleidoscope tutorial.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90111 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30 04:23:17 +00:00
Jeffrey Yasskin
dc85724f70 Change the JIT to compile eagerly by default as agreed in
http://llvm.org/PR5184, and beef up the comments to describe what both options
do and the risks of lazy compilation in the presence of threads.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 20:30:28 +00:00
Benjamin Kramer
8040cd3cfd Documentation: Perform automated correction of common typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 14:46:08 +00:00
Erick Tryzelaar
fd1ec5e68b Sync c++ kaleidoscope tutorial with test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 21:14:49 +00:00
Erick Tryzelaar
4626268428 Expose initializing the native target for the execution engine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 21:54:32 +00:00
Erick Tryzelaar
126d86b9f9 Make sure to initialize the fpm in the ocaml tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81799 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 21:54:15 +00:00
Nick Lewycky
422094c38d Update the tutorial to match changes to examples/Kaleidoscope.
One change I'm not folding in is the removal of two unused variables that
caused warnings, because those were there for expository purposes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 21:38:54 +00:00
Reid Kleckner
60130f0e90 Allocate the module provider in the Kaleidoscope code on the heap, not the stack, so that it can be properly deleted. Also update the tutorial with the new code. This fixes PR4762, hopefully better than the last time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80138 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 20:58:25 +00:00
Erick Tryzelaar
1f3d276a3d Update the ocaml docs to work with LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 17:32:38 +00:00
John McCall
46c8181412 #include <cstdlib> in the code listing for strtod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 21:07:37 +00:00
Owen Anderson
1d0be15f89 Push LLVMContexts through the IntegerType APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 21:58:54 +00:00
Benjamin Kramer
e15192b36b Documentation: fix HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 15:42:44 +00:00
Owen Anderson
a7235ea724 Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 20:28:14 +00:00
Owen Anderson
debcb01b0f Move types back to the 2.5 API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 22:17:13 +00:00
Owen Anderson
6f83c9c6ef Move ConstantFP construction back to the 2.5-ish API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 20:59:43 +00:00
Owen Anderson
e922c02019 Get rid of the Pass+Context magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:24:57 +00:00
Chris Lattner
3e7b5ca3b9 Various doc updates from Edward O'Callaghan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:47:03 +00:00
Reid Kleckner
4b1511b027 Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
Also a test commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 00:42:18 +00:00
Owen Anderson
914e50c841 Privatize the ConstantFP table. I'm on a roll!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16 19:05:41 +00:00
Owen Anderson
0a5372ed3e Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13 04:09:18 +00:00
Owen Anderson
d1fbd14294 Push LLVMContext _back_ through IRBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75040 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08 20:50:47 +00:00
Bill Wendling
588764eb38 Use llvm::raw_stream instead of llvm::Streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71573 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 18:29:42 +00:00
Nick Lewycky
de9b4c4a7f Fix compile error. Pointed out by mait on #llvm IRC!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12 20:15:44 +00:00
Gabor Greif
c540b1fd01 do not pretend llvm/.../*.h being system headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 20:23:40 +00:00
Gabor Greif
94244f3849 fix validator errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 20:04:08 +00:00
Gabor Greif
d6c1ed08f6 Fix exaples using IRBuilder. Thanks, Quadrescence and Glip7 from IRC!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66687 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 19:51:07 +00:00
Chris Lattner
7c7708946b mention rdynamic, PR3431, patch by Stein Roger Skafløtten!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 00:04:40 +00:00
Chris Lattner
ff17b032dd fix some incorrect links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60919 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 04:20:01 +00:00
Torok Edwin
90e619afbe fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58384 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29 16:32:06 +00:00
Gabor Greif
5934adf9bb adjust calls to ConstantFP::get to new API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-10 01:52:17 +00:00
Chris Lattner
d4c2491ce8 Update text to point people at the right version of the tutorial for
their release.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51638 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 06:16:08 +00:00
Gabor Greif
97e378e554 adapt to new API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51387 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21 18:30:15 +00:00
Bill Wendling
40da626d23 Grammar fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51236 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 00:25:01 +00:00
Bill Wendling
6acc8591d6 Delete module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51235 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 00:20:45 +00:00
Bill Wendling
176e8298b5 Convert non-ASCII apostrophes into ASCII apostrophes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51234 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 00:19:02 +00:00
Bill Wendling
d63729fee3 Delete the Module object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51233 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 00:15:33 +00:00
Bill Wendling
c8968d99c6 s/insure/ensure/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51232 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 00:05:30 +00:00
Gabor Greif
df7d2b4ce8 merge of 49966 from branches/ggreif/use-diet to trunk. these are already active API changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 22:25:09 +00:00
Chris Lattner
1ace67c521 A couple minor fixes suggested by Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49729 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-15 16:59:22 +00:00
Chris Lattner
6c4be9c23b improve diagnostics in call parsing, patch suggested by
Matthijs Kooijman


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49648 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-14 16:44:41 +00:00
Duncan Sands
89f6d88db3 Merge LLVMBuilder and FoldingBuilder, calling
the result IRBuilder.  Patch by Dominic Hamon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49604 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-13 06:22:09 +00:00
Erick Tryzelaar
86550b0a14 There isn't any c++ code in LangImpl8.html, so use that
instead of OCamlLangImpl8.html.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-31 08:50:45 +00:00
Erick Tryzelaar
35295ffd50 Chapter 5, 6, and 7 of the ocaml/kaleidoscope tutorial
and fix some tabs in chapter 3 and 4.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48978 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-31 08:44:50 +00:00
Erick Tryzelaar
4f678c3692 Tweak build system to allow for installing the tutorial and uninstalling the docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-30 20:32:18 +00:00
Erick Tryzelaar
d564686dff Fix some documentation for the tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48966 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-30 19:14:31 +00:00
Erick Tryzelaar
37c076bf91 Add chapter 3 and 4 of the ocaml/kaleidoscope tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48949 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-30 09:57:12 +00:00
Erick Tryzelaar
9ba8a5736a Adding the first two chapters of the ocaml/kaleidoscope tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-27 08:18:07 +00:00
Erick Tryzelaar
8a64d5ed37 Test commit (removed trailing whitespace)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48809 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-26 00:38:56 +00:00
Owen Anderson
aec9600389 Oops. I wanted the compile flags for C++, not the C preprocessor flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 21:38:01 +00:00