diff options
author | Luke Lau <luke@igalia.com> | 2023-07-12 01:13:14 +0100 |
---|---|---|
committer | Luke Lau <luke@igalia.com> | 2023-07-19 17:24:42 +0100 |
commit | efedcbeeb88c3cfd6fffb861067e36c43476a002 (patch) | |
tree | 60e123494c77a0fb0a251ea936dbb2126bad5121 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 0f277ab3616a16748303c673f1b7c279d5d238d3 (diff) | |
download | llvm-efedcbeeb88c3cfd6fffb861067e36c43476a002.zip llvm-efedcbeeb88c3cfd6fffb861067e36c43476a002.tar.gz llvm-efedcbeeb88c3cfd6fffb861067e36c43476a002.tar.bz2 |
[RISCV] Fold ops into vmv.v.v as vmerge with all-ones mask
A vmv.v.v shares the same encoding as a vmerge that isn't masked, so we can
also fold it into its operands if we treat it as a vmerge with an all-ones
mask. We take care here not to actually transform the existing vmv into a
vmerge, otherwise things like True.hasOneUse() become inaccurate. Instead this
just returns an equivalent list of operands.
This is an alternative to D153351.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D155101
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions