| //===- DXILResourceAnalysis.cpp - DXIL Resource analysis-------------------===// | |
| // | |
| // 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 | |
| // | |
| //===----------------------------------------------------------------------===// | |
| /// | |
| /// \file This file contains Analysis for information about DXIL resources. | |
| /// | |
| //===----------------------------------------------------------------------===// | |
| #include "DXILResourceAnalysis.h" | |
| #include "DirectX.h" | |
| #include "llvm/IR/PassManager.h" | |
| using namespace llvm; | |
| #define DEBUG_TYPE "dxil-resource-analysis" | |
| dxil::Resources DXILResourceAnalysis::run(Module &M, | |
| ModuleAnalysisManager &AM) { | |
| dxil::Resources R; | |
| R.collect(M); | |
| return R; | |
| } | |
| AnalysisKey DXILResourceAnalysis::Key; | |
| PreservedAnalyses DXILResourcePrinterPass::run(Module &M, | |
| ModuleAnalysisManager &AM) { | |
| dxil::Resources Res = AM.getResult<DXILResourceAnalysis>(M); | |
| Res.print(OS); | |
| return PreservedAnalyses::all(); | |
| } | |
| char DXILResourceWrapper::ID = 0; | |
| INITIALIZE_PASS_BEGIN(DXILResourceWrapper, DEBUG_TYPE, | |
| "DXIL resource Information", true, true) | |
| INITIALIZE_PASS_END(DXILResourceWrapper, DEBUG_TYPE, | |
| "DXIL resource Information", true, true) | |
| bool DXILResourceWrapper::runOnModule(Module &M) { | |
| Resources.collect(M); | |
| return false; | |
| } | |
| DXILResourceWrapper::DXILResourceWrapper() : ModulePass(ID) {} | |
| void DXILResourceWrapper::print(raw_ostream &OS, const Module *) const { | |
| Resources.print(OS); | |
| } |