I'm not aware of any cases where memmove vs. memcpy matters before
codegen currently. If it were done at the LLVM IR level, would it be
too trivial to be in a pass by itself, or would you want to add it,
along with an addRequiredAliasAnalysis, to some existing pass?
Doing it at the LLVM IL
On Aug 27, 2007, at 9:26 AM, Dan Gohman wrote:
Author: djg
Date: Mon Aug 27 11:26:13 2007
New Revision: 41489
URL: http://llvm.org/viewvc/llvm-project?rev=41489view=rev
Log:
If the source and destination pointers in an llvm.memmove are known
to not alias each other, it can be translated
This is nifty, but shouldn't this be done at the LLVM IR level? I
can't think of cases where lowering would create new memmove calls.
I'm not aware of any cases where memmove vs. memcpy matters before
codegen currently. If it were done at the LLVM IR level, would it be
too trivial to be in a
Dan,
The memmove tests you added are failing on x86 darwin.
Here is the output from one of the tests:
lattner% llvm-as test/CodeGen/X86/memmove-0.ll | llc -march=x86
.text
.align 4,0x90
.globl _foo
_foo:
subl$12, %esp
movl20(%esp), %eax
On Aug 27, 2007, at 10:46 AM, Dan Gohman wrote:
This is nifty, but shouldn't this be done at the LLVM IR level? I
can't think of cases where lowering would create new memmove calls.
I'm not aware of any cases where memmove vs. memcpy matters before
codegen currently. If it were done at the