llvm-6502/test/CodeGen/Generic/2010-11-04-BigByval.ll
Duncan Sands 1e92ec6886 When passing a huge parameter using the byval mechanism, a long
sequence of loads and stores was being generated to perform the
copy on the x86 targets if the parameter was less than 4 byte
aligned, causing llc to use up vast amounts of memory and time.
Use a "rep movs" form instead.  PR7170.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118260 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-04 21:16:46 +00:00

12 lines
190 B
LLVM

; RUN: llc < %s
; PR7170
%big = type [131072 x i8]
declare void @foo(%big* byval align 1)
define void @bar(%big* byval align 1 %x) {
call void @foo(%big* byval align 1 %x)
ret void
}