search for: posion

Displaying 20 results from an estimated 23 matches for "posion".

2017 Jun 06
2
Change undef to poison in a few operations
...iors to poison and shouldn't have any practical effect for the time being. (so the change is documentation only) Later we can continue the work until we have completely removed undef. Even if we don't go there, it's generally a good idea to reduce the usage of undef and replace it with posion whenever possible. So we propose to change the following from undef to poison: - insertelement/extractelement (element index out of range) - shufflevector (undef elements in shuffle mask) - alloca (allocating zero bytes) ? - load (load value with different type from written value) - GEP inrange -...
2015 Jan 30
3
[LLVMdev] RFC: Proposal for Poison Semantics
...ould be fundamentally different from undef. -- Sanjoy On Thu, Jan 29, 2015 at 8:05 PM, Matthias Braun <matze at braunis.de> wrote: > Having though about this some more I think optimizing > > (x+1 > x) <=> true > > and at the same time modeling undefined behavior as a posion value is impossible. This is because we also want the following rule: > > (x > INT_MAX) <=> false > > Now if poison is a value, then the second replacement tells us (poison > INT_MAX) == false which contradicts the first rule. > > > > The only way out of this whi...
2015 Jan 30
0
[LLVMdev] RFC: Proposal for Poison Semantics
Having though about this some more I think optimizing (x+1 > x) <=> true and at the same time modeling undefined behavior as a posion value is impossible. This is because we also want the following rule: (x > INT_MAX) <=> false Now if poison is a value, then the second replacement tells us (poison > INT_MAX) == false which contradicts the first rule. The only way out of this while still allowing (x+1>x)<=&g...
2015 Jan 29
2
[LLVMdev] RFC: Proposal for Poison Semantics
> I've been discussing a model with David that might steer poison back towards > something that simply supports algebraic simplification. If we have a math > operation that cannot wrap, then it notionally produces as many bits of > undef as the operation could possibly produce. For example, "add nsw i8" can > produce an i9 undef, and "mul nsw i8" can produce
2017 May 26
3
Poison/Undef at CodeGen level Was: [poison] is select-of-select to logic+select allowed?
...r >> transformations. >> See, for example, this bug report for InstCombine regarding >> select+nsw:_https://bugs.llvm.org/show_bug.cgi?id=31633_ > > Poison/Undef at the CodeGen level is a very interesting discussion! I > don't think there is any documentation about posion/undef at the > CodeGen level and I haven't discussed this much with others, so I'd > like to hear further feedback: > > - I think we should not introduce a notion of poison (which I would > call "delayed UB") at the SelectionDAG/CodeGen level[1] > - Instructio...
2015 Jan 30
0
[LLVMdev] RFC: Proposal for Poison Semantics
...t; > -- Sanjoy > >> On Thu, Jan 29, 2015 at 8:05 PM, Matthias Braun <matze at braunis.de> wrote: >> Having though about this some more I think optimizing >> >> (x+1 > x) <=> true >> >> and at the same time modeling undefined behavior as a posion value is impossible. This is because we also want the following rule: >> >> (x > INT_MAX) <=> false >> >> Now if poison is a value, then the second replacement tells us (poison > INT_MAX) == false which contradicts the first rule. >> >> >>...
2015 Jan 30
2
[LLVMdev] RFC: Proposal for Poison Semantics
...t; >>> On Thu, Jan 29, 2015 at 8:05 PM, Matthias Braun <matze at braunis.de> wrote: >>> Having though about this some more I think optimizing >>> >>> (x+1 > x) <=> true >>> >>> and at the same time modeling undefined behavior as a posion value is impossible. This is because we also want the following rule: >>> >>> (x > INT_MAX) <=> false >>> >>> Now if poison is a value, then the second replacement tells us (poison > INT_MAX) == false which contradicts the first rule. >>> &gt...
2015 Jan 30
0
[LLVMdev] RFC: Proposal for Poison Semantics
...hu, Jan 29, 2015 at 8:05 PM, Matthias Braun <matze at braunis.de> wrote: >>>> Having though about this some more I think optimizing >>>> >>>> (x+1 > x) <=> true >>>> >>>> and at the same time modeling undefined behavior as a posion value is impossible. This is because we also want the following rule: >>>> >>>> (x > INT_MAX) <=> false >>>> >>>> Now if poison is a value, then the second replacement tells us (poison > INT_MAX) == false which contradicts the first rule....
2017 Jun 29
4
The undef story
...is unprofessional. I said nothing about it at the time because I try to refrain from meta-discussions. But it is another reason why I sound so hyperbolic. Now, getting back to technical, I’m waiting for some C source code examples showing how "Current transformations made by LLVM require [posion]” Peter Lawrence. > On Jun 28, 2017, at 6:47 PM, Chandler Carruth <chandlerc at gmail.com> wrote: > > On Wed, Jun 28, 2017 at 3:33 PM Peter Lawrence <peterl95124 at sbcglobal.net <mailto:peterl95124 at sbcglobal.net>> wrote: > Chandler, > where...
2017 May 23
6
[poison] is select-of-select to logic+select allowed?
Regarding the patches, there are two concerns AFAICT: 1. It’s a new instruction and as usual when introducing a new instruction it will require work for some time until most optimizations know about it, and to get rid of any potential perf regression. No big deal; we just need to do the work (and we have already done some of it). 2. The patch was written by a student, which may not have time to
2019 Mar 26
2
getelementptr inbounds with offset 0
...LLVM machine" that is described by the LangRef and that the optimizer has to justify its transformations against. Analyses become smarter every day, so looking at what LLVM deduces from certain instructions is but a snapshot. But also, your response assumes "dangling pointers are undef/posion", which is new to me. I'd be rather shocked if this is something LLVM actually relies on anywhere. Kind regards, Ralf > > Cheers, > Johannes > >>> A side-effect based on the GEP will however __locally__ introduce an >>> dereferencability assumption (in...
2010 Aug 10
5
Iptables questions
Hello, I have read and seen many options for additions to Iptables as a firewall and security system. All seem to react to logs and not to incoming packets (as far as I have seen) I am interested in doing a number of security ideas to the firewall, iptables, on my webserver. If you have a program you would suggest or believe iptables is the proper solution, please feel free to post that. Here
2019 Mar 27
2
getelementptr inbounds with offset 0
...s precisely under which conditions we have UB and under which we do not. What I am asking here for is the exact definition of GEPi if, *at run-time*, the offset is 0, and the base pointer is (a) an integer, or (b) dangling. >> But also, your response assumes "dangling pointers are undef/posion", which is >> new to me. I'd be rather shocked if this is something LLVM actually relies on >> anywhere. > > Again, that is how I read the quoted lang-ref wording above for > inbounds GEPs. I agree with you that non-inbounds GEPs have a "normal" > value...
2019 Mar 15
2
getelementptr inbounds with offset 0
Hi Johannes, > From the Lang-Ref statement > > "With the inbounds keyword, the result value of the GEP is undefined > if the address is outside the actual underlying allocated object and > not the address one-past-the-end." > > I'd argue that the actual offset value (here 0) is irrelevant. The GEP > value is undefined if inbounds is present and the
2013 Mar 18
12
Impossible or Possible to Securely Erase File on Btrfs?
Hi, After reading through the btrfs documentation I''m curious to know if it''s possible to ever securely erase a file from a btrfs filesystem (or ZFS for that matter). On non-COW filesystems atop regular HDDs one can simply overwrite the file with zeros or random data using dd or some other tool and rest assured that the blocks which contained the sensitive information have
2017 Jun 28
9
The undef story
Chandler, where we disagree is in whether the current project is moving the issue forward. It is not. It is making the compiler more complex for no additional value. The current project is not based in evidence, I have asked for any SPEC benchmark that shows performance gain by the compiler taking advantage of “undefined behavior” and no one can show that. The current project
2018 Jan 09
6
[PATCH v21 0/5] Virtio-balloon Enhancement
...ng a cmd id to the free page vq - use vb->report_free_page, instead of vb->report_free_page_stop - use WRITE_ONCE/READ_ONCE to access vb->report_free_page - use the new API from patch 6 to send free pages to avoid the unnecessary use of kaddr. 8) patch 10: new patch to solve the page posioning issue reported by Michael S. Tsirkin v16->v17: 1) patch 1: please check the commit log there; 2) patch 3: included Michael S. Tsirkin patch to fix the potential deadlock issue; 3) patch 4: use BUG_ON if virtqueue_add_ returns error, which is expected never to happen; 4) patch 4: add leak_ba...
2017 Dec 19
15
[PATCH v20 0/7] Virtio-balloon Enhancement
...ng a cmd id to the free page vq - use vb->report_free_page, instead of vb->report_free_page_stop - use WRITE_ONCE/READ_ONCE to access vb->report_free_page - use the new API from patch 6 to send free pages to avoid the unnecessary use of kaddr. 8) patch 10: new patch to solve the page posioning issue reported by Michael S. Tsirkin v16->v17: 1) patch 1: please check the commit log there; 2) patch 3: included Michael S. Tsirkin patch to fix the potential deadlock issue; 3) patch 4: use BUG_ON if virtqueue_add_ returns error, which is expected never to happen; 4) patch 4: add leak_ba...
2017 Dec 19
15
[PATCH v20 0/7] Virtio-balloon Enhancement
...ng a cmd id to the free page vq - use vb->report_free_page, instead of vb->report_free_page_stop - use WRITE_ONCE/READ_ONCE to access vb->report_free_page - use the new API from patch 6 to send free pages to avoid the unnecessary use of kaddr. 8) patch 10: new patch to solve the page posioning issue reported by Michael S. Tsirkin v16->v17: 1) patch 1: please check the commit log there; 2) patch 3: included Michael S. Tsirkin patch to fix the potential deadlock issue; 3) patch 4: use BUG_ON if virtqueue_add_ returns error, which is expected never to happen; 4) patch 4: add leak_ba...
2017 Dec 12
21
[PATCH v19 0/7] Virtio-balloon Enhancement
...ng a cmd id to the free page vq - use vb->report_free_page, instead of vb->report_free_page_stop - use WRITE_ONCE/READ_ONCE to access vb->report_free_page - use the new API from patch 6 to send free pages to avoid the unnecessary use of kaddr. 8) patch 10: new patch to solve the page posioning issue reported by Michael S. Tsirkin v16->v17: 1) patch 1: please check the commit log there; 2) patch 3: included Michael S. Tsirkin patch to fix the potential deadlock issue; 3) patch 4: use BUG_ON if virtqueue_add_ returns error, which is expected never to happen; 4) patch 4: add leak_ba...