mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 22:46:01 +02:00
+ top_asmlist operand type for LLVM inline assembly "call" instructions
git-svn-id: trunk@34889 -
This commit is contained in:
parent
1c23218375
commit
d2873e433e
@ -259,6 +259,7 @@ interface
|
||||
,top_fpcond
|
||||
,top_cond
|
||||
,top_para
|
||||
,top_asmlist
|
||||
{$endif llvm}
|
||||
);
|
||||
|
||||
@ -449,6 +450,7 @@ interface
|
||||
top_cond : (cond: topcmp);
|
||||
top_fpcond : (fpcond: tllvmfpcmp);
|
||||
top_para : (paras: tfplist);
|
||||
top_asmlist : (asmlist: tasmlist);
|
||||
{$endif llvm}
|
||||
end;
|
||||
poper=^toper;
|
||||
|
@ -124,6 +124,7 @@ interface
|
||||
procedure loadcond(opidx: longint; _cond: topcmp);
|
||||
procedure loadfpcond(opidx: longint; _fpcond: tllvmfpcmp);
|
||||
procedure loadparas(opidx: longint; _paras: tfplist);
|
||||
procedure loadasmlist(opidx: longint; _asmlist: tasmlist);
|
||||
|
||||
{ register spilling code }
|
||||
function spilling_get_operation_type(opnr: longint): topertype;override;
|
||||
@ -320,6 +321,8 @@ uses
|
||||
end;
|
||||
top_tai:
|
||||
oper[opidx]^.ai.free;
|
||||
top_asmlist:
|
||||
oper[opidx]^.asmlist.free;
|
||||
end;
|
||||
inherited;
|
||||
end;
|
||||
@ -446,6 +449,18 @@ uses
|
||||
end;
|
||||
|
||||
|
||||
procedure taillvm.loadasmlist(opidx: longint; _asmlist: tasmlist);
|
||||
begin
|
||||
allocate_oper(opidx+1);
|
||||
with oper[opidx]^ do
|
||||
begin
|
||||
clearop(opidx);
|
||||
asmlist:=_asmlist;
|
||||
typ:=top_asmlist;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function taillvm.spilling_get_operation_type(opnr: longint): topertype;
|
||||
begin
|
||||
case llvmopcode of
|
||||
|
Loading…
Reference in New Issue
Block a user