[clang] 3bc3b1c - [HLSL][NFC] Rename isImplicit() to hasRegisterStot() on HLSLResourceBindingAttr (#138964)
via cfe-commits
cfe-commits at lists.llvm.org
Thu May 8 10:03:26 PDT 2025
Author: Helena Kotas
Date: 2025-05-08T10:03:21-07:00
New Revision: 3bc3b1c6c0f35bf223c595f8426f6726d64553e7
URL: https://github.com/llvm/llvm-project/commit/3bc3b1c6c0f35bf223c595f8426f6726d64553e7
DIFF: https://github.com/llvm/llvm-project/commit/3bc3b1c6c0f35bf223c595f8426f6726d64553e7.diff
LOG: [HLSL][NFC] Rename isImplicit() to hasRegisterStot() on HLSLResourceBindingAttr (#138964)
Renaming because the name `isImplicit` is ambiguous. It can mean
implicit attribute or implicit binding.
Added:
Modified:
clang/include/clang/Basic/Attr.td
clang/lib/CodeGen/CGHLSLRuntime.cpp
clang/lib/Sema/SemaHLSL.cpp
Removed:
################################################################################
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