From 5bc36c8cb483413bc127960552cd00f168475fc0 Mon Sep 17 00:00:00 2001 From: Bing1 Yu Date: Fri, 4 Nov 2022 14:20:43 +0800 Subject: [PATCH] [X86] Add necessary check isReg() when updating LiveVariables in convertToThreeAddress Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D137388 --- llvm/lib/Target/X86/X86InstrInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 4668a35c76cb3..51fb860c67a93 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -1768,7 +1768,7 @@ MachineInstr *X86InstrInfo::convertToThreeAddress(MachineInstr &MI, if (LV) { // Update live variables for (unsigned I = 0; I < NumRegOperands; ++I) { MachineOperand &Op = MI.getOperand(I); - if (Op.isDead() || Op.isKill()) + if (Op.isReg() && (Op.isDead() || Op.isKill())) LV->replaceKillInstruction(Op.getReg(), MI, *NewMI); } }