Date: Thu, 25 Jul 2024 18:04:06 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 276961] buildworld artifacts not reproducible between native and cross build Message-ID: <bug-276961-227-SU3jGOfZ0V@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-276961-227@https.bugs.freebsd.org/bugzilla/> References: <bug-276961-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276961 --- Comment #7 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D55a2a91c5e1bb39dd625ba56597608883= fbcb318 commit 55a2a91c5e1bb39dd625ba56597608883fbcb318 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-07-25 11:13:45 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-07-25 18:03:01 +0000 Merge commit 28a2b85602a5 from llvm-project (by Kazu Hirata): [DeadStoreElimination] Use SmallSetVector (NFC) (#79410) The use of SmallSetVector saves 0.58% of heap allocations during the compilation of a large preprocessed file, namely X86ISelLowering.cpp, for the X86 target. During the experiment, the final size of ToCheck was 8 or less 88% of the time. Merge commit 9e95c4947d31 from llvm-project (by Nikita Popov): [DSE] Fix non-determinism due to address reuse (#84943) The malloc->calloc fold creates a new MemoryAccess, which may end of = at the same address as a previously deleted access inside SkipStores. To the most part, this is not a problem, because SkipStores is normal= ly only used together with MemDefs. Neither the old malloc access nor the new calloc access will be part of MemDefs, so there is no problem her= e. However, SkipStores is also used in one more place: In the main DSE loop, ToCheck entries are checked against it. Fix this by not using SkipStores here, and instead using a separate set to track deletions inside this loop. This way it is not affected by the calloc optimizat= ion that happens outside it. This is all pretty ugly, but I haven't found another good way to fix = it. Suggestions welcome. No test case as I don't have a reliable DSE-only test-case for this. Fixes https://github.com/llvm/llvm-project/issues/84458. This fixes another possible difference in output when building i386 object files with a native or cross build of clang. (Specifically, the file sbin/ipf/ipmon/ipmon.o.) PR: 276961 Reported by: cperciva MFC after: 3 days .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 24 ++++++++++++++++--= ---- 1 file changed, 18 insertions(+), 6 deletions(-) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276961-227-SU3jGOfZ0V>