Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Order of Basic Blocks"
2011 Nov 20
1
[LLVMdev] Order of Basic Blocks
Sorry, forgot to add group to CC.
On Sun, Nov 20, 2011 at 6:14 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Cameron,
>
> To make it less vague, I would ideally like to traverse top down. I
> believe what you suggested is what I want, I will have a look at it.
>
> Currently, I am iterating over the BBs in a Function, so
> Function::iterator BBitr=F->begin(),
2011 Nov 21
0
[LLVMdev] Order of Basic Blocks
Is there a way to cast the rpo_iterator to a basic block pointer? I need to
use the functions of the class Basic Block.
On Sun, Nov 20, 2011 at 3:15 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Sorry, forgot to add group to CC.
>
> On Sun, Nov 20, 2011 at 6:14 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
>> Cameron,
>>
>> To make it less vague,
2011 Nov 21
1
[LLVMdev] Fwd: Order of Basic Blocks
---------- Forwarded message ----------
From: Ryan Taylor <ryta1203 at gmail.com>
Date: Mon, Nov 21, 2011 at 10:30 AM
Subject: Re: [LLVMdev] Order of Basic Blocks
To: Benjamin Kramer <benny.kra at googlemail.com>
This worked, though the RPO_iterator apparently wasn't what I was looking
for anyways, it seems it doesn't rreally go top->down.
I have a simple example code,
2010 Nov 24
2
[LLVMdev] A way to traverse machine basic blocks in order?
I'm looking for a way to traverse machine basic blocks in a specific order.
Basically I want all blocks that are predecessors to the current block to be traversed before the current block. I've looked at MachineDominatorTree but this doesn't traverse them in quite the way I want them to. Anyone know of a way to do this?
Thanks,
Micah
-------------- next part --------------
An HTML
2010 Nov 24
0
[LLVMdev] A way to traverse machine basic blocks in order?
The reverse postorder iterator does what you want. It's defined in ADT/PostOrderIterator.h, and is used like this:
ReversePostOrderTraversal<Function*> RPOT(&F);
for (ReversePostOrderTraversal<Function*>::rpo_iterator RI = RPOT.begin(),
RE = RPOT.end(); RI != RE; ++RI)
<work here>
Creating a ReversePostOrderTraversal is not cheap, because it first has to
2013 Apr 09
2
[LLVMdev] Any passes that work on extended basic blocks?
Hi all,
I am trying to find a sample pass that works on extended basic blocks. Any
suggestion or help is very much appreciated.
Thanks in advance.
Best,
Weibo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130408/5492103d/attachment.html>
2013 Apr 09
0
[LLVMdev] Any passes that work on extended basic blocks?
As far as I know, there is none. Pretty much every analysis or transform on EBBs can be extended to work on the dominator tree, which is what LLVM prefers.
Cameron
On Apr 8, 2013, at 9:53 PM, Bill He <wh3 at rice.edu> wrote:
> Hi all,
>
> I am trying to find a sample pass that works on extended basic blocks. Any suggestion or help is very much appreciated.
>
> Thanks in
2013 Feb 17
2
[LLVMdev] pseudo lowering
On Feb 17, 2013, at 1:01 PM, Reed Kotler <rkotler at mips.com> wrote:
> On 02/17/2013 12:48 PM, Andrew Trick wrote:
>> On Feb 16, 2013, at 1:31 PM, Cameron Zwarich <zwarich at apple.com> wrote:
>>
>>> That's exactly the right place.
>> Really? You don't want the expansion to be optimized? You want to specify a machine model for the pseudo's
2013 Mar 19
0
[LLVMdev] Basic Block code sample
Hi,
Example on how to iterate over CFG, take a look at DominanceFrontier.cpp.
You can further implement easily a traverse graph algorithm.
On Tue, Mar 19, 2013 at 2:35 PM, Ashish Kulkarni <
ashish-kulkarni at hotmail.com> wrote:
> Hi LLVM Delveloper,
> i've been working on LLVM and Clang to get basic block information.
> The CFG supports Visitors (CFG.h) but i might
2013 Feb 17
4
[LLVMdev] pseudo lowering
On Feb 16, 2013, at 1:31 PM, Cameron Zwarich <zwarich at apple.com> wrote:
> That's exactly the right place.
Really? You don't want the expansion to be optimized? You want to specify a machine model for the pseudo's as if they're real instructions? You don't want to schedule or register allocate the real instructions?
-Andy
> On Feb 16, 2013, at 1:08 PM, Reed
2013 Mar 19
2
[LLVMdev] Basic Block code sample
Hi LLVM Delveloper,
i've been working on LLVM and Clang to get basic block information. The CFG supports Visitors (CFG.h) but i might want to ask that is there any code sample available so that i can get the things easily..
Regards,
Kulkarni Ashish A.
College of engineering, Pune
India.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2013 Feb 17
0
[LLVMdev] pseudo lowering
On 02/17/2013 01:08 PM, Andrew Trick wrote:
>
> On Feb 17, 2013, at 1:01 PM, Reed Kotler <rkotler at mips.com
> <mailto:rkotler at mips.com>> wrote:
>
>> On 02/17/2013 12:48 PM, Andrew Trick wrote:
>>> On Feb 16, 2013, at 1:31 PM, Cameron Zwarich<zwarich at apple.com> wrote:
>>>
>>>> That's exactly the right place.
2013 Feb 17
0
[LLVMdev] pseudo lowering
On 02/17/2013 12:48 PM, Andrew Trick wrote:
> On Feb 16, 2013, at 1:31 PM, Cameron Zwarich <zwarich at apple.com> wrote:
>
>> That's exactly the right place.
> Really? You don't want the expansion to be optimized? You want to specify a machine model for the pseudo's as if they're real instructions? You don't want to schedule or register allocate the real
2017 Oct 27
3
Dominator tree side effect or intentional
Hello,
I was wondering whether or not some behaviour that I am seeing is expected behaviour and that it has been designed like this, or not.
A dominator relation is given by "if A dominates B", then all paths to B go through A.
For example, take the CFG below (which is a directed graph (couldn’t make the arrow heads but ok.):
A
/ \
B C
\ /
D
|
E
We can construct
2011 Mar 16
2
[LLVMdev] Calls to functions with signext/zeroext return values
On Mar 16, 2011, at 9:31 AM, Cameron Zwarich wrote:
> Promoting the return value is unsafe for bool returns on x86-64, which in the latest revision of the ABI only guarantees that the top 7 bits of the 8-bit register are 0.
My comment is a bit off, because the question of what type to make the return value is somewhat orthogonal to the question of which zext assert we should add.
Cameron
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
2011 Nov 21
2
[LLVMdev] Optimization of array access
On Mon, Nov 21, 2011 at 1:03 PM, Michael Smith
<Michael.Smith at synopsys.com> wrote:
> Sorry, Dead Store Elimination.
Hmm... does tweaking the value of BlockScanLimit in
MemoryDependenceAnalysis.cpp help?
-Eli
>
>
>
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
> Behalf Of Michael Smith
> Sent: Monday, November 21, 2011 12:20 PM
2012 Jan 12
4
[LLVMdev] Extract Loop Failing
It looks like this problem only exists on nested loops, ideas?
On Thu, Jan 12, 2012 at 11:44 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Is it not a good idea to try and extract loops that have multiple exits?
>
>
> On Thu, Jan 12, 2012 at 10:44 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
>> I am trying to use ExtractLoop() but I am getting segFaults:
2010 Oct 05
2
[LLVMdev] [LLVMDev] Phi elimination: Who does what
The allocator you are building, is it the Hack's and Goos's polynomial
time algorithm?
On Tue, Oct 5, 2010 at 7:14 PM, Cameron Zwarich <zwarich at apple.com> wrote:
> There is nothing that currently handles this properly, as far as I know. If you have a phi
>
> c = phi(a, b)
>
> where a, b and c are all assigned distinct stack slots, then copies must be inserted in
2011 Jun 12
6
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
On Jun 12, 2011, at 1:25 AM, Duncan Sands wrote:
> Hi Sohail,
>
>> Is LLVM expressive enough to represent asynchronous exceptions?
>
> not currently. The first step in this direction is to get rid of the invoke
> instruction and attach exception handling information to basic blocks. See
> http://nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt
> for a