Displaying 20 results from an estimated 100000 matches similar to: "[LLVMdev] LiveVariables at LLVM IR"
2011 Mar 31
0
[LLVMdev] LiveValues removal
LiveVariables is the optimized and tested way to get variable liveness
information (it's used by register allocation). Unfortunately it
requires a MachineFunction to work - so you'll either need to lower to
one of the built-in targets or add your own target to acquire access to
this pass.
Andrew
On 03/31/2011 12:28 PM, Carlo Alberto Ferraris wrote:
> I've read that LiveValues
2011 Mar 31
3
[LLVMdev] LiveValues removal
I've read that LiveValues has been removed from trunk. Did it bitrot or
was simply removed because a replacement is available?
If it's the former, what caused the bitrotting? If it's the latter,
what's the replacement? (I've found LiveVariables but I'm not sure it
can be used in a ModulePass).
b.r.
--
Carlo Alberto Ferraris <cafxx at strayorange.com
<mailto:cafxx
2005 Sep 07
0
[LLVMdev] LiveIntervals invalidates LiveVariables?
On Wed, 2005-09-07 at 18:24 +0800, Tzu-Chien Chiu wrote:
> I though LiveVariables may be invalidated by LiveIntervals, but it's
> declared not:
>
> void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const
> {
> AU.addPreserved<LiveVariables>();
> AU.addRequired<LiveVariables>();
> ...
>
> LiveInterval may coalesce virtual registers and
2005 Sep 07
3
[LLVMdev] LiveIntervals invalidates LiveVariables?
I though LiveVariables may be invalidated by LiveIntervals, but it's
declared not:
void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const
{
AU.addPreserved<LiveVariables>();
AU.addRequired<LiveVariables>();
...
LiveInterval may coalesce virtual registers and remove identity moves
instructions:
bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
2011 Jan 13
1
[LLVMdev] Where is liveness analysis pass?
Hello all
Currently I want to use the accurate liveness information when writing a *target independent* FunctionPass based on LLVM. The one I can find is LiveValues, a FunctionPass. But it doesn't use classic dataflow equation and can only provide approximate and conservative result. The another one is LiveVariables which use classic data flow equation, but it comes from Clang's analysis
2011 Jan 13
0
[LLVMdev] Where is liveness analysis pass?
<style id="sinamailpaperfilter">.sinamailpaper-0{cursor:text;}.sinamailpaper-0 td,.sinamailpaper-0 textarea,.sinamailpaper-0 input,.sinamailpaper-0 br,.sinamailpaper-0 div,.sinamailpaper-0 span{font-size:14px;font-family:"宋体",Verdana,Arial,Helvetica,sans-serif;line-height:1.5;}.sinamailpaper-0 p{/**margin:0.2em auto;*/margin:0px;}.sinamailpaper-0
2007 Jul 13
0
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
On Wednesday 11 July 2007 15:07, Christopher Lamb wrote:
> Could it be possible for there to be a harness type interface that
> would allow coalescers that support both modes to be hooked into the
> pass registration, and those that depend on the allocator not be
> registered as passes?
I have a patch for this kind of thing attached. Please take a look and let
me know if it looks
2016 Aug 23
2
Help in understanding physreg LiveVariables
<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" >Matthias,</div>
<div dir="ltr" > </div>
<div dir="ltr" >Thanks for the response.</div>
<div
2013 Feb 09
2
[LLVMdev] Deleting LiveVariables
On Feb 8, 2013, at 4:37 PM, Cameron Zwarich <zwarich at apple.com> wrote:
> On Feb 8, 2013, at 4:20 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>
>> On Feb 8, 2013, at 4:03 PM, Cameron Zwarich <zwarich at apple.com> wrote:
>>
>>> How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that
2013 Feb 09
0
[LLVMdev] Deleting LiveVariables
How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that for StrongPhiElimination (RIP). IIRC you run into a lot of problems with NEON subregister defs, which might be fixed by your new direct LiveIntervals implementation.
Cameron
On Feb 8, 2013, at 3:41 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> I just enabled a new
2011 May 02
2
[LLVMdev] LiveVariables not updated in MachineBasicBlock::SplitCriticalEdge?
Is LiveVariables updated correctly when TII->RemoveBranch and
TII->InsertBranch are called in the following piece of code?
- MachineBasicBlock::updateTerminator() line 307 of MachineBasicBlock.cpp:
if (FBB) {
// The block has a non-fallthrough conditional branch. If one of its
// successors is its layout successor, rewrite it to a fallthrough
// conditional branch.
2013 Feb 08
2
[LLVMdev] Deleting LiveVariables
I just enabled a new algorithm for computing live intervals that doesn't depend on LiveVariables.
The goal is to get rid of the LiveVariables analysis completely, but unfortunately PHI elimination and the two-address pass still use LiveVariables for some optimizations. They don't require it, they work just fine without it at -O0. They use it to generate better code in some cases.
The
2016 Aug 23
2
Help in understanding physreg LiveVariables
<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" > </div>
<div dir="ltr" >Hi all,</div>
<div dir="ltr" > </div>
<div
2011 May 03
1
[LLVMdev] LiveVariables not updated in MachineBasicBlock::SplitCriticalEdge?
Does updateTerminator() need to be rewritten in order to implement the
changes you suggested (call LV->replaceKillInstruction)? Or can it be taken
care of just by adding code to the files in Target/Mips?
Also, is the generated code still correct if
-disable-phi-elim-edge-splitting is added to the command line options?
On Mon, May 2, 2011 at 5:00 PM, Jakob Stoklund Olesen <stoklund at
2011 May 03
0
[LLVMdev] LiveVariables not updated in MachineBasicBlock::SplitCriticalEdge?
On May 2, 2011, at 3:51 PM, Akira Hatanaka wrote:
> - vreg81's VarInfo:
> Alive in blocks: 5, 6, 7, 8, 10, 12, 13, 19,
> Killed by:
> #0: J <BB#17>
>
>
> As you can see, VarInfo vreg81 is killed by the unconditional jump instruction of BB#20 when it should be killed by the newly created conditional branch in BB#14 (BEQ). Is this a bug in
2008 Apr 14
3
[LLVMdev] LiveVariables/LiveInterval on huge functions
Evan Cheng wrote:
> On Apr 13, 2008, at 1:28 PM, Török Edwin wrote:
>
>
>> Hi,
>>
>> In PR2193 LiveVariables runs out of memory on a 512M limit, after
>> processing 11557 basicblocks.
>> VirtRegInfo has ~180000 entries with ~700 bytes each.
>> If I give it more memory (1.5G) it runs out of memory in LiveInterval.
>>
>
> Some of the
2008 Apr 14
0
[LLVMdev] LiveVariables/LiveInterval on huge functions
On Apr 13, 2008, at 1:28 PM, Török Edwin wrote:
> Hi,
>
> In PR2193 LiveVariables runs out of memory on a 512M limit, after
> processing 11557 basicblocks.
> VirtRegInfo has ~180000 entries with ~700 bytes each.
> If I give it more memory (1.5G) it runs out of memory in LiveInterval.
Some of the information kept by LiveVariables are somewhat redundant
and can be removed. I
2011 Feb 25
1
[LLVMdev] Live values detection in LLVM
Hi all,
At some points of my program, I would like to know if some LLVM values
are live or not. For that, I'm using the LiveValues pass, which gives me
methods such as :
isLiveThroughBlock(Value * v, BasicBlock * b)
isKilledInBlock(Value * v, BasicBlock * b)
* If I understand well the code, dominator trees are used to compute the
LiveThrough blocks.
The definition of dominator in graph
2011 Jan 13
0
[LLVMdev] Where is liveness analysis pass?
Jin-Gu
Thanks for your suggestion. Using liveness information for virtual register is a good idea, but what I am working on is a source-to-source compiler, so I prefer to use FunctionPass instead of MachineFunctionPass.
Interestingly I found a FunctionPass example for classic liveness data flow equation.
http://cs.pub.ro/~cpl/wiki/images/1/15/Hello.txt
2008 Apr 14
0
[LLVMdev] LiveVariables/LiveInterval on huge functions
Török Edwin wrote:
> Evan Cheng wrote:
>
>> On Apr 13, 2008, at 1:28 PM, Török Edwin wrote:
>>
>>
>>
>>> Hi,
>>>
>>> In PR2193 LiveVariables runs out of memory on a 512M limit, after
>>> processing 11557 basicblocks.
>>> VirtRegInfo has ~180000 entries with ~700 bytes each.
>>> If I give it more memory