Skip to content

Commit df8795c

Browse files
committed
[CSKY] Fix warning in CSKYMCCodeEmitter::getImmJMPIX.
Use llvm_unreachable instead of assert and replace if-else with switch-case. Fix #97456.
1 parent e2f0ec3 commit df8795c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -278,16 +278,18 @@ CSKYMCCodeEmitter::getRegisterSeqOpValue(const MCInst &MI, unsigned Op,
278278
unsigned CSKYMCCodeEmitter::getImmJMPIX(const MCInst &MI, unsigned Idx,
279279
SmallVectorImpl<MCFixup> &Fixups,
280280
const MCSubtargetInfo &STI) const {
281-
if (MI.getOperand(Idx).getImm() == 16)
281+
switch (MI.getOperand(Idx).getImm()) {
282+
default:
283+
llvm_unreachable("Unhandled jmpix imm!");
284+
case 16:
282285
return 0;
283-
else if (MI.getOperand(Idx).getImm() == 24)
286+
case 24:
284287
return 1;
285-
else if (MI.getOperand(Idx).getImm() == 32)
288+
case 32:
286289
return 2;
287-
else if (MI.getOperand(Idx).getImm() == 40)
290+
case 40:
288291
return 3;
289-
else
290-
assert(0);
292+
}
291293
}
292294

293295
MCFixupKind CSKYMCCodeEmitter::getTargetFixup(const MCExpr *Expr) const {

0 commit comments

Comments
 (0)