diff options
author | David Blaikie <dblaikie@gmail.com> | 2015-10-26 18:41:13 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2015-10-26 18:41:13 +0000 |
commit | 7b54b525cd5659a1fbdff0246a789824ea624946 (patch) | |
tree | dc8f0ad9a463ca1555393cb72c5cdbc693c5eadd /llvm/lib/CodeGen | |
parent | 94c83370b55cf30d1b3004fe11b67c8f8816a8d4 (diff) | |
download | bcm5719-llvm-7b54b525cd5659a1fbdff0246a789824ea624946.tar.gz bcm5719-llvm-7b54b525cd5659a1fbdff0246a789824ea624946.zip |
Remove assert(false) in favor of asserting the if conditional it is contained within.
Also adjust the code to avoid 3 redundant map lookups.
llvm-svn: 251327
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/Analysis.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/llvm/lib/CodeGen/Analysis.cpp b/llvm/lib/CodeGen/Analysis.cpp index a13ab0d8b8d..75579a2b455 100644 --- a/llvm/lib/CodeGen/Analysis.cpp +++ b/llvm/lib/CodeGen/Analysis.cpp @@ -649,18 +649,15 @@ bool llvm::canBeOmittedFromSymbolTable(const GlobalValue *GV) { 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()) { |