Displaying 20 results from an estimated 29 matches for "postorderiterator".
2013 Mar 24
0
[LLVMdev] PostOrderIterator
Hello,
I was playing with PostOrderIterator.h and I found a strange behavior.
The core class, po_iterator, is a template. One of its template
parameters is the type of the set used to store visited nodes. An
instance of that type is used by its superclass, po_iterator_storage.
Default value of the set type is llvm::SmallPtrSet. This is cor...
2009 Jun 29
2
[LLVMdev] [cfe-dev] Patch for llvm::DepthFirstIterator.h and llvm::PostOrderIterator.h
Hi,
I've done all the minor changes you recommended and have attached a new
patch including both files again (even if po_iterator didn't change).
However:
Dan Gohman schrieb:
> The plural of "child" is "children"; please rename this function
> accordingly.
Is "childs" just sloppy, is it american english or is it just a
misconception of foreigners
2009 Jun 26
3
[LLVMdev] Patch for llvm::DepthFirstIterator.h and llvm::PostOrderIterator.h
...g AST processing.
Changes:
1. Both iterators now can deal with sub-nodes==0 - they just skip them
silently. For AST processing this is badly needed as you sometimes have
0-nodes in the AST (e.g. in 'for(;;) {}'). Until now both iterators
crash if they traverse a sub-node==0.
2. In llvm::PostOrderIterator.h I fixed a compile bug which occured if
used with external storage (which apparently nobody does until now).
3. I changed the behavior of llvm::DepthFirstIterator.h regarding the
retrieving of the first child. This is now retrieved in exactly that
moment it's needed. Until now it was retrie...
2009 Jun 27
0
[LLVMdev] Patch for llvm::DepthFirstIterator.h and llvm::PostOrderIterator.h
...> 1. Both iterators now can deal with sub-nodes==0 - they just skip
> them silently. For AST processing this is badly needed as you
> sometimes have 0-nodes in the AST (e.g. in 'for(;;) {}'). Until now
> both iterators crash if they traverse a sub-node==0.
> 2. In llvm::PostOrderIterator.h I fixed a compile bug which occured
> if used with external storage (which apparently nobody does until
> now).
> 3. I changed the behavior of llvm::DepthFirstIterator.h regarding
> the retrieving of the first child. This is now retrieved in exactly
> that moment it's n...
2011 Nov 20
3
[LLVMdev] Order of Basic Blocks
LLVMers,
Is there any way to guarantee iteration of the basic blocks from top down
or path to path? Currently it looks sort of semi-random, sometimes visiting
loop heads first and other times loop tails, is there a way I can visit the
BBs top down or path to path?
Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2011 Nov 20
1
[LLVMdev] Order of Basic Blocks
...umps to the
> bottom and goes bottom up. Is there a reason for this randomness?
>
> On Sun, Nov 20, 2011 at 6:10 PM, Cameron Zwarich <zwarich at apple.com>wrote:
>
>> Your question is a bit vague, but you probably want
>> ReversePostOrderTraversal from include/llvm/ADT/PostOrderIterator.h.
>>
>> Cameron
>>
>> On Nov 20, 2011, at 3:00 PM, Ryan Taylor wrote:
>>
>> > LLVMers,
>> >
>> > Is there any way to guarantee iteration of the basic blocks from top
>> down or path to path? Currently it looks sort of semi-random, so...
2009 Apr 13
0
[LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
po_iterator (ADT/PostOrderIterator.h) ?
On Mon, Apr 13, 2009 at 5:40 PM, Daniel M Gessel <gessel at apple.com> wrote:
> That looks like it does a preorder depth first traversal (I think).
> I'm looking for postorder. Is there a trivial transform between the
> two? (I don't know one.)
>
> Am I wrong abo...
2009 Apr 14
1
[LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
Too obvious!
Thanks
Dan
On Apr 13, 2009, at 7:58 PM, John Mosby wrote:
> po_iterator (ADT/PostOrderIterator.h) ?
>
> On Mon, Apr 13, 2009 at 5:40 PM, Daniel M Gessel <gessel at apple.com>
> wrote:
> That looks like it does a preorder depth first traversal (I think).
> I'm looking for postorder. Is there a trivial transform between the
> two? (I don't know one.)
>
>...
2009 Apr 13
2
[LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
That looks like it does a preorder depth first traversal (I think).
I'm looking for postorder. Is there a trivial transform between the
two? (I don't know one.)
Am I wrong about the preorder/postorder? If not, anything lurking for
postorder traversal?
Thanks,
Dan
On Apr 13, 2009, at 2:35 PM, Chris Lattner wrote:
>
> On Apr 13, 2009, at 11:20 AM, Daniel M Gessel wrote:
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...
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
2011 Nov 21
0
[LLVMdev] Order of Basic Blocks
...tom and goes bottom up. Is there a reason for this randomness?
>>
>> On Sun, Nov 20, 2011 at 6:10 PM, Cameron Zwarich <zwarich at apple.com>wrote:
>>
>>> Your question is a bit vague, but you probably want
>>> ReversePostOrderTraversal from include/llvm/ADT/PostOrderIterator.h.
>>>
>>> Cameron
>>>
>>> On Nov 20, 2011, at 3:00 PM, Ryan Taylor wrote:
>>>
>>> > LLVMers,
>>> >
>>> > Is there any way to guarantee iteration of the basic blocks from top
>>> down or path to path? Curren...
2011 Nov 21
1
[LLVMdev] Fwd: Order of Basic Blocks
...the
> bottom and goes bottom up. Is there a reason for this randomness?
> >
> > On Sun, Nov 20, 2011 at 6:10 PM, Cameron Zwarich <zwarich at apple.com>
> wrote:
> > Your question is a bit vague, but you probably want
> ReversePostOrderTraversal from include/llvm/ADT/PostOrderIterator.h.
> >
> > Cameron
> >
> > On Nov 20, 2011, at 3:00 PM, Ryan Taylor wrote:
> >
> > > LLVMers,
> > >
> > > Is there any way to guarantee iteration of the basic blocks from top
> down or path to path? Currently it looks sort of semi-random...
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
2002 Nov 11
3
[LLVMdev] question about BasicBlock
Dear LLVM,
Is there any simple way to decide whether there is a control path from one
Basic Block to another Basic Block?
thanks,
Jerry
2002 Nov 12
0
[LLVMdev] (no subject)
P.S. If anyone can take a little time to write a GraphTraits class for
the call graph, using the call sites returned by the TDGraph, that would
be great.
Then you could directly use the PostOrderIterator,
ReversePostOrderIterator, and TarjanSCCIterator on this call graph,
without having to do any extra work. You can also do other things like
print out the call graph to dot files and view them. All this comes for
free since they only need GraphTraits.
--Vikram
http://www.cs.uiuc.edu/~vadve
>...
2004 Apr 24
0
[LLVMdev] cs326 mp help
...vm/PassAnalysisSupport.h"
#include "llvm/Function.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Support/CFG.h"
#include "llvm/Module.h"
#include "llvm/Instruction.h"
#include "Support/PostOrderIterator.h"
#include <iostream>
using namespace llvm;
namespace {
class LICM : public FunctionPass
{
public:
void getAnalysisUsage(AnalysisUsage &AU){
AU.setPreservesCFG();
AU.addRequiredID(LoopSimplifyID);
AU.addRequired<Do...
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:
2006 Apr 14
2
[LLVMdev] [DRAFT] LLVM 1.7 release announcement notes [DRAFT]
...lvm.org/.
* Web form registration is no longer required to download LLVM releases.
* Eric Kidd contributed the llvm-config utility, to make it easier to
build and link programs against the LLVM libraries:
http://llvm.org/docs/CommandGuide/html/llvm-config.html
* Saem Ghani extended the PostOrderIterator class to permit external
storage.
* The nightly tester output now color codes performance deltas to make it
easier to read at a glance.
* Reid added support for multiple -rpath options to the linker.
* Reid finished consolidating the host specific code into the libsystem
library.
*...
2005 Apr 22
0
[LLVMdev] tabs
..., the tabs
stops used vary so blindly expanding them messes up alignment in many
cases :(
Index: examples/BFtoLLVM/BFtoLLVM.cpp
Index: include/llvm/AbstractTypeUser.h
Index: include/llvm/GlobalVariable.h
Index: include/llvm/InstrTypes.h
Index: include/llvm/IntrinsicInst.h
Index: include/llvm/ADT/PostOrderIterator.h
Index: include/llvm/Analysis/ConstantsScanner.h
Index: include/llvm/Analysis/IntervalIterator.h
Index: include/llvm/Analysis/Verifier.h
Index: include/llvm/Assembly/Parser.h
Index: include/llvm/Assembly/Writer.h
Index: include/llvm/Bytecode/Reader.h
Index: include/llvm/CodeGen/LiveVariables.h
Ind...