34 lines · c
1//===- DXILPrettyPrinter.h - Print resources for textual DXIL ---*- 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-exception6//7//===----------------------------------------------------------------------===//8//9// \file This file contains a pass for pretty printing DXIL metadata into IR10// comments when printing assembly output.11//12//===----------------------------------------------------------------------===//13 14#ifndef LLVM_TARGET_DIRECTX_DXILPRETTYPRINTER_H15#define LLVM_TARGET_DIRECTX_DXILPRETTYPRINTER_H16 17#include "llvm/IR/PassManager.h"18 19namespace llvm {20 21/// A pass that prints resources in a format suitable for textual DXIL.22class DXILPrettyPrinterPass : public PassInfoMixin<DXILPrettyPrinterPass> {23 raw_ostream &OS;24 25public:26 explicit DXILPrettyPrinterPass(raw_ostream &OS) : OS(OS) {}27 28 PreservedAnalyses run(Module &M, ModuleAnalysisManager &);29};30 31} // namespace llvm32 33#endif // LLVM_TARGET_DIRECTX_DXILPRETTYPRINTER_H34