[llvm-branch-commits] [llvm] bec0801 - Revert "[DXIL][Analysis] Make alignment on StructuredBuffer optional"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jul 29 14:49:02 PDT 2024
Author: Justin Bogner
Date: 2024-07-29T14:48:58-07:00
New Revision: bec08017b61d1777f27a69d114cb988255dd2317
URL: https://github.com/llvm/llvm-project/commit/bec08017b61d1777f27a69d114cb988255dd2317
DIFF: https://github.com/llvm/llvm-project/commit/bec08017b61d1777f27a69d114cb988255dd2317.diff
LOG: Revert "[DXIL][Analysis] Make alignment on StructuredBuffer optional"
This reverts commit a94edb6b8e321a46fe429934236aaa4e2e9fb97f.
Added:
Modified:
llvm/include/llvm/Analysis/DXILResource.h
llvm/lib/Analysis/DXILResource.cpp
llvm/unittests/Analysis/DXILResourceTest.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/DXILResource.h b/llvm/include/llvm/Analysis/DXILResource.h
index fe79c391ccd9c..2ca0ad9a75319 100644
--- a/llvm/include/llvm/Analysis/DXILResource.h
+++ b/llvm/include/llvm/Analysis/DXILResource.h
@@ -47,7 +47,7 @@ class ResourceInfo {
struct StructInfo {
uint32_t Stride;
- MaybeAlign Alignment;
+ Align Alignment;
bool operator==(const StructInfo &RHS) const {
return std::tie(Stride, Alignment) == std::tie(RHS.Stride, RHS.Alignment);
@@ -138,7 +138,7 @@ class ResourceInfo {
CBufferSize = Size;
}
void setSampler(dxil::SamplerType Ty) { SamplerTy = Ty; }
- void setStruct(uint32_t Stride, MaybeAlign Alignment) {
+ void setStruct(uint32_t Stride, Align Alignment) {
assert(isStruct() && "Not a Struct");
Struct.Stride = Stride;
Struct.Alignment = Alignment;
@@ -164,7 +164,7 @@ class ResourceInfo {
dxil::ResourceKind Kind);
static ResourceInfo RawBuffer(Value *Symbol, StringRef Name);
static ResourceInfo StructuredBuffer(Value *Symbol, StringRef Name,
- uint32_t Stride, MaybeAlign Alignment);
+ uint32_t Stride, Align Alignment);
static ResourceInfo Texture2DMS(Value *Symbol, StringRef Name,
dxil::ElementType ElementTy,
uint32_t ElementCount, uint32_t SampleCount);
@@ -180,9 +180,9 @@ class ResourceInfo {
static ResourceInfo RWRawBuffer(Value *Symbol, StringRef Name,
bool GloballyCoherent, bool IsROV);
static ResourceInfo RWStructuredBuffer(Value *Symbol, StringRef Name,
- uint32_t Stride, MaybeAlign Alignment,
- bool GloballyCoherent, bool IsROV,
- bool HasCounter);
+ uint32_t Stride,
+ Align Alignment, bool GloballyCoherent,
+ bool IsROV, bool HasCounter);
static ResourceInfo RWTexture2DMS(Value *Symbol, StringRef Name,
dxil::ElementType ElementTy,
uint32_t ElementCount, uint32_t SampleCount,
diff --git a/llvm/lib/Analysis/DXILResource.cpp b/llvm/lib/Analysis/DXILResource.cpp
index 3ca5d360fc228..1443fef8fc165 100644
--- a/llvm/lib/Analysis/DXILResource.cpp
+++ b/llvm/lib/Analysis/DXILResource.cpp
@@ -79,8 +79,7 @@ ResourceInfo ResourceInfo::RawBuffer(Value *Symbol, StringRef Name) {
}
ResourceInfo ResourceInfo::StructuredBuffer(Value *Symbol, StringRef Name,
- uint32_t Stride,
- MaybeAlign Alignment) {
+ uint32_t Stride, Align Alignment) {
ResourceInfo RI(ResourceClass::SRV, ResourceKind::StructuredBuffer, Symbol,
Name);
RI.setStruct(Stride, Alignment);
@@ -128,8 +127,7 @@ ResourceInfo ResourceInfo::RWRawBuffer(Value *Symbol, StringRef Name,
}
ResourceInfo ResourceInfo::RWStructuredBuffer(Value *Symbol, StringRef Name,
- uint32_t Stride,
- MaybeAlign Alignment,
+ uint32_t Stride, Align Alignment,
bool GloballyCoherent, bool IsROV,
bool HasCounter) {
ResourceInfo RI(ResourceClass::UAV, ResourceKind::StructuredBuffer, Symbol,
@@ -286,8 +284,7 @@ MDTuple *ResourceInfo::getAsMetadata(LLVMContext &Ctx) const {
std::pair<uint32_t, uint32_t> ResourceInfo::getAnnotateProps() const {
uint32_t ResourceKind = llvm::to_underlying(Kind);
- uint32_t AlignLog2 =
- (isStruct() && Struct.Alignment) ? Log2(*Struct.Alignment) : 0;
+ uint32_t AlignLog2 = isStruct() ? Log2(Struct.Alignment) : 0;
bool IsUAV = isUAV();
bool IsROV = IsUAV && UAVFlags.IsROV;
bool IsGloballyCoherent = IsUAV && UAVFlags.GloballyCoherent;
diff --git a/llvm/unittests/Analysis/DXILResourceTest.cpp b/llvm/unittests/Analysis/DXILResourceTest.cpp
index 7bbb417097882..554cbd0d8ded7 100644
--- a/llvm/unittests/Analysis/DXILResourceTest.cpp
+++ b/llvm/unittests/Analysis/DXILResourceTest.cpp
@@ -151,19 +151,6 @@ TEST(DXILResource, AnnotationsAndMetadata) {
EXPECT_MDEQ(
MD, TestMD.get(0, Symbol, "Buffer0", 0, 0, 1, 12, 0, TestMD.get(1, 16)));
- // StructuredBuffer<float3> Buffer1 : register(t1);
- Symbol = UndefValue::get(StructType::create(
- Context, {Floatx3Ty}, "class.StructuredBuffer<vector<float, 3> >"));
- Resource = ResourceInfo::StructuredBuffer(Symbol, "Buffer1",
- /*Stride=*/12, {});
- Resource.bind(1, 0, 1, 1);
- Props = Resource.getAnnotateProps();
- EXPECT_EQ(Props.first, 0x0000000cU);
- EXPECT_EQ(Props.second, 0x0000000cU);
- MD = Resource.getAsMetadata(Context);
- EXPECT_MDEQ(
- MD, TestMD.get(1, Symbol, "Buffer1", 0, 1, 1, 12, 0, TestMD.get(1, 12)));
-
// Texture2D<float4> ColorMapTexture : register(t2);
Symbol = UndefValue::get(StructType::create(
Context, {Floatx4Ty}, "class.Texture2D<vector<float, 4> >"));
More information about the llvm-branch-commits
mailing list