From f3f9a2dec40cc231caf03002c453ffad8c16aa39 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Tue, 16 May 2023 16:35:15 -0400 Subject: [PATCH] [opt] initialize HLSL passes with SetupRegistryPassForHLSL (#5217) * [opt] initialize HLSL passes with SetupRegistryPassForHLSL call hlsl::SetupRegistryPassForHLSL in opt to initialize all HLSL/DXIL passes. This is for enable lit by default where opt test used to test HLSL/DXIL passes. --- tools/opt/CMakeLists.txt | 2 ++ tools/opt/opt.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/opt/CMakeLists.txt b/tools/opt/CMakeLists.txt index a821f70b7..693e25c6b 100644 --- a/tools/opt/CMakeLists.txt +++ b/tools/opt/CMakeLists.txt @@ -7,6 +7,8 @@ set(LLVM_LINK_COMPONENTS DXIL # HLSL Change DxcBindingTable # HLSL Change HLSL # HLSL Change + DxilContainer # HLSL Change for DxcOptimizerPass + DxilRootSignature # HLSL Change for DxcOptimizerPass IPA IPO IRReader diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 4a304b360..3fda73b6c 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -305,6 +305,9 @@ void initializePollyPasses(llvm::PassRegistry &Registry); #ifdef HAS_DXILCONV void __cdecl initializeDxilConvPasses(llvm::PassRegistry &); #endif +namespace hlsl { +HRESULT SetupRegistryPassForHLSL(); +} // namespace hlsl // HLSL Change End //===----------------------------------------------------------------------===// @@ -342,7 +345,6 @@ int __cdecl main(int argc, char **argv) { PassRegistry &Registry = *PassRegistry::getPassRegistry(); initializeCore(Registry); initializeScalarOpts(Registry); - initializeReducibilityAnalysisPass(Registry); // HLSL Change: add ReducibilityAnalysis pass // initializeObjCARCOpts(Registry); // HLSL Change: remove ObjC ARC passes // initializeVectorization(Registry); // HLSL Change: remove vectorization passes initializeIPO(Registry); @@ -361,10 +363,8 @@ int __cdecl main(int argc, char **argv) { //initializeDwarfEHPreparePass(Registry); // HLSL Change: remove EH passes //initializeSjLjEHPreparePass(Registry); // HLSL Change: remove EH passes // HLSL Change Starts - initializeReducibilityAnalysisPass(Registry); - initializeComputeViewIdStatePass(Registry); - initializeDxilFinalizeModulePass(Registry); initializeDxilModuleInitPass(Registry); + hlsl::SetupRegistryPassForHLSL(); #ifdef HAS_DXILCONV initializeDxilConvPasses(Registry); #endif