search for: unsoundness

Displaying 20 results from an estimated 93 matches for "unsoundness".

Did you mean: soundness
2012 Aug 01
1
Different results between lda(mass) and spss discriminant analysis
Hi all, I obtained a strage result with LDA (MASS) function in R with NIR data. I tried both CV (leave one out cross validation) and splitting my data in odd (training) and even (prediction) sets. In all the cases the minimum error was near to 0. Due to the strange result, I tried with SPSS IBM software and it give me around 11% of minimum error with and without leave one out cross validation.
2006 Dec 23
1
complex barplot enquiry
Hello, I was hoping for some advice to resolve a problem I am having trouble with. The data consists of a series of pre and post variables, in a dataframe called 'offend'. I am interested in graphically depicting the pre & post values for a factor variable called 'decision' which has 4 values : nusm, fit, unsound & unfit. An example of a pre and post variable is:
2014 Aug 08
6
[LLVMdev] Plan to optimize atomics in LLVM
> I am planning in doing in IR, but with target specific-passes (such as X86ExpandAtomicPass) > that just share some of the code This would more normally be done via target hooks in LLVM, though the principle is sound. > But it must be target-dependent as for example on Power a > seq_cst store has a fence before it, while on ARM it has a fence > both before and after it (per
2014 Aug 08
2
[LLVMdev] Plan to optimize atomics in LLVM
> Longer term, I hope to improve the fence elimination of the ARM backend with > a kind of PRE algorithm. Both of these improvements to the ARM backend > should be fairly straightforward to port to the POWER architecture later, > and I hope to also do that. > > Any reason these couldn't be done at the IR level? I definitely agree here. At the time, it was a plausible idea
2016 Sep 13
2
undef * 0
Thanks for your answers. Another example of unsound transformation on Boolean algebra. According to the LLVM documentation (http://llvm.org/docs/LangRef.html#undefined-values) it is unsafe to consider ' a & undef = undef ' and ' a | undef = undef ' but 'undef xor undef = undef' is safe. Now, given an expression ((a & (~b)) | ((~a) & b)) where a and b are
2016 Sep 13
3
undef * 0
Hi Soham, You're right that in LLVM IR arithmetic (with the current definition of `undef`) is not distributive. You can't replace `A * (B + C)` with `A * B + A * C` in general, since (exactly as you said) for A = `undef`, B = `1`, C = `-1` the former always computes `0` while the latter computes `undef`. This is fundamentally because replacing `A * (B + C)` with `A * B + A * C`
2014 Sep 02
2
[LLVMdev] LICM promoting memory to scalar
I think gcc is right. It inserted a branch for n == 0 (the cbz at the top), so that's not a problem. In all other regards, this is safe: if you examine the sequence of loads and stores, it eliminated all but the first load and all but the last store. How's that unsafe? If I had to guess, the bug here is that LLVM doesn't want to hoist the load over the condition (which it is right
2014 Sep 03
3
[LLVMdev] LICM promoting memory to scalar
Thanks for the background on the concurrent memory model. So, is it sufficient that the loop entry is guarded by condition (cbz at top) for preventing the race? The loop entry will be guarded by condition if loop has been rotated by loop rotate pass. Since LICM runs after loop rotate, we can use ScalarEvolution::isLoopEntryGuardedByCond to check if we can speculatively execute load without
2006 Jul 23
2
constructing a dataframe from a database of newspaper articles
I am hoping for some assistance with formatting a large text file which consists of a series of individual records. Each record includes specific labels/field names (a sample of 1 record (one of the longest ones) is below - at end of post. What I want to do is reformat the data, so that each individual record becomes a row (some cells will have a lot of text). For example, the column
2018 Aug 24
2
[cfe-dev] Soundness in clang SA
Thanks for the detailed explanation. So is changing the analysis technique from path sensitive (symbolic execution) analysis to some other technique bring in the soundness property ? Thanks, Siddharth On Sat, Aug 18, 2018 at 1:27 AM, Artem Dergachev <noqnoqneo at gmail.com> wrote: > Nope, at least not with the "path-sensitive" (symbolic execution) engine. > Which is the
2014 Sep 02
3
[LLVMdev] LICM promoting memory to scalar
All, If we can speculatively execute a load instruction, why isn’t it safe to hoist it out by promoting it to a scalar in LICM pass? There is a comment in LICM pass that if a load/store is conditional then it is not safe because it would break the LLVM concurrency model (See commit 73bfa4a). It has an IR test for checking this in test/Transforms/LICM/scalar-promote-memmodel.ll However, I have
2015 Sep 08
2
UB and known bits
...or and known bits, as I'm sure some of you are aware, code in ValueTracking.cpp is exploiting poison value rules to get a bit of extra precision in the known bits. These rules fire on examples like the ones below. Do we have a set of rules that clients of known bits need to follow to avoid unsoundness? I remember Nuno and/or David Majnemer saying something about this but I don't have it handy. John %0:i32 = var %1:i32 = lshr %0, 1:i32 %2:i32 = addnw 1:i32, %1 infer %2 known from Souper: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx known from compiler: 0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx llvm is str...
2018 Aug 17
2
Soundness in clang SA
Hi all, Is it possible to develop a checker or some feature in clang SA which will only have perfect soundness property ( if we don't care about completness property ) i.e if the analyzer says X is a genuine bug then X is really a genuine bug. Whatever bug it reports are all genuine but it doesn't report all genuine bugs. Please guide. Thanks, Siddharth -------------- next part
2019 Feb 25
2
funnel shift, select, and poison
On 2/25/2019 1:24 PM, John Regehr via llvm-dev wrote: > > This is a sound transformation only if foo() returns poison when it is > called with poison as an argument. Then how do you interpret "poison has to propagate through calls"? A typical analysis of a function will either see a call or the inlined body. If "call(poison)" cannot be assumed to be a poison, then
2016 Sep 14
2
undef * 0
Hi, > Both A and B are undef: > LHS = (undef & undef) | (undef & undef) = undef // Since ~undef = undef > RHS = undef > Thus transform is correct. LLVM documentation (http://llvm.org/docs/LangRef.html#undefined-values) suggests that it is unsafe to consider (a & undef = undef) and (a | undef = undef). "As such, it is unsafe to optimize or assume
2019 Feb 05
2
IRBuilder constraints
Hi, I need to control IRBuilder(or manage IR building with other means) very strictly. The problem is in the realm of ConstInt/GlobalVariable handling, more precisely: LLVM converts llvm::ConstantInt values to GlobalVariable addresses ad-hoc if I store a constant in a GlobalVariable, and it appears to me, that I can do nothing about it. Consider the following, shortened code: ... 0x18: r2 =
2019 Apr 01
3
Today is the last day of mediocre library call optimizations
To this day, we still do too little when it comes to optimizing well known library calls. Given that various libraries, especially the C/C++ standard library, are relatively clear defined, and LLVM has all the infrastructure already in place, e.g., SimplifyLibCalls.cpp, it seems odd that we still miss so many optimization opportunities. To show how easy it is, and how much impact it can have, I
2015 Feb 08
3
[LLVMdev] RFC: Proposal to Remove Poison
On Sun, Feb 8, 2015 at 10:02 AM, Hal Finkel <hfinkel at anl.gov> wrote: > > When you say, "we'd like to", I'm assuming your justification for this is > so that we can model poison using these undef semantics. Is that correct? > Yes, but I also think 'icmp sgt i32 undef, %a -> i1 undef' is a pretty reasonable transform by itself. Well-defined programs
2009 Jun 13
0
[LLVMdev] ML types in LLVM
On Jun 13, 2009, at 3:54 AM, Wesley W. Terpstra wrote: > Currently I just represent %c as i8*. I assume that this can have > consequences in terms of aliasing. I tried opaque*, but llvm-as didn't > like that. Is there any way to better represent the type %c to LLVM? I assume this is for tagged sums. Logically, what you want is a distinct LLVM type for every ML union type and each of
2009 Jun 14
5
[LLVMdev] ML types in LLVM
On Sat, Jun 13, 2009 at 9:44 PM, John McCall<rjmccall at apple.com> wrote: > On Jun 13, 2009, at 3:54 AM, Wesley W. Terpstra wrote: > Currently I just represent %c as i8*. I assume that this can have > consequences in terms of aliasing. I tried opaque*, but llvm-as didn't > like that. Is there any way to better represent the type %c to LLVM? > > I assume this is for