diff options
author | Florian Hahn <flo@fhahn.com> | 2024-06-03 20:20:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-03 20:20:30 +0100 |
commit | 07b330132c0b7fd5b3ada1890840d0dbbd8cdb8e (patch) | |
tree | 1ebeb1049024639c7a066d577536ada665135577 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 0525c201b657395bfdf27d2a473c4c0adf753a21 (diff) | |
download | llvm-07b330132c0b7fd5b3ada1890840d0dbbd8cdb8e.zip llvm-07b330132c0b7fd5b3ada1890840d0dbbd8cdb8e.tar.gz llvm-07b330132c0b7fd5b3ada1890840d0dbbd8cdb8e.tar.bz2 |
[VPlan] Model FOR extract of exit value in VPlan. (#93395)
This patch introduces a new ExtractFromEnd VPInstruction opcode to
extract the value of a FOR for users outside the loop (i.e. in the
scalar loop's exits). This moves the first part of fixing first order
recurrences to VPlan, and removes some additional code to patch up
live-outs, which is now handled automatically.
The majority of test changes is due to changes in the order of which the
extracts are generated now. As we are now using VPTransformState to
generate the extracts, we may be able to re-use existing extracts in the
loop body in some cases. For scalable vectors, in some cases we now have
to compute the runtime VF twice, as each extract is now independent, but
those should be trivial to clean up for later passes (and in line with
other places in the code that also liberally re-compute runtime VFs).
PR: https://github.com/llvm/llvm-project/pull/93395
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions