From ccc05a7e3b675bea9f9995627270ca0580d17762 Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Wed, 16 Jun 2021 12:16:21 +0100 Subject: [PATCH] [AMDGPU] Set IsAtomicRet and IsAtomicNoRet on Real instructions This does not affect codegen but might benefit llvm-mca. --- lib/Target/AMDGPU/BUFInstructions.td | 4 ++++ lib/Target/AMDGPU/DSInstructions.td | 2 ++ lib/Target/AMDGPU/FLATInstructions.td | 2 ++ lib/Target/AMDGPU/SMInstructions.td | 2 ++ 4 files changed, 10 insertions(+) diff --git a/lib/Target/AMDGPU/BUFInstructions.td b/lib/Target/AMDGPU/BUFInstructions.td index 510083a6483..20fa6a54121 100644 --- a/lib/Target/AMDGPU/BUFInstructions.td +++ b/lib/Target/AMDGPU/BUFInstructions.td @@ -124,6 +124,8 @@ class MTBUF_Real : let SchedRW = ps.SchedRW; let mayLoad = ps.mayLoad; let mayStore = ps.mayStore; + let IsAtomicRet = ps.IsAtomicRet; + let IsAtomicNoRet = ps.IsAtomicNoRet; bits<12> offset; bits<5> cpol; @@ -362,6 +364,8 @@ class MUBUF_Real : let SchedRW = ps.SchedRW; let mayLoad = ps.mayLoad; let mayStore = ps.mayStore; + let IsAtomicRet = ps.IsAtomicRet; + let IsAtomicNoRet = ps.IsAtomicNoRet; bits<12> offset; bits<5> cpol; diff --git a/lib/Target/AMDGPU/DSInstructions.td b/lib/Target/AMDGPU/DSInstructions.td index 521d10ef9d5..ad9528ece7d 100644 --- a/lib/Target/AMDGPU/DSInstructions.td +++ b/lib/Target/AMDGPU/DSInstructions.td @@ -69,6 +69,8 @@ class DS_Real : let SchedRW = ps.SchedRW; let mayLoad = ps.mayLoad; let mayStore = ps.mayStore; + let IsAtomicRet = ps.IsAtomicRet; + let IsAtomicNoRet = ps.IsAtomicNoRet; // encoding fields bits<10> vdst; diff --git a/lib/Target/AMDGPU/FLATInstructions.td b/lib/Target/AMDGPU/FLATInstructions.td index f6bad273736..90f26e514f5 100644 --- a/lib/Target/AMDGPU/FLATInstructions.td +++ b/lib/Target/AMDGPU/FLATInstructions.td @@ -92,6 +92,8 @@ class FLAT_Real op, FLAT_Pseudo ps> : let SchedRW = ps.SchedRW; let mayLoad = ps.mayLoad; let mayStore = ps.mayStore; + let IsAtomicRet = ps.IsAtomicRet; + let IsAtomicNoRet = ps.IsAtomicNoRet; let VM_CNT = ps.VM_CNT; let LGKM_CNT = ps.LGKM_CNT; diff --git a/lib/Target/AMDGPU/SMInstructions.td b/lib/Target/AMDGPU/SMInstructions.td index 88a806f18fc..8502ed61b36 100644 --- a/lib/Target/AMDGPU/SMInstructions.td +++ b/lib/Target/AMDGPU/SMInstructions.td @@ -66,6 +66,8 @@ class SM_Real let SchedRW = ps.SchedRW; let SubtargetPredicate = ps.SubtargetPredicate; let AsmMatchConverter = ps.AsmMatchConverter; + let IsAtomicRet = ps.IsAtomicRet; + let IsAtomicNoRet = ps.IsAtomicNoRet; let TSFlags = ps.TSFlags;