On Tue, Jan 11, 2022 at 8:49 PM Andrew MacLeod via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > The simplify_and_fold engine uses the EDGE_EXECUTABLE flag to eliminate > branches: > > substitute_and_fold_dom_walker::before_dom_children: > > if (gimple_code (stmt) == GIMPLE_COND) > { > if ((EDGE_SUCC (bb, 0)->flags & EDGE_EXECUTABLE) > ^ (EDGE_SUCC (bb, 1)->flags & EDGE_EXECUTABLE)) > > ... but if certain passes before VRP2 are turned off, the flag can be in > an uninitialized state upon entry to VRP2. This patch simply always > sets EDGE_EXECUTABLE on all edges before invoking ranger and the S&F engine. > > Bootstraps on x86_64-pc-linux-gnu with no regressions. > > OK for trunk?
OK. > Andrew > > > > >