#include "llvm/Transforms/IPO.h"
#include "llvm/Pass.h"
#include "llvm/Module.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
namespace {
- Statistic<> NumFunctions("internalize\t- Number of functions internalized");
- Statistic<> NumGlobals ("internalize\t- Number of global vars internalized");
-
+ Statistic<> NumFunctions("internalize", "Number of functions internalized");
+ Statistic<> NumGlobals ("internalize", "Number of global vars internalized");
class InternalizePass : public Pass {
virtual bool run(Module &M) {
// Mark all global variables with initializers as internal as well...
for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I)
- if (I->hasInitializer() && I->hasExternalLinkage()) {
+ if (!I->isExternal() && I->hasExternalLinkage()) {
I->setInternalLinkage(true);
Changed = true;
++NumGlobals;