InitializePasses.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // //
  3. // InitializePasses.cpp //
  4. // Copyright (C) Microsoft Corporation. All rights reserved. //
  5. // This file is distributed under the University of Illinois Open Source //
  6. // License. See LICENSE.TXT for details. //
  7. // //
  8. // Initialization of transformation passes used in DirectX DXBC to DXIL //
  9. // converter. //
  10. // //
  11. ///////////////////////////////////////////////////////////////////////////////
  12. #include "DxilConvPasses/ScopeNestInfo.h"
  13. #include "DxilConvPasses/ScopeNestedCFG.h"
  14. #include "DxilConvPasses/NormalizeDxil.h"
  15. #include "DxilConvPasses/DxilCleanup.h"
  16. #include "dxc/Support/WinIncludes.h"
  17. #include "dxc/Support/Global.h"
  18. #include "llvm/PassRegistry.h"
  19. using namespace llvm;
  20. // Place to put our private pass initialization for opt.exe.
  21. void __cdecl initializeDxilConvPasses(PassRegistry &Registry) {
  22. initializeScopeNestedCFGPass(Registry);
  23. initializeScopeNestInfoWrapperPassPass(Registry);
  24. initializeNormalizeDxilPassPass(Registry);
  25. initializeDxilCleanupPass(Registry);
  26. }
  27. namespace hlsl {
  28. HRESULT SetupRegistryPassForDxilConvPasses() {
  29. try
  30. {
  31. PassRegistry &Registry = *PassRegistry::getPassRegistry();
  32. initializeDxilConvPasses(Registry);
  33. }
  34. CATCH_CPP_RETURN_HRESULT();
  35. return S_OK;
  36. }
  37. }