Computes the local data structure graphs for all of the functions in the program.
Reference1
Class definition in DataStructure.h:
//
// FIXME: This should be a Function pass that can be USED by a Pass, and would be automatically preserved. Until we can do that, this is a Pass.
//
class LocalDataStructures : public DataStructures {
AddressTakenAnalysis* addrAnalysis;
public:
static char ID;
LocalDataStructures() : DataStructures(ID, "local.") {}
~LocalDataStructures() { releaseMemory(); }
virtual bool runOnModule(Module &M);
/// getAnalysisUsage - This obviously provides a data structure graph.
///
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<AddressTakenAnalysis>();
AU.setPreservesAll();
}
};
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?