search for: ub

Displaying 20 results from an estimated 985 matches for "ub".

Did you mean: usb
2020 Feb 18
3
The semantics of nonnull attribute
Hi Johannes, >> Not sure the semantics of "used" you propose is sufficient. AFAIU the >> proposal, "used" could only be used in cases where the function will >> always trigger UB if poison is passed as argument. The semantics of >> attributes is usually the other way around, since function calls need >> to have UB as strong as the worst behavior of the function. If a >> function may for some reason trigger UB with a given set of arguments, >> th...
2020 Feb 18
8
The semantics of nonnull attribute
I think calling the attribute "used" is confusing. I'd suggest the following: "not_poison": If an argument is marked not_poison, and the argument is poison at runtime, the call is instant UB. Whether an argument is poison is checked after the rules for other attributes like "nonnull" and "align" are applied. This makes it clear that the IR semantics don't depend on the implementation of the called function. And it's the logical extension of the way we def...
2017 Jan 13
4
Wrong code bug after GVN/PRE?
...that commit doesn't change GVN/MemoryDependenceResults so I suppose it just changes the input to GVN so the problem suddenly surfaces. Finally, the problem that I see is: In the input we have something like for (int step1 = 0; step1 < LOOP_AMOUNT; step1++) { lb[step1] = step1 + 7; ub[step1] = (step1 == 0 ? 10: ub[step1-1]*10); switch(lb[step1]) { case 7: CVAL_VERIFY(step1 == 0); CVAL_VERIFY(ub[step1] == 10); __label(511); break; case 8: CVAL_VERIFY(step1 == 1); CVAL_VERIFY(ub[step1] == 100); __label(512); brea...
2017 Jul 24
2
GEP with a null pointer base
...2017, at 10:55 PM, Mehdi AMINI <joker.eph at gmail.com> wrote: > > > > 2017-07-21 22:44 GMT-07:00 Peter Lawrence <peterl95124 at sbcglobal.net <mailto:peterl95124 at sbcglobal.net>>: > Mehdi, > Hal’s transformation only kicks in in the *presence* of UB > > No, sorry I entirely disagree with this assertion: I believe we optimize program where there is no UB. We delete dead code, code that never runs, so it is code that does not exercise UB. > Mehdi, I had to read that sentence several times to figure out what the problem is, whic...
2017 Jul 22
2
GEP with a null pointer base
Mehdi, Hal’s transformation only kicks in in the *presence* of UB, and it does not matter how that UB got there, whether by function inlining or without function inlining. The problem with Hal’s argument is that the compiler does not have a built in ouija board with which it can conjure up the spirit of the author of the source code and find out if the UB was in...
2017 Jul 28
2
GEP with a null pointer base
Dave, The way I see it there should be just one pass that implements deleting UB (maybe it would come to be called UBCE), and that one pass should have a command line option simply for the reason than all passes should have one. Peter Lawrence. > On Jul 26, 2017, at 10:02 PM, David Blaikie <dblaikie at gmail.com> wrote: > > > > On Wed, Jul 26, 2017...
2017 Jul 31
2
GEP with a null pointer base
Dave, Dead code elimination is generally done in a pass called dead code elimination, Can you give concrete examples why the same would not be true for UB code elimination ? Yes, speculatively hoisting code requires it to be UB-free, but that has nothing to do with UBCE deleting entire blocks of code because of the existence of UB. The former requires an analysis proving UB-absense, the later requires an analysis proving UB-presence. But it isn’t lo...
2020 Feb 18
8
The semantics of nonnull attribute
...ld the semantics of nonnull be? I listed a few optimizations that are relevant with this issue. 1. Propagating nonnull attribute to callee's arg ( https://godbolt.org/z/-cVsVP ) g(i8* ptr) { f(nonnull ptr); } => g(i8* nonnull ptr) { f(nonnull ptr); } This is correct if f(nonnull null) is UB. If ptr == null, f(nonnull null) should have raised UB, so ptr shouldn't be null. However, this transformation is incorrect if f(nonnull null) is equivalent to f(poison). If f was an empty function, f(nonnull null) never raises UB regardless of ptr. So we can't guarantee ptr != null at othe...
2020 Feb 18
2
The semantics of nonnull attribute
Not sure the semantics of "used" you propose is sufficient. AFAIU the proposal, "used" could only be used in cases where the function will always trigger UB if poison is passed as argument. The semantics of attributes is usually the other way around, since function calls need to have UB as strong as the worst behavior of the function. If a function may for some reason trigger UB with a given set of arguments, then the function call has to trigger UB as...
2017 Jul 27
2
GEP with a null pointer base
...ilers I’ve worked on have had such options, and I use them to track down compiler bugs. In this case I instead had to "—debug-after-all" and very tediously search through thousands of lines of output to locate this bug. So I hope you can see where I’m coming from, the pass that deletes UB should be no different, I should be able to disable it from the command line as a matter of course. Thoughts ? Peter. [* I haven’t reported this as a bug yet because I’m on 3.7.1, and haven’t had time to replicate it in 4.0.1, but should be able to within a month. My target resembles...
2017 Jul 31
4
GEP with a null pointer base
On Mon, Jul 31, 2017 at 7:40 AM Peter Lawrence <peterl95124 at sbcglobal.net> wrote: > Dave, > Dead code elimination is generally done in a pass called dead > code elimination, > Can you give concrete examples why the same would not be true for UB code > elimination ? > I haven't actually looked at how optimizations on the basis of the code being UB-free cause code to be eliminated - I'd hazard a guess that many optimizations would replace certain code with undef or unreachable not only a specific pass intended for that purpos...
2004 Jan 29
0
Creation of Domain- and PDC-SID in samba
John, I finally decided to go for it and kick off our NT-PDC (UB-SERVER). I want to transfer our domain (UB) to Samba 3.0.1 with OpenLDAP (2.1.23-1) as backend on Debian Woody (this machine's netbios-name in my test environment is UB-KIOSK). I read all documentation I could get a hold on and followed these procedures you suggested, but I am stuck... &g...
2017 Aug 01
0
GEP with a null pointer base
Dave, I will try to locate and take a look at the actual llvm logic that deletes based on UB-presence, one of these days, and report back. In the mean time... Your “For example:" is a plausibility argument only. It is not meaningful until you can show this happening in real source code from real applications that are compiler warning free and static analysis warning free. Hal al...
2007 Nov 08
1
Bug (?) in read.fwf
...trip.white = TRUE) but no matter what I do the strings are turned into factors. I believe it's the "n=2" parameter that causes the problem as it seems to work without this. Am I missing something? Thanks in advance, David Jessop -------------- next part -------------- Issued by UBS AG or affiliates to professional investors for information only and its accuracy/completeness is not guaranteed. All opinions may change without notice and may differ to opinions/recommendations expressed by other business areas of UBS. UBS may maintain long/short positions and trade in instru...
2017 Jul 22
1
GEP with a null pointer base
...induction variable, but does not change the CFG, > > Hal’s “transform” deletes blocks out of the CFG, fundamentally altering it. > > These are two totally different transforms. > > > And even the analysis is different, > > The first is based on an *assumption* of non-UB (actually there is no analysis to perform) the *absence* of UB > > the second Is based on a *proof* of existence of UB (here typically some non-trivial analysis is required) the *presence* of UB > These have, practically speaking, nothing in...
2017 Jul 22
3
GEP with a null pointer base
...ean, Dan Gohman’s “transform” changes a loop induction variable, but does not change the CFG, Hal’s “transform” deletes blocks out of the CFG, fundamentally altering it. These are two totally different transforms. And even the analysis is different, The first is based on an *assumption* of non-UB (actually there is no analysis to perform) the second Is based on a *proof* of existence of UB (here typically some non-trivial analysis is required) These have, practically speaking, nothing in common. Peter Lawrence. > On Jul 21, 2017, at 5:00 PM, Sean Silva <chisophugis at gmail.com...
2017 Jan 13
2
Wrong code bug after GVN/PRE?
...put to GVN so the problem suddenly surfaces. >> >> Finally, the problem that I see is: >> >> In the input we have something like >> >> for (int step1 = 0; step1 < LOOP_AMOUNT; step1++) >> { >> lb[step1] = step1 + 7; >> ub[step1] = (step1 == 0 ? 10: ub[step1-1]*10); >> >> switch(lb[step1]) { >> case 7: CVAL_VERIFY(step1 == 0); >> CVAL_VERIFY(ub[step1] == 10); >> __label(511); >> break; >> case 8: CV...
2008 Aug 11
1
A zoo question / problem
...d B C D 2008-08-02 5 8 11 2008-08-03 6 9 12 And > t2 [both.dates, both.cols] gives B C D 2008-08-02 1 4 7 2008-08-03 2 5 8 But > t1 [both.dates, both.cols] <- t2 [both.dates, both.cols] gives Error in t1[both.dates, both.cols] <- t2[both.dates, both.cols] : subscript out of bounds I've tried various varieties of as.matrix, coredata but always get this error. It's something to do with the first part of the expression as > t1 [as.Date (both.dates), both.cols] = matrix (1, nrow = 2, ncol = 3) Error in t1[as.Date(both.dates), both.cols] = matrix...
2017 Jul 27
1
GEP with a null pointer base
...gt;> > To: Peter Lawrence <peterl95124 at sbcglobal.net <mailto:peterl95124 at sbcglobal.net>> > Cc: llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>, John Regehr > <regehr at cs.utah.edu <mailto:regehr at cs.utah.edu>> > Subject: Re: [llvm-dev] GEP with a null pointer base > > On Fri, Jul 21, 2017 at 6:29 PM, Peter Lawrence <peterl95124 at sbcglobal.net <mailto:peterl95124 at sbcglobal.net>> > wrote: > >> Sean, >> >> Dan Gohman’s “transform” changes a loop induction variable...
2017 Jul 21
3
GEP with a null pointer base
...om> wrote: > > > > On Wed, Jul 19, 2017 at 10:17 AM Peter Lawrence via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > Chandler, > The only thing David made clear that wasn’t already clear > is that he believes UB to be “comparatively rare”, which is in agreement > with what Hal already said which is that he does not expect deleting > UB will be of benefit to for example SPEC benchmarks. > > Given that it is “comparatively rare”, why all the effort to delete it ? > And why make deleting it t...