diff options
author | Florian Hahn <flo@fhahn.com> | 2025-01-12 22:03:21 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2025-01-12 22:03:21 +0000 |
commit | 8df64ed77727ab9b7540819f2fe64379e88a50be (patch) | |
tree | c7901a21d852f5e0e6ba124904d784d6ec8ab90b /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | b4ce29ab31b29ca926704c160e3909298ddf2b2b (diff) | |
download | llvm-8df64ed77727ab9b7540819f2fe64379e88a50be.zip llvm-8df64ed77727ab9b7540819f2fe64379e88a50be.tar.gz llvm-8df64ed77727ab9b7540819f2fe64379e88a50be.tar.bz2 |
[LV] Don't consider IV increments uniform if exit value is used outside.
In some cases, there might be a chain of uniform instructions producing
the exit value. To generate correct code in all cases, consider the IV
increment not uniform, if there are users outside the loop.
Instead, let VPlan narrow the IV, if possible using the logic from
3ff1d01985752.
Test case from #122602 verified with Alive2:
https://alive2.llvm.org/ce/z/bA4EGj
Fixes https://github.com/llvm/llvm-project/issues/122496.
Fixes https://github.com/llvm/llvm-project/issues/122602.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions