Displaying 20 results from an estimated 90000 matches similar to: "[LLVMdev] Releasing Module memory"
2005 Nov 02
1
[LLVMdev] Memory management and LLVM types
I am somewhat confused about how I should go about releasing LLVM
types. Some types are owned by a Module, and others I am not sure
about. Are there any general rules or guidelines that I should be aware
of? It appears to me that whenever I am passing a "new" object into a
container type like a module or basic block that the container owns the
object. Is that accurate? If this is
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
2015 Jul 26
1
[LLVMdev] [cfe-dev] Clang devirtualization proposal
On Sat, Jul 25, 2015 at 12:39 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> Hi Piotr,
>
> Thanks for posting this! First, a question. When you say, regarding i8*
> @llvm.invariant.group.barrier(i8*):
>
> "Required to handle destructors, placement new and std::launder. Call of
> this function will be put on the end of each of this functions"
>
> I
2008 Feb 15
0
[LLVMdev] Possible Bad Assertion in Value.cpp
On Feb 15, 2008, at 1:57 PM, John Criswell wrote:
> Dear All,
>
> I'm getting the following assertion from a program I've written:
>
> /home/vadve/criswell/src/llvm22/lib/VMCore/Value.cpp:57: virtual
> llvm::Value::~Value(): Assertion `use_empty() && "Uses remain when a
> value is destroyed!"' failed.
>
> This occurs when I free a Module
2004 Nov 10
2
[LLVMdev] LLVM and memory leaks
Hi,
I fixed my initial problem with the order of static destructors, so the
program no longer crashes on shutdown. However I'm getting a lot of
warnings about memory leaks -- it seems the LLVM type factories are
creating objects in their 'get' method which are never deleted. This is
unacceptable because these warnings make it very hard to track if any
other memory is leaking from
2015 Jun 04
3
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 11:27 AM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
> Since the compiler is always free to delete available_externally
> functions, I think you could just add a pass to the -flto=thin pipeline
> that deletes all of them (referenced or not) -- it's just a single loop
> through all the functions deleting the bodies of those with the right
2007 Feb 14
0
[873] trunk/wxruby2/swig/classes/GridCellAttr.i: Prevent GC prematurely cleaning up GridCellAttr-related classes
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding:
2015 Jun 25
2
[LLVMdev] Are Module / Function / Instruction iteration orders stable?
Hi guys,
Suppose I have an IR file on disk, and I access it via a Module pass. Also
suppose that the bitcode file hasn't changed, and no transformation passes
have run.
Then can I safely assume that every time my Module pass executes code like
the following, it will always visit the Module's Functions, BasicBlocks,
and Instructions in the same order?
for (auto const & Fn : Module)
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Oh, you probably also need to create a static llvm_shutdown_obj.
On 06/01/2011 02:19 PM, Michael Ilseman wrote:
> Thanks for the reply! Unfortunately, that seems to have the same
> effect as setting llvm::TimePassesIsEnabled myself, and all my same
> problems still apply as the TimingInfo's destructor (PassManager.cpp)
> is still never called. Running it in the debugger shows that
2008 Feb 15
2
[LLVMdev] Possible Bad Assertion in Value.cpp
Dear All,
I'm getting the following assertion from a program I've written:
/home/vadve/criswell/src/llvm22/lib/VMCore/Value.cpp:57: virtual
llvm::Value::~Value(): Assertion `use_empty() && "Uses remain when a
value is destroyed!"' failed.
This occurs when I free a Module (the program uses an auto_ptr() to the
Module, and the auto_ptr() moves out of scope).
It
2007 Jun 25
0
[1070] trunk/wxruby2/swig/fixdeleting.rb: Remove old, now unused, fixdeleting script
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding:
2008 Apr 16
0
[LLVMdev] Problems in removing a cloned instruction.
Hi,
I'm gonna try to give some feedback, but I have only been working with LLVM
for a few days, so don't take what I'm saying without verifying :-)
> BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB,
> DenseMap<const Value*, Value*> &ValueMap,
> const char *NameSuffix, Function *F) {
>
> BasicBlock
2011 Jun 01
2
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Thanks for the reply! Unfortunately, that seems to have the same
effect as setting llvm::TimePassesIsEnabled myself, and all my same
problems still apply as the TimingInfo's destructor (PassManager.cpp)
is still never called. Running it in the debugger shows that
TimerGroup's removeTimer method is never called, nor is it's
destructor (but it's constructor is).
On Wed, Jun 1, 2011
2008 Feb 15
2
[LLVMdev] Possible Bad Assertion in Value.cpp
Chris Lattner wrote:
> On Feb 15, 2008, at 1:57 PM, John Criswell wrote:
>
>
>> Dear All,
>>
>> I'm getting the following assertion from a program I've written:
>>
>> /home/vadve/criswell/src/llvm22/lib/VMCore/Value.cpp:57: virtual
>> llvm::Value::~Value(): Assertion `use_empty() && "Uses remain when a
>> value is
2020 Jun 01
1
[PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new
On Mon, 1 Jun 2020 at 13:37, Ben Skeggs <skeggsb at gmail.com> wrote:
>
> On Mon, 1 Jun 2020 at 13:27, <dinghao.liu at zju.edu.cn> wrote:
> >
> >
> > Hi Ben,
> >
> > > > When gk20a_clk_ctor() returns an error code, pointer "clk"
> > > > should be released. It's the same when gm20b_clk_new()
> > > > returns
2005 Jun 28
1
[OT] Memory Models and Multi/Virtual-Cores -- WAS: 4.0-> 4.1 update failing
From: Robert Hanson <roberth at abbacomm.net>
> or should i be more specific with the question(s)?
> the reason i ask is that i just dumped 2 gig dram in a basic
> P4 Intel 3.0GHz box to play with.
> regards and TIA,
At more than 1GiB on Linux/x86, you must use a 4G+4G kernel
(this is the default) to see more than 960MiB. This causes a
signficant (10%+) performance hit. On
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
I got it working with this:
int argc = 2;
const char *argv[2] = {"myopt", "-time-passes"};
cl::ParseCommandLineOptions(argc, (char **)argv, "my optimizer");
On 06/01/2011 01:19 PM, Michael Ilseman wrote:
> I have some PassManagers, and I would like to output timing data for
> how long each pass takes to execute with a separate
2018 Aug 27
3
Replacing a function from one module into another one
Hello LLVM Developers,
I'm trying to replace a function defined in one module into another module
(different files). The first issue I ran into was that llvm::Function does
not have a method "moveBefore" or "moveAfter" as the llvm::BasicBlock or
llvm::Instruction do, so I figured I would just move the BasicBlocks of the
replacing function into the function that was being
2020 Jun 01
0
[PATCH] drm/nouveau/clk/gm20b: Fix memory leak in gm20b_clk_new
On Mon, 1 Jun 2020 at 13:27, <dinghao.liu at zju.edu.cn> wrote:
>
>
> Hi Ben,
>
> > > When gk20a_clk_ctor() returns an error code, pointer "clk"
> > > should be released. It's the same when gm20b_clk_new()
> > > returns from elsewhere following this call.
> > This shouldn't be necessary. If a subdev constructor fails, and
>
2016 Feb 25
0
Heap problems with 3.8.0rc2 in combination with vs2015 sp1
I downloaded 3.8.0rc3 and I also have it in 3.8.0rc3.
I did set a data access breakpoint on the first function ptr that causes
the invalid heap. This would allow me to break whenever someone is touching
that address. It did not show double deletes during debugging. Further more
I managed to narrow it down to 2 function calls:
// stupid code, but its just for triggering heap error
auto func =