Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Liveness analysis on MachineBasicBlock"
2010 Nov 05
0
[LLVMdev] Basic block liveouts
Because I feel bad for giving a non-answer:
An easy way to find if a virtual register is alive after the basic block is
to
While iterating over the virtual registers
- Check to see if the virtual register's "next" value exists outside of the
basic block.
for instance:
std::vector<unsigned> findLiveOut( MachineBasicBlock * mbb ) {
std::vector<unsigned> liveout;
for(
2013 Jun 04
0
[LLVMdev] MachineBasicBlock::addLiveIn errors
The unchecked assertion that the same register is not added multiple times to the MBB::LiveIn list isn't being respected. Could we add an assertion to check for it?
==== //dwarc/Tools/MetaWare/Toolset/main/dev/llvm/include/llvm/CodeGen/MachineBasicBlock.h#6 - /remote/arctools/marksl/marksl_1/llvm/include/llvm/CodeGen/MachineBasicBlock.h ====
295,298d294
< /// addLiveIn - Add the
2010 Nov 05
0
[LLVMdev] Basic block liveouts
They cannot be found like the live in values because different values may be
live out.
For instance the psudocode may look like:
BB0:
vreg1 = rand()
if( vreg1 > .5 ) goto BB1;
else goto BB2;
BB1:
vreg 2 = rand();
EAX = copy vreg2;
Return
BB2:
vreg 3 = rand() * rand()'
EAX = copy vreg3;
Return
On Fri, Nov 5, 2010 at 7:41 AM, s Last namerc <srcsrc84 at yahoo.com>
2010 Nov 05
4
[LLVMdev] Basic block liveouts
Is there an easy way to obtain all liveout variables of a basic block? Liveins
can be found for each MachineBasicBlock, but I can only find liveouts for the
whole function, at MachineRegisterInfo. Do I need to find them out manually?
2014 Mar 03
2
[LLVMdev] C++11 reverse iterators (was C++11 is here)
On 3 March 2014 12:13, Pete Cooper <peter_cooper at apple.com> wrote:
> It would also be good to agree on a way to handle reverse iterators, especially on those which already use begin() and end() for going forwards. For example
rbegin() and rend()?
--renato
2015 Apr 01
2
[LLVMdev] Why the fault?
for (BasicBlock::reverse_iterator I = BB.rbegin(), E = BB.rend(); I != E; ) {
Instruction& inst = *I;
++I; <-- iterator should be advanced to the previous instruction
// Happens to be an Instruction::SExt.
// Works fine if I iterate forwards
if (isInstructionTriviallyDead(&inst, TLI))
inst.eraseFromParent();
}
Sorry for the inexperienced question, but
2014 Mar 03
3
[LLVMdev] C++11 reverse iterators (was C++11 is here)
On 3 March 2014 12:32, Pete Cooper <peter_cooper at apple.com> wrote:
> Would those work with a foreach construct? Perhaps I forgot to mention that was what I'm trying to work out here.
>
> In example 3 I was wondering if we could define a method reverse(). We could use sfinae to wrap that around rbegin/rend if people like that style?
Sorry, I was too terse... ;)
If MF is a
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
2012 Feb 14
0
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
Hi Tom,
I'm pretty sure this function should only ever be called once, by
SelectionDAG. Do you know where the second call is coming from in your code?
Cheers,
Lang.
On Mon, Feb 13, 2012 at 7:03 PM, Stellard, Thomas <Tom.Stellard at amd.com>wrote:
> This patch seems to have been lost on the llvm-commits mailing list.
> Would someone be able to review it?
>
> Thanks,
>
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
2012 Feb 14
2
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
This patch seems to have been lost on the llvm-commits mailing list. Would someone be able to review it?
Thanks,
Tom
________________________________________
From: llvm-commits-bounces at cs.uiuc.edu [llvm-commits-bounces at cs.uiuc.edu] on behalf of Tom Stellard [thomas.stellard at amd.com]
Sent: Friday, February 03, 2012 1:55 PM
To: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits]
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
2012 Feb 15
0
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
Hi Tom,
As far as I can tell EmitLiveInCopies is just there to handle physreg
arguments and return values. Is there any reason for these to change late
in your backend?
- Lang.
On Tue, Feb 14, 2012 at 7:22 AM, Tom Stellard <thomas.stellard at amd.com>wrote:
> On Mon, Feb 13, 2012 at 10:17:11PM -0800, Lang Hames wrote:
> > Hi Tom,
> >
> > I'm pretty sure this
2009 May 31
1
[LLVMdev] Value liveout (uses)
The pass you're referring to is in include/llvm/Analysis/LiveValues.h
and lib/Analysis/LiveValues.cpp. It computes conservative
approximations for specific liveness queries, rather than full
livein/liveout information. It's intended to be used as a heuristic.
Dan
On May 30, 2009, at 3:51 PM, Evan Cheng wrote:
> I believe Dan has added a pass to compute livein / liveout values.
>
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
2012 Feb 14
2
[LLVMdev] [llvm-commits] [PATCH] MachineRegisterInfo: Don't emit the same livein copy more than once
On Mon, Feb 13, 2012 at 10:17:11PM -0800, Lang Hames wrote:
> Hi Tom,
>
> I'm pretty sure this function should only ever be called once, by
> SelectionDAG. Do you know where the second call is coming from in your code?
>
> Cheers,
> Lang.
Hi Lang,
I was calling EmitLiveInCopies() from one of my backend specific passes.
If the function can only be called once, then
2014 Mar 03
3
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
On Sun, Mar 2, 2014 at 9:26 PM, Chris Lattner <sabre at nondot.org> wrote:
>
> On Mar 2, 2014, at 8:53 PM, Renato Golin <renato.golin at linaro.org> wrote:
>
> > On 3 March 2014 12:32, Pete Cooper <peter_cooper at apple.com> wrote:
> >> Would those work with a foreach construct? Perhaps I forgot to mention
> that was what I'm trying to work out
2013 Nov 21
1
[LLVMdev] is liveIns in machineBasicBlock only valid for first block in machine function ?
Thanks
--
View this message in context: http://llvm.1065342.n5.nabble.com/is-liveIns-in-machineBasicBlock-only-valid-for-first-block-in-machine-function-tp63667.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.
2014 Mar 04
3
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
On Mon, Mar 3, 2014 at 12:26 AM, Chris Lattner <sabre at nondot.org> wrote:
>
> On Mar 2, 2014, at 8:53 PM, Renato Golin <renato.golin at linaro.org> wrote:
>
> > On 3 March 2014 12:32, Pete Cooper <peter_cooper at apple.com> wrote:
> >> Would those work with a foreach construct? Perhaps I forgot to mention
> that was what I'm trying to work out
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion and use/def list update
Hi all,
I am still stumped on the same bug. Did anyone try to insert
MachineBasicBlock into a MachineFunction?
Any advice will be appreciated. Thanks a lot in advance.
~Bin
----------------------------------------------------------------------------------------------------------------------------
Thanks a lot Jeff. I changed the setNumber function call to
2010 Oct 15
1
[LLVMdev] how to get MachineBasicBlock of a BasicBlock
Also note: there may be multiple MachineBasicBlock's for a single
BasicBlock.
- David M
On Fri, Oct 15, 2010 at 4:59 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> I don't think you can.
>
> The BasicBlock is a member of MachineBasicBlock. It is not inherited,
> so it cannot be cast. The number of the MachineBasicBlock is not the
> same as any BasicBlock values.
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion
Hi all,
I am really stumped on a problem for long. I could not figure out why.
That is why i am here. OK, here is the problem:
I tried to insert a MachineBasicBlock into a function. Here is the code
snippet:
// insert a machine basic block with the error_label into MF and before I
// Pred is the predecessor of the block to be inserted
// the new basic block is inserted right before I
void
2014 Mar 03
2
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
On Mar 2, 2014, at 10:27 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Sun, Mar 2, 2014 at 10:13 PM, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> On Sun, Mar 2, 2014 at 9:26 PM, Chris Lattner <sabre at nondot.org> wrote:
>
> On Mar 2, 2014, at 8:53 PM, Renato Golin <renato.golin at linaro.org> wrote:
>
> > On 3 March 2014
2009 May 30
0
[LLVMdev] Value liveout (uses)
I believe Dan has added a pass to compute livein / liveout values.
Evan
Sent from my iPhone
On May 30, 2009, at 5:03 AM, Rotem Varon <varonrotem at gmail.com> wrote:
> Thank you.
>
> Is it possible to determine the liveout of the operands (see example
> bellow) ?
>
> %5 = add i32 %4, %3
>
> For '%5': i can simply use "