Commit Graph

6225 Commits

Author SHA1 Message Date
daniel
d47da881ed * Better fix for case sensitive macro handling 2004-02-11 14:46:59 +00:00
daniel
ed76d1e17d * Compiler was partially case sensitive in macro expansion
* Multiple and/or preprocessor statements caused problems
2004-02-11 14:13:10 +00:00
florian
abc41f1c3c * several fixes to parameter handling on arm 2004-02-09 22:48:45 +00:00
florian
302d2d1442 * compilation fixed 2004-02-09 22:45:49 +00:00
peter
e6929a1a32 * more x86_64 parameter fixes
* tparalocation.lochigh is now used to indicate if registerhigh
    is used and what the type is
2004-02-09 22:14:17 +00:00
olle
d173a77b9f * macos: a_load_store fixed to only allocat temp reg if needed, side effect is compiler work for macos again. 2004-02-09 20:44:40 +00:00
peter
e741991cfc * support X86_64 and NOX86_64 flags 2004-02-09 20:30:48 +00:00
olle
193e41b455 + check that register allocation is not made at the wrong moment 2004-02-09 20:12:23 +00:00
peter
302040cc98 * reg_2_opsize replaced with reg_cgsize 2004-02-09 19:23:48 +00:00
florian
b4bbc5c383 * web bug #2942 fixed: reintroduce isn't necessary in methods of child classes of course 2004-02-08 23:30:43 +00:00
Jonas Maebe
71202a141d * taicpu.is_same_reg_move() now gets a regtype parameter so it only
removes moves of that particular register type. This is necessary so
    we don't remove the live_start instruction of a register before it
    has been processed
2004-02-08 23:10:21 +00:00
florian
1e9e0b0e35 * fixed compilation problem 2004-02-08 23:06:59 +00:00
Jonas Maebe
9495f77117 - removed taicpu.is_reg_move because it's not used anymore
+ support tracking fpu register moves by rgobj for the ppc
2004-02-08 20:15:42 +00:00
Jonas Maebe
f121f1f7ec * corrected first_param_offset for darwin 2004-02-08 20:03:05 +00:00
Jonas Maebe
3056a64bf0 * fixed regvars support. Needs -doldregvars to activate. Only tested with
ppc, other processors should however only require maxregvars and
    maxfpuregvars constants in cpubase.pas. Remember to take scratch-
    registers into account when defining that value.
2004-02-08 18:08:59 +00:00
Jonas Maebe
a8450c695d * fixed regvars 2004-02-08 17:45:53 +00:00
florian
4f90e4afdc + PtrInt declared if VER1_0 2004-02-08 16:38:51 +00:00
Jonas Maebe
9843118433 * fixed for regvars + simplification 2004-02-08 14:51:04 +00:00
Jonas Maebe
a23c7932cf * fixed previous commit 2004-02-08 14:50:13 +00:00
daniel
9868155d53 * Register allocator speed boost 2004-02-08 14:26:28 +00:00
daniel
46d241a666 * Take advantage of our new with statement optimization 2004-02-07 23:28:34 +00:00
Jonas Maebe
169c8f5a3b * changed an explicit mr to a_load_reg_reg so it's registered with the
register allocator as move
2004-02-07 15:01:05 +00:00
florian
6a2a7d4ce6 + arm support in Makefiles improved 2004-02-07 00:20:16 +00:00
daniel
42f9b1b0e2 * Removed not very usefull nextglobal & previousglobal fields from
Tstoreddef, saving 78 kb of memory
2004-02-06 22:37:00 +00:00
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