This triggers with EXPENSIVE_CHECKS on for a bunch of checks (e.g. fold-sext-trunc.ll).
Unexpected Failures goes from 144 to 29.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 32816 Build 32815: arc lint + arc unit
Event Timeline
llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h | ||
---|---|---|
185 | Can you point to a test where one or both values do not have a fragment? |
llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h | ||
---|---|---|
185 | I see that happening when there is a single value that does not have a fragment. My stdlib has: __glibcxx_requires_irreflexive(__first, __last); as a first statement in sort, which with _GLIBCXX_DEBUG expands to: _GLIBCXX_DEBUG_VERIFY(_First == _Last || !(*_First < *_First) ... The above calls operator<. I can reproduce with: ./bin/llc < /usr/local/google/home/courbet/llvm/llvm-project/llvm/test/CodeGen/X86/fold-sext-trunc.ll -mtriple=x86_64-- |
llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h | ||
---|---|---|
185 | Hmm is there a test that fails if you switch the condition to AFI.hasValue() > BFI.hasValue() ? I am just wondering about the sorting behavior in the absence of fragments. |
llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h | ||
---|---|---|
185 | No, nothing fails. I only saw this being triggered by the irreflexivity check I mentioned above, which works with both < and >. |
Well, the results are at least defined now. Please make sure the commit log mentions "e.g. fold-sext-trunc.ll".
LGTM
Can you point to a test where one or both values do not have a fragment?