LLVM 23.0.0git
MachineStripDebug.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This removes debug info from everything. It can be used to ensure tests can
10// be debugified without affecting the output MIR.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CODEGEN_MACHINESTRIPDEBUG_H
15#define LLVM_CODEGEN_MACHINESTRIPDEBUG_H
16
17#include "llvm/IR/Analysis.h"
18#include "llvm/IR/Module.h"
19#include "llvm/IR/PassManager.h"
21
22namespace llvm {
23
25 : public PassInfoMixin<StripDebugMachineModulePass> {
26public:
28};
29
30} // namespace llvm
31
32#endif // LLVM_CODEGEN_MACHINESTRIPDEBUG_H
#define LLVM_ABI
Definition Compiler.h:213
Module.h This file contains the declarations for the Module class.
This header defines various interfaces for pass management in LLVM.
A Module instance is used to store all the information related to an LLVM module.
Definition Module.h:67
A set of analyses that are preserved following a run of a transformation pass.
Definition Analysis.h:112
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
Definition MIRParser.h:39
A CRTP mix-in to automatically provide informational APIs needed for passes.
Definition PassManager.h:70