[llvm] [CodeGen][NewPM] Port `AsmPrinter` to new pass manager (PR #99320)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed May 21 08:08:54 PDT 2025
================
@@ -541,11 +548,20 @@ bool AsmPrinter::doInitialization(Module &M) {
OutStreamer->emitXCOFFRenameDirective(XSym, XSym->getSymbolTableName());
}
- GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
- assert(MI && "AsmPrinter didn't require GCModuleInfo?");
- for (const auto &I : *MI)
- if (GCMetadataPrinter *MP = getOrCreateGCPrinter(*I))
- MP->beginAssembly(M, *MI, *this);
+ if (inNewPassManager()) {
+ auto &MI = MAM->getResult<CollectorMetadataAnalysis>(M);
+ for (const auto &[Name, Strategy] : MI)
+ if ([[maybe_unused]] GCMetadataPrinter *MP =
+ getOrCreateGCPrinter(*Strategy)) {
+ // TODO: Let GCMetadataPrinter support new pass manager
+ }
+ } else {
+ GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
+ assert(MI && "AsmPrinter didn't require GCModuleInfo?");
+ for (const auto &I : *MI)
----------------
arsenm wrote:
Braces
https://github.com/llvm/llvm-project/pull/99320
More information about the llvm-commits
mailing list