1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/test/CodeGen/Generic/2010-11-04-BigByval.ll
Duncan Sands 1af5c00d3c 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.

llvm-svn: 118260
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
}