Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===- StripSymbols.h - Strip symbols and debug info from a module --------===//
  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. // The StripSymbols transformation implements code stripping. Specifically, it
  10. // can delete:
  11. //
  12. //   * names for virtual registers
  13. //   * symbols for internal globals and functions
  14. //   * debug information
  15. //
  16. // Note that this transformation makes code much less readable, so it should
  17. // only be used in situations where the 'strip' utility would be used, such as
  18. // reducing code size or making it harder to reverse engineer code.
  19. //
  20. //===----------------------------------------------------------------------===//
  21.  
  22. #ifndef LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H
  23. #define LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H
  24.  
  25. #include "llvm/IR/PassManager.h"
  26.  
  27. namespace llvm {
  28.  
  29. struct StripSymbolsPass : PassInfoMixin<StripSymbolsPass> {
  30.   PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
  31. };
  32.  
  33. struct StripNonDebugSymbolsPass : PassInfoMixin<StripNonDebugSymbolsPass> {
  34.   PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
  35. };
  36.  
  37. struct StripDebugDeclarePass : PassInfoMixin<StripDebugDeclarePass> {
  38.   PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
  39. };
  40.  
  41. struct StripDeadDebugInfoPass : PassInfoMixin<StripDeadDebugInfoPass> {
  42.   PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
  43. };
  44.  
  45. } // end namespace llvm
  46.  
  47. #endif // LLVM_TRANSFORMS_IPO_STRIPSYMBOLS_H
  48.