[LLVMdev] Depth First Sort of Machine Basic Blocks just before emitting code

Daniel M Gessel gessel at apple.com
Mon Apr 13 16:40:31 PDT 2009


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




More information about the llvm-dev mailing list