daniel
af4b350879
* Fixed an illegal use of makeregsize
2003-02-26 23:06:13 +00:00
daniel
0815444fb5
* Changed no longer correct fillchar of reference into location_reset
2003-02-26 22:57:44 +00:00
daniel
18ab545cb7
* Fixed the optimizer
2003-02-26 21:15:43 +00:00
daniel
49849a0b86
* Disabled mov reg,0 -> xor reg,reg optimization
2003-02-26 13:24:59 +00:00
daniel
a2cb9b34ae
* Properly fixed reversed operands bug
2003-02-25 07:41:54 +00:00
daniel
14a7d749a2
* Reversed operand order in an optimization in postpeepholeopt
2003-02-24 21:27:01 +00:00
pierre
8520cddfe6
* fix a range check error
2003-02-20 15:52:58 +00:00
daniel
4c450c3bb0
* Fixed a few issues
2003-02-19 22:39:56 +00:00
daniel
86bcea6ef5
* Code generator converted to new register notation
...
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
daniel
538641a07a
- Removed reg_2_opsize array
2003-02-03 22:47:14 +00:00
carl
59d3edeec7
* Several bugfixes for m68k target (register alloc., opcode emission)
...
+ VIS target
+ Generic add more complete (still not verified)
2003-02-02 19:25:54 +00:00
peter
25d973ef16
* self fixes for static methods (merged)
2003-01-30 21:46:57 +00:00
daniel
7be2b727f2
* Work on register conversion
2003-01-13 18:37:44 +00:00
daniel
cbe0383afe
* Further work to convert codegenerator register convention;
...
internalerror bug fixed.
2003-01-13 14:54:34 +00:00
daniel
7b2fd10fb4
* Converted some code in cgx86.pas to new register numbering
2003-01-09 20:40:59 +00:00
daniel
6e507ba483
* Added register conversion
2003-01-09 15:49:56 +00:00
daniel
fd4632c85b
* Added register convesrion procedure
2003-01-08 22:32:36 +00:00
daniel
55a161bbbf
* Tregister changed into a record
2003-01-08 18:43:56 +00:00
florian
b59b436130
* x86-64 compiles
...
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
peter
2d13cc9d04
* Long symbol names support
2002-12-24 18:10:34 +00:00
peter
af98b48c22
* stackpointer_alloc added for adjusting ESP. Win32 needs
...
this for the pageprotection
2002-12-24 15:56:50 +00:00
peter
46ed8eb932
* fixed pushing of records>8 bytes with stdcall
...
* simplified hightree loading
2002-12-17 22:19:33 +00:00
florian
1da30f2610
* tcallnode.paraitem introduced, all references to defcoll removed
2002-12-15 21:30:12 +00:00
carl
3214bab118
* maxoperands -> max_operands (for portability in rautils.pas)
...
* fix some range-check errors with loadconst
+ add ncgadd unit to m68k
* some bugfix of a_param_reg with LOC_CREFERENCE
2002-12-14 15:02:03 +00:00
florian
121ca40b39
* some variant <-> dyn. array stuff
2002-12-05 14:27:25 +00:00
florian
1b2a455ced
* two comments fixed
2002-12-05 14:18:09 +00:00
carl
fa27bba8c2
+ use FPC_CHECKPOINTER once again
2002-12-03 22:14:12 +00:00
carl
051cd78965
* some small cleanup (remove some specific operators which are not supported)
2002-12-01 22:08:34 +00:00
carl
5b05c7d2c3
- removed unused message
2002-11-30 23:16:39 +00:00
peter
1b116848d8
* cdecl array of const fixes
2002-11-27 20:04:38 +00:00
peter
f3fc72095f
* splitted defbase in defutil,symutil,defcmp
...
* merged isconvertable and is_equal into compare_defs(_ext)
* made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
carl
60d17dbc01
* some small speed optimizations
...
+ added several new warnings/hints
2002-11-23 22:50:04 +00:00
peter
a496dbe1ff
* pass proccalloption to ret_in_xxx and push_xxx functions
2002-11-18 17:31:54 +00:00
mazen
a835405a27
* fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg
2002-11-17 18:26:15 +00:00
mazen
41153e2b1a
+ return_result_reg and function_result_reg are now used, in all plateforms, to pass functions result between called function and its caller. See the explanation of each one
2002-11-17 17:49:08 +00:00
carl
64655be168
* memory optimization (3-4%) : cleanup of tai fields,
...
cleanup of tdef and tsym fields.
* make it work for m68k
2002-11-17 16:31:55 +00:00
peter
edbd98176b
* made tasmsymbol.refs private (merged)
2002-11-15 16:29:30 +00:00
peter
bfd72ad5d5
* merged changes from 1.0.7 up to 04-11
...
- -V option for generating bug report tracing
- more tracing for option parsing
- errors for cdecl and high()
- win32 import stabs
- win32 records<=8 are returned in eax:edx (turned off by default)
- heaptrc update
- more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
pierre
f723f73f77
* correct last wrong fix for tw2158
2002-10-31 13:28:32 +00:00
pierre
1bd92de936
* merge of fix for tw2158 bug
2002-10-30 17:10:00 +00:00
Jonas Maebe
c5ba7e8d6d
* re-enabled optimized version of comparisons with the empty string that
...
I accidentally disabled in revision 1.26
2002-10-20 13:11:27 +00:00
florian
2f510f8f2f
* fixed to reflect last tconvtype change
2002-10-10 16:14:54 +00:00
carl
67486c96c3
* fixes for Delphi 6 compilation
...
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
carl
801d6914e8
* range check error fixes
2002-10-03 21:31:10 +00:00
Jonas Maebe
a15d8cfe39
* a_load_reg_reg() now has two size parameters: source and dest. This
...
allows some optimizations on architectures that don't encode the
register size in the register name.
2002-09-17 18:54:01 +00:00
peter
c6430358b1
* push 0 instead of VMT when calling a constructor from a member
2002-09-16 19:07:37 +00:00
peter
e15a0ac67c
* support [eax].constant as reference
2002-09-16 19:07:00 +00:00
peter
6c06c346d8
* fix last optimization in genlinearlist, detected by bug tw1066
...
* use generic casenode.pass2 routine and override genlinearlist
* add jumptable support to generic casenode, by default there is
no jumptable support
2002-09-16 18:08:26 +00:00
Jonas Maebe
775b065d70
* small optimization to case genlist() case statements
2002-09-09 13:57:45 +00:00
carl
752beef0dd
* cardinal -> longword
2002-09-07 20:40:23 +00:00