peter
6058b2c247
* renamed t_times to executionweight and moved it to
...
code generation pass
* include executionweight in the spilling decision
git-svn-id: trunk@9330 -
2007-11-25 16:38:05 +00:00
daniel
3ad8257ecb
* Fix replace spilling of shld/shrd.
...
git-svn-id: trunk@7252 -
2007-05-03 20:56:09 +00:00
daniel
f3660976bc
+ Allow replace spilling for "opcode register,const" and "opcode const,register"
...
git-svn-id: trunk@7183 -
2007-04-28 19:11:17 +00:00
daniel
9256c180de
* Fix register allocation bug that happens when a coalesced
...
move is spilled in its entirely.
git-svn-id: trunk@6408 -
2007-02-10 22:47:13 +00:00
Jonas Maebe
e815b923d5
* a_loadfpu_* gets two size parameters: fromsize and tosize
...
* fixed downsizing the precision of floating point values
* floating point constants are now treated using only the minimal
precision required (e.g. 2.0 is now a single, 1.1 extended etc)
(Delphi compatible)
git-svn-id: trunk@5927 -
2007-01-12 18:33:51 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
daniel
3125ed73cf
* Add one more call to get_alias
...
git-svn-id: trunk@5000 -
2006-10-22 09:18:37 +00:00
daniel
01afee1f73
* Add extra calls to get_alias to properly recognize coalesced
...
registers to be spilled.
git-svn-id: trunk@4997 -
2006-10-21 21:31:08 +00:00
Jonas Maebe
51259b697b
* more mmx/sse register spilling fixes:
...
* operand read/write info for movaps and movapd
* use "movapd reg,reg" instead of "movaps reg,reg" if appropriate
so the spilling code can spill the correct size to memory
* replace movaps/movapd with movss/movsd when spilling to memory
instead of movq
git-svn-id: trunk@4612 -
2006-09-12 11:07:45 +00:00
Jonas Maebe
cd0c38b9d9
* fixed spilling of mmx registers
...
git-svn-id: trunk@4604 -
2006-09-10 15:59:58 +00:00
florian
0378f8c162
+ more reg/reg reg/mem only instructions
...
git-svn-id: trunk@3587 -
2006-05-19 23:51:13 +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
florian
0e89afa607
* mm register spilling fixed
...
* no sse instruction can operate on memory
git-svn-id: trunk@762 -
2005-07-27 19:31:31 +00:00
florian
146efddbb7
* unified internal error
...
git-svn-id: trunk@756 -
2005-07-26 21:02:31 +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
peter
4794119dd3
movzx,movsx don't support memory destinations
2005-03-10 00:27:04 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
852ca7e923
+ added sse instruction being not be able writing to a memory location
2004-11-01 17:30:17 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
c853d10cc2
* optimized spilling writing when the reg operand can be
...
replaced by reference
2004-10-10 16:30:26 +00:00
peter
f5471aef6e
* more spilling rewrites
2004-10-05 20:41:01 +00:00
peter
ee3585f56f
* spilling code rewritten for x86. It now used the generic
...
spilling routines. Special x86 optimization still needs
to be added.
* Spilling fixed when both operands needed to be spilled
* Cleanup of spilling routine, do_spill_readwritten removed
2004-10-04 20:46:22 +00:00
peter
ec04a5a899
* handle 3 operand opcodes the same as 2 operand opcodes, the
...
third operand can only be a const or register CL, so it doesn't
affect spilling
* support shrd/shld that don't allow memory operands
2004-09-27 14:49:45 +00:00
florian
9ebffe215b
* ie checking in spilling code improved
2004-09-26 07:15:07 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
c34c9af5ce
* moved spilling code from taicpu to rg
2004-01-12 16:37:59 +00:00
florian
7887af7c75
* rg unified for i386/x86-64
2003-12-24 00:12:57 +00:00