Displaying 13 results from an estimated 13 matches for "getmemcpy".
2009 Jul 18
2
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
...;eli.friedman at gmail.com>
> On Sat, Jul 18, 2009 at 2:21 PM, Aaron
> Gray<aaronngray.lists at googlemail.com> wrote:
> > I am working on the COFF backend and am wondering where llvm.memcpy gets
> > lowered to memcpy ?
>
> It's done by ISel. See SelectionDAG::getMemcpy.
>
> -Eli
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed......
2009 Jul 18
3
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
Hi,
I am working on the COFF backend and am wondering where llvm.memcpy gets
lowered to memcpy ?
It seems to be done by the assembler backends and would have thought
it would either be done by a lowering pass or done by the mangler but it
does not seem to be either.
Many thanks in advance,
Aaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2009 Jul 18
0
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
On Sat, Jul 18, 2009 at 2:21 PM, Aaron
Gray<aaronngray.lists at googlemail.com> wrote:
> I am working on the COFF backend and am wondering where llvm.memcpy gets
> lowered to memcpy ?
It's done by ISel. See SelectionDAG::getMemcpy.
-Eli
2009 Jul 29
1
[LLVMdev] Lowering intrinsics in Codegen.
For lowering llvm.memcpy.* etc SelectionDAG::getMemcpy generates a
libcall to "memcpy" as a last resort. See the code snippets below.
// FIXME: pass in DebugLoc
std::pair<SDValue,SDValue> CallResult =
TLI.LowerCallTo(Chain, Type::VoidTy,
false, false, false, false, 0, CallingConv::C, false,...
2019 Sep 10
2
Question on llvm.mem* intrinsics
Hi there lowering experts,
Can the llvm.mem* intrinsics ever turn into a library call? Or do
they invariably turn into inline code?
This comes up because there was a patch to StackProtector to use
CaptureTracking instead of a home-grown analysis, which changes
the treatment of calls to intrinsics. (The old code treated them
as normal calls, the new code decides intrinsics can never capture.)
2009 Jul 18
0
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
...riedman at gmail.com>
> On Sat, Jul 18, 2009 at 2:21 PM, Aaron
> Gray<aaronngray.lists at googlemail.com> wrote:
> > I am working on the COFF backend and am wondering where
> llvm.memcpy gets
> > lowered to memcpy ?
>
> It's done by ISel. See SelectionDAG::getMemcpy.
>
> -Eli
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers ma...
2009 Jul 18
3
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
...t;
>
>> On Sat, Jul 18, 2009 at 2:21 PM, Aaron
>> Gray<aaronngray.lists at googlemail.com> wrote:
>> > I am working on the COFF backend and am wondering where llvm.memcpy gets
>> > lowered to memcpy ?
>>
>> It's done by ISel. See SelectionDAG::getMemcpy.
>>
>> -Eli
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
> _____________________________________...
2019 May 09
3
Why did "llvm.memcpy" changed when emitting an object file?
Dear LLVM-Mailing list,
I have a beginners question again - please don't be mad at me!
I was playing around with llvm::Module instance and ended in iterating over all global values and functions. I then noticed the function "llvm.memcpy". As I understood, this is an intrinsic coming from the LLVM.
So far so good! I then emitted an object file with the llvm::ExecutionEngine and
2019 Jun 06
2
@llvm.memcpy not honoring volatile?
The primary reason I don’t want to provide any guarantees for what instructions are used to implement volatile memcpy is that it would forbid lowering a volatile memcpy to a library call.
clang uses a volatile memcpy for struct assignment in C. For example, “void f(volatile struct S*p) { p[0] = p[1]; }”. It’s not really that useful, but it’s been done that way since before clang was written.
2014 Mar 12
2
[LLVMdev] Memcpy / Memset for address spaces >= 256
Hi David,
sorry for sending you the mail two times, I forgot to send to the list
the first time.
On 2014-03-12 09:48, David Chisnall wrote:
> I have some patches that automatically expand all memcpy and similar
> if the operands are not in AS 0. I think this is probably not quite
> the right approach though, and we should be asking the back end for
> the function that does a memcpy
2019 May 14
2
How to change CLang struct alignment behaviour?
Hi John,
On Tue, 14 May 2019 at 17:51, Joan Lluch <joan.lluch at icloud.com> wrote:
> This problem is also shared by the MSP430 target, and it’s very easy to reproduce by just compiling the code that I posted before.
That's some good detective work; it definitely explains what you're
seeing. Since MSP430 is affected it would probably be pretty easy to
upstream an alignment-aware
2017 Oct 13
2
[SelectionDAG] Assertion due to MachineMemOperand flags difference.
Hello,
I've hit an assertion in SelectionDAG where we try to merge 2 loads
that have the same operands but their MMO flags differ. One is
dereferenceable and one is not. I'm not sure what the underlying issue
here is:
1) MDSDNode with the same operands should have the same flags set on
their respective MMO. The fact the flags differ when the
opcode,types,operands and address-space are
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...ectionDAG.cpp.o)
llvm::SelectionDAG::getMemmove(llvm::SDValue, llvm::DebugLoc,
llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::Value
const*, unsigned long long, llvm::Value const*, unsigned long long)in
libLLVMSelectionDAG.a(SelectionDAG.cpp.o)
llvm::SelectionDAG::getMemcpy(llvm::SDValue, llvm::DebugLoc,
llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, bool,
llvm::Value const*, unsigned long long, llvm::Value const*, unsigned long
long)in libLLVMSelectionDAG.a(SelectionDAG.cpp.o)
(anonymous
namespace)::CodeGenPrepare::OptimizeMemoryInst(llvm::Ins...