[llvm] [NFC][LLVM][DirectX] Cleanup pass initialization for DirectX (PR #134419)

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 4 14:10:54 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-directx

Author: Rahul Joshi (jurahul)

<details>
<summary>Changes</summary>

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767

---
Full diff: https://github.com/llvm/llvm-project/pull/134419.diff


3 Files Affected:

- (modified) llvm/lib/Target/DirectX/DXContainerGlobals.cpp (+1-3) 
- (modified) llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp (+1-6) 
- (modified) llvm/lib/Target/DirectX/DirectXTargetMachine.cpp (+1) 


``````````diff
diff --git a/llvm/lib/Target/DirectX/DXContainerGlobals.cpp b/llvm/lib/Target/DirectX/DXContainerGlobals.cpp
index c7a130a1f9c8a..f5a78722558fe 100644
--- a/llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+++ b/llvm/lib/Target/DirectX/DXContainerGlobals.cpp
@@ -51,9 +51,7 @@ class DXContainerGlobals : public llvm::ModulePass {
 
 public:
   static char ID; // Pass identification, replacement for typeid
-  DXContainerGlobals() : ModulePass(ID) {
-    initializeDXContainerGlobalsPass(*PassRegistry::getPassRegistry());
-  }
+  DXContainerGlobals() : ModulePass(ID) {}
 
   StringRef getPassName() const override {
     return "DXContainer Global Emitter";
diff --git a/llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp b/llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
index 4d1832f44bb63..9c100ba9a9cbf 100644
--- a/llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+++ b/llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
@@ -262,13 +262,8 @@ class DXILPrettyPrinterLegacy : public llvm::ModulePass {
 
 public:
   static char ID;
-  DXILPrettyPrinterLegacy() : ModulePass(ID), OS(dbgs()) {
-    initializeDXILPrettyPrinterLegacyPass(*PassRegistry::getPassRegistry());
-  }
 
-  explicit DXILPrettyPrinterLegacy(raw_ostream &O) : ModulePass(ID), OS(O) {
-    initializeDXILPrettyPrinterLegacyPass(*PassRegistry::getPassRegistry());
-  }
+  explicit DXILPrettyPrinterLegacy(raw_ostream &O) : ModulePass(ID), OS(O) {}
 
   StringRef getPassName() const override {
     return "DXIL Metadata Pretty Printer";
diff --git a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
index ce408b4034f83..747e4b3eb9411 100644
--- a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+++ b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
@@ -64,6 +64,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeDirectXTarget() {
   initializeShaderFlagsAnalysisWrapperPass(*PR);
   initializeRootSignatureAnalysisWrapperPass(*PR);
   initializeDXILFinalizeLinkageLegacyPass(*PR);
+  initializeDXILPrettyPrinterLegacyPass(*PR);
 }
 
 class DXILTargetObjectFile : public TargetLoweringObjectFile {

``````````

</details>


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


More information about the llvm-commits mailing list