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?