* fixed LLVM register allocator after r46199

git-svn-id: trunk@46212 -
This commit is contained in:
Jonas Maebe 2020-08-03 20:36:02 +00:00
parent 87702d7cda
commit 3047ce71bc
2 changed files with 6 additions and 1 deletions

View File

@ -72,6 +72,11 @@ implementation
inherited;
{ tell the generic register allocator to generate SSA spilling code }
ssa_safe:=true;
{ all registers are "usable" for us; we only care about SSA form. This
prevents the register allocator from trying to spill every single
register (because our "usable registers" array contains just one,
dummy, register) }
usable_registers_cnt:=high(usable_registers_cnt);
end;
procedure trgllvm.do_register_allocation(list: TAsmList; headertai: tai);

View File

@ -226,11 +226,11 @@ unit rgobj;
strict protected
{ Highest register allocated until now.}
reginfo : PReginfo;
usable_registers_cnt : word;
private
int_live_range_direction: TRADirection;
{ First imaginary register.}
first_imaginary : Tsuperregister;
usable_registers_cnt : word;
usable_registers : array[0..maxcpuregister] of tsuperregister;
usable_register_set : tcpuregisterset;
ibitmap : Tinterferencebitmap;