aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2024-05-15 23:37:31 +0800
committerGitHub <noreply@github.com>2024-05-15 23:37:31 +0800
commitff313ee70a4f27e3555ee4baef53b9b51c5aa27e (patch)
treefeb59de05e044ca8e13efccbeded8d31043adf46 /llvm/lib/Bitcode
parent8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1 (diff)
downloadllvm-ff313ee70a4f27e3555ee4baef53b9b51c5aa27e.zip
llvm-ff313ee70a4f27e3555ee4baef53b9b51c5aa27e.tar.gz
llvm-ff313ee70a4f27e3555ee4baef53b9b51c5aa27e.tar.bz2
[RISCV] Remove hasSideEffects=1 for vsetvli pseudos (#91319)
In a similar vein to #90049, we currently model all of the effects of a vsetvli pseudo: * VL and VTYPE are marked as defs * VL preserving x0,x0 vsetvlis doesn't get emitted until RISCVInsertVSETVLI, and when they are they have implicit uses on VL * Regular vector pseudos are fully modelled too: Before RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we will eventually insert vsetvlis to correct VL and VTYPE. Afterwards, they will have implicit uses on VL and VTYPE. Since we model everything we can remove hasSideEffects=1. This gives us some improvements like sinking in vsetvli-insert-crossbb.ll. We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli pseudos since it only operates on instructions with unmodelled side effects.
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions