From: Rui Ueyama Date: Thu, 1 Dec 2016 21:41:06 +0000 (+0000) Subject: Add an assert instead of ignoring an impossible condition. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6cd5fe41538a84a7880b167709351a17fd67b22;p=platform%2Fupstream%2Fllvm.git Add an assert instead of ignoring an impossible condition. llvm-svn: 288419 --- diff --git a/lld/ELF/ICF.cpp b/lld/ELF/ICF.cpp index 0c6ec2f..b416608 100644 --- a/lld/ELF/ICF.cpp +++ b/lld/ELF/ICF.cpp @@ -243,8 +243,6 @@ bool ICF::variableEq(const InputSection *A, ArrayRef RelsA, auto *Y = dyn_cast>(DB->Section); if (!X || !Y) return false; - if (X->Color[Cnt % 2] == 0) - return false; // Performance hack for single-thread. If no other threads are // running, we can safely read next colors as there is no race @@ -252,6 +250,11 @@ bool ICF::variableEq(const InputSection *A, ArrayRef RelsA, // iterations of the main loop because we can see results of the // same iteration. size_t Idx = (Config->Threads ? Cnt : Cnt + 1) % 2; + + // All colorable sections must have some colors. + // 0 is a default non-color value. + assert(X->Color[Idx] != 0 && Y->Color[Idx] != 0); + return X->Color[Idx] == Y->Color[Idx]; };