[llvm] [X86][AMX] Fix a bug after #83628 (PR #91207)
via llvm-commits
llvm-commits at lists.llvm.org
Mon May 6 06:49:28 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: Phoebe Wang (phoebewang)
<details>
<summary>Changes</summary>
We need to check if `GR64Cand` a valid register before using it.
Test is not needed since it's covered in llvm-test-suite.
Fixes #<!-- -->90954
---
Full diff: https://github.com/llvm/llvm-project/pull/91207.diff
1 Files Affected:
- (modified) llvm/lib/Target/X86/X86LowerTileCopy.cpp (+2-2)
``````````diff
diff --git a/llvm/lib/Target/X86/X86LowerTileCopy.cpp b/llvm/lib/Target/X86/X86LowerTileCopy.cpp
index fd05e16ac1ceff..60c024556ff13f 100644
--- a/llvm/lib/Target/X86/X86LowerTileCopy.cpp
+++ b/llvm/lib/Target/X86/X86LowerTileCopy.cpp
@@ -146,7 +146,7 @@ bool X86LowerTileCopy::runOnMachineFunction(MachineFunction &MF) {
addFrameReference(BuildMI(MBB, MI, DL, TII->get(Opc)), TileSS)
.addReg(SrcReg, getKillRegState(SrcMO.isKill()));
MachineOperand &MO = NewMI->getOperand(2);
- MO.setReg(GR64Cand);
+ MO.setReg(GR64Cand ? GR64Cand : X86::RAX);
MO.setIsKill(true);
// tileloadd (%sp, %idx), %tmm
Opc = GET_EGPR_IF_ENABLED(X86::TILELOADD);
@@ -157,7 +157,7 @@ bool X86LowerTileCopy::runOnMachineFunction(MachineFunction &MF) {
// restore %rax
// mov (%sp) %rax
addFrameReference(
- BuildMI(MBB, MI, DL, TII->get(X86::MOV64rm), GR64Cand), StrideSS);
+ BuildMI(MBB, MI, DL, TII->get(X86::MOV64rm), X86::RAX), StrideSS);
}
MI.eraseFromParent();
Changed = true;
``````````
</details>
https://github.com/llvm/llvm-project/pull/91207
More information about the llvm-commits
mailing list