admin管理员组

文章数量:1277901

I am implementing an LLVM pass for anticipated expressions using dataflow analysis and code hoisting. The reference I am following is the Purple Dragon Book (Compilers: Principles, Techniques, and Tools by Aho, Lam, Sethi, and Ullman)[Section 9.5, pg.645]. The dataflow equations are as follows:

Anticipated Expressions Dataflow Equations

Category Definition
Domain Sets of expressions
Direction Backwards
Transfer Function f_B(x) = e_use_B ∪ (x - e_kill_B)
Boundary Condition IN[EXIT] = ∅
Meet (∧) Intersection ( ∩ )
Equations IN[B] = f_B(OUT[B])
OUT[B] = ∩ { IN[S] | S ∈ succ(B) }
Initialization IN[B] = U

本文标签: