1//===- DirectXPassRegistry.def - Registry of DirectX passes -----*- C++--*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file is used as the registry of passes that are part of the 10// DirectX backend. 11// 12//===----------------------------------------------------------------------===// 13 14// NOTE: NO INCLUDE GUARD DESIRED! 15 16#ifndef MODULE_ANALYSIS 17#define MODULE_ANALYSIS(NAME, CREATE_PASS) 18#endif 19MODULE_ANALYSIS("dx-shader-flags", dxil::ShaderFlagsAnalysis()) 20MODULE_ANALYSIS("dxil-resource", DXILResourceAnalysis()) 21#undef MODULE_ANALYSIS 22 23#ifndef MODULE_PASS 24#define MODULE_PASS(NAME, CREATE_PASS) 25#endif 26// TODO: rename to print<foo> after NPM switch 27MODULE_PASS("print-dx-shader-flags", dxil::ShaderFlagsAnalysisPrinter(dbgs())) 28MODULE_PASS("print-dxil-resource", DXILResourcePrinterPass(dbgs())) 29#undef MODULE_PASS 30