From: Tom Stellard Date: Tue, 10 Apr 2018 04:35:05 +0000 (+0000) Subject: Merging r328755: X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d88ca2927027d254931437c6f6c83f43724945af;p=llvm Merging r328755: ------------------------------------------------------------------------ r328755 | gbiv | 2018-03-28 20:12:03 -0700 (Wed, 28 Mar 2018) | 10 lines [MemorySSA] Turn an assert into a condition Eli pointed out that variadic functions are totally a thing, so this assert is incorrect. No test-case is provided, since the only way this assert fires is if a specific DenseMap falls back to doing `isEqual` checks, and that seems fairly brittle (and requires a pyramid of growing `call void (i8, ...) @varargs(i8 0)`). ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@329670 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/MemorySSA.cpp b/lib/Analysis/MemorySSA.cpp index 137b2022e84..09605f61fa9 100644 --- a/lib/Analysis/MemorySSA.cpp +++ b/lib/Analysis/MemorySSA.cpp @@ -159,8 +159,8 @@ public: if (CS.getCalledValue() != Other.CS.getCalledValue()) return false; - assert(CS.arg_size() == Other.CS.arg_size()); - return std::equal(CS.arg_begin(), CS.arg_end(), Other.CS.arg_begin()); + return CS.arg_size() == Other.CS.arg_size() && + std::equal(CS.arg_begin(), CS.arg_end(), Other.CS.arg_begin()); } private: