Displaying 6 results from an estimated 6 matches for "isallocapromotable".
2013 Feb 23
2
[LLVMdev] mem2reg for non entry blocks?
...ould appreciate any
pointers.
I am trying to understand why mem2reg only looks at allocas in entry
blocks, and not for any allocas in a function. One case where allocas could
be used to build local data structures like linked list (and so on make it
unsafe), and for that the existing conditions in IsAllocaPromotable (i.e.
the alloca pointer cannot escape or be stored or cast etc) should guard
against that, regardless of the position of the alloca. right? Is there a
reason for this?
Thanks
Vinod
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/...
2013 Feb 26
0
[LLVMdev] mem2reg for non entry blocks?
...pointers.
> I am trying to understand why mem2reg only looks at allocas in entry blocks, and
> not for any allocas in a function. One case where allocas could be used to build
> local data structures like linked list (and so on make it unsafe), and for that
> the existing conditions in IsAllocaPromotable (i.e. the alloca pointer cannot
> escape or be stored or cast etc) should guard against that, regardless of the
> position of the alloca. right? Is there a reason for this?
an alloca outside of the entry block might be inside a loop, in which case the
semantics are that it would allocate mor...
2004 Nov 26
2
[LLVMdev] Running specific passes
...s does not work. ExistingModuleProvider takes ownership of m.getParent()
and deletes it at the end.
3. This does not work. The Mem2Reg pass requires TargetData which does not
seem to be available. The only reason why it requires it, is to pass to
lib/Transforms/Utils/PromoteMemoryToRegister.cpp:isAllocaPromotable, which
does not use that data at all.
Could anybody suggest a better solution?
- Volodya
2004 Nov 26
0
[LLVMdev] Running specific passes
...tingModuleProvider takes ownership of m.getParent()
> and deletes it at the end.
>
> 3. This does not work. The Mem2Reg pass requires TargetData which does not
> seem to be available. The only reason why it requires it, is to pass to
> lib/Transforms/Utils/PromoteMemoryToRegister.cpp:isAllocaPromotable, which
> does not use that data at all.
>
> Could anybody suggest a better solution?
>
> - Volodya
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mail...
2013 Feb 26
2
[LLVMdev] mem2reg for non entry blocks?
...nd why mem2reg only looks at allocas in entry
>> blocks, and
>> not for any allocas in a function. One case where allocas could be used
>> to build
>> local data structures like linked list (and so on make it unsafe), and
>> for that
>> the existing conditions in IsAllocaPromotable (i.e. the alloca pointer
>> cannot
>> escape or be stored or cast etc) should guard against that, regardless of
>> the
>> position of the alloca. right? Is there a reason for this?
>>
>
> an alloca outside of the entry block might be inside a loop, in which case...
2013 Feb 26
1
[LLVMdev] mem2reg for non entry blocks?
On 2/26/13 8:06 AM, Duncan Sands wrote:
> Hi Justin,
>
>> an alloca outside of the entry block might be inside a loop, in
>> which case the
>> semantics are that it would allocate more stack space on every
>> loop iteration.
>> I think some of the optimizers that run later try to move allocas
>> into the entry
>> block if possible,