Displaying 15 results from an estimated 15 matches for "llvm_start_multithreaded".
2009 Jun 16
3
[LLVMdev] UPCOMING API CHANGE: Threads and LLVM
...9;ve been
working recently on improving the ability to use LLVM across multiple
threads. While the goal for now is to be able to hack on multiple
Module's in parallel, this has necessitated a larger review of how
LLVM interacts with threads.
In a recent(-ish) patch, I added a new API: llvm_start_multithreaded
(). This API is used to initialize the thread-safety constructs that
are going into LLVM. I will be committing a detail update to the LLVM
programmer's manual on how to use it.
The major CHANGE is: the JIT will no longer be safe for executing
threaded applications without first invok...
2014 Jun 07
5
[LLVMdev] Multi-threading and mutexes in LLVM
...some
feedback from a broader audience, to make sure this is done correctly:
1) Should support multi-threading be a compile-time or runtime parameter in
LLVM?
Currently it is both. It is compile-time through the use of the
define LLVM_ENABLE_THREADS, and it is runtime through the use of functions
llvm_start_multithreaded, llvm_is_multithreaded, etc. I and some others
feel like runtime support for multi-threading could be removed, and it
should be compile-time only. However, I am not aware of all the ways in
which this is being used, so this is where I would like some feedback. The
issues I have with runtime mult...
2009 Jun 16
0
[LLVMdev] UPCOMING API CHANGE: Threads and LLVM
...g recently on improving the ability to use LLVM across multiple
> threads. While the goal for now is to be able to hack on multiple
> Module's in parallel, this has necessitated a larger review of how
> LLVM interacts with threads.
>
> In a recent(-ish) patch, I added a new API: llvm_start_multithreaded
> (). This API is used to initialize the thread-safety constructs that
> are going into LLVM. I will be committing a detail update to the LLVM
> programmer's manual on how to use it.
>
> The major CHANGE is: the JIT will no longer be safe for executing
> threaded applicatio...
2009 Jun 17
1
[LLVMdev] Undocumented API changes
...API changes?
Recently there has been:
1.
For JIT applications, please include llvm/Target/TargetSelect.h and
call the llvm::InitializeNativeTarget() function before creating an EE.
2.
The major CHANGE is: the JIT will no longer be safe for executing
threaded applications without first invoking llvm_start_multithreaded().
Please begin to update your client applications now if this affects
you, as I will be throwing the switch in SVN sooner rather than later.
3.
The change you should make: every call to addPassesToEmitFile,
addPassesToEmitFileFinish, addPassesToEmitMachineCode, or
addCommonCodeGenPasses shoul...
2009 Jun 17
10
[LLVMdev] Segmentation fault - Kaleidoscope
On Jun 17, 2009, at 9:46 AM, Paul Melis wrote:
> FWIW, I'm also suddenly experiencing segfaults in code that used to
> work
> a few days ago (I'm using svn). This may be unrelated to the problem
> described below, but perhaps it's the same thing.
>
> In my case it seems that creating an ExecutionEngine has changed. I
> used
> to do
>
> Module* Mod
2011 Mar 22
2
[LLVMdev] LLVM optimization passes crash when running on second thread
...ial, no-optimization compilation synchronously on startup and then perform an asynchronous, optimized recompilation in the background, and I am getting in one of the optimization passes.
- I am using the official release of LLVM 2.8
- I have compiled LLVM with threading enabled; I am running llvm::llvm_start_multithreaded() on application startup and checking that that result is true.
- The foreground compilation works fine.
- The background compilation also works fine if I comment out the addition of the optimization passes.
- The optimization passes are being added as follows:
llvm::OwningPtr<llvm::Pass...
2011 Mar 22
0
[LLVMdev] LLVM optimization passes crash when running on second thread
...zation compilation synchronously on startup and then perform an asynchronous, optimized recompilation in the background, and I am getting in one of the optimization passes.
>
> - I am using the official release of LLVM 2.8
> - I have compiled LLVM with threading enabled; I am running llvm::llvm_start_multithreaded() on application startup and checking that that result is true.
> - The foreground compilation works fine.
> - The background compilation also works fine if I comment out the addition of the optimization passes.
> - The optimization passes are being added as follows:
> llvm::Owni...
2014 Jun 09
2
[LLVMdev] Use of statics and ManagedStatics in LLVM
Based on a recent discussion[1], I started trying to remove the functions
llvm_start_multithreaded() and llvm_stop_multithreaded() from the codebase.
It turns out this is a little bit tricky. Consider the following scenario:
During program initialization, a global static object's constructor
dereferences a ManagedStatic. During dereferencing of the ManagedStatic,
it needs to know whether...
2009 Jun 17
0
[LLVMdev] Inconsistent naming of functions?
Hi all,
maybe it is just me but I feel the function named:
llvm::llvm_start_multithreaded();
has to one to many llvm substrings in it.
How about renaming it to:
llvm::start_multithreaded();
This would be consistent with functions like:
llvm::InitializeNativeTarget();
No?
Kind regards,
Maurice
PS: Now I am off to figure out why I suddenly get all these linker err...
2012 Jun 05
0
[LLVMdev] CrashRecoveryContext on Windows
...;Caught LLVM ERROR: " << Reason << "\n";
abort(); // Chains to win_abort_handler on Windows
}
int main() {
install_fatal_error_handler(handle_llvm_crash, NULL);
signal(SIGABRT, win_abort_handler);
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
llvm_start_multithreaded();
ContextRecoveryContext::Enable();
// "safe" calls with RunSafely()
ContextRecoveryContext::Disable();
return 0;
}
Do you think it is a good idea to fold the abort signal handler and
signal/_set_abort_handler into CrashRecoveryContext? The handler can be
registered in Enabl...
2009 Jul 10
0
[LLVMdev] void llvm::PATypeHolder::addRef(): Assertion `Ty && "Type Holder has a null type!"' failed.
...Linker::LinkInFiles (this=0x7fffffffdc60,
Files=std::vector of length 1, capacity 1 = {...}) at LinkItems.cpp:235
#19 0x0000000000b8a904 in main (argc=2, argv=0x7fffffffe098,
env=0x7fffffffe0b0) at main.cpp:209
If I do _not_ include the following line at the beginning of my program
llvm::llvm_start_multithreaded();
then all is well.
Does anyone have a clue what is going on?
Thanks,
Kind regards,
Maurice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090711/18348fdb/attachment.html>
2014 Mar 22
2
[LLVMdev] LLVM memory management
I made a mistake in my previous email what I want to know about is the
component called lli which is part of the LLVM compiler infrastructure. The
command lli allow for programs compiled to bytecode to be run directly.
1. How does the lli keep itself from being overwritten by a misbehaving
program?
3. does it support multithreading?
4. does lli allow for multitasking or do you just ran one VM
2009 Jun 17
0
[LLVMdev] Undocumented API changes
...call the llvm::InitializeNativeTarget() function before creating an
> EE.
This fixes long standing linkage problems and helps us move forward
with cmake.
> 2.
> The major CHANGE is: the JIT will no longer be safe for executing
> threaded applications without first invoking
> llvm_start_multithreaded().
> Please begin to update your client applications now if this affects
> you, as I will be throwing the switch in SVN sooner rather than later.
I don't believe that this is true anymore. However, the reason for
this series of changes is to make LLVM multithread safe, so that you...
2010 Nov 13
8
[LLVMdev] Ahoy JIT Users
Hi,
I am starting to poke at the LLVM JIT, which seems to be in need of some TLC.
If you are a "sophisticated" JIT user and are using either internal
APIs (either by integrating with LLVM, or by other C++ tricks), or are
using obscure or poorly documented public APIs (e.g., why is
runJITOnFunction exposed?) please make me aware of it!
I reserve the right to break anything which
2020 Apr 12
7
LLVM multithreading support
Hi all,
I was looking at the profile for a tool I’m working on, and noticed that it is spending 10% of its time doing locking related stuff. The structure of the tool is that it reading in a ton of stuff (e.g. one moderate example I’m working with is 40M of input) into MLIR, then uses its multithreaded pass manager to do transformations.
As it happens, the structure of this is that the parsing