similar to: [LLVMdev] Idempotent Code Generation in LLVM

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