Two Hoopl questions
Edward Z. Yang
ezyang at MIT.EDU
Tue Jul 30 21:40:53 CEST 2013
What happens when you put a loop in your code?
Edward
Excerpts from Jan Stolarek's message of Tue Jul 30 08:34:44 -0700 2013:
> I'll allow myself to ask my second question again:
>
> 2) In my algorithm I need to initialize all of the blocks in a graph with bottom element of a lattice, except for the entry block, which needs some other initial values. I've written something like this:
>
> cmmCopyPropagation dflags graph = do
> let entry_blk = g_entry graph
> g' <- dataflowPassFwd graph [(entry_blk, (Top, Top))] $
> analRewFwd cpLattice cpTransfer cpRewrite
> return . fst $ g'
>
> cpLattice = DataflowLattice "copy propagation" (Bottom, Bottom) cpJoin
>
> However, it seems that Bottom values passed to cpLattice are ignored - I could replace second parameter to DataflowLattice with `undefined` and the code would still run without causing an error. Is there something obviously wrong in the way I pass initial fact values to dataflowPassFwd, or should I look for the problem in other parts of my code?
>
> Janek
More information about the ghc-devs
mailing list