On 8/2/23 06:44, Richard Biener via Gcc-patches wrote:
The following adds an on-demand global liveness computation class computing and caching the live-out virtual operand of basic blocks and answering live-out, live-in and live-on-edge queries. The flow is optimized for the intended use in code sinking which will query live-in and possibly can be optimized further when the originating query is for live-out. The code relies on up-to-date immediate dominator information and on an unchanging virtual operand state. Bootstrapped and tested on x86_64-unknown-linux-gnu (with 2/2). OK? Thanks, Richard. * tree-ssa-live.h (class virtual_operand_live): New. * tree-ssa-live.cc (virtual_operand_live::init): New. (virtual_operand_live::get_live_in): Likewise. (virtual_operand_live::get_live_out): Likewise.
LGTM. jeff