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> >")); _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits