remove unreachable code
add global cache for data-flow analysis