From b953155b492ddd2080e01d939da13f5320b5bb1b Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 21 Jun 2023 18:43:33 -0400 Subject: [PATCH] AMDGPU: Fix counting debug instructions in execz skip threshold --- llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp | 3 +++ llvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp b/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp index 61444b14a56b..87242a4740c8 100644 --- a/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp +++ b/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp @@ -320,6 +320,9 @@ bool SIPreEmitPeephole::mustRetainExeczBranch( if (MI.isConditionalBranch()) return true; + if (MI.isMetaInstruction()) + continue; + if (TII->hasUnwantedEffectsWhenEXECEmpty(MI)) return true; diff --git a/llvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir b/llvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir index 97c8b50c50cb..92719a5ee53a 100644 --- a/llvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir +++ b/llvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir @@ -2,7 +2,6 @@ --- -# FIXME: RemoveShortExecBranches should not count dbg_value instructions. # CHECK-LABEL: name: no_count_dbg_value # CHECK: $vgpr1 = V_MOV_B32_e32 7, implicit $exec # CHECK-NOT: S_CBRANCH_EXECZ @@ -18,6 +17,11 @@ body: | successors: %bb.2 $vgpr0 = V_MOV_B32_e32 0, implicit $exec DBG_VALUE + DBG_VALUE + DBG_VALUE + DBG_VALUE + DBG_VALUE + DBG_VALUE bb.2: $vgpr0 = V_MOV_B32_e32 1, implicit $exec