Switch this to use SmallSet to avoid mallocs in the common case.
authorChris Lattner <sabre@nondot.org>
Tue, 23 Jan 2007 00:59:48 +0000 (00:59 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 23 Jan 2007 00:59:48 +0000 (00:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33457 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/VirtRegMap.cpp

index 1d1f6f75cbaf3a4a2e0887b90190be51059c96fb..8fb26a95cee2fbd80adf4a37a9253d38495bc9f0 100644 (file)
@@ -29,8 +29,8 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/SmallSet.h"
 #include <algorithm>
-#include <set>
 using namespace llvm;
 
 STATISTIC(NumSpills, "Number of register spills");
@@ -471,7 +471,7 @@ namespace {
     unsigned GetRegForReload(unsigned PhysReg, MachineInstr *MI,
                              AvailableSpills &Spills,
                              std::map<int, MachineInstr*> &MaybeDeadStores,
-                             std::set<unsigned> &Rejected) {
+                             SmallSet<unsigned, 8> &Rejected) {
       if (Reuses.empty()) return PhysReg;  // This is most often empty.
 
       for (unsigned ro = 0, e = Reuses.size(); ro != e; ++ro) {
@@ -553,7 +553,7 @@ namespace {
     unsigned GetRegForReload(unsigned PhysReg, MachineInstr *MI,
                              AvailableSpills &Spills,
                              std::map<int, MachineInstr*> &MaybeDeadStores) {
-      std::set<unsigned> Rejected;
+      SmallSet<unsigned, 8> Rejected;
       return GetRegForReload(PhysReg, MI, Spills, MaybeDeadStores, Rejected);
     }
   };