[all-commits] [llvm/llvm-project] ac2013: [RISCV] Rematerialize vid.v (#97520)
Luke Lau via All-commits
all-commits at lists.llvm.org
Wed Jul 3 20:34:46 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ac2013560505f7c85a9d9061ea705124d6681719
https://github.com/llvm/llvm-project/commit/ac2013560505f7c85a9d9061ea705124d6681719
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-04 (Thu, 04 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
A llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Rematerialize vid.v (#97520)
This adds initial support for rematerializing vector instructions,
starting with vid.v since it's simple and has the least number of
operands. It has one passthru operand which we need to check is
undefined. It also has an AVL operand, but it's fine to rematerialize
with it because it's scalar and register allocation is split between
vector and scalar.
RISCVInsertVSETVLI can still happen before vector regalloc if
-riscv-vsetvl-after-rvv-regalloc is false, so this makes sure that we
only rematerialize after regalloc by checking for the implicit uses that
are added.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list