Commit Graph

6201 Commits

Author SHA1 Message Date
Jonas Maebe
5290787578 * don't put types that need init/fini in register temps 2004-02-06 20:22:58 +00:00
florian
b780c7852c + improved floating point compares for x86-64 and Pentium2 and above 2004-02-06 16:44:42 +00:00
florian
3cb562e41f * movz*q fixed 2004-02-06 14:37:48 +00:00
daniel
be3eabc26f * Some changes to better accomodate very large movelists
* movelist resizing now exponential (avoids heap fragmentation, saves
      300 kb memory in make cycle)
    * Trgobj.combine hand-optimized (still too slow)
2004-02-06 13:34:46 +00:00
florian
55557eea92 * more x86-64 fixes 2004-02-05 19:35:27 +00:00
peter
221090453c * x86_64 fixes for opsize 2004-02-05 18:28:37 +00:00
florian
571d853415 * fixed (hopefully) the ansistring length bug 2004-02-05 16:58:43 +00:00
daniel
20469d47a0 * Tvarsym.highvarsym removed 2004-02-05 14:13:53 +00:00
florian
465aa5851b * several fixes to compile x86-64 system 2004-02-05 01:24:08 +00:00
daniel
5db278a977 * Empty destructor Tlabelsym.destroy removed 2004-02-04 23:01:36 +00:00
daniel
63f2dfc2dd * Tvarsym.highvarsym commented out (unused by compiler, purpose unknown) 2004-02-04 22:54:57 +00:00
daniel
d735071838 * Rtti generation moved to ncgutil
* Assmtai usage of symsym removed
  * operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
8c5b0f7d82 * first try to get cpupara working for x86_64 2004-02-04 22:01:13 +00:00
peter
8012731ede *** empty log message *** 2004-02-04 19:22:27 +00:00
Jonas Maebe
0b1069b6ab + some more usage of register temps 2004-02-04 18:45:29 +00:00
olle
035c98cad2 * made more in phase with agppcgas.pas 2004-02-04 15:28:24 +00:00
olle
7e373764ba * uodated header comment 2004-02-04 15:23:28 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
663fa583d9 * real fix for the short jmp out of range problem. Only forward jumps
needs an offset correction. For backward jumps both the address of
    the symbol and the instruction are already updated so no correction
    is required.
2004-02-03 21:21:23 +00:00
peter
8a86aad56d * remove previous commit 2004-02-03 21:19:40 +00:00
Jonas Maebe
5a98f00e7f - removed mov "reg, reg" optimizations, as they are removed by the
register allocator and may be necessary to indicate a register may not
    be reused before some point
2004-02-03 19:49:24 +00:00
Jonas Maebe
0d004c1e35 * fixed and re-enabled temps in registers 2004-02-03 19:48:06 +00:00
Jonas Maebe
43306edc96 * don't put the temp of a withnode in a register if debugging info is on,
because then our stabs generation internalerror's
2004-02-03 19:47:45 +00:00
Jonas Maebe
4ba9c9ec67 - removed "mov reg,reg" optimization (those instructions are removed by
the register allocator, and may be necessary to indicate a register
    may not be released before some point)
2004-02-03 19:46:48 +00:00
Jonas Maebe
edb91b0d18 * disabled temps in registers for now, because the register allocator
can't handle it yet in some cases
2004-02-03 17:56:14 +00:00
Jonas Maebe
6eec8798cd * cleanup 2004-02-03 17:55:50 +00:00
peter
7ca069476f *** empty log message *** 2004-02-03 16:53:37 +00:00
peter
bdf2392ff4 * linux path separators 2004-02-03 16:50:51 +00:00
Jonas Maebe
694eee6cae + support to store ttempcreate/ref/deletenodes in registers
* put temps for withnodes and some newnodes in registers
   Note: this currently only works because calling ungetregister()
     multiple times for the same register doesn't matter. We need again
     a way to specify that a register is currently a regvar and as such
     should not be freed when you call ungetregister() on it.
2004-02-03 16:46:51 +00:00
peter
c96538d24d * fix remembering path of main source file 2004-02-03 16:14:13 +00:00
florian
0874e96a94 + FPC_PREFETCH defined 2004-02-03 00:42:08 +00:00
Jonas Maebe
4f957bebff + implemented second_prefetch 2004-02-02 21:22:19 +00:00
florian
e35b683e4d + added prefetch(const mem) support 2004-02-02 20:41:59 +00:00
florian
001e65a94e * another improvement to tcginnode.pass_2 2004-01-31 23:37:07 +00:00
daniel
c22f863764 * Fix stabs generation problem reported by Jonas 2004-01-31 22:48:31 +00:00
daniel
2c01fc3afd * Stabs lineinfo problem fixed 2004-01-31 21:09:58 +00:00
daniel
862e121a0a * Last steps before removal of aasmtai dependency in symsym can be
accomplished.
2004-01-31 18:40:15 +00:00
peter
1422985ca0 * Change several $ifdef i386 to x86
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
peter
2b02238e4a * prefere tobject-tobject over tobject-pointer 2004-01-31 14:50:54 +00:00
Jonas Maebe
b0ea6b1379 + support for piped assembling under Darwin 2004-01-30 15:44:23 +00:00
florian
4505b320b7 * fixed more alignment issues 2004-01-30 14:33:06 +00:00
florian
35b8e93073 * fixed more alignment issues 2004-01-30 13:42:03 +00:00
florian
b80d10cb70 * fixed some m68k compilation problems 2004-01-30 12:17:18 +00:00
florian
828fab3da9 * fixed linker response file handling 2004-01-29 23:57:15 +00:00
florian
bfa26e5903 * tried to fix BeOS linking 2004-01-29 22:50:53 +00:00
florian
ff303ba334 * handling of floating point references fixed 2004-01-29 17:09:32 +00:00
florian
16e7ba3a47 * alignment issues fixed 2004-01-29 17:09:14 +00:00
peter
dfb7fe9d9d * fixed alignment calculation for variant records
* fixed alignment padding of records
2004-01-29 16:51:29 +00:00
marco
8e9339f073 * fix added as comment till I can test (8 byte C alignment on netbsd/ppc) 2004-01-29 15:48:10 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00