summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/RISCV/RISCVFoldMasks.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp b/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
index d74427112b1b..11e3c61db290 100644
--- a/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
+++ b/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
@@ -99,7 +99,7 @@ bool RISCVFoldMasks::convertVMergeToVMv(MachineInstr &MI, MachineInstr *V0Def) {
unsigned NewOpc;
switch (MI.getOpcode()) {
default:
- llvm_unreachable("Expected VMERGE_VVM_<LMUL> instruction.");
+ return false;
CASE_VMERGE_TO_VMV(MF8)
CASE_VMERGE_TO_VMV(MF4)
CASE_VMERGE_TO_VMV(MF2)
@@ -204,10 +204,8 @@ bool RISCVFoldMasks::runOnMachineFunction(MachineFunction &MF) {
for (MachineBasicBlock &MBB : MF) {
CurrentV0Def = nullptr;
for (MachineInstr &MI : MBB) {
- unsigned BaseOpc = RISCV::getRVVMCOpcode(MI.getOpcode());
Changed |= convertToUnmasked(MI, CurrentV0Def);
- if (BaseOpc == RISCV::VMERGE_VVM)
- Changed |= convertVMergeToVMv(MI, CurrentV0Def);
+ Changed |= convertVMergeToVMv(MI, CurrentV0Def);
if (MI.definesRegister(RISCV::V0, TRI))
CurrentV0Def = &MI;