#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Support/CFG.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Target/TargetData.h"
#include <set>
#include <algorithm>
namespace {
// FIXME: This should not be a FunctionPass.
- struct LoadVN : public FunctionPass, public ValueNumbering {
+ struct VISIBILITY_HIDDEN LoadVN : public FunctionPass, public ValueNumbering {
/// Pass Implementation stuff. This doesn't do any analysis.
///
RegisterPass<LoadVN> X("load-vn", "Load Value Numbering");
// Declare that we implement the ValueNumbering interface
- RegisterAnalysisGroup<ValueNumbering, LoadVN> Y;
+ RegisterAnalysisGroup<ValueNumbering> Y(X);
}
FunctionPass *llvm::createLoadValueNumberingPass() { return new LoadVN(); }