[llvm] [DXIL] Add support for root signature flag element in DXContainer (PR #123147)

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 11 13:03:00 PST 2025


================
@@ -154,18 +154,14 @@ void DXContainerGlobals::addRootSignature(Module &M,
                                           SmallVector<GlobalValue *> &Globals) {
 
   auto &RSA = getAnalysis<RootSignatureAnalysisWrapper>();
-  std::optional<ModuleRootSignature> MaybeRootSignature = RSA.getResult();
-
-  if (!MaybeRootSignature.has_value())
+  if (!RSA.getResult())
     return;
 
-  ModuleRootSignature MRS = MaybeRootSignature.value();
-
   SmallString<256> Data;
   raw_svector_ostream OS(Data);
 
   RootSignatureHeader RSH;
-  RSH.Flags = MRS.Flags;
+  RSH.Flags = RSA.getResult()->Flags;
----------------
bogner wrote:

Sorry I think I overstated something in my previous comment. We shouldn't call `RSA.getResult()` multiple times here - we should have a local `std::optional<ModuleRootSignature> MRS = RSA.getResult();` - we just don't then need to unwrap it into a separate `ModuleRootSignature` 

https://github.com/llvm/llvm-project/pull/123147


More information about the llvm-commits mailing list