[PATCH] D69784: Set the floating point status register as reserved
LiuChen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 3 22:52:35 PST 2019
LiuChen3 created this revision.
LiuChen3 added a reviewer: pengfei.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
This patch sets the FPSW (X87 floating-point status register) as a reserved
physical register and fix the test failure caused by D68854 <https://reviews.llvm.org/D68854>.
Before this patch, some tests will fail because it implicit uses FPSW without
define it. Setting the FPSW as a reserved physical register will skip liveness
analysis because it is always live.
https://reviews.llvm.org/D69784
Files:
llvm/lib/Target/X86/X86RegisterInfo.cpp
llvm/test/CodeGen/X86/pr34080-2.ll
Index: llvm/test/CodeGen/X86/pr34080-2.ll
===================================================================
--- llvm/test/CodeGen/X86/pr34080-2.ll
+++ llvm/test/CodeGen/X86/pr34080-2.ll
@@ -62,13 +62,13 @@
; CHECK-NEXT: imull $60000, 24(%ebx), %ecx # imm = 0xEA60
; CHECK-NEXT: addl %eax, %ecx
; CHECK-NEXT: fldl 28(%ebx)
+; CHECK-NEXT: fmuls {{\.LCPI.*}}
; CHECK-NEXT: fnstcw {{[0-9]+}}(%esp)
; CHECK-NEXT: movzwl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT: orl $3072, %eax # imm = 0xC00
; CHECK-NEXT: movw %ax, {{[0-9]+}}(%esp)
; CHECK-NEXT: movl %ecx, %eax
; CHECK-NEXT: sarl $31, %eax
-; CHECK-NEXT: fmuls {{\.LCPI.*}}
; CHECK-NEXT: fldcw {{[0-9]+}}(%esp)
; CHECK-NEXT: fistpll {{[0-9]+}}(%esp)
; CHECK-NEXT: fldcw {{[0-9]+}}(%esp)
Index: llvm/lib/Target/X86/X86RegisterInfo.cpp
===================================================================
--- llvm/lib/Target/X86/X86RegisterInfo.cpp
+++ llvm/lib/Target/X86/X86RegisterInfo.cpp
@@ -523,6 +523,9 @@
// Set the floating point control register as reserved.
Reserved.set(X86::FPCW);
+ // Set the floating point status register as reserved.
+ Reserved.set(X86::FPSW);
+
// Set the SIMD floating point control register as reserved.
Reserved.set(X86::MXCSR);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69784.227646.patch
Type: text/x-patch
Size: 1280 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191104/6a91c28f/attachment.bin>
More information about the llvm-commits
mailing list