On Mon, Nov 1, 2021 at 2:03 PM Jeff Law <jeffreya...@gmail.com> wrote: > > > > On 11/1/2021 3:53 AM, Aldy Hernandez wrote: > > This patch moves all the static functions into the pass class, and > > cleans up things a little. The goal is to shuffle things around such > > that we can add debug counters that depend on different threading > > passes, but it's a clean-up on its own right. > > > > Tested on x86-64 Linux. > > > > OK? > > > > gcc/ChangeLog: > > > > * tree-ssa-threadbackward.c (BT_NONE): New. > > (BT_SPEED): New. > > (BT_RESOLVE): New. > > (back_threader::back_threader): Add flags. > > Move loop initialization here. > > (back_threader::~back_threader): New. > > (back_threader::find_taken_edge_switch): Change solver and ranger > > to pointers. > > (back_threader::find_taken_edge_cond): Same. > > (back_threader::find_paths_to_names): Same. > > (back_threader::find_paths): Same. > > (back_threader::dump): Same. > > (try_thread_blocks): Merge into thread_blocks. > > (back_threader::thread_blocks): New. > > (do_early_thread_jumps): Merge into thread_blocks. > > (do_thread_jumps): Merge into thread_blocks. > > (back_threader::thread_through_all_blocks): Remove. > OK. Presumably this is a prereq for the counter patch.
Indeed. As promised, I'm not adding any functionality, just enhancing the developer debug experience. Debugging threading problems is hard :-/. Aldy