Bug fixes for CCP
Two fixes to CCP
- Delay deletion of branches with a constant condition so all unreachable nodes (including these conditions and their projections) are deleted together to avoid leaving uses of deleted nodes.
- Compute reachability of data nodes as the join of the reachability of its uses so that data nodes in unreachable parts of code are marked unreachable.