mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 02:32:08 +00:00
50d0b7ec3f
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108 91177308-0d34-0410-b5e6-96231b3b80d8
34 lines
900 B
C++
34 lines
900 B
C++
//===-- SymbolStripping.h - Functions that Strip Symbol Tables ---*- C++ -*--=//
|
|
//
|
|
// This family of functions removes symbols from the symbol tables of methods
|
|
// and classes.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_OPT_SYMBOL_STRIPPING_H
|
|
#define LLVM_OPT_SYMBOL_STRIPPING_H
|
|
|
|
class Method;
|
|
class Module;
|
|
|
|
namespace opt {
|
|
|
|
// DoSymbolStripping - Remove all symbolic information from a method
|
|
//
|
|
bool DoSymbolStripping(Method *M);
|
|
|
|
// DoSymbolStripping - Remove all symbolic information from all methods in a
|
|
// module
|
|
//
|
|
static inline bool DoSymbolStripping(Module *M) {
|
|
return M->reduceApply(DoSymbolStripping);
|
|
}
|
|
|
|
// DoFullSymbolStripping - Remove all symbolic information from all methods
|
|
// in a module, and all module level symbols. (method names, etc...)
|
|
//
|
|
bool DoFullSymbolStripping(Module *M);
|
|
|
|
} // End namespace opt
|
|
#endif
|