AVR - compiler gets stuck in trgobj.do_register_allocation
Original Reporter info from Mantis: ccrause @ccrause
-
Reporter name: Christo Crause
Original Reporter info from Mantis: ccrause @ccrause
- Reporter name: Christo Crause
Description:
When compiling the example below with -O2 the compiler gets stuck in trgobj.do_register_allocation. This is probably related to Florian's comment (https://bugs.freepascal.org/view.php?id=36236#c118946) about problems with the register allocator, AVR register orthogonality and spilling of registers.
Steps to reproduce:
Compile program below with following compiler arguments:
ppcrosavr -Cpavr5 -Tembedded -Wpatmega328p -Pavr -XPavr- -O2 test.pp
program test;
function fpc_qword: qword;
var
n: boolean;
bitpos: qword;
begin
fpc_qword := 0;
bitpos := 0;
for n := false to true do
bitpos := bitpos + bitpos;
end;
begin
end.
Mantis conversion info:
- Mantis ID: 36242
- Build: 43344
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 43983 (#96a4cda0)
- Monitored by: » @d.ioannidis (Dimitrios Chr. Ioannidis)