On 11/1/2021 3:54 AM, Aldy Hernandez wrote:
Chasing down stage3 miscomparisons is never fun, and having no way to distinguish between jump threads registered by a particular pass, is even harder. This patch adds debug counters for the individual back threading passes. I've left the ethread pass alone, as that one is usually benign, but we could easily add it if needed. The fact that we can only pass one boolean argument to the passes infrastructure has us do all sorts of gymnastics to differentiate between the various back threading passes. Tested on x86-64 Linux. OK? gcc/ChangeLog: * dbgcnt.def: Add debug counter for back_thread[12] and back_threadfull[12]. * passes.def: Pass "first" argument to each back threading pass. * tree-ssa-threadbackward.c (back_threader::back_threader): Add first argument. (back_threader::debug_counter): New. (back_threader::maybe_register_path): Call debug_counter.
OK jeff