1*700637cbSDimitry Andric //===- DXILPostOptimizationValidation.h - Opt DXIL Validations -*- C++ -*--===// 2*700637cbSDimitry Andric // 3*700637cbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*700637cbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*700637cbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*700637cbSDimitry Andric // 7*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 8*700637cbSDimitry Andric // 9*700637cbSDimitry Andric // \file Pass for validating IR after optimizations are applied and before 10*700637cbSDimitry Andric // lowering to DXIL. 11*700637cbSDimitry Andric // 12*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 13*700637cbSDimitry Andric 14*700637cbSDimitry Andric #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H 15*700637cbSDimitry Andric #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H 16*700637cbSDimitry Andric 17*700637cbSDimitry Andric #include "llvm/IR/PassManager.h" 18*700637cbSDimitry Andric 19*700637cbSDimitry Andric namespace llvm { 20*700637cbSDimitry Andric 21*700637cbSDimitry Andric class DXILPostOptimizationValidation 22*700637cbSDimitry Andric : public PassInfoMixin<DXILPostOptimizationValidation> { 23*700637cbSDimitry Andric public: 24*700637cbSDimitry Andric PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM); 25*700637cbSDimitry Andric }; 26*700637cbSDimitry Andric 27*700637cbSDimitry Andric } // namespace llvm 28*700637cbSDimitry Andric 29*700637cbSDimitry Andric #endif // LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H 30