blob: 14ea5d3c6eb0ca1d97e4a879d9507e0b13494e55 [file] [log] [blame]
Vedant Kumarca407c42018-07-24 00:41:28 +00001//===- Debugify.h - Attach synthetic debug info to everything -------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9///
10/// \file Interface to the `debugify` synthetic debug info testing utility.
11///
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_TOOLS_OPT_DEBUGIFY_H
15#define LLVM_TOOLS_OPT_DEBUGIFY_H
16
17#include "llvm/IR/PassManager.h"
18
19llvm::ModulePass *createDebugifyModulePass();
20llvm::FunctionPass *createDebugifyFunctionPass();
21
22struct NewPMDebugifyPass : public llvm::PassInfoMixin<NewPMDebugifyPass> {
23 llvm::PreservedAnalyses run(llvm::Module &M, llvm::ModuleAnalysisManager &AM);
24};
25
26llvm::ModulePass *
27createCheckDebugifyModulePass(bool Strip = false,
28 llvm::StringRef NameOfWrappedPass = "");
29
30llvm::FunctionPass *
31createCheckDebugifyFunctionPass(bool Strip = false,
32 llvm::StringRef NameOfWrappedPass = "");
33
34struct NewPMCheckDebugifyPass
35 : public llvm::PassInfoMixin<NewPMCheckDebugifyPass> {
36 llvm::PreservedAnalyses run(llvm::Module &M, llvm::ModuleAnalysisManager &AM);
37};
38
39#endif // LLVM_TOOLS_OPT_DEBUGIFY_H