similar to: [LLVMdev] Can we assume const parameter and to-be-modified parameter do not alias?

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Can we assume const parameter and to-be-modified parameter do not alias?"

2020 Aug 11
1
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
On Mon, 10 Aug 2020 09:56:32 +0200 David Hildenbrand <david at redhat.com> wrote: > On 04.08.20 21:41, David Hildenbrand wrote: > > @Andrew can we give this a churn and consider it for v5.9 in case there > > are no more comments? > > @Andrew, Ping, so I assume we'll target v5.10? Yep, sorry. Merging a significant patch series during the merge window(!) would be
2019 Jun 11
2
Aliasing rules for const type pointer
Hi, I'm not clear with the aliasing rules for the pointer pointing to const memory. It will be great help if someone clarify my doubts. Consider below test program: int foo(int *A, int *B, const int *C, int len) { for (int i = 0; i < len; i++) A[i] = B[i] + *C; } In this test case the type for "C" is const int * type, it means the pointer is pointing to a memory which is
1999 Mar 10
2
.Alias and memory
In an effort to encapsulate my dependence on class in order to deal with oldclass/class in Splus I defined the functions tfclass <- class "tfclass<-" <- function(x, value){ class(x) <- value ; x } and also the function classed <- function(x, cls) {class(x) <- cls; x} This last allows me to end a function definition with ... classed(somecalc,
2013 Aug 10
2
com32 module compatibility between 5.x versions
On 2013.08.10 04:07, H. Peter Anvin wrote: >> My application already its own version of the Syslinux installer [1], >> and simply requires the relevant ldlinux.sys file to be provided. > > But that, too, is version-specific. I think there may be a misunderstanding here. Are you saying that when installing ldlinux.sys + ldlinux.bss v5.01 on a FAT filesystem, the installer needs
2018 Jan 02
5
Change memcpy/memmove/memset to have dest and source alignment attributes
Good day all, I’ve spent a few days resurrecting the circa-2015 work on removing the explicit alignment argument (4th arg) from the @llvm.memcpy/memmove/memset intrinsics in favour of using the alignment attribute on the pointer args of calls to the intrinsic. This work was first proposed back in August 2015 by Lang Hames: http://lists.llvm.org/pipermail/llvm-dev/2015-August/089384.html (item
2020 Sep 18
3
GC-parseable element atomic memcpy/memmove
TLDR: a proposal to add GC-parseable lowering to element atomic memcpy/memmove instrinsics controlled by a new "requires-statepoint” call attribute. Currently llvm.{memcpy|memmove}.element.unordered.atomic calls are considered as GC leaf functions (like most other intrinsics). As a result GC cannot occur while copy operation is in progress. This might have negative effect on GC latencies
2013 Jan 28
4
[LLVMdev] Specify the volatile access behaviour of the memcpy, memmove and memset intrinsics
Hi All, In the language reference manual, the access behavior of the memcpy, memmove and memset intrinsics is not well defined with respect to the volatile flag. The LRM even states that "it is unwise to depend on it". This forces optimization passes to be conservatively correct and prevent optimizations. A very simple example of this is : $ cat test.c #include <stdint.h>
2018 Mar 26
1
Change memcpy/memmove/memset to have dest and source alignment attributes
Hi all, A quick note just to let people know that as of this past Friday my go at this work has been fully landed. It ended up being a back-burner item, so it took longer than I would have liked to get completed. None the less, the changes made were: 1) The IRBuilders in LLVM, Clang, and Polly were all updated to create only the new form of the memory intrinsics. 2) All LLVM passes to understand
2020 Sep 30
2
GC-parseable element atomic memcpy/memmove
Thanks for the feedback. I think both of the suggestions are very reasonable. I’ll incorporate them. Given there were no objections for two weeks, I’m going to go ahead with posting individual patches for review. One small question inline: On Sep 28, 2020, at 10:56 AM, Philip Reames <listmail at philipreames.com<mailto:listmail at philipreames.com>> wrote: In general, I am
2013 Aug 10
2
com32 module compatibility between 5.x versions
On 2013.08.10 01:55, H. Peter Anvin wrote: >> I assume it's not possible to store a copy of the LDLINUX.SYS binary at >> the end or inside of either ISOLINUX.BIN > > Not really. ldlinux.sys isn't just an ordinary file, it really needs to > be installed with the Syslinux installer. My application already its own version of the Syslinux installer [1], and simply
2018 Apr 02
0
Change memcpy/memmove/memset to have dest and source alignment attributes
Hi Daniel, a quick question (and kind-of a follow-up to <https://lists.llvm.org/pipermail/llvm-dev/2017-July/115665.html>): Do the pointers have to be aligned even if the size is 0? It would be nice to have this stated explicitly in the LangRef. Kind regards, Ralf On 26.03.2018 22:43, Daniel Neilson via llvm-dev wrote: > Hi all, >  A quick note just to let people know that as of
2018 Jan 18
0
Change memcpy/memmove/memset to have dest and source alignment attributes
Hi all, This change has been reviewed, and appears to be ready to land (review available here if anyone still wants to chime in: https://reviews.llvm.org/D41675 ). The process that we’re going to use for landing this will take a few steps. To wit: Step 1) Remove align argument, and add align attribute to pointer args. Require that src & dest have the same alignment via verifier rule. Also
2011 Oct 11
5
[PATCH] libxl: reimplement buffer for bootloading and drop data if buffer is full
# HG changeset patch # User Roger Pau Monne <roger.pau@entel.upc.edu> # Date 1318335991 -7200 # Node ID 2fb4bf8c16cd35ddc0bf7ddc7ff8fda4b9678211 # Parent 64f17c7e6c33e5f1c22711ae9cbdcbe191c20062 libxl: reimplement buffer for bootloading and drop data if buffer is full. Implement a buffer for the bootloading process that appends data to the end until it''s full. Drop output from
2007 Oct 06
1
[LLVMdev] memcpy(), memmove(), and memset() with zero length
If I copy or set zero bytes with memcpy(), memmove(), or memset(), can the <dest> and <src> arguments be null? Can they be invalid pointers? Regards, Jon
2008 Sep 22
0
[LLVMdev] Overzealous PromoteCastOfAllocation
On Sep 13, 2008, at 1:07 PM, Matthijs Kooijman wrote: > Hi Dan, > >> Changing PromoteCastOfAllocation to not replace aggregate allocas >> with >> non-aggregate allocas if they have GEP users sounds reasonable to me. > This sounds reasonable indeed, but still a bit arbitrary. Haven't > figured out > anything better yet, though. > >> Finding the
2006 Mar 02
4
[LLVMdev] Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
On Thu, 2 Mar 2006, Vladimir Prus wrote: >>> The instructions seem to have one path wrong. It says to get: >> >> I'll put together a tarball today. That will be easier than dealing with >> a patch, and it will include a bunch of bugfixes since the previous email. > Further into process, I get this error: > In file included from
2014 Jan 11
2
[LLVMdev] Memcpy expansion: InstCombine vs SelectionDAG
Hi all, We currently have code in InstCombine that tries to expand memcpy / memmove intrinsics that are copying something that fits in a single register to a load and store in the IR. We then have other code in SelectionDAG that expands small memcpy intrinsics to sequences of loads and stores. The InstCombine one is useful, as it exposes more optimisation opportunities, but unfortunately it is
2014 Dec 05
4
[LLVMdev] Memset/memcpy: user control of loop-idiom recognizer
On 5 December 2014 at 06:49, Sean Silva <chisophugis at gmail.com> wrote: > > > On Wed, Dec 3, 2014 at 4:23 AM, Robert Lougher <rob.lougher at gmail.com> > wrote: >> >> Hi, >> >> In feedback from game studios a common issue is the replacement of >> loops with calls to memcpy/memset. These loops are often >> hand-optimised, and
2015 Aug 19
3
[RFC] Generalize llvm.memcpy / llvm.memmove intrinsics.
Hi All, I'd like to float two changes to the llvm.memcpy / llvm.memmove intrinsics. (1) Add an i1 <mayPerfectlyAlias> argument to the llvm.memcpy intrinsic. When set to '1' (the auto-upgrade default), this argument would indicate that the source and destination arguments may perfectly alias (otherwise they must not alias at all - memcpy prohibits partial overlap). While the C
2015 Aug 18
2
Aggregate load/stores
deadal nix via llvm-dev wrote on Mon, 17 Aug 2015: > OK, what about that plan : > > Slice the aggregate into a serie of valid loads/stores for non atomic ones. > Use big scalar for atomic/volatile ones. > Try to generate memcpy or memmove when possible ? Are memcpy/memmove guaranteed to be handled inline, i.e., without a call to libc? Or are there plans to do this in the context