[GlobalISel] Add and use an Opcode variable and update match-table-cxx.td checks. NFC
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 225ec19..bdbef20 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -2523,7 +2523,8 @@
LegalizerHelper::LegalizeResult
LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) {
- switch (MI.getOpcode()) {
+ unsigned Opcode = MI.getOpcode();
+ switch (Opcode) {
default:
return UnableToLegalize;
case TargetOpcode::G_ATOMICRMW_XCHG:
@@ -2607,13 +2608,13 @@
Register SrcReg = MI.getOperand(1).getReg();
// First extend the input.
- unsigned ExtOpc = MI.getOpcode() == TargetOpcode::G_CTTZ ||
- MI.getOpcode() == TargetOpcode::G_CTTZ_ZERO_UNDEF
+ unsigned ExtOpc = Opcode == TargetOpcode::G_CTTZ ||
+ Opcode == TargetOpcode::G_CTTZ_ZERO_UNDEF
? TargetOpcode::G_ANYEXT
: TargetOpcode::G_ZEXT;
auto MIBSrc = MIRBuilder.buildInstr(ExtOpc, {WideTy}, {SrcReg});
LLT CurTy = MRI.getType(SrcReg);
- unsigned NewOpc = MI.getOpcode();
+ unsigned NewOpc = Opcode;
if (NewOpc == TargetOpcode::G_CTTZ) {
// The count is the same in the larger type except if the original
// value was zero. This can be handled by setting the bit just off
@@ -2628,7 +2629,7 @@
unsigned SizeDiff = WideTy.getSizeInBits() - CurTy.getSizeInBits();
- if (MI.getOpcode() == TargetOpcode::G_CTLZ_ZERO_UNDEF) {
+ if (Opcode == TargetOpcode::G_CTLZ_ZERO_UNDEF) {
// An optimization where the result is the CTLZ after the left shift by
// (Difference in widety and current ty), that is,
// MIBSrc = MIBSrc << (sizeinbits(WideTy) - sizeinbits(CurTy))
@@ -2640,7 +2641,7 @@
// Perform the operation at the larger size.
auto MIBNewOp = MIRBuilder.buildInstr(NewOpc, {WideTy}, {MIBSrc});
// This is already the correct result for CTPOP and CTTZs
- if (MI.getOpcode() == TargetOpcode::G_CTLZ) {
+ if (Opcode == TargetOpcode::G_CTLZ) {
// The correct result is NewOp - (Difference in widety and current ty).
MIBNewOp = MIRBuilder.buildSub(
WideTy, MIBNewOp, MIRBuilder.buildConstant(WideTy, SizeDiff));
@@ -2788,8 +2789,8 @@
Observer.changingInstr(MI);
if (TypeIdx == 0) {
- unsigned CvtOp = MI.getOpcode() == TargetOpcode::G_ASHR ?
- TargetOpcode::G_SEXT : TargetOpcode::G_ZEXT;
+ unsigned CvtOp = Opcode == TargetOpcode::G_ASHR ? TargetOpcode::G_SEXT
+ : TargetOpcode::G_ZEXT;
widenScalarSrc(MI, WideTy, 1, CvtOp);
widenScalarDst(MI, WideTy);
@@ -3101,7 +3102,7 @@
case TargetOpcode::G_FLDEXP:
case TargetOpcode::G_STRICT_FLDEXP: {
if (TypeIdx == 0) {
- if (MI.getOpcode() == TargetOpcode::G_STRICT_FLDEXP)
+ if (Opcode == TargetOpcode::G_STRICT_FLDEXP)
return UnableToLegalize;
Observer.changingInstr(MI);