Changes in Hoopl

Jan Stolarek jan.stolarek at
Mon Aug 26 11:00:43 CEST 2013

> 1. This adds a new constraint on the dataflow algorithm, namely that it
> must traverse the blocks in the correct order.
I don't follow. From what I've seen in the code Hoopl orders blocks using depth-first traversal. 
For backwards analysis it reverses that order. I don't think that proposed changes will affect 
this. What did I miss?

> 2. Has anyone tried implementing this change?  I'm slightly concerned
> that having a difference between forward and backward analyses might
> lead to divergence in some of the shared parts of the internals of the
> algorithm. 
If it turns out that forward and backward cases have to diverge to implement this change, will 
that be acceptable? GHC's specialized Hoopl module (compiler/cmm/Hoopl/Dataflow) already has 
separate functions for handling forward and backward analysis.


More information about the ghc-devs mailing list