Subzero. Moar performance tweaks.

1) Clones llvm::BitVector, and makes it Allocator aware (using the
CfgLocalAllocator<>)

2) Uses mallopt to set the malloc granularity. The default granularity
is too small, which forces too many mmap calls.

BUG=
R=sehr@chromium.org, stichnot@chromium.org

Review URL: https://codereview.chromium.org/1738683003 .
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp
index 2c80e0b..c959784 100644
--- a/src/IceCfg.cpp
+++ b/src/IceCfg.cpp
@@ -15,6 +15,7 @@
 #include "IceCfg.h"
 
 #include "IceAssembler.h"
+#include "IceBitVector.h"
 #include "IceCfgNode.h"
 #include "IceClFlags.h"
 #include "IceDefs.h"
@@ -237,8 +238,8 @@
 
   // Prune any unreachable nodes before computing in-edges.
   SizeT NumNodes = getNumNodes();
-  llvm::BitVector Reachable(NumNodes);
-  llvm::BitVector Pending(NumNodes);
+  BitVector Reachable(NumNodes);
+  BitVector Pending(NumNodes);
   Pending.set(getEntryNode()->getIndex());
   while (true) {
     int Index = Pending.find_first();
@@ -427,7 +428,7 @@
 }
 
 namespace {
-void getRandomPostOrder(CfgNode *Node, llvm::BitVector &ToVisit,
+void getRandomPostOrder(CfgNode *Node, BitVector &ToVisit,
                         Ice::NodeList &PostOrder,
                         Ice::RandomNumberGenerator *RNG) {
   assert(ToVisit[Node->getIndex()]);
@@ -449,7 +450,7 @@
 
   NodeList ReversedReachable;
   NodeList Unreachable;
-  llvm::BitVector ToVisit(Nodes.size(), true);
+  BitVector ToVisit(Nodes.size(), true);
   // Create Random number generator for function reordering
   RandomNumberGenerator RNG(Ctx->getFlags().getRandomSeed(),
                             RPE_BasicBlockReordering, SequenceNumber);
@@ -813,7 +814,7 @@
   getVMetadata()->init(VMK_Uses);
   Live->init();
   // Initialize with all nodes needing to be processed.
-  llvm::BitVector NeedToProcess(Nodes.size(), true);
+  BitVector NeedToProcess(Nodes.size(), true);
   while (NeedToProcess.any()) {
     // Iterate in reverse topological order to speed up convergence.
     for (CfgNode *Node : reverse_range(Nodes)) {