diff options
author | Florian Hahn <flo@fhahn.com> | 2024-10-23 13:12:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-23 13:12:03 -0700 |
commit | 2dfb1c664c0a0afc512b900c45989e247406e523 (patch) | |
tree | d5aa5afa206de4ed85875dc3a9973078807686e0 /llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp | |
parent | 2002533802dbe74c82476e30d093baf6d4cdee50 (diff) | |
download | llvm-2dfb1c664c0a0afc512b900c45989e247406e523.zip llvm-2dfb1c664c0a0afc512b900c45989e247406e523.tar.gz llvm-2dfb1c664c0a0afc512b900c45989e247406e523.tar.bz2 |
[VPlan] Try to hoist Previous (and operands), if sinking fails for FORs. (#108945)
In some cases, Previous (and its operands) can be hoisted. This allows
supporting additional cases where sinking of all users of to FOR fails,
e.g. due having to sink recipes with side-effects.
This fixes a crash where we fail to create a scalar VPlan for a
first-order recurrence, but can create a vector VPlan, because the trunc
instruction of an IV which generates the previous value of the
recurrence has been optimized to a truncated induction recipe, thus
hoisting it to the beginning.
Fixes https://github.com/llvm/llvm-project/issues/106523.
PR: https://github.com/llvm/llvm-project/pull/108945
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp')
0 files changed, 0 insertions, 0 deletions