[Bug tree-optimization/105973] Wrong branch prediction for if (COND) { if(x) noreturn1(); else noreturn2(); }

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 11 10:27:32 GMT 2023


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105973

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
Thinking about it, we would likely need a "data flow" algorithm, where we want
to transitively propagate equal predicates that occur in both successors of a
basic block. Once we "merge" such a predictor, a new merging opportunity can
happen.

Honza, do you know about a feasible framework I should use? Or should I create
an ad-hoc work queue approach in this situation?


More information about the Gcc-bugs mailing list