similar to: Uncovering non-determinism in LLVM - An Update

Displaying 20 results from an estimated 10000 matches similar to: "Uncovering non-determinism in LLVM - An Update"

2017 Aug 31
2
[cfe-dev] Uncovering non-determinism in LLVM - An Update
On 30 August 2017 at 18:51, David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > > On Tue, Aug 29, 2017 at 11:45 AM Grang, Mandeep Singh via cfe-dev > <cfe-dev at lists.llvm.org> wrote: >> >> Hi All, >> >> I wanted to share a couple of updates on the effort to uncover >> non-determinism in LLVM through reverse iteration. >>
2017 Jul 06
5
Uncovering non-determinism in LLVM - The Next Steps
Hi all, Last year I had shared with the community my findings about instances of non-determinism in llvm codegen. The major source of which was the iteration of unordered containers resulting in non-deterministic iteration order. In order to uncover such instances we had introduced "reverse iteration" of unordered containers (currently only enabled for SmallPtrSet). I would now
2017 Jul 06
2
Uncovering non-determinism in LLVM - The Next Steps
On Thu, Jul 6, 2017 at 8:02 AM, Robinson, Paul via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > > > -----Original Message----- > > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of > > Grang, Mandeep Singh via llvm-dev > > Sent: Thursday, July 06, 2017 2:56 AM > > To: llvm-dev at lists.llvm.org > > Subject: [llvm-dev]
2016 Nov 15
9
Non-determinism in LLVM codegen
Everyone, There is non-determinism in LLVM codegen in the following scenarios: 1. Between back-to-back runs of the same LLVM toolchain 2. Between Release vs Release+Asserts toolchains 3. Between Linux vs Windows toolchains The main reasons for the non-determinism in codegen are: 1. Iteration of unordered containers (like SmallPtrSet, DenseMap, etc) where the iteration order is undefined 2.
2016 Nov 16
2
Non-determinism in LLVM codegen
> On 2016-Nov-15, at 15:16, Hal Finkel <hfinkel at anl.gov> wrote: > > ----- Original Message ----- >> From: "Mandeep Singh via llvm-dev Grang" <llvm-dev at lists.llvm.org> >> To: llvm-dev at lists.llvm.org, "mehdi amini" <mehdi.amini at apple.com>, dexonsmith at apple.com, zinob at codeaurora.org >> Sent: Tuesday, November 15, 2016
2017 Jul 06
3
Uncovering non-determinism in LLVM - The Next Steps
On Thu, Jul 6, 2017 at 12:34 PM, Sean Silva <chisophugis at gmail.com> wrote: > > > On Thu, Jul 6, 2017 at 10:20 AM, Daniel Berlin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> >> >> On Thu, Jul 6, 2017 at 8:02 AM, Robinson, Paul via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> >>> >>>
2016 Dec 14
0
Non-determinism in LLVM codegen
Everyone, The following patch to reverse iterate SmallPtrSet's has now been merged: https://reviews.llvm.org/D26718 This is how LLVM behavior will change due to this patch: - In LLVM builds with *assertions enabled*, SmallPtrSet's would always be reverse iterated by default. This default behavior can be overridden via the flag "-mllvm -reverse-iterate=<true/false>".
2017 Jul 09
2
Uncovering non-determinism in LLVM - The Next Steps
FYI, I just successfully performed a 3-stage bootstrap with stage2/stage3 object file comparison on x86_64-apple-darwin16 for llvm/clang/clang-tools-extra/compiler-rt/libcxx/openmp/polly using our custom fink packaging scripts with the -DLLVM_REVERSE_ITERATION:BOOL=ON cmake option. There were no stage2/stage3 object file comparison failures or test suite regressions. I do have one question
2017 Jul 09
2
Uncovering non-determinism in LLVM - The Next Steps
On Sun, Jul 9, 2017 at 1:26 PM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > On Sun, Jul 9, 2017 at 9:19 AM, Jack Howarth via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> >> FYI, I just successfully performed a 3-stage bootstrap with >> stage2/stage3 object file comparison on x86_64-apple-darwin16 for >>
2018 Aug 09
3
Writing static analyzers to detect non-deterministic behavior?
Thanks for your response David. 1) I'm not sure it's do-able. I don't know of any nice way to track whether an ordered walk of an unordered container leaks out into the final output of the program. Only iterating over an unordered container is probably not a sufficient hint (it'd have a high false positive rate to warn on every instance of that) - and I don't have any
2018 Aug 09
2
Writing static analyzers to detect non-deterministic behavior?
In the past, I had added the ability in LLVM to uncover 2 types of non-deterministic behaviors: iteration of unordered containers with pointer-like keys and sorting of elements with the same keys. Now, I wanted to add checkers for these (and other types of non-deterministic behaviors) so that they could be applied more widely. I also realize that not all of these may be doable at
2016 Dec 14
0
Non-determinism in LLVM codegen
On Tue, Dec 13, 2016 at 6:39 PM, Hans Wennborg <hans at chromium.org> wrote: > On Tue, Dec 13, 2016 at 4:57 PM, Grang, Mandeep Singh via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Everyone, >> >> The following patch to reverse iterate SmallPtrSet's has now been merged: >> https://reviews.llvm.org/D26718 >> >> This is how LLVM
2016 Dec 14
2
Non-determinism in LLVM codegen
On Tue, Dec 13, 2016 at 4:57 PM, Grang, Mandeep Singh via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Everyone, > > The following patch to reverse iterate SmallPtrSet's has now been merged: > https://reviews.llvm.org/D26718 > > This is how LLVM behavior will change due to this patch: > - In LLVM builds with assertions enabled, SmallPtrSet's would always be
2017 Jul 06
2
Uncovering non-determinism in LLVM - The Next Steps
On 6 July 2017 at 11:02, Robinson, Paul via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Grang, Mandeep Singh wrote: >> I would like to hear the community's thoughts on these proposals. >From the perspective of the recent focused effort on reproducible builds, I think this is excellent. >> We ideally want to compare rel vs >> rel+asserts vs debug with Linux vs
2018 Apr 13
2
llvm::sort - A new wrapper to std::sort
r327219 added a new wrapper function called *llvm::sort*. If EXPENSIVE_CHECKS is enabled, llvm::sort will randomly shuffle the container before invoking std::sort. This will help uncover non-deterministic ordering of objects having the same key. All occurrences of std::sort have been changed to llvm::sort in llvm/clang/polly repos. Going forward please make sure to avoid use of std::sort and
2017 Aug 28
5
[5.0.0 Release] Please write release notes
I'm sorry, but I don't think LLDB has any release notes. On Sat, Aug 26, 2017 at 9:49 PM, Kamil Rytarowski <n54 at gmx.com> wrote: > LLDB: > > Switched the NetBSD platform to new remote tracing capable framework. > > Preliminary support for tracing NetBSD(/amd64) processes and core files > with a single thread. > > On 25.08.2017 02:44, Hans Wennborg via
2017 Jun 01
5
[SemaCXX] Should we fix test failing due to reverse iteration?
I see that the following test fails if reverse iteration of SmallPtrSet is enabled: /clang/test/SemaCXX/warn-loop-analysis.cpp/ This is because in SemaStmt.cpp we iterate SmallPtrSet and output warnings about the variables not used in the loop. Expected output: /warning: variables 'i', 'j', and 'k' used in loop condition not modified/ Output with reverse iteration:
2015 Feb 04
2
[LLVMdev] Question on Machine Combiner Pass
Ping From: Mandeep Singh Grang [mailto:mgrang at codeaurora.org] Sent: Tuesday, February 03, 2015 4:34 PM To: 'llvmdev at cs.uiuc.edu' Cc: 'ghoflehner at apple.com'; 'apazos at codeaurora.org'; mgrang at codeaurora.org Subject: Question on Machine Combiner Pass Hi, In the file lib/CodeGen/MachineCombiner.cpp I see that in the function
2018 Apr 13
0
[cfe-dev] llvm::sort - A new wrapper to std::sort
On 13 April 2018 at 21:24, Grang, Mandeep Singh via cfe-dev <cfe-dev at lists.llvm.org> wrote: > Going forward please make sure to avoid use of std::sort and instead use > llvm::sort. Maybe we should add a note on the usage of llvm::sort to the > LLVM Coding Standards? Very definitely. I quite like the idea, but banning a standard library function on this scale is a big step and
2017 Apr 05
2
Difference in EHType between ARM and AArch64
Joerg, Referring to your patch https://reviews.llvm.org/rL291172. / switch (MAI->getExceptionHandlingType()) {// // case ExceptionHandling::SjLj:// // case ExceptionHandling::DwarfCFI:// // case ExceptionHandling::ARM:// //*isCFIMoveForDebugging = true;*// //*if (MAI->getExceptionHandlingType() != ExceptionHandling::DwarfCFI)*/*/ /**/ break;/*/ // for (auto &F: