[llvm-bugs] [Bug 34514] New: r311737 caused miscompile of chromium under msan
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Sep 6 16:51:42 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=34514
Bug ID: 34514
Summary: r311737 caused miscompile of chromium under msan
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: hans at chromium.org
CC: chandlerc at gmail.com, craig.topper at gmail.com,
llvm-bugs at lists.llvm.org
This is based on a Chromium bug:
https://bugs.chromium.org/p/chromium/issues/detail?id=762156
After r311737 we started seeing a single test binary failing, and only in msan
builds, with an incorrect result.
I don't have a good repro for this besides building and running the test.
The test failure correlated with a change in X86TargetLowering::EmitTest's
behaviour for a single SDAG node. Before r311737, EmitTest for an ISD::AND
would generally return an X86ISD::AND. After that revision, it will more often
return an X86ISD::CMP against 0, which is the pattern for a "test" instruction.
If I change the new code to not do that for ISD::AND nodes which are used by
both an X86ISD::CMP and an ISD::SELECT, the test passes.
But even when targeting just that node, the difference in asm output is large
and hard to make sense of.
See the Chromium bug for IR and the patch I used.
--
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/20170906/0a522116/attachment-0001.html>
More information about the llvm-bugs
mailing list