carl
448d40de1a
+ FPURESULTREG -> FPU_RESULT_REG
2002-07-25 17:56:29 +00:00
carl
9a26de0ea3
+ First working revision
2002-07-25 17:55:41 +00:00
carl
86ef6eec0b
+ Extended is now CPU dependant (equal to bestrealtype)
2002-07-25 17:54:24 +00:00
florian
52dbda43c3
+ initial release of x86-64 target code
2002-07-24 22:38:15 +00:00
florian
0a9b56aa2e
no message
2002-07-24 21:03:42 +00:00
florian
156fc666c8
* small typo fixed, compiles with 1.0.x again
2002-07-24 14:38:00 +00:00
marco
ea53f048aa
* Fixed small error
2002-07-24 13:51:34 +00:00
marco
1f5b2f26ba
* urgent fix.
2002-07-24 13:10:22 +00:00
carl
6e3f0ce7f3
+ first revision (incomplete)
2002-07-24 04:07:49 +00:00
daniel
feb28ce902
* Added internal error when asked to generate code for 'if expr in []'
2002-07-23 14:31:00 +00:00
Jonas Maebe
aa2fef1733
* fixed evaluation of expressions with empty sets that are calculated
...
at compile time
2002-07-23 13:19:40 +00:00
Jonas Maebe
6e43afc6e1
* fixed constant set evaluation of new set handling for non-commutative
...
operators
2002-07-23 13:08:16 +00:00
daniel
1130395e7e
* Readded old set code. To use it define 'oldset'. Activated by default
...
for ppc.
2002-07-23 12:34:29 +00:00
daniel
950b60d3f8
* Added important comment
2002-07-23 10:13:23 +00:00
daniel
46b8ed0657
* Tried to make Tprocsym.defs protected. I didn't succeed but the cleanups
...
are worth comitting.
2002-07-23 09:51:22 +00:00
daniel
3a134c6e07
* Sets are now internally sets.
2002-07-22 11:48:04 +00:00
Jonas Maebe
c1e9bd36a3
* make sure we use rlwi* when possible instead of andi.
2002-07-21 17:00:23 +00:00
Jonas Maebe
33e3b0dda0
+ include ncgset unit
2002-07-21 16:58:59 +00:00
Jonas Maebe
494c85885b
* fixed some bugs in tcginnode.pass_2() and optimized the bit test
2002-07-21 16:58:20 +00:00
Jonas Maebe
3eb6dc156e
* hopefully final fix for second_int_to_real()
2002-07-21 16:57:22 +00:00
Jonas Maebe
398195464a
* fixed bugs with writing out unconditinal jumps
2002-07-21 16:56:20 +00:00
Jonas Maebe
6cb82a2c8f
* fixed bug in op_const_reg_reg() for imul
2002-07-21 16:55:34 +00:00
daniel
0af1f3883c
* Changed booleans into flags
2002-07-21 06:58:49 +00:00
florian
d88d2ed099
* splitting of i386\cgcpu.pas into x86\cgx86.pas and i386\cgcpu.pas
...
cgx86.pas will contain the common code for i386 and x86_64
2002-07-20 19:28:47 +00:00
florian
9e82c5e8de
+ x86_64 support to compiler makefile
2002-07-20 18:56:49 +00:00
daniel
94e5bd51a1
* Register variables are now possible for global variables too. This is
...
important for small programs without procedures.
2002-07-20 17:45:29 +00:00
florian
64b27c2ca1
+ char constants specified with #.. with more than 3 digits are handled as widechar
2002-07-20 17:35:52 +00:00
florian
4f7b35be5b
+ source code page support
2002-07-20 17:11:48 +00:00
florian
576001f95b
no message
2002-07-20 17:05:11 +00:00
daniel
23a5c653bf
* Optimized the code generated for for nodes. The shootout/nestloop benchmark
...
now runs 5% faster on my computer.
2002-07-20 12:54:53 +00:00
florian
59abf2555b
* types.pas renamed to defbase.pas because D6 contains a types
...
unit so this would conflicts if D6 programms are compiled
+ Willamette/SSE2 instructions to assembler added
2002-07-20 11:57:52 +00:00
daniel
c6f75def0c
* Small mistake fixed; the skip test was done before we know the for node
...
is correct.
2002-07-20 11:18:18 +00:00
daniel
8cbd40c2f0
* The for node does a check if the first comparision can be skipped. I moved
...
the check from the second pass to the resulttype pass. The advantage is
that the state tracker can now decide to skip the first comparision too.
2002-07-20 11:15:51 +00:00
daniel
bec9b5f988
* State tracker automatically changes while loops into repeat loops
2002-07-20 08:19:31 +00:00
daniel
95427989a6
* Loops should not be aligned when optimizing for size
2002-07-20 08:14:24 +00:00
daniel
62e4063229
* Forgot to add a {$ifdef extdebug}
2002-07-20 07:44:37 +00:00
daniel
7d66658fd4
* Further developed state tracking in whilerepeatn
2002-07-19 12:55:27 +00:00
daniel
399036f1c2
* State tracker work
...
* The whilen and repeatn are now completely unified into whilerepeatn. This
allows the state tracker to change while nodes automatically into
repeat nodes.
* Resulttypepass improvements to the notn. 'not not a' is optimized away and
'not(a>b)' is optimized into 'a<=b'.
* Resulttypepass improvements to the whilerepeatn. 'while not a' is optimized
by removing the notn and later switchting the true and falselabels. The
same is done with 'repeat until not a'.
2002-07-19 11:41:34 +00:00
florian
26351214da
+ Directive $EXTERNALSYM added, it is ignored for now
2002-07-16 15:37:58 +00:00
florian
31da813d1d
* exit is now a syssym instead of a keyword
2002-07-16 15:34:20 +00:00
florian
ac8643e1d2
* raise takes now a void pointer as at and frame address
...
instead of a longint
2002-07-16 13:57:02 +00:00
florian
b43c567edb
* threadvar relocation result wasn't handled properly, it could cause
...
a crash
2002-07-16 09:17:44 +00:00
florian
4bbd4814c8
* fixed crash with default parameters and stdcall calling convention
2002-07-15 19:44:53 +00:00
florian
c3f4220f3b
* readded removed changes
2002-07-15 18:03:14 +00:00
daniel
eeae0e4c00
+ Added the beginning of a state tracker. This will track the values of
...
variables through procedures and optimize things away.
2002-07-14 18:00:43 +00:00
florian
5b2afa7bb1
* compiler makefile hopefully fixed now
2002-07-14 07:56:31 +00:00
florian
e161eb5e25
+ initial version, a lot of instructions need to be added
2002-07-13 21:50:34 +00:00
peter
f5ea395e82
* moved to aasmtai
2002-07-13 21:12:39 +00:00
florian
15b9d096f9
* some more generic calling stuff fixed
2002-07-13 19:38:43 +00:00
Jonas Maebe
83d6218842
* fixed memory leak reported by Sergey Korshunoff
2002-07-13 07:17:15 +00:00