llvm-6502/lib/Transforms/IPO/OldPoolAllocate.cpp

34 lines
1.1 KiB
C++
Raw Normal View History

//===-- PoolAllocate.cpp - Pool Allocation Pass ---------------------------===//
//
// This transform changes programs so that disjoint data structures are
// allocated out of different pools of memory, increasing locality and shrinking
// pointer size.
//
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/IPO/PoolAllocate.h"
#include "llvm/Analysis/DataStructure.h"
#include "llvm/Pass.h"
namespace {
struct PoolAllocate : public Pass {
bool run(Module *M) {
DataStructure &DS = getAnalysis<DataStructure>();
return false;
}
// getAnalysisUsageInfo - This function works on the call graph of a module.
// It is capable of updating the call graph to reflect the new state of the
// module.
//
virtual void getAnalysisUsageInfo(Pass::AnalysisSet &Required,
Pass::AnalysisSet &Destroyed,
Pass::AnalysisSet &Provided) {
Required.push_back(DataStructure::ID);
}
};
}
Pass *createPoolAllocatePass() { return new PoolAllocate(); }