<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/examples/Kaleidoscope, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-01-29T20:50:17+00:00</updated>
<entry>
<title>[ORC] Update examples to incorporate changes in ce2207abaf9.</title>
<updated>2020-01-29T20:50:17+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2020-01-22T04:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=46f6f03839e302364111f4532b9a098e9a0a9d21'/>
<id>urn:sha1:46f6f03839e302364111f4532b9a098e9a0a9d21</id>
<content type='text'>
This should fix the builders that were failing due to broken JIT examples
after ce2207abaf9.

(cherry picked from commit 98e55477558a823b1045b54d5a09681a3c0b819a)
</content>
</entry>
<entry>
<title>[examples] Add missing dependency in llvm examples</title>
<updated>2020-01-10T17:32:39+00:00</updated>
<author>
<name>Hiroshi Inoue</name>
<email>inouehrs@gmail.com</email>
</author>
<published>2020-01-10T16:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ff92e469caefff9f86e5e812c08b9bba582be5d3'/>
<id>urn:sha1:ff92e469caefff9f86e5e812c08b9bba582be5d3</id>
<content type='text'>
To fix build failure with BUILD_SHARED_LIBS=ON
</content>
</entry>
<entry>
<title>[Kaleidoscope][BuildingAJIT] Add a missing std::move.</title>
<updated>2019-12-15T23:37:18+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2019-12-15T23:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=064e7d1df17dcd7f82215c258e2793aa1f8ed760'/>
<id>urn:sha1:064e7d1df17dcd7f82215c258e2793aa1f8ed760</id>
<content type='text'>
This should fix the build failure described in
https://github.com/llvm/llvm-project/issues/63.
</content>
</entry>
<entry>
<title>[ORC] Remove the automagic Main JITDylib fram ExecutionSession.</title>
<updated>2019-12-05T09:36:49+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2019-12-05T06:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4fc68b9b7f3e07ea4425c6111e1a9455cf4aa322'/>
<id>urn:sha1:4fc68b9b7f3e07ea4425c6111e1a9455cf4aa322</id>
<content type='text'>
This patch removes the magic "main" JITDylib from ExecutionEngine. The main
JITDylib was created automatically at ExecutionSession construction time, and
all subsequently created JITDylibs were added to the main JITDylib's
links-against list by default. This saves a couple of lines of boilerplate for
simple JIT setups, but this isn't worth introducing magical behavior for.

ORCv2 clients should now construct their own main JITDylib using
ExecutionSession::createJITDylib and set up its linkages manually using
JITDylib::setSearchOrder (or related methods in JITDylib).
</content>
</entry>
<entry>
<title>Move CodeGenFileType enum to Support/CodeGen.h</title>
<updated>2019-11-14T00:39:34+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2019-11-13T23:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=1dfede3122eec83b885d788553e3620806d54650'/>
<id>urn:sha1:1dfede3122eec83b885d788553e3620806d54650</id>
<content type='text'>
Avoids the need to include TargetMachine.h from various places just for
an enum. Various other enums live here, such as the optimization level,
TLS model, etc. Data suggests that this change probably doesn't matter,
but it seems nice to have anyway.
</content>
</entry>
<entry>
<title>Break out OrcError and RPC</title>
<updated>2019-10-30T00:31:28+00:00</updated>
<author>
<name>Chris Bieneman</name>
<email>chris.bieneman@me.com</email>
</author>
<published>2019-10-09T21:27:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a34680a33eb1caa5e224a9432e9f3e643824dc2d'/>
<id>urn:sha1:a34680a33eb1caa5e224a9432e9f3e643824dc2d</id>
<content type='text'>
Summary:
When createing an ORC remote JIT target the current library split forces the target process to link large portions of LLVM (Core, Execution Engine, JITLink, Object, MC, Passes, RuntimeDyld, Support, Target, and TransformUtils). This occurs because the ORC RPC interfaces rely on the static globals the ORC Error types require, which starts a cycle of pulling in more and more.

This patch breaks the ORC RPC Error implementations out into an "OrcError" library which only depends on LLVM Support. It also pulls the ORC RPC headers into their own subdirectory.

With this patch code can include the Orc/RPC/*.h headers and will only incur link dependencies on LLVMOrcError and LLVMSupport.

Reviewers: lhames

Reviewed By: lhames

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68732
</content>
</entry>
<entry>
<title>[llvm] Migrate llvm::make_unique to std::make_unique</title>
<updated>2019-08-15T15:54:37+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2019-08-15T15:54:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0eaee545eef49ff9498234d3a51a5cbde59bf976'/>
<id>urn:sha1:0eaee545eef49ff9498234d3a51a5cbde59bf976</id>
<content type='text'>
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.

llvm-svn: 369013
</content>
</entry>
<entry>
<title>[ORC] Fix BuildingAJIT tutorial code broken by r368707.</title>
<updated>2019-08-13T19:38:52+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2019-08-13T19:38:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0fed4945d9056719e4f6c900ec392f35aca6a6f0'/>
<id>urn:sha1:0fed4945d9056719e4f6c900ec392f35aca6a6f0</id>
<content type='text'>
llvm-svn: 368740
</content>
</entry>
<entry>
<title>Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC</title>
<updated>2019-08-05T05:43:48+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2019-08-05T05:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d9b948b6eb7362f36264b71795dab179906e36be'/>
<id>urn:sha1:d9b948b6eb7362f36264b71795dab179906e36be</id>
<content type='text'>
F_{None,Text,Append} are kept for compatibility since r334221.

llvm-svn: 367800
</content>
</entry>
<entry>
<title>[ORC] Change the locking scheme for ThreadSafeModule.</title>
<updated>2019-08-02T15:21:37+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2019-08-02T15:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=809e9d1efa2f58b6333b1a0445e8574beedffc22'/>
<id>urn:sha1:809e9d1efa2f58b6333b1a0445e8574beedffc22</id>
<content type='text'>
ThreadSafeModule/ThreadSafeContext are used to manage lifetimes and locking
for LLVMContexts in ORCv2. Prior to this patch contexts were locked as soon
as an associated Module was emitted (to be compiled and linked), and were not
unlocked until the emit call returned. This could lead to deadlocks if
interdependent modules that shared contexts were compiled on different threads:
when, during emission of the first module, the dependence was discovered the
second module (which would provide the required symbol) could not be emitted as
the thread emitting the first module still held the lock.

This patch eliminates this possibility by moving to a finer-grained locking
scheme. Each client holds the module lock only while they are actively operating
on it. To make this finer grained locking simpler/safer to implement this patch
removes the explicit lock method, 'getContextLock', from ThreadSafeModule and
replaces it with a new method, 'withModuleDo', that implicitly locks the context,
calls a user-supplied function object to operate on the Module, then implicitly
unlocks the context before returning the result.

ThreadSafeModule TSM = getModule(...);
size_t NumFunctions = TSM.withModuleDo(
    [](Module &amp;M) { // &lt;- context locked before entry to lambda.
      return M.size();
    });

Existing ORCv2 layers that operate on ThreadSafeModules are updated to use the
new method.

This method is used to introduce Module locking into each of the existing
layers.

llvm-svn: 367686
</content>
</entry>
</feed>
