florian
6e62fbc3d2
* more consistent updates of used registers
...
+ FindRegDeAlloc searching for a register deallocation
* FindRegAlloc now returns the allocation object which was found
git-svn-id: trunk@22191 -
2012-08-22 19:52:15 +00:00
florian
e1a2b1859a
* comments and explanations on tai_regalloc.keep field
...
* write/read tai_regalloc. field to/from ppu
git-svn-id: trunk@22190 -
2012-08-22 19:52:08 +00:00
florian
b6608e716b
+ tai_regalloc.keep to force register deallocations to be keep
...
git-svn-id: trunk@22187 -
2012-08-22 19:51:47 +00:00
florian
2a14394cf5
* cleaned up scheduler code, created own scheduler class to avoid unneeded passes through the assembler
...
git-svn-id: trunk@22133 -
2012-08-19 19:15:34 +00:00
florian
117c083003
* call inherited Destroy in TAsmOptimizer to avoid memory leak
...
git-svn-id: trunk@21706 -
2012-06-25 20:19:19 +00:00
florian
8832a34b67
* fix reg. allocs even for procedures without labels
...
git-svn-id: trunk@21309 -
2012-05-15 18:09:12 +00:00
florian
75e62e42e4
* add debug statements
...
* avoid possible problems with unknown ra_ types
git-svn-id: trunk@21304 -
2012-05-15 18:07:08 +00:00
florian
748694a325
* fixes some issues with reg. allocation information
...
git-svn-id: trunk@21303 -
2012-05-15 18:06:41 +00:00
florian
0fe22a358b
+ first version of ldr instruction scheduler on arm
...
git-svn-id: trunk@20512 -
2012-03-11 19:10:58 +00:00
Jonas Maebe
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
...
allocated for optimising jumps
git-svn-id: trunk@14470 -
2009-12-23 21:08:05 +00:00
Jonas Maebe
090f2a6108
* defined "class of TAsmOptimizer" as separate type to avoid tripping
...
Lazarus' code navigation
git-svn-id: trunk@14411 -
2009-12-11 21:48:58 +00:00
Jonas Maebe
c1c1b2deac
* more aint() type casts replaced by int64() type casts
...
git-svn-id: trunk@12073 -
2008-11-13 19:44:30 +00:00
yury
a039dd6942
* Fixed warnings about hiding inherited method.
...
git-svn-id: trunk@11449 -
2008-07-23 11:51:19 +00:00
yury
451a290caf
* Fixed 'mixed signed/unsigned' and pointer conversion warnings.
...
git-svn-id: trunk@11444 -
2008-07-23 11:17:27 +00:00
yury
fd0ed50331
* Removed/commented more unused variables.
...
* Fixed some uninitialized variable warnings.
git-svn-id: trunk@11442 -
2008-07-23 10:48:53 +00:00
yury
fcceb9cfa1
* Removed/ifdefed/commented unused local variables.
...
git-svn-id: trunk@11430 -
2008-07-20 23:00:31 +00:00
florian
4010d66c2c
* arm cond. instruction support
...
git-svn-id: trunk@5387 -
2006-11-14 22:37:22 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
89f5d65784
* fix findlohilabel
...
git-svn-id: trunk@3299 -
2006-04-20 13:59:14 +00:00
peter
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
* pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
* refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
* add cfi to asmdata
* move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
peter
b6e35a200e
* rewrite of optimizer options
...
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
Jonas Maebe
ab5f5ca15e
* fixed ppc compilation
...
git-svn-id: trunk@2778 -
2006-03-05 22:06:44 +00:00
Jonas Maebe
cd3f064a33
+ enabled postpeepholeopts phase
...
+ optimize "integer op" followed by comparison of target register with zero
to a variant of that integer op which sets the flags (ppc)
+ change rlwinm. instructions which do nothing but an "and" operation into
andi./andis., since the rlwinm. is cracked on the G5 while andi./andis.
isn't
git-svn-id: trunk@1361 -
2005-10-12 19:47:21 +00:00
Jonas Maebe
ab3bc45fa4
* cpu-specific overrides of optimizer methods now get called
...
+ first simple rlwinm optimization for ppc
git-svn-id: trunk@1320 -
2005-10-07 21:44:00 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Jonas Maebe
ec959955bd
* fixed generic jumps optimizer and enabled it for ppc (the label table
...
was not being initialised -> getfinaldestination always failed, which
caused wrong optimizations in some cases)
* changed the inverse_cond into a function, because tasmcond is a record
on ppc
+ added a compare_conditions() function for the same reason
2005-02-26 01:26:59 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
florian
e04b172854
* fixed generic optimizer
...
* enabled generic optimizer for sparc
2004-10-30 15:21:37 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
florian
9746f4c2d6
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:35:06 +00:00