Displaying 20 results from an estimated 8000 matches similar to: "Uncovering non-determinism in LLVM - The Next Steps"
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.
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>".
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 Aug 29
2
Uncovering non-determinism in LLVM - An Update
Hi All,
I wanted to share a couple of updates on the effort to uncover
non-determinism in LLVM through reverse iteration.
1. Reverse iteration has now been enabled for DenseMap
(https://reviews.llvm.org/D35043)
2. We have setup a nightly reverse iteration buildbot
(http://lab.llvm.org:8011/builders/reverse-iteration).
This builds all LLVM targets with reverse iteration ON and runs ninja
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.
>>
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
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
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
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
>>
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 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:
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 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
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: