[clang] [clang][amdgpu] resolve type mismatch warning in conditional comparison (PR #220526)

2026-09-05 Thread Matt Arsenault via cfe-commits

https://github.com/arsenm closed 
https://github.com/llvm/llvm-project/pull/220526
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang][amdgpu] resolve type mismatch warning in conditional comparison (PR #220526)

2026-09-05 Thread Hardik Kumar via cfe-commits

hardikxk wrote:

@arsenm could you please merge this 
Thanks!

https://github.com/llvm/llvm-project/pull/220526
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang][amdgpu] resolve type mismatch warning in conditional comparison (PR #220526)

2026-09-02 Thread Hardik Kumar via cfe-commits

https://github.com/hardikxk created 
https://github.com/llvm/llvm-project/pull/220526

The following warning is generated because of a mismatch in the object types.

```bash
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:
 In constructor ‘clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(const 
llvm::Triple&, const clang::TargetOptions&)’:
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:200:37:
 warning: enumerated mismatch in conditional expression: 
‘llvm::AMDGPU::ArchFeatureKind’ vs ‘llvm::AMDGPU::R600FeatureKind’ 
[-Wenum-compare]
  200 |   GPUFeatures(Triple.isAMDGCN() ? llvm::AMDGPU::FEATURE_NONE
  |   ~~^~~~
  201 | : 
llvm::AMDGPU::getArchAttrR600(GPUKind)) {
  | 

[1/166] Building CXX object 
tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o^C
```

The type of `GpuFeatures` and return value of `getArchAttrR600()` is ultimately 
an `unsigned` int value. Static cast the return value of the method to 
`unsigned` to resolve the warning without any functional or breaking changes.

>From aa98e176fbb5dfb02e916e52f4dc107288c349a8 Mon Sep 17 00:00:00 2001
From: Hardik Kumar 
Date: Wed, 2 Sep 2026 14:43:57 +0530
Subject: [PATCH] [clang][amdgpu] resolve type mismatch warning in conditional
 comparison
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The following warning is generated because of a mismatch in the object types.

```bash
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:
 In constructor ‘clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(const 
llvm::Triple&, const clang::TargetOptions&)’:
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:200:37:
 warning: enumerated mismatch in conditional expression: 
‘llvm::AMDGPU::ArchFeatureKind’ vs ‘llvm::AMDGPU::R600FeatureKind’ 
[-Wenum-compare]
  200 |   GPUFeatures(Triple.isAMDGCN() ? llvm::AMDGPU::FEATURE_NONE
  |   ~~^~~~
  201 | : 
llvm::AMDGPU::getArchAttrR600(GPUKind)) {
  | 

[1/166] Building CXX object 
tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o^C
```

The type of `GpuFeatures` and return value of `getArchAttrR600()` is
ultimately an `unsigned` int value. Static cast the return value of the
method to `unsigned` to resolve the warning without any functional
or breaking changes.

Signed-off-by: Hardik Kumar 
---
 clang/lib/Basic/Targets/AMDGPU.cpp | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp 
b/clang/lib/Basic/Targets/AMDGPU.cpp
index c9e3f6248f82d..c8e2a96f62f9b 100644
--- a/clang/lib/Basic/Targets/AMDGPU.cpp
+++ b/clang/lib/Basic/Targets/AMDGPU.cpp
@@ -197,8 +197,10 @@ AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple 
&Triple,
 Triple.getSubArch())
   : 
llvm::AMDGPU::parseArchAMDGCN(Opts.CPU))
   : llvm::AMDGPU::parseArchR600(Opts.CPU)),
-  GPUFeatures(Triple.isAMDGCN() ? llvm::AMDGPU::FEATURE_NONE
-: llvm::AMDGPU::getArchAttrR600(GPUKind)) {
+  GPUFeatures(
+  Triple.isAMDGCN()
+  ? llvm::AMDGPU::FEATURE_NONE
+  : static_cast(llvm::AMDGPU::getArchAttrR600(GPUKind))) 
{
   resetDataLayout();
 
   AddrSpaceMap = &AMDGPUAddrSpaceMap;

___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits