Commit Graph

10740 Commits

Author SHA1 Message Date
florian
30fae40c29 no message 2002-07-25 22:58:30 +00:00
florian
7bf1321808 * several fixes, small test units can be compiled 2002-07-25 22:55:33 +00:00
marco
e4c9846ac1 * Some initial OpenBSD patches. Getting the OS installed seems to be
harder than the port
2002-07-25 20:03:33 +00:00
carl
ebbd8e9e04 + added generic inline nodes 2002-07-25 18:01:58 +00:00
carl
f6b1f35207 + Resulttype for floats is now CPU independent (bestrealytype)
+ Generic version of some routines (call to RTL routines)
      : still untested.
2002-07-25 18:00:19 +00:00
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
carl
86f65c6d60 + include / exclude inline node testing 2002-07-25 17:52:59 +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
florian
42a7c6c636 + types unit added 2002-07-23 20:39:21 +00:00
michael
c8dbdd3e41 + Initial implementation 2002-07-23 19:42:41 +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
florian
53ed3e51c8 + path to dir x86 added 2002-07-22 21:01:36 +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
michael
44f94bdc9d + No optional parameters in 1.0.6 2002-07-21 12:04:49 +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
ba1d11e778 no message 2002-07-20 17:38:07 +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
pierre
9fef30d585 merged from FIXES branch: DrawTextBackground support 2002-07-18 07:11:11 +00:00