[GMR] Continue my quest to remove linked datastructures from GMR, NFC.

This replaces the next-to-last std::map with a DenseMap. While DenseMap
doesn't yet make tons of sense (there are 32 bytes or so in the value
type), my next change will reduce the value type to a single pointer --
we only need a pointer and 3 bits, and that is exactly what we can have.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242956 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2015-07-22 22:32:34 +00:00
parent 1b072f2beb
commit 90b20e96a1

View File

@ -101,7 +101,7 @@ class GlobalsModRef : public ModulePass, public AliasAnalysis {
/// FunctionInfo - For each function, keep track of what globals are
/// modified or read.
std::map<const Function *, FunctionRecord> FunctionInfo;
DenseMap<const Function *, FunctionRecord> FunctionInfo;
/// Handle to clear this analysis on deletion of values.
struct DeletionCallbackHandle final : CallbackVH {
@ -227,8 +227,7 @@ private:
/// getFunctionInfo - Return the function info for the function, or null if
/// we don't have anything useful to say about it.
FunctionRecord *getFunctionInfo(const Function *F) {
std::map<const Function *, FunctionRecord>::iterator I =
FunctionInfo.find(F);
auto I = FunctionInfo.find(F);
if (I != FunctionInfo.end())
return &I->second;
return nullptr;