//
//===----------------------------------------------------------------------===//
-#include "llvm/Transforms/SymbolStripping.h"
+#include "llvm/Transforms/Scalar.h"
#include "llvm/Module.h"
#include "llvm/Function.h"
#include "llvm/SymbolTable.h"
namespace {
struct SymbolStripping : public FunctionPass {
+ const char *getPassName() const { return "Strip Symbols from Functions"; }
+
virtual bool runOnFunction(Function *F) {
return doSymbolStripping(F);
}
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesAll();
+ }
};
struct FullSymbolStripping : public SymbolStripping {
+ const char *getPassName() const { return "Strip Symbols from Module"; }
virtual bool doInitialization(Module *M) {
return doStripGlobalSymbols(M);
}