search for: llvm_start_multithread

Displaying 15 results from an estimated 15 matches for "llvm_start_multithread".

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 inv...
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 mu...
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 applicat...
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 sho...
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::Pa...
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::Ow...
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 wheth...
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 e...
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 Ena...
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