[PATCH] D136596: [X86] Update LiveVariables in more cases in convertToThreeAddress
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 24 07:05:34 PDT 2022
foad created this revision.
foad added reviewers: craig.topper, RKSimon, fhahn, MatzeB.
Herald added subscribers: mstorsjo, StephenFan, pengfei, hiraditya.
Herald added a project: All.
foad requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Following on from D129634 <https://reviews.llvm.org/D129634>, this patch fixes more X86 CodeGen test
failures with D129213 <https://reviews.llvm.org/D129213> applied, which adds verification of LiveIntervals
after the TwoAddressInstruction pass runs. These failures only showed up
with LLVM_ENABLE_EXPENSIVE_CHECKS=ON which adds the equivalent of an
implicit -verify-machineinstrs on all tests.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D136596
Files:
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/test/CodeGen/X86/add.ll
llvm/test/CodeGen/X86/masked_load.ll
Index: llvm/test/CodeGen/X86/masked_load.ll
===================================================================
--- llvm/test/CodeGen/X86/masked_load.ll
+++ llvm/test/CodeGen/X86/masked_load.ll
@@ -6,7 +6,7 @@
; RUN: llc < %s -disable-peephole -mtriple=x86_64-apple-darwin -mattr=avx512f | FileCheck %s --check-prefixes=AVX,AVX512,AVX512F
; RUN: llc < %s -disable-peephole -mtriple=x86_64-apple-darwin -mattr=avx512f,avx512dq,avx512vl | FileCheck %s --check-prefixes=AVX,AVX512,AVX512VL,AVX512VLDQ
; RUN: llc < %s -disable-peephole -mtriple=x86_64-apple-darwin -mattr=avx512f,avx512bw,avx512vl | FileCheck %s --check-prefixes=AVX,AVX512,AVX512VL,AVX512VLBW
-; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=avx512f,avx512bw,avx512dq,avx512vl | FileCheck %s --check-prefixes=X86-AVX512
+; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=avx512f,avx512bw,avx512dq,avx512vl -verify-machineinstrs | FileCheck %s --check-prefixes=X86-AVX512
;
; vXf64
Index: llvm/test/CodeGen/X86/add.ll
===================================================================
--- llvm/test/CodeGen/X86/add.ll
+++ llvm/test/CodeGen/X86/add.ll
@@ -1,6 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86
-; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s --check-prefix=X64-LINUX
+; RUN: llc < %s -mtriple=x86_64-linux -verify-machineinstrs | FileCheck %s --check-prefix=X64-LINUX
; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s --check-prefix=X64-WIN32
declare {i32, i1} @llvm.sadd.with.overflow.i32(i32, i32)
Index: llvm/lib/Target/X86/X86InstrInfo.cpp
===================================================================
--- llvm/lib/Target/X86/X86InstrInfo.cpp
+++ llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -1589,6 +1589,10 @@
MIB.add(ImplicitOp);
NewMI = addOffset(MIB, -Imm);
+
+ // Add kills if classifyLEAReg created a new register.
+ if (LV && SrcReg != Src.getReg())
+ LV->getVarInfo(SrcReg).Kills.push_back(NewMI);
break;
}
@@ -1692,6 +1696,7 @@
.add(MI.getOperand(5))
.add(MI.getOperand(6))
.add(MI.getOperand(7));
+ NumRegOperands = 4;
break;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136596.470134.patch
Type: text/x-patch
Size: 2256 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221024/7aabafb2/attachment.bin>
More information about the llvm-commits
mailing list