Viewing file: StripSymbols.h (1.61 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
//===- StripSymbols.h - Strip symbols and debug info from a module --------===// // // 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 // //===----------------------------------------------------------------------===// // // The StripSymbols transformation implements code stripping. Specifically, it // can delete: // // * names for virtual registers // * symbols for internal globals and functions // * debug information // // Note that this transformation makes code much less readable, so it should // only be used in situations where the 'strip' utility would be used, such as // reducing code size or making it harder to reverse engineer code. // //===----------------------------------------------------------------------===//
#ifndef LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H #define LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H
#include "llvm/IR/PassManager.h"
namespace llvm {
struct StripSymbolsPass : PassInfoMixin<StripSymbolsPass> { PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); };
struct StripNonDebugSymbolsPass : PassInfoMixin<StripNonDebugSymbolsPass> { PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); };
struct StripDebugDeclarePass : PassInfoMixin<StripDebugDeclarePass> { PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); };
struct StripDeadDebugInfoPass : PassInfoMixin<StripDeadDebugInfoPass> { PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); };
} // end namespace llvm
#endif // LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H
|