search for: idempotent

Displaying 20 results from an estimated 202 matches for "idempotent".

2011 Oct 28
2
[LLVMdev] Idempotent intrinsics
Hi all, Just a quick question about the idempotence of an intrinsic function. Is there a way to specify that an intrinsic function is idempotent? I am trying to give as much information about the intrinsic function I added to LLVM so that LLVM can do optimizations otherwise disabled. Thanks a lot in advance. Bin
2009 Nov 04
0
[LLVMdev] idempotence
...the optimizer" The important property here is the idempotence of sqrt(): it is potentially side-effecting, but that side effect is independent of the number of times it is called (with the same argument). Thus the solution to the errno problem seems to be an idempotence analysis pass, an idempotent function attribute, and a handful of passes (LICM, maybe more) that exploit this attribute. Putting on my volatile testing hat for a second, I feel compelled to mention that no function that potentially touches a volatile object is idempotent :). John Regehr
2012 Aug 01
0
[LLVMdev] Idempotent Code Generation in LLVM
As part of PhD research I integrated support for code generation of idempotent (re-executable) code regions into LLVM, along with a supporting IR-level analysis to identify and demarcate large "semantically" idempotent regions [1]. Some have expressed interest the code, so here is a link that contains some documentation and pointers to the source hosted on GitHub:...
1997 Dec 30
1
as.name is not idempotent
At least I think the word I want "idempotent" - it has been a long debugging session and my brain is fried so I am not sure. What I mean is that as.name applied to a name gives an error. > as.name("foo") foo > as.name(as.name("foo")) Error in as.name(x) : character argument required It might help if it wer...
2015 Jan 04
0
[PATCH] virtio: make del_vqs idempotent
Our code calls del_vqs multiple times, assuming it's idempotent. commit 3ec7a77bb3089bb01032fdbd958eb5c29da58b49 virtio_pci: free up vq->priv broke this assumption, by adding kfree there, so multiple calls cause double free. Fix it up. Fixes: 3ec7a77bb3089bb01032fdbd958eb5c29da58b49 Reported-by: Sasha Levin <sasha.levin at oracle.com> Signed-off...
2015 Jan 04
0
[PATCH] virtio: make del_vqs idempotent
Our code calls del_vqs multiple times, assuming it's idempotent. commit 3ec7a77bb3089bb01032fdbd958eb5c29da58b49 virtio_pci: free up vq->priv broke this assumption, by adding kfree there, so multiple calls cause double free. Fix it up. Fixes: 3ec7a77bb3089bb01032fdbd958eb5c29da58b49 Reported-by: Sasha Levin <sasha.levin at oracle.com> Signed-off...
2008 Sep 30
6
something wrong with puppet client or Server
Hi All, I have running puppet client and server on solaris 10 x86. Now days some of puppet client behaviors is something weird !!! or May be i am missing something... for ex. I created class to add one line in /etc/vfstab . but puppet client did it successfully 1st time ...But .. After few days , i saw there are same line has been added more than 250 times.. [ see same line is added so many
2006 Jun 09
1
Idempotent apply
Dear all, I have been working on an idempotent version of apply, such that applying a function f(x) = x (ie. force) returns the same array (or a permutation of it depending on the order of the margins): a <- array(1:27, c(2,3,4)) all.equal(a, iapply(a, 1, force)) all.equal(a, iapply(a, 1:2, force)) all.equal(a, iapply(a, 1:3, force)) all.e...
1999 Nov 23
1
as.name() is not idempotent (PR#337)
as.name(as.name("ss")) gives an error in R (0.90 and earlier) but should of course give the same as simply as.name("ss") This reminds me of similar bug/problem... which I don't recall. Yes, I should build tests like these into "make test-Specific" .. Martin --please do not edit the information below-- Version: platform = sparc-sun-solaris2.5.1 arch =
2013 Sep 26
1
[LLVMdev] Is ConstantFoldConstantExpression meant to be idempotent?
I noticed a change in LLVM's behavior between 3.2 and 3.3/ToT, but I'm not sure if it qualifies as a bug/regression or not. The change is that in 3.3 and tip of trunk, calling ConstantFoldConstantExpression on i64 and (i64 add (i64 add (i64 ptrtoint (i64* getelementptr (i64* null, i32 1) to i64), i64 ptrtoint (i64* getelementptr (i64* null, i32 1) to i64)), i64 15), i64 -16)
2016 Mar 25
1
attribute of intrinsic function
Thanks for your reply, Philip. You are right, when I use LLVM-3.8, the 'argmemonly' shows up. Previously, I use LLVM-3.7. I think idempotent is what I want. Can you tell me how to add idempotent attribute to the function? Thanks. Regards, Xiangyang 2016-03-24 14:30 GMT-07:00 Philip Reames <listmail at philipreames.com>: > > > On 03/24/2016 12:45 PM, Xiangyang Guo via llvm-dev wrote: > > Hi, > > When I defi...
2015 Jun 28
3
Old and new package version numbers during RPM update
...h.com> wrote: > so a regex looking for "system:" vs "system {" should nicely delineate > these. I dunno, I might even put that into the conversion utility and > have it just quit if the file is already in the new format, and always run > it. > ?+1 for the idempotent approach. IMHO much more robust. Also consider what will happen if someone does a 'yum downgrade' on the package or a dependency -- you might want to allow the conversion to go both ways or at least complain appropriately. ?K?
2010 Apr 01
4
POST-only logic in protect_from_forgery considered harmful?
...ing - but I''ve found an issue I think warrants discussion. As discussed here - http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html - the CSRF protection feature does not kick in for GET requests. This is under the assumption that GET requests are idempotent. There is a (big, IMO) problem with this: unless the controller action which receives the POST request manually validates that the request is a POST as expected, it is wide open to CSRF. All the attacker has to do is construct the same form submission that would be a POST as an unexpected GET requ...
2015 Jun 29
0
Old and new package version numbers during RPM update
...;> so a regex looking for "system:" vs "system {" should nicely delineate >> these. I dunno, I might even put that into the conversion utility and >> have it just quit if the file is already in the new format, and always run >> it. > > ?+1 for the idempotent approach. IMHO much more robust. Also consider what > will happen if someone does a 'yum downgrade' on the package or a > dependency -- you might want to allow the conversion to go both ways or at > least complain appropriately. Yep. I've already considered this approach, but...
2002 Jun 26
3
pam session as root
...rent (root) process? (E.g., via the patch below.) -- Mike Stone diff -u -r1.4 auth-pam.c --- auth-pam.c 25 Jun 2002 00:45:33 -0000 1.4 +++ auth-pam.c 25 Jun 2002 20:33:41 -0000 @@ -286,6 +286,8 @@ pam_retval, PAM_STRERROR(__pamh, pam_retval)); } + if (session_opened) + return; /*Be idempotent so we can be called in monitor and child*/ pam_retval = pam_open_session(__pamh, 0); if (pam_retval != PAM_SUCCESS) fatal("PAM session setup failed[%d]: %.200s", @@ -304,6 +306,8 @@ do_pam_set_conv(&conv); + if (init&&creds_set) + return; /*be idempotent so we c...
2016 Mar 24
0
attribute of intrinsic function
...e an incorrect optimization. Specifically, the intrinsic "foo5" could be an increment of the passed memory location. Removing one of the two increments would be incorrect. I suspect you actually know something stronger about the intrinsic. Is it possible readonly? Or write only? Or idempotent? Or something else? > For intrinsic functio foo5, I don't understand it. I mean, when I > apply [IntrReadWriteArgMem] to this intrinsic function, I hope the > LLVM can know the second one is redundant because nothing is changed. > Can you tell why LLVM cannot optimize it in this...
2016 Jan 13
4
RFC: non-temporal fencing in LLVM IR
...s to my attention, and we've had numerous discussions with Hans Boehm on the topic. Any mistakes below are my own, all the clever bits are theirs. *Why?* Ignore non-temporals for a moment, on most x86 targets LLVM generates an mfence for seq_cst atomic fencing. One could instead use a locked idempotent atomic accesses to top-of-stack such as lock or4i [RSP-8] 0. Philip has measured this as equivalent on micro-benchmarks, but as ~25% faster in macro-benchmarks (other codebases confirm this). There's one problem with this approach: non-temporal accesses on x86 are only ordered by fence instruct...
2015 Jul 16
2
[LLVMdev] LICM for function calls
The common case is wanting LICM to hoist a loop-invariant function call into the pre-header of a loop where the trip count is unknown - and, in particular, not known to be > 0. -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Hal Finkel Sent: Thursday, July 16, 2015 08:38 To: Raoux, Thomas F Cc: llvmdev at cs.uiuc.edu Subject:
2015 May 15
3
[LLVMdev] [RFC] Upstreaming LLVM/SPIR-V converter
...IR feature we add to LLVM may not be expressable in SPIRV. EH landingpads, for example, are probably not supported by SPIRV and must be stripped or rejected. So, the process of writing SPIRV will strip, lower, or reject some LLVM IR bits. However, roundtripping IR through SPIRV should probably be idempotent. The first translation will change the program, but repeating the roundtrip should produce the same IR and SPIRV from then on. If that's achievable, then I agree, this is definitely a serialization format and not something lower-level (x86) or higher-level (C). Sounds useful. :) --------------...
2013 Oct 14
4
[LLVMdev] Vectorization of pointer PHI nodes
This is almost ideal for SLP vectorization, except for two problems: 1. We have 4 stores to consecutive locations, but the last element is the constant zero, and not an additional SUB. At the moment we don’t have support for idempotence operations, but this is something that we should add. 2. The values that we are subtracting come from 3 loads. We usually load 4 elements from memory, or