[clang] [HLSL][NFC] Rename isImplicit() to hasRegisterStot() on HLSLResourceBindingAttr (PR #138964)
via cfe-commits
cfe-commits at lists.llvm.org
Wed May 7 13:54:19 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-hlsl
@llvm/pr-subscribers-clang
Author: Helena Kotas (hekota)
<details>
<summary>Changes</summary>
Renaming because the name `isImplicit` is ambiguous. It can mean implicit attribute or implicit binding.
---
Full diff: https://github.com/llvm/llvm-project/pull/138964.diff
3 Files Affected:
- (modified) clang/include/clang/Basic/Attr.td (+4-4)
- (modified) clang/lib/CodeGen/CGHLSLRuntime.cpp (+1-1)
- (modified) clang/lib/Sema/SemaHLSL.cpp (+3-3)
``````````diff
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;
``````````
</details>
https://github.com/llvm/llvm-project/pull/138964
More information about the cfe-commits
mailing list