[llvm] r251327 - Remove assert(false) in favor of asserting the if conditional it is contained within.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 11:41:13 PDT 2015


Author: dblaikie
Date: Mon Oct 26 13:41:13 2015
New Revision: 251327

URL: http://llvm.org/viewvc/llvm-project?rev=251327&view=rev
Log:
Remove assert(false) in favor of asserting the if conditional it is contained within.

Also adjust the code to avoid 3 redundant map lookups.

Modified:
    llvm/trunk/lib/CodeGen/Analysis.cpp

Modified: llvm/trunk/lib/CodeGen/Analysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/Analysis.cpp?rev=251327&r1=251326&r2=251327&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/Analysis.cpp (original)
+++ llvm/trunk/lib/CodeGen/Analysis.cpp Mon Oct 26 13:41:13 2015
@@ -649,18 +649,15 @@ bool llvm::canBeOmittedFromSymbolTable(c
 static void collectFuncletMembers(
     DenseMap<const MachineBasicBlock *, int> &FuncletMembership, int Funclet,
     const MachineBasicBlock *MBB) {
+  // Add this MBB to our funclet.
+  auto P = FuncletMembership.insert(std::make_pair(MBB, Funclet));
+
   // Don't revisit blocks.
-  if (FuncletMembership.count(MBB) > 0) {
-    if (FuncletMembership[MBB] != Funclet) {
-      assert(false && "MBB is part of two funclets!");
-      report_fatal_error("MBB is part of two funclets!");
-    }
+  if (!P.second) {
+    assert(P.first->second == Funclet && "MBB is part of two funclets!");
     return;
   }
 
-  // Add this MBB to our funclet.
-  FuncletMembership[MBB] = Funclet;
-
   bool IsReturn = false;
   int NumTerminators = 0;
   for (const MachineInstr &MI : MBB->terminators()) {




More information about the llvm-commits mailing list