#include "llvm/Transforms/Scalar.h"
#include "llvm/Module.h"
-#include "llvm/Function.h"
#include "llvm/SymbolTable.h"
#include "llvm/Pass.h"
namespace {
struct SymbolStripping : public FunctionPass {
- const char *getPassName() const { return "Strip Symbols from Functions"; }
-
virtual bool runOnFunction(Function &F) {
return StripSymbolTable(F.getSymbolTable());
}
AU.setPreservesAll();
}
};
+ RegisterOpt<SymbolStripping> X("strip", "Strip symbols from functions");
struct FullSymbolStripping : public SymbolStripping {
- const char *getPassName() const { return "Strip Symbols from Module"; }
virtual bool doInitialization(Module &M) {
return StripSymbolTable(M.getSymbolTable());
}
};
+ RegisterOpt<FullSymbolStripping> Y("mstrip",
+ "Strip symbols from module and functions");
}
Pass *createSymbolStrippingPass() {