search for: promotememcpy

Displaying 4 results from an estimated 4 matches for "promotememcpy".

2018 Feb 01
0
llvm.memcpy for struct copy
On 31 Jan 2018, at 17:36, Jakub (Kuba) Kuderski via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > If you want to get rid of memcpy altogether, you can take a look at this pass: https://github.com/seahorn/seahorn/blob/master/lib/Transforms/Scalar/PromoteMemcpy.cc . There are at least four different places in LLVM where memcpy intrinsics are expanded to either sequences of instructions or calls: - InstCombine does it for very small memcpys (with a broken heuristic). - PromoteMemCpy does it mostly to expose other optimisation opportunities. - Selection...
2018 Jan 31
4
llvm.memcpy for struct copy
...s, but if you call MCpyInst->getSource() and MCpyInst->getDest() it will look through casts and give you the 'true' source/destination. If you want to get rid of memcpy altogether, you can take a look at this pass: https://github.com/seahorn/seahorn/blob/master/lib/Transforms/Scalar/PromoteMemcpy.cc . Best, Kuba On Tue, Jan 30, 2018 at 3:22 AM, ma jun via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi Craig > Thank you very much ! > > 2018-01-30 16:11 GMT+08:00 Craig Topper <craig.topper at gmail.com>: > >> The pointers must always be i8* the alig...
2018 Jan 30
0
llvm.memcpy for struct copy
Hi Craig Thank you very much ! 2018-01-30 16:11 GMT+08:00 Craig Topper <craig.topper at gmail.com>: > The pointers must always be i8* the alignment is independent and is > controlled by the attributes on the arguments in the call to memcpy. > > ~Craig > > On Mon, Jan 29, 2018 at 11:45 PM, ma jun <jun.parser at gmail.com> wrote: > >> Hi >> >>
2018 Jan 30
2
llvm.memcpy for struct copy
The pointers must always be i8* the alignment is independent and is controlled by the attributes on the arguments in the call to memcpy. ~Craig On Mon, Jan 29, 2018 at 11:45 PM, ma jun <jun.parser at gmail.com> wrote: > Hi > > > 2018-01-30 15:36 GMT+08:00 ma jun <jun.parser at gmail.com>: > >> Hi >> Thanks ! >> so for this example >>