[llvm-bugs] [Bug 39890] New: New assertion failure `MustInsert.second && "New discriminator shouldn't be present in set"' (X86DiscriminateMemOps.cpp)

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 5 03:13:05 PST 2018


            Bug ID: 39890
           Summary: New assertion failure `MustInsert.second && "New
                    discriminator shouldn't be present in set"'
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: greg.bedwell at sony.com
                CC: davidxl at google.com, htmldeveloper at gmail.com,
                    llvm-bugs at lists.llvm.org, wmi at google.com

Bisected on our internal fork to r347938 (Revert "Revert r347596 "Support for
inserting profile-directed cache prefetches") but reproducible with upstream
TOT (r348340) as follows:

$ cat 1.cpp
# define B4 b; b; b; b
# define B16 B4; B4; B4; B4
# define B64 B16; B16; B16; B16
# define B256 B64; B64; B64; B64
# define B1024 B256; B256; B256; B256

void a() {
          volatile int b;
            B1024; B1024; B;

$ ./bin/clang 1.cpp -c --target=x86_64-unknown-unknown -g
-fdebug-info-for-profiling -DB=
$ ./bin/clang 1.cpp -c --target=x86_64-unknown-unknown -g
-fdebug-info-for-profiling -DB=b
virtual bool
Assertion `MustInsert.second && "New discriminator shouldn't be present in
set"' failed.

Obviously the above is quite a contrived testcase but we've seen it happen in
real code where there is heavy use of nested macro expansions.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181205/ac5b582a/attachment-0001.html>

More information about the llvm-bugs mailing list