Daniel M Gessel
2009-Apr-13 23:40 UTC
[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: > >> For nefarious reasons I won't go into (this is for a quick hack that >> will be thrown away in a week or two), I'd like my Asm printer to get >> MBBs in a depth first order. >> >> Is there an existing pass or function that will let me do this >> easily? > > Check out "llvm/ADT/DepthFirstIterator.h", it lets you iterate over > arbitrary graphs (including CFGs) in depth first order. grep the > source base for df_begin etc to see examples of use. > > -Chris > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
John Mosby
2009-Apr-13 23:58 UTC
[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 about the preorder/postorder? If not, anything lurking for > postorder traversal? > > Thanks, > > Dan > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090413/ed1bc061/attachment.html>
Daniel M Gessel
2009-Apr-14 00:21 UTC
[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.) > > Am I wrong about the preorder/postorder? If not, anything lurking for > postorder traversal? > > Thanks, > > Dan > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090413/1989d0f8/attachment.html>
Possibly Parallel Threads
- [LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
- [LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
- [LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
- [LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code
- `dendrapply` Enhancements