summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp')
-rw-r--r--llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp b/llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
index f62753356a4d..a2292d016efa 100644
--- a/llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+++ b/llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
@@ -759,6 +759,10 @@ bool LoongArchMergeBaseOffsetOpt::foldIntoMemoryOps(MachineInstr &Hi20,
MO.ChangeToBA(ImmOp.getBlockAddress(), ImmOp.getOffset(),
LoongArchII::getDirectFlags(ImmOp));
break;
+ case MachineOperand::MO_ConstantPoolIndex:
+ MO.ChangeToCPI(ImmOp.getIndex(), ImmOp.getOffset(),
+ LoongArchII::getDirectFlags(ImmOp));
+ break;
default:
report_fatal_error("unsupported machine operand type");
break;