mirror-llvm-project/llvm/test/CodeGen/WebAssembly/GlobalISel
Alexis Engelke 35d69e3fe3
[Analysis] Use CycleInfo for BranchProbabilityInfo (#210301)
Instead of computing a cycle info (SccInfo) internally in
BranchProbabilityInfo, use CycleInfo and remove the use of LoopInfo.
After recent improvements to CycleInfo, the extra analysis is cheaper
than computing the same information internally.

Replacing LoopInfo with CycleInfo has some impliciation that the
loop/cycle forest can differ if the header of an irreducible loop (which
is ignored by loop info) also happens to be the header of a different
natural loop. (Simple example: S -> A, B; A -> A, B; B -> A, B --
LoopInfo will find {{A}, {B}}; CycleInfo will find {A, {B}}].) In these
cases, the default weights will differ.

This change also makes the handling of entering/exiting edges
consistent between reducible and irreducible loops, therefore,
there are also minor changes for reducible CFGs.
2026-07-21 18:05:57 +00:00
..
instructions [WebAssembly][GlobalISel] Implement integer comparisons and G_SELECT (#197257) 2026-06-30 00:36:06 -07:00
irtranslator [WebAssembly] Represent reference types as TargetExtType (#203165) 2026-06-24 22:07:33 -07:00
gisel-commandline-option.ll [Analysis] Use CycleInfo for BranchProbabilityInfo (#210301) 2026-07-21 18:05:57 +00:00
reference-types-fallback.ll [WebAssembly] Represent reference types as TargetExtType (#203165) 2026-06-24 22:07:33 -07:00