Displaying 11 results from an estimated 11 matches for "oldfunc".
2010 Nov 25
1
[LLVMdev] Detailed help with cloning the basic blocks of a function
Hi,
Thank you guys for helping me out with my previous questions.
I am new to LLVM, and I'm getting stuck trying to do some basic stuff:
Currently, I'm trying to move all the basic blocks of one function into
another one,
and at some point insert a branch into the moved function's entry point.
The best way which I've found is to use CloneBasicBlock (from Cloning.h).
However, I
2015 Feb 13
2
[LLVMdev] module functions
Hi.
I would like to move first function of module to end. To do this, I remove
function from module, then I insert it with getOrInsertFunction() method.
It worked. But there is a problem: I can't see body of function (basic
blocks). In other words, function basic blocks don't move.
To solve, I store function basic blocks before remove it. and after
function insertion, I want to insert
2017 Jun 19
2
CloneFunctionInto produces invalid debug info
...t; On Jun 19, 2017, at 2:59 PM, Adrian Prantl <aprantl at apple.com> wrote:
>
> In your example the instructions in the cloned function have debug locations belonging to a different function, and the function itself is missing a DISubprogram metadata attachment.
>
>> (lldb) p OldFunc->dump()
>>
>> ; Function Attrs: nounwind optsize
>> define internal void @f_1.extracted_region(i32, i32*, %struct.t_c*, %struct.t_d*) #0 {
>> if.end12.extracted_entry:
>> %and14 = and i32 %0, 2, !dbg !89
>> %tobool15 = icmp eq i32 %and14, 0, !dbg !89
>&g...
2009 Nov 05
0
[LLVMdev] Debug Information for LLVM 2.6 and TOT
...ot be null!");
#ifndef NDEBUG
@@ -411,8 +434,22 @@
}
// Otherwise, remap the rest of the instructions normally.
- for (; I != NewBB->end(); ++I)
+ unsigned DbgKind = 0;
+ MDNode *TheCallMD = NULL;
+ SmallVector<Value *, 4> MDVs;
+ LLVMContext &Context = OldFunc->getContext();
+ if (TheCall && TheCall->hasMetadata()) {
+ DbgKind = Context.getMetadata().getMDKind("dbg");
+ TheCallMD = Context.getMetadata().getMD(DbgKind, TheCall);
+ }
+ for (; I != NewBB->end(); ++I) {
+ if (TheCallMD && I->hasMe...
2010 Jan 09
2
[LLVMdev] [PATCH] Fix nondeterministic behaviour in the CodeExtractor
...cBlock*>::const_iterator i = BlocksToExtract.begin(),
e = BlocksToExtract.end(); i != e; ++i) {
TerminatorInst *TI = (*i)->getTerminator();
for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i)
@@ -633,7 +634,7 @@
Function::BasicBlockListType &oldBlocks = oldFunc->getBasicBlockList();
Function::BasicBlockListType &newBlocks = newFunction->getBasicBlockList();
- for (std::set<BasicBlock*>::const_iterator i = BlocksToExtract.begin(),
+ for (SetVector<BasicBlock*>::const_iterator i = BlocksToExtract.begin(),
e = BlocksToE...
2017 Jun 20
2
CloneFunctionInto produces invalid debug info
...17, at 2:59 PM, Adrian Prantl <aprantl at apple.com> wrote:
>>
>> In your example the instructions in the cloned function have debug locations belonging to a different function, and the function itself is missing a DISubprogram metadata attachment.
>>
>>> (lldb) p OldFunc->dump()
>>>
>>> ; Function Attrs: nounwind optsize
>>> define internal void @f_1.extracted_region(i32, i32*, %struct.t_c*,
>>> %struct.t_d*) #0 {
>>> if.end12.extracted_entry:
>>> %and14 = and i32 %0, 2, !dbg !89
>>> %tobool15 = ic...
2009 Nov 05
2
[LLVMdev] Debug Information for LLVM 2.6 and TOT
Devang Patel wrote:
> Hi John,
>
> On Wed, Nov 4, 2009 at 12:04 PM, John Criswell <criswell at uiuc.edu> wrote:
>
>> Dear All,
>>
>> 1) I recall reading somewhere that a few optimizations in LLVM 2.6 strip
>> away debug information when such information interferes with
>> optimization. Is this correct,
>>
>
> Yes.
>
>
2017 Jun 16
2
CloneFunctionInto produces invalid debug info
The if you are cloning into the same LLVM module the CU should not cloned. If don't mind sharing your code, I can try to help diagnose why the CU gets cloned... just send me a patch that applies to trunk and instructions.
-- adrian
> On Jun 16, 2017, at 1:54 PM, Sergei Larin <slarin at codeaurora.org> wrote:
>
> Sorry… It takes a pass that was not accepted for upstreaming….
2012 Oct 10
4
[Bug 55832] New: xf86-video-nouveau-1.0.2 - Xorg crashes once a week : segmentation fault in NVRefreshArea
..., dsty=0)
at
/var/tmp/portage/x11-base/xorg-server-1.13.0/work/xorg-server-1.13.0/hw/xfree86/shadowfb/shadow.c:618
ret = <optimized out>
box = {x1 = 1585, y1 = 1136, x2 = 2225, y2 = 1211}
boxNotEmpty = 1
pPriv = 0x10cd450
pGCPriv = 0x14fe160
oldFuncs = 0x7f1f9121e1c0 <ShadowGCFuncs>
#2 0x0000000000436f43 in ProcCopyArea (client=0x147b480)
at
/var/tmp/portage/x11-base/xorg-server-1.13.0/work/xorg-server-1.13.0/dix/dispatch.c:1622
pDst = 0x3f65130
pSrc = 0x3c39750
pGC = 0x14fe0b0
stuff = 0x3f416d8...
2011 May 20
14
[Bug 37398] New: some applications (like wine) crash nouveau and leave it in an unworkable state
https://bugs.freedesktop.org/show_bug.cgi?id=37398
Summary: some applications (like wine) crash nouveau and leave
it in an unworkable state
Product: xorg
Version: unspecified
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: major
Priority: medium
Component:
2009 Mar 20
12
[Bug 20780] New: nouveau corrupts and crashes on 7800gt when NoAccel= false after a few drawing operations
http://bugs.freedesktop.org/show_bug.cgi?id=20780
Summary: nouveau corrupts and crashes on 7800gt when
NoAccel=false after a few drawing operations
Product: xorg
Version: unspecified
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium