================
@@ -212,20 +230,24 @@ PreservedAnalyses ShaderFlagsAnalysisPrinter::run(Module 
&M,
 bool ShaderFlagsAnalysisWrapper::runOnModule(Module &M) {
   DXILResourceTypeMap &DRTM =
       getAnalysis<DXILResourceTypeWrapperPass>().getResourceTypeMap();
+  const ModuleMetadataInfo MMDI =
+      getAnalysis<DXILMetadataAnalysisWrapperPass>().getModuleMetadata();
 
-  MSFI.initialize(M, DRTM);
+  MSFI.initialize(M, DRTM, MMDI);
   return false;
 }
 
 void ShaderFlagsAnalysisWrapper::getAnalysisUsage(AnalysisUsage &AU) const {
   AU.setPreservesAll();
   AU.addRequiredTransitive<DXILResourceTypeWrapperPass>();
+  AU.addRequired<DXILMetadataAnalysisWrapperPass>();
----------------
farzonl wrote:

This change causes DXIL Module Metadata analysis pass to run before DXIL Shader 
Flag Analysis because it is now  needed  
`MMDI.EntryPropertyVec[0].Entry->hasFnAttribute(
            llvm::Attribute::OptimizeNone);`  to initialize ModuleShaderFlags.  

Does that mean we were previously going to fetch fn attributes a different way 
and it just turns out `hasFnAttribute` in ModuleMetadataInfo was easier?

https://github.com/llvm/llvm-project/pull/126813
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to