mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
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
This commit is contained in:
11
test/CodeGen/Generic/2010-11-04-BigByval.ll
Normal file
11
test/CodeGen/Generic/2010-11-04-BigByval.ll
Normal file
@@ -0,0 +1,11 @@
|
||||
; 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
|
||||
}
|
Reference in New Issue
Block a user