//=- DXILMetadataAnalysis.h - Representation of Module metadata --*- C++ -*-=// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_ANALYSIS_DXILMETADATA_H #define LLVM_ANALYSIS_DXILMETADATA_H #include "llvm/IR/PassManager.h" #include "llvm/Pass.h" #include "llvm/Support/VersionTuple.h" #include "llvm/TargetParser/Triple.h" #include <memory> namespace llvm { namespace dxil { struct ModuleMetadataInfo { … }; } // namespace dxil // Module metadata analysis pass for new pass manager class DXILMetadataAnalysis : public AnalysisInfoMixin<DXILMetadataAnalysis> { … }; /// Printer pass for the \c DXILMetadataAnalysis results. class DXILMetadataAnalysisPrinterPass : public PassInfoMixin<DXILMetadataAnalysisPrinterPass> { … }; /// Legacy pass class DXILMetadataAnalysisWrapperPass : public ModulePass { … }; } // namespace llvm #endif // LLVM_ANALYSIS_DXILMETADATA_H