[SimplifyCFG] Use hasNUses instead of comparing getNumUses to a constant."
authorCraig Topper <craig.topper@gmail.com>
Mon, 17 Apr 2017 22:13:00 +0000 (22:13 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 17 Apr 2017 22:13:00 +0000 (22:13 +0000)
The use list is a linked list so getNumUses requires a linear scan through the whole list. hasNUses will stop scanning at N and see if that is the end.

llvm-svn: 300505

llvm/lib/Transforms/Utils/SimplifyCFG.cpp

index 127a44d..2f575b9 100644 (file)
@@ -3086,7 +3086,7 @@ static bool mergeConditionalStores(BranchInst *PBI, BranchInst *QBI) {
   if ((PTB && !HasOnePredAndOneSucc(PTB, PBI->getParent(), QBI->getParent())) ||
       (QTB && !HasOnePredAndOneSucc(QTB, QBI->getParent(), PostBB)))
     return false;
-  if (PostBB->getNumUses() != 2 || QBI->getParent()->getNumUses() != 2)
+  if (!PostBB->hasNUses(2) || !QBI->getParent()->hasNUses(2))
     return false;
 
   // OK, this is a sequence of two diamonds or triangles.