mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 14:19:31 +02:00
* call g_concatcopy() from a_load_ref_ref() if the size of the to be copied
data is big, because large load/store operations result in very slow code (and takes forever to generate by llc) git-svn-id: trunk@34135 -
This commit is contained in:
parent
88a736c95a
commit
c05fa52775
@ -810,6 +810,11 @@ implementation
|
||||
sdref:=make_simple_ref(list,dref,tosize);
|
||||
list.concat(taillvm.op_size_ref_size_ref(la_store,fromsize,sref,cpointerdef.getreusable(tosize),sdref));
|
||||
end
|
||||
else if (fromsize=tosize) and
|
||||
not(fromsize.typ in [orddef,floatdef,enumdef]) and
|
||||
(sref.refaddr<>addr_full) and
|
||||
(fromsize.size>2*sizeof(aint)) then
|
||||
g_concatcopy(list,fromsize,sref,dref)
|
||||
else
|
||||
inherited
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user