[clang] [HLSL][NFC] Rename isImplicit() to hasRegisterStot() on HLSLResourceBindingAttr (PR #138964)
Helena Kotas via cfe-commits
cfe-commits at lists.llvm.org
Wed May 7 13:53:44 PDT 2025
https://github.com/hekota created https://github.com/llvm/llvm-project/pull/138964
Renaming because the name `isImplicit` is ambiguous. It can mean implicit attribute or implicit binding.
>From 989c75d4376eaedfb8756bc564f81aee6199756a Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Wed, 7 May 2025 13:50:06 -0700
Subject: [PATCH] [HLSL][NFC] Rename isImplicit() to hasRegisterStot() on
HLSLResourceBindingAttr
`isImplicit` is ambiguous - it can mean implicit attribute ot implicit binding.
---
clang/include/clang/Basic/Attr.td | 8 ++++----
clang/lib/CodeGen/CGHLSLRuntime.cpp | 2 +-
clang/lib/Sema/SemaHLSL.cpp | 6 +++---
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td
index df7bba094fce6..37c80ac90182c 100644
--- a/clang/include/clang/Basic/Attr.td
+++ b/clang/include/clang/Basic/Attr.td
@@ -4785,15 +4785,15 @@ def HLSLResourceBinding: InheritableAttr {
SlotNumber = SlotNum;
SpaceNumber = SpaceNum;
}
- bool isImplicit() const {
- return !SlotNumber.has_value();
+ bool hasRegisterSlot() const {
+ return SlotNumber.has_value();
}
RegisterType getRegisterType() const {
- assert(!isImplicit() && "binding does not have register slot");
+ assert(hasRegisterSlot() && "binding does not have register slot");
return RegType;
}
unsigned getSlotNumber() const {
- assert(!isImplicit() && "binding does not have register slot");
+ assert(hasRegisterSlot() && "binding does not have register slot");
return SlotNumber.value();
}
unsigned getSpaceNumber() const {
diff --git a/clang/lib/CodeGen/CGHLSLRuntime.cpp b/clang/lib/CodeGen/CGHLSLRuntime.cpp
index f6608faaa7309..0eb4bb062e02e 100644
--- a/clang/lib/CodeGen/CGHLSLRuntime.cpp
+++ b/clang/lib/CodeGen/CGHLSLRuntime.cpp
@@ -261,7 +261,7 @@ void CGHLSLRuntime::addBuffer(const HLSLBufferDecl *BufDecl) {
BufDecl->getAttr<HLSLResourceBindingAttr>();
// FIXME: handle implicit binding if no binding attribute is found
// (llvm/llvm-project#110722)
- if (RBA && !RBA->isImplicit())
+ if (RBA && RBA->hasRegisterSlot())
initializeBufferFromBinding(CGM, BufGV, RBA->getSlotNumber(),
RBA->getSpaceNumber());
}
diff --git a/clang/lib/Sema/SemaHLSL.cpp b/clang/lib/Sema/SemaHLSL.cpp
index 70aacaa2aadbe..08bd22a262788 100644
--- a/clang/lib/Sema/SemaHLSL.cpp
+++ b/clang/lib/Sema/SemaHLSL.cpp
@@ -1979,7 +1979,7 @@ void SemaHLSL::ActOnEndOfTranslationUnit(TranslationUnitDecl *TU) {
for (const Decl *VD : DefaultCBufferDecls) {
const HLSLResourceBindingAttr *RBA =
VD->getAttr<HLSLResourceBindingAttr>();
- if (RBA && !RBA->isImplicit() &&
+ if (RBA && RBA->hasRegisterSlot() &&
RBA->getRegisterType() == HLSLResourceBindingAttr::RegisterType::C) {
DefaultCBuffer->setHasValidPackoffset(true);
break;
@@ -3271,7 +3271,7 @@ static bool initVarDeclWithCtor(Sema &S, VarDecl *VD,
static bool initGlobalResourceDecl(Sema &S, VarDecl *VD) {
HLSLResourceBindingAttr *RBA = VD->getAttr<HLSLResourceBindingAttr>();
- if (!RBA || RBA->isImplicit())
+ if (!RBA || !RBA->hasRegisterSlot())
// FIXME: add support for implicit binding (llvm/llvm-project#110722)
return false;
@@ -3356,7 +3356,7 @@ void SemaHLSL::processExplicitBindingsOnDecl(VarDecl *VD) {
bool HasBinding = false;
for (Attr *A : VD->attrs()) {
HLSLResourceBindingAttr *RBA = dyn_cast<HLSLResourceBindingAttr>(A);
- if (!RBA || RBA->isImplicit())
+ if (!RBA || !RBA->hasRegisterSlot())
continue;
HasBinding = true;
More information about the cfe-commits
mailing list