LocalDataStructures

Computes the local data structure graphs for all of the functions in the program.

  • Implemeted as a module pass; but should be a function pass.

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();
  }
};
Created Jul 25, 2019 // Last Updated Nov 17, 2019

If you could revise
the fundmental principles of
computer system design
to improve security...

... what would you change?