Re: [llvm-commits] [llvm] r41489 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGISel.h lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp test/CodeGen/X86/memmove-0.ll test/CodeGen/X86/memmove-1.ll tes

2007-08-28 Thread Rafael Espindola
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

Re: [llvm-commits] [llvm] r41489 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGISel.h lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp test/CodeGen/X86/memmove-0.ll test/CodeGen/X86/memmove-1.ll tes

2007-08-27 Thread Chris Lattner
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

Re: [llvm-commits] [llvm] r41489 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGISel.h lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp test/CodeGen/X86/memmove-0.ll test/CodeGen/X86/memmove-1.ll tes

2007-08-27 Thread Dan Gohman
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

Re: [llvm-commits] [llvm] r41489 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGISel.h lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp test/CodeGen/X86/memmove-0.ll test/CodeGen/X86/memmove-1.ll tes

2007-08-27 Thread Tanya Lattner
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

Re: [llvm-commits] [llvm] r41489 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGISel.h lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp test/CodeGen/X86/memmove-0.ll test/CodeGen/X86/memmove-1.ll tes

2007-08-27 Thread Chris Lattner
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