Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Idempotent Code Generation in LLVM"
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 LLVM projects page says this:
"We need some way to reason about errno. Consider a loop like this:
for ()
x += sqrt(loopinvariant);"
and:
"The hard part of this project is figuring out how to describe errno in
the optimizer"
The important property here is the idempotence of sqrt(): it is
potentially side-effecting, but that side effect is independent of the
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 were a bit more flexible about the arguments it
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-by: Michael S. Tsirkin <mst
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-by: Michael S. Tsirkin <mst
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.equal(aperm(a, c(2,1,3)), iapply(a, 2, force))
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Sorry, I misunderstood the question.
The difference between a load and a read-only call is that load can be
used as the value of the memory location. E.g. DeadStoreElimination
pass removes a store that stores a just loaded value back into the
same location. To do this it checks if the stored value is the value
of load. Read-only call cannot be used like this.
This being said, I don't know if
2010 Feb 26
0
[LLVMdev] BlockAddress is a "User"
My apologies. This problem was indeed with my changes to the backend. Next
time I will more carefully examine the source of the problem. :)
On Fri, Feb 26, 2010 at 12:40 PM, Marc de Kruijf <dekruijf at wisc.edu> wrote:
> I've been playing around with the new IndirectBr and BlockAddress types.
> I'm finding that in CodeGen, during "EliminateMostlyEmptyBlocks",
>
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 =
2008 May 02
0
[LLVMdev] Pointer sizes, GetElementPtr, and offset sizes
On Fri, May 2, 2008 at 1:22 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote:
> The LLVA and LLVM papers motivate the GetElementPtr instruction by arguing
> that it abstracts implementation details, in particular pointer size, from
> the compiler. While it does this fine for pointer addresses, it does not
> manage it for address offsets. Consider the following code:
>
>
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)
2010 Jul 18
2
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Yes, I'm not arguing that there is a dependence, just that it's not a
clobber dependence. The case of a load is already considered earlier in
that function and with isLoad == false it returns MemDepResult::getDef().
My question is: why should a read-only call (which yields
AliasAnalysis::Ref and is handled in this code fragment) be any different
from e.g. a load. Isn't a read-only
2010 Jul 17
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Since isLoad == false means we're looking at a store, what this does
is making the store *p depend on the load *p. This is correct -- you
can't move store before load, otherwise load will start returning a
different value.
Eugene
On Fri, Jul 16, 2010 at 5:43 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote:
> Hello,
>
> I'm taking a really good look at the
2008 Jul 03
0
[LLVMdev] Plans considering first class structs and multiple return values
> For example, this:
>
> %t0 = insertvalue { i32, i32 } undef, i32 %a, 0
> %t1 = insertvalue { i32, i32 } %t0, i32 %b, 1
>
> creates the value with %a and %b as member values.
Is there anyway to do it using the C++ API? It seems I need an
instance of the aggregate type to pass into InsertValueInst::Create().
What is the API equivalent of "undef"?
Marc
On Wed,
2008 Jul 02
3
[LLVMdev] Plans considering first class structs and multiple return values
Hello,
The basic infrastructure is in place. You can create first-class
structs/arrays using sequences of insertvalue.
For example, this:
%t0 = insertvalue { i32, i32 } undef, i32 %a, 0
%t1 = insertvalue { i32, i32 } %t0, i32 %b, 1
creates the value with %a and %b as member values. Other ways to
produce aggregate values are loads, function arguments, function
return values, and literal
2015 Jun 29
0
Old and new package version numbers during RPM update
On 29/06/15 01:07, Kahlil Hodgson wrote:
> On 29 June 2015 at 07:37, John R Pierce <pierce at hogranch.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
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
2002 Jun 26
3
pam session as root
Beyond any more general questions of whether pam sessions *should* be
run as root, is there an immediate security concern with moving the
pam_open_session (and pam_setcred) stuff to the parent (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 @@
2010 Apr 01
4
POST-only logic in protect_from_forgery considered harmful?
Hi folks,
I am just getting into rails again after a multi-year stint of
mod_perl jobs, which might grant me some newbie-indemnity for the time
being - 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
2010 Mar 25
1
[PATCH] Exceeding white spaces and a typo
From: Andrea Gelmini <andrea.gelmini at gelma.net>
---
rsync3.txt | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/rsync3.txt b/rsync3.txt
index 42d77dc..293680f 100644
--- a/rsync3.txt
+++ b/rsync3.txt
@@ -1,6 +1,6 @@
-*- indented-text -*-
-Notes towards a new version of rsync
+Notes towards a new version of rsync
Martin Pool <mbp at