[llvm] 3e3594c - [AMDGPU] Do not fix implicit vcc operand on INLINEASM
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 29 12:33:39 PDT 2023
Author: Jay Foad
Date: 2023-03-29T20:23:36+01:00
New Revision: 3e3594c771e65b48ceeb89a7186d5e3b119ec3b9
URL: https://github.com/llvm/llvm-project/commit/3e3594c771e65b48ceeb89a7186d5e3b119ec3b9
DIFF: https://github.com/llvm/llvm-project/commit/3e3594c771e65b48ceeb89a7186d5e3b119ec3b9.diff
LOG: [AMDGPU] Do not fix implicit vcc operand on INLINEASM
An INLINEASM can have an implicit def of vcc. It is not appropriate for
fixImplicitOperands to change this to vcc_lo on wave32.
Differential Revision: https://reviews.llvm.org/D147157
Added:
Modified:
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
index a1d13cc491eb7..ea0ccc889380a 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -7877,6 +7877,9 @@ void SIInstrInfo::fixImplicitOperands(MachineInstr &MI) const {
if (!ST.isWave32())
return;
+ if (MI.isInlineAsm())
+ return;
+
for (auto &Op : MI.implicit_operands()) {
if (Op.isReg() && Op.getReg() == AMDGPU::VCC)
Op.setReg(AMDGPU::VCC_LO);
More information about the llvm-commits
mailing list