mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-21 18:29:45 +00:00
[GMR] Switch from std::set to SmallPtrSet. NFC.
This almost certainly doesn't matter in some deep sense, but std::set is essentially always going to be slower here. Now the alias query should be essentially constant time instead of having to chase the set tree each time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242893 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5b6ebf5b5c
commit
6accb77bd2
@ -16,6 +16,7 @@
|
||||
|
||||
#include "llvm/Analysis/Passes.h"
|
||||
#include "llvm/ADT/SCCIterator.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/CallGraph.h"
|
||||
@ -30,7 +31,6 @@
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include <list>
|
||||
#include <set>
|
||||
using namespace llvm;
|
||||
|
||||
#define DEBUG_TYPE "globalsmodref-aa"
|
||||
@ -89,11 +89,11 @@ struct FunctionRecord {
|
||||
/// GlobalsModRef - The actual analysis pass.
|
||||
class GlobalsModRef : public ModulePass, public AliasAnalysis {
|
||||
/// The globals that do not have their addresses taken.
|
||||
std::set<const GlobalValue *> NonAddressTakenGlobals;
|
||||
SmallPtrSet<const GlobalValue *, 8> NonAddressTakenGlobals;
|
||||
|
||||
/// IndirectGlobals - The memory pointed to by this global is known to be
|
||||
/// 'owned' by the global.
|
||||
std::set<const GlobalValue *> IndirectGlobals;
|
||||
SmallPtrSet<const GlobalValue *, 8> IndirectGlobals;
|
||||
|
||||
/// AllocsForIndirectGlobals - If an instruction allocates memory for an
|
||||
/// indirect global, this map indicates which one.
|
||||
|
Loading…
Reference in New Issue
Block a user