diff options
author | Chris Lattner <sabre@nondot.org> | 2005-03-21 20:29:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-03-21 20:29:56 +0000 |
commit | d75e334d2460c64441d8770b34d025d1315b256c (patch) | |
tree | 9c2323b56f7c0aea2bb10856fcb4ae27fb5be1a1 | |
parent | b3439374ac144cc0ecd4fd0b238ca2d193897312 (diff) |
add a new map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20742 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/DataStructure/DataStructure.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index 15ae2dc945..a12467eb99 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -201,6 +201,14 @@ class TDDataStructures : public ModulePass { std::map<DSGraph*, std::vector<CallerCallEdge> > CallerEdges; + + // IndCallMap - We memoize the results of indirect call inlining operations + // that have multiple targets here to avoid N*M inlining. The key to the map + // is a sorted set of callee functions, the value is the DSGraph that holds + // all of the caller graphs merged together, and the DSCallSite to merge with + // the arguments for each function. + std::map<std::vector<Function*>, DSGraph*> IndCallMap; + public: ~TDDataStructures() { releaseMyMemory(); } |