https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126332
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- I think we need to understand the cases where tracer helps more. I can see it exposing redundancies / simplifications on hot paths which is what it was supposed to enable (also scheduling I suppose). In principle the former should be all handled by PRE as well, right? I'll note we removed path splitting. I do wonder why we generate the traces at -O2 -ftracer though, both traces have equal probabilities. That said, why's the load commoning not done earlier in phiopt3? (not that it would help) It also looks like the effective path splitting should be profitable in case the leading branch is predictable (which we estimated it not to, or well, 50% probability doesn't tell anything about prediciton).
