[llvm] b180261 - [X86] MWAITX_SAVE_RBX should not have EBX as an implicit use.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 4 20:35:54 PDT 2020
Author: Craig Topper
Date: 2020-10-04T20:34:31-07:00
New Revision: b18026114ab1410d531559ad6d9f1b445b98a35f
URL: https://github.com/llvm/llvm-project/commit/b18026114ab1410d531559ad6d9f1b445b98a35f
DIFF: https://github.com/llvm/llvm-project/commit/b18026114ab1410d531559ad6d9f1b445b98a35f.diff
LOG: [X86] MWAITX_SAVE_RBX should not have EBX as an implicit use.
RBX was copied to a virtual register before this instruction
was created. And the EBX input for the final MWAITX is still
in a virtual register. So EBX isn't read by this pseudo.
Added:
Modified:
llvm/lib/Target/X86/X86InstrCompiler.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86InstrCompiler.td b/llvm/lib/Target/X86/X86InstrCompiler.td
index c20a2b88e118..07e7b17230e1 100644
--- a/llvm/lib/Target/X86/X86InstrCompiler.td
+++ b/llvm/lib/Target/X86/X86InstrCompiler.td
@@ -899,7 +899,7 @@ def LCMPXCHG16B_SAVE_RBX :
// This pseudo must be used when the frame uses RBX/EBX as
// the base pointer.
// cf comment for LCMPXCHG16B_SAVE_RBX.
-let Defs = [EBX], Uses = [ECX, EAX, EBX],
+let Defs = [EBX], Uses = [ECX, EAX],
Predicates = [HasMWAITX], SchedRW = [WriteSystem],
isCodeGenOnly = 1, isPseudo = 1, Constraints = "$rbx_save = $dst" in {
def MWAITX_SAVE_RBX :
More information about the llvm-commits
mailing list