When passing a parameter using the 'byval' mechanism, inline code needs to be used
authorDuncan Sands <baldrick@free.fr>
Fri, 5 Nov 2010 15:20:29 +0000 (15:20 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 5 Nov 2010 15:20:29 +0000 (15:20 +0000)
commit69300a2f47541a32cf453c857b2a6075c0c65632
treed4f2469d7c25240ca0642c9f21b3b38b0683581d
parentf8254d647352f8f194b4753a25d582758289e497
When passing a parameter using the 'byval' mechanism, inline code needs to be used
to perform the copy, which may be of lots of memory [*].  It would be good if the
fall-back code generated something reasonable, i.e. did the copy in a loop, rather
than vast numbers of loads and stores.  Add a note about this.  Currently target
specific code seems to always kick in so this is more of a theoretical issue rather
than a practical one now that X86 has been fixed.
[*] It's amazing how often people pass mega-byte long arrays by copy...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118275 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAG.cpp