search for: unsound

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

Did you mean: unbound
2012 Aug 01
1
Different results between lda(mass) and spss discriminant analysis
..., I tried with SPSS IBM software and it give me around 11% of minimum error with and without leave one out cross validation. Maybe the problem is a my error in my script? Someone can check it pls? data <- "data\\raw_data.csv" r <- read.csv(data, header = T) sound <- r[1:844,] unsound <- r[845:2195,] even_s <- seq(nrow(sound)) %% 2 even_u <- seq(nrow(unsound)) %% 2 t <- rbind(sound[even_s == 1,], unsound[even_u == 1,]) p <- rbind(sound[even_s != 1,], unsound[even_u != 1,]) fit <- lda(samples ~., data = t) ct <- table(p[, 1], predict(fit, p[,-1])$class) er...
2006 Dec 23
1
complex barplot enquiry
...vice 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: pre.damage and post.damage (data below). I wanted to exclude all values = 0, and collapse the remaining values into 3 categories .e.g 1, 2-5, 6 plus. For each 'decision' group the final graph would contain the alternating pre and po...
2014 Aug 08
6
[LLVMdev] Plan to optimize atomics in LLVM
...or this exact reason, I am planning on splitting AtomicExpandLoadLinkedPass > in a target-independent and a target-dependent file: the current pass claims > to be target-independent but is actually designed for ARM: for example it > puts a release-fence before a seq_cst CAS, which would be unsound on Power > if the backend was more agressive and using lwsync for release_fences. I don't know the Power architecture, but this failure ought to be describable in terms of LLVM's own memory model (if a valid Power implementation of LLVM IR can trigger it, then the transformation itself...
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 &amp...
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
...ing this can introduce a race which is undefined at the IR level. > In the example you gave above I suspect that this is a bug in GCC. I may have missed something in the assembly, but it appears that gcc loads a copy of globalvar in w3, does stuff with w3 and then stores w3 in globalvar. This is unsound in the case where the loop is run with n = 0. > For an example, if you have a thread run foo(0,0) in a loop (so not doing anything) and another thread doing: > for (int i = 0 ; i <1000000 ; ++i) { > globalvar = i; > assert(globalvar == i); > } > the code should never as...
2014 Sep 03
3
[LLVMdev] LICM promoting memory to scalar
...er 02, 2014 7:40 PM To: Filip Pizlo Cc: Balaram Makam; LLVM Developers Mailing List Subject: Re: [LLVMdev] LICM promoting memory to scalar Ah right, I had missed the cbz, my bad. It is indeed sound under that condition. My point was that just hoisting/sinking unconditionally the memory accesses is unsound. It is good news that gcc learnt how to do it carefully :) On Tue, Sep 2, 2014 at 4:36 PM, Filip Pizlo <fpizlo at apple.com> wrote: 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...
2006 Jul 23
2
constructing a dataframe from a database of newspaper articles
...LA English CY (c) 2001 Queensland Newspapers Pty Ltd LP Was Charles Manson temporarily insane when he led a wild killing rampage in the US in 1969? Clearly he was mad and bad. But would Queensland have placed him before its Mental Health Tribunal, found him of unsound mind at the time of his crimes, institutionalised him and "treated" his illness? WHY is Queensland the only jurisdiction in the Commonwealth with a Mental Health Tribunal which establishes if an accused is fit to face trial or of unsound mind at the time of an allege...
2018 Aug 24
2
[cfe-dev] Soundness in clang SA
...some decisions > within the Analyzer's core that prevent perfect soundness from happening > but are still considered to be good because they greatly boost our ability > to find any bugs at all and at the same time simplify development > dramatically. > > One of the most common unsound assumptions that the Analyzer makes is that > in a program that looks like this: "if (x) { ... } if (y) { ... }", where > 'x' and 'y' are completely unrelated to each other, the Analyzer would > explore all four paths (i.e., (x is true or false) times (y is true o...
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...
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
...tant; not undef. Please correct me if I am missing something. Best Regards, soham On 9/13/2016 7:27 PM, Sanjoy Das wrote: > Hi Soham, > > Soham Chakraborty wrote: > > As a result, the transformation ' ((a& (~b)) |((~a)& b)) ~> xor > a b ' > > is unsound. LLVM presently performs this transformation. > > This transform looks fine to me. > > For simplicity let's look at an `i1` expression. Since these are > bitwise ops we can extend the reasoning below to iN. > > Transform: ((A & (~B)) | ((~A) & B)) ~> A ^ B >...
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
...s spaces as necessary. > Is there any way to express that a pointer is actually a pointer to an > interior element of a type? Something like %opt_33_in_heap = > %opt_33_with_header:1 ? Something like an ungetelementptr? No, sorry. That would be a pretty nice extension, though obviously unsound, of course. > Currently when I want to read the header of an %opt_33, I cast it to a > i32* and then use getelementptr -1. Is there a better way? I think it depends on (1) exactly how your runtime environment lays out the header and (2) whether you're trying to create portable IR (as...
2009 Jun 14
5
[LLVMdev] ML types in LLVM
...idea. ;) > Is there any way to express that a pointer is actually a pointer to an > interior element of a type? Something like %opt_33_in_heap = > %opt_33_with_header:1 ? > > Something like an ungetelementptr?  No, sorry.  That would be a > pretty nice extension, though obviously unsound, of course. Well, ungetelementptr could be nice, but I was hoping for something even better: a way to refer to the whole object type (including the header) even though my pointer doesn't point to the start of the object. Ie: this is a pointer to 8 bytes past type X. That way for normal access...