[llvm-bugs] [Bug 32342] non-deterministic stage2/stage3 file comparison failures in 3 stage bootstrap on x86_64 darwin and x86_64 linux
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Apr 12 05:07:29 PDT 2017
http://bugs.llvm.org/show_bug.cgi?id=32342
Jack Howarth <howarth.mailing.lists at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #53 from Jack Howarth <howarth.mailing.lists at gmail.com> ---
(In reply to Kyle Butt from comment #52)
> With the help of an internal reproducer, I found the root cause. A fix is
> here: https://reviews.llvm.org/D31964 if someone would care to review.
>
> It's not the DenseMap, it is that we are not clearing ComputedEdges between
> functions. This causes spurious bad layout decisions when pointers end up
> colliding. It also leaks memory.
Thanks. I can confirm that...
------------------------------------------------------------------------
r300022 | iteratee | 2017-04-11 23:18:20 -0400 (Tue, 11 Apr 2017) | 5 lines
CodeGen: BlockPlacement: Clear ComputedEdges between functions.
Not clearing was causing non-deterministic compiles for large files. Addresses
for MachineBasicBlocks would end up colliding and we would lay out a block that
we assumed had been pre-computed when it had not been.
------------------------------------------------------------------------
eliminated the non-determinism in the 3-stage bootstrap on
x86_64-apple-darwin16.
--
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/20170412/25e7a983/attachment.html>
More information about the llvm-bugs
mailing list