mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-09 23:46:00 +02:00
* only handle a_load_const_ref() directly when storing ordinals, as in case
of pointers llvm only supports 0 (as null, which we don't generate either) git-svn-id: trunk@30676 -
This commit is contained in:
parent
e2cf90ad8a
commit
3496129f79
@ -473,8 +473,16 @@ implementation
|
||||
var
|
||||
sref: treference;
|
||||
begin
|
||||
sref:=make_simple_ref(list,ref,tosize);
|
||||
list.concat(taillvm.op_size_const_size_ref(la_store,tosize,a,getpointerdef(tosize),sref))
|
||||
{ llvm instructions do not support pointer constants -> only directly
|
||||
encode for integers; a_load_const_reg() handles pointers properly }
|
||||
if is_ordinal(tosize) or
|
||||
is_64bit(tosize) then
|
||||
begin
|
||||
sref:=make_simple_ref(list,ref,tosize);
|
||||
list.concat(taillvm.op_size_const_size_ref(la_store,tosize,a,getpointerdef(tosize),sref))
|
||||
end
|
||||
else
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user