The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
florian aa2a9dbf2e patches by Nico Erfurth to improve the arm peephole optimizer:
* Introduce MatchInstruction and MatchOperand

MatchInstruction allows to match an instruction by condition and
oppostfix. MatchOperand checks if an operand is a register and matches
another operand. In the future this could be overloaded with other
versions not only accepting TRegister.

* Optimize cmp,moveq,movne sequence on ARM

This patch implements an peephole optimizer for the following sequence:

  cmp   reg,const1
  movne reg,const2
  moveq reg,const1

* Small improvements to the ARM peephole optimizer

Most instructions in the ARM ISA have taicpu(p).oper[0]^.typ = top_reg
as the only option, so there is no need to check for it if we're
looking at those instructions.

* Remove redundant mov instructions on ARM

This is an addition to the ARM PeepHole Optimizer.
It folds code like this:

mov reg1, reg2
add reg1, reg1, (const|reg)

git-svn-id: trunk@21024 -
2012-04-24 18:25:19 +00:00
compiler patches by Nico Erfurth to improve the arm peephole optimizer: 2012-04-24 18:25:19 +00:00
ide Add neednostdlib=1 for netbsd to avoid use of incompatble system libraries 2012-04-18 07:57:48 +00:00
installer * regenerated Makefiles with AIX support 2012-04-11 18:03:57 +00:00
packages * Cleanup of adding records to bufdatasets with indexes. Mantis #20514, patch by Lacak2. 2012-04-24 17:47:18 +00:00
rtl * fixed compilation on Solaris after r20815 2012-04-24 11:08:08 +00:00
tests * test for bzip2 from Mantis #21261 2012-04-22 10:12:45 +00:00
utils * enabled for AIX 2012-04-11 18:07:23 +00:00
.gitattributes * test for bzip2 from Mantis #21261 2012-04-22 10:12:45 +00:00
.gitignore fpvectorial is now moved to lazarus/components/fpvectorial 2011-10-30 16:42:46 +00:00
Makefile * regenerated Makefiles with AIX support 2012-04-11 18:03:57 +00:00
Makefile.fpc * don't build utils on gba and embedded 2012-01-07 21:52:40 +00:00