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. jeff