diff --git a/llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp b/llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
index 538394e..1f5957e 100644
--- a/llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
+++ b/llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
@@ -78,12 +78,12 @@
 /// @returns the Module stripped of out-of-chunk functions
 static void extractBasicBlocksFromModule(std::vector<Chunk> ChunksToKeep,
                                          Module *Program) {
-  unsigned I = 0, BBCount = 0;
+  int I = 0, BBCount = 0;
   std::set<BasicBlock *> BBsToKeep;
 
   for (auto &F : *Program)
     for (auto &BB : F)
-      if (I < ChunksToKeep.size()) {
+      if (I < (int)ChunksToKeep.size()) {
         if (ChunksToKeep[I].contains(++BBCount))
           BBsToKeep.insert(&BB);
         if (ChunksToKeep[I].end == BBCount)
@@ -120,7 +120,7 @@
 }
 
 /// Counts the amount of basic blocks and prints their name & respective index
-static unsigned countBasicBlocks(Module *Program) {
+static int countBasicBlocks(Module *Program) {
   // TODO: Silence index with --quiet flag
   outs() << "----------------------------\n";
   int BBCount = 0;
@@ -137,6 +137,6 @@
 
 void llvm::reduceBasicBlocksDeltaPass(TestRunner &Test) {
   outs() << "*** Reducing Basic Blocks...\n";
-  unsigned BBCount = countBasicBlocks(Test.getProgram());
+  int BBCount = countBasicBlocks(Test.getProgram());
   runDeltaPass(Test, BBCount, extractBasicBlocksFromModule);
 }
