From e9f2eae18d832e49b3c611301fb4e840a343fcb9 Mon Sep 17 00:00:00 2001 From: Akshat Oke Date: Tue, 10 Dec 2024 09:22:06 +0000 Subject: [PATCH] [AMDGPU] Parse wwm filter flag for regalloc fast --- llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 2 ++ llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp index 34ad99dd980f2..06dc319963a34 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -870,6 +870,8 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) { return onlyAllocateSGPRs; if (FilterName == "vgpr") return onlyAllocateVGPRs; + if (FilterName == "wwm") + return onlyAllocateWWMRegs; return nullptr; }); } diff --git a/llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir b/llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir index f75db964e2d6e..07f2d350ffd9c 100644 --- a/llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir +++ b/llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir @@ -1,8 +1,10 @@ # REQUIRES: amdgpu-registered-target -# RUN: llc -mtriple=amdgcn --passes='regallocfast' --print-pipeline-passes --filetype=null %s | FileCheck %s --check-prefix=PASS +# RUN: llc -mtriple=amdgcn --passes='regallocfast,regallocfast,regallocfast' --print-pipeline-passes --filetype=null %s | FileCheck %s --check-prefix=PASS # RUN: not llc -mtriple=amdgcn --passes='regallocfast' --print-pipeline-passes --filetype=null %s 2>&1 | FileCheck %s --check-prefix=BAD-FILTER # PASS: regallocfast +# PASS: regallocfast +# PASS: regallocfast # BAD-FILTER: invalid regallocfast register filter 'bad-filter' ---