search for: llvm_shutdown

Displaying 20 results from an estimated 70 matches for "llvm_shutdown".

2013 Feb 09
3
[LLVMdev] ManagedStatic and order of destruction
I'm curious about the design rationale for how ManagedStatic instances are cleaned up, and I'm hoping someone can shed some light on it. Currently, ManagedStatic objects are cleaned up when llvm_shutdown() traverses the global list of initialized objects and calls destroy() on each. This leads to two questions: 1. An assertion enforces that the objects are deleted in reverse order of allocation. Is there any hard requirement for this, or is it only because of the way the linked list is created?...
2013 Feb 13
0
[LLVMdev] ManagedStatic and order of destruction
Right, I'm suggesting we keep llvm_shutdown() for users who want this control, but also destroy still-live ManagedStatic instances if llvm_shutdown() is not called. This helps in the case where there is not a clear time when llvm_shutdown() can be called, especially given that LLVM cannot be resurrected in the same process due to current li...
2017 May 02
4
[LTO] -time-passes and libLTO
...ns function in the LTO C API, no time information is produced during compilation. The reason for this is that time information is stored in state owned by a ManagedStatic instance, and is only printed when the state is destroyed. This in turn only happens when ManagedStatics are cleaned up, via the llvm_shutdown function. As we do not link against LLVM (except libLTO dynamically), we have no access to llvm_shutdown, which in turn means we are not able to clean up ManagedStatic instances and thus no timing information is produced. We have considered a few options and have come up with the following suggest...
2012 Jan 13
3
[LLVMdev] Memory leaks in LLVM on linux
Chris, I'm using a llvm_shutdown_obj object and it calls llvm_shutdown when I delete it. Do I need to call llvm_shutdown() again afterwards? It looks to me like the static object is being created after my program exits main(). From: Chris Lattner [mailto:clattner at apple.com] Sent: Friday, January 13, 2012 10:11 AM To: Villmow,...
2018 May 15
2
Pass segmentation fault after llvm_shutdown.
...?? () #1 0x00000000017d2b96 in llvm::object_deleter<llvm::SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, std::function<void (llvm::PassManagerBuilder const&, llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () #2 0x0000000001b0e5e9 in llvm::llvm_shutdown() () #3 0x00000000008d8077 in main () -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180514/0771d8c5/attachment.html>
2012 Dec 13
0
[LLVMdev] Memory leaks after llvm_shutdown
Hi llvmdev! In our project (Windows, Visual Studio compiler) we've got some frontend which generates LLVM IR. Now I'm observing strange *llvm_shutdown* behavior. If I called it when I was done using the LLVM APIs I saw that destructors of static objects created new ManagedStatic objects, which was never freed. Then I tried to use static global llvm_shutdown_obj to cause destruction of ManagedStatics after calling all static destructors. In t...
2018 May 15
0
Pass segmentation fault after llvm_shutdown.
...17d2b96 in llvm::object_deleter<llvm:: > SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, > std::function<void (llvm::PassManagerBuilder const&, > llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () > #2 0x0000000001b0e5e9 in llvm::llvm_shutdown() () > #3 0x00000000008d8077 in main () > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180514/649bf332/attachment.html>
2017 May 03
2
[LTO] -time-passes and libLTO
...TO C > API, no time information is produced during compilation. The reason for > this is that time information is stored in state owned by a ManagedStatic > instance, and is only printed when the state is destroyed. This in turn > only happens when ManagedStatics are cleaned up, via the llvm_shutdown > function. As we do not link against LLVM (except libLTO dynamically), we > have no access to llvm_shutdown, which in turn means we are not able to > clean up ManagedStatic instances and thus no timing information is produced. > > We have considered a few options and have come up wi...
2015 Jan 18
4
[LLVMdev] New JIT APIs
> From: Armin Steinhoff [mailto:armin at steinhoff.de] > Subject: Re: [LLVMdev] New JIT APIs > is >  delete EE;   // execution engine >  llvm_shutdown(); > sufficient ? AFAICT, llvm_shutdown() must not be called unless you reach a point where LLVM will not be used again by the process (e.g., termination), as it destroys statically allocated objects. We delete the ExecutionEngine (which automatically deletes TargetMachine and Module) after ea...
2009 Jul 26
2
[LLVMdev] Pass Scheduling Information without using opt
Hey Daniel, thanks for the response. > I believe all you need to do is call llvm::llvm_shutdown(). > I am not sure that this is what I need. When and how should I call llvm_shutdown()? After the FunctionPassManager is done, the calling ModulePass still performs quite a few actions on the transformed code and also calls the FunctionPassManager on different functions. However, I need t...
2017 Sep 19
0
Help with segfault in llvm_shutdown with LLVM 5.0 Release build
...vm::PassManagerBuilder::ExtensionPointTy, > std::function<void (llvm::PassManagerBuilder const&, > llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () > #2  0x000055555658492d in llvm::ManagedStaticBase::destroy() const () > #3  0x00005555565849e5 in llvm::llvm_shutdown() () > #4  0x000055555589e0a2 in main () > See https://reviews.llvm.org/D33515 for context.  I thought we fixed the problem, but it looks like you found some other way to trigger it. -Eli -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code...
2017 Sep 19
3
Help with segfault in llvm_shutdown with LLVM 5.0 Release build
...r<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, std::function<void (llvm::PassManagerBuilder const&, llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () #2 0x000055555658492d in llvm::ManagedStaticBase::destroy() const () #3 0x00005555565849e5 in llvm::llvm_shutdown() () #4 0x000055555589e0a2 in main () Best, Dipto
2018 May 17
0
Pass segmentation fault after llvm_shutdown.
...:object_deleter<llvm::Sma >> llVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, >> std::function<void (llvm::PassManagerBuilder const&, >> llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () >> #2 0x0000000001b0e5e9 in llvm::llvm_shutdown() () >> #3 0x00000000008d8077 in main () >> >> > > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttp://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > -- > Employee of Qualcomm Innovation...
2018 May 15
2
Pass segmentation fault after llvm_shutdown.
...llvm::object_deleter<llvm::SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, > std::function<void (llvm::PassManagerBuilder const&, > llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () > #2  0x0000000001b0e5e9 in llvm::llvm_shutdown() () > #3  0x00000000008d8077 in main () > > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -- Employee of Qualcomm Innovation Center, Inc....
2008 Dec 26
3
[LLVMdev] Re ducing LLVM's memory usage
...ng Function::deleteBody() ) and as a result the memory usage keeps growing. I browsed the forum and found that constants "live forever" by design. Is there are simple way of cleaning the used memory without destroying everything (unloading the ExecutionEngine, freeing the module, calling llvm_shutdown) ? Ideally I would like something which brings everything to the state just after I created the JIT engine for the first time. Thanks, Vitaly C. -- View this message in context: http://www.nabble.com/Reducing-LLVM%27s-memory-usage-tp21174014p21174014.html Sent from the LLVM - Dev mailing list arc...
2009 Jan 01
0
[LLVMdev] Re ducing LLVM's memory usage
Hi Vitaly C. wrote: > > Is there are simple way of cleaning the used memory without destroying > everything (unloading the ExecutionEngine, freeing the module, calling > llvm_shutdown) ? Ideally I would like something which brings everything to > the state just after I created the JIT engine for the first time. > I've tried to run the Fibonacci example with Valgrind after having added delete EE and llvm_shutdown in the main of fibonacci.cpp. Unfortunately, it gives m...
2009 Jul 26
0
[LLVMdev] Pass Scheduling Information without using opt
Hi Ralf, I believe all you need to do is call llvm::llvm_shutdown(). - Daniel On Sun, Jul 26, 2009 at 11:51 AM, Ralf Karrenberg<Ralf.Karrenberg at gmx.de> wrote: > Hello everybody, > > is it somehow possible to get information about what passes were run in > what order  or timing analysis of passes *without* using opt? > I am implementing...
2009 Jul 26
0
[LLVMdev] Pass Scheduling Information without using opt
On Sun, Jul 26, 2009 at 1:48 PM, Ralf Karrenberg<Chareos at gmx.de> wrote: > Hey Daniel, > > thanks for the response. > >> I believe all you need to do is call llvm::llvm_shutdown(). >> > I am not sure that this is what I need. When and how should I call > llvm_shutdown()? At the end of the program, this just arranges for LLVM's "managed statics" to be shutdown, which will triggering the printing of pass information. > After the FunctionPassMan...
2012 Jan 13
0
[LLVMdev] Memory leaks in LLVM on linux
On Jan 13, 2012, at 10:08 AM, Villmow, Micah wrote: > > Are these known issues? If so, how do I free this memory? > Hi Micah, Please try calling llvm_shutdown() -Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120113/a51dc89c/attachment.html>
2009 Jul 26
2
[LLVMdev] Pass Scheduling Information without using opt
Hello everybody, is it somehow possible to get information about what passes were run in what order or timing analysis of passes *without* using opt? I am implementing a ModulePass that at some point creates a FunctionPassManager which runs several passes, but I cannot figure a way to output the same information as when running a command line tool as described in "Writing an LLVM