31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
From cf9d549f2c40d548587f8d2d3cda0d32f13c9256 Mon Sep 17 00:00:00 2001
|
|
From: Temperatureblock <102174059+Temperature-block@users.noreply.github.com>
|
|
Date: Mon, 12 Aug 2024 20:06:58 +0530
|
|
Subject: [PATCH] Simple check to ignore Inline asm fwait insertion (#101686)
|
|
|
|
Just a simple check to ignore Inline asm fwait insertion
|
|
|
|
Fixes #101613
|
|
---
|
|
llvm/lib/Target/X86/X86InstrInfo.cpp | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
|
|
index 10a0ccdcb023..e615fa09608c 100644
|
|
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
|
|
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
|
|
@@ -2947,6 +2947,11 @@ static bool isX87Reg(unsigned Reg) {
|
|
|
|
/// check if the instruction is X87 instruction
|
|
bool X86::isX87Instruction(MachineInstr &MI) {
|
|
+ // Call and inlineasm defs X87 register, so we special case it here because
|
|
+ // otherwise calls are incorrectly flagged as x87 instructions
|
|
+ // as a result.
|
|
+ if (MI.isInlineAsm())
|
|
+ return false;
|
|
for (const MachineOperand &MO : MI.operands()) {
|
|
if (!MO.isReg())
|
|
continue;
|
|
--
|
|
Gitee
|