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