Commit Graph

155 Commits

Author SHA1 Message Date
peter
64b0a0eadf * delayed paraloc allocation, a_param_*() gets extra parameter
if it needs to allocate temp or real paralocation
  * optimized/simplified int-real loading
2003-12-03 23:13:19 +00:00
Jonas Maebe
52980d5488 * fixed properties for MOVSB 2003-11-22 00:35:42 +00:00
florian
ebab97b3c8 + first part of arm assembler reader 2003-11-17 23:23:47 +00:00
Jonas Maebe
16834b1854 * fixed XSTORE instruction info 2003-11-13 18:54:22 +00:00
florian
1af574ceca * assembler readers OOPed
+ typed currency constants
  + typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
peter
517c5de6aa * line numbering is now only done when #10, #10#13 is really parsed
instead of when it is the next character
2003-11-10 19:08:32 +00:00
florian
08f4e363f6 * elesize of g_copyvaluepara_openarray changed 2003-11-05 23:06:03 +00:00
mazen
a2cee9b843 * using findreg_by_<name|number>_table directly to decrease heap overheading 2003-10-31 09:22:55 +00:00
peter
48ef24605a * support scalefactor for opr_local
* support reference with opr_local set, fixes tw2631
2003-10-30 19:59:00 +00:00
marco
706118fcb9 * profiling fix 2003-10-30 18:53:53 +00:00
peter
0bc3453035 * fixed findreg_by_number
* renamed rghelper to rgbase
2003-10-30 17:13:18 +00:00
peter
9e66b09843 * call firstpass before allocation and codegeneration is started
* move leftover code from pass_2.generatecode() to psub
2003-10-30 16:22:40 +00:00
mazen
75f88a5b90 * now uses standard routines in rgHelper unit to search registers by number and by name 2003-10-30 15:02:04 +00:00
Jonas Maebe
0cac29ec76 + support for fpu temp parameters
+ saving/restoring of fpu register before/after a procedure call
2003-10-29 21:24:14 +00:00
peter
5925d38ac7 * support indexing and offset retrieval for locals 2003-10-29 15:40:20 +00:00
peter
7e450e736b * fix crash with ops=0 2003-10-28 18:46:49 +00:00
peter
4a1ecb07d1 * splitted buildderef and buildderefimpl to fix interface crc
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +00:00
peter
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +00:00
peter
925bc3bbad * remove memdebug code for rg 2003-10-20 19:30:08 +00:00
peter
9f54e1b7c5 * made worklists dynamic in size 2003-10-18 15:41:26 +00:00
florian
5b33ab3643 * fixed more ppc stuff 2003-10-17 15:25:18 +00:00
peter
0939085ab1 * commented out more obsolete constants 2003-10-17 15:08:34 +00:00
peter
d0de3b3ea8 * 64k registers supported
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
florian
57a2fe6ddb + some code for PIC support added 2003-10-14 00:30:48 +00:00
florian
c70c620d9b * some ideas for mm support implemented 2003-10-13 01:58:03 +00:00
florian
947280d8e2 * some ideas for mm support implemented 2003-10-13 01:23:13 +00:00
florian
1df13c788c * fixed some MMX<->SSE
* started to fix ppc, needs an overhaul
  + stabs info improve for spilling, not sure if it works correctly/completly
  - MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
daniel
b2343f4b16 * Register allocator splitted, ans abstract now 2003-10-09 21:31:37 +00:00
florian
e3519e3b0c * x86 supports only mem/reg to reg for movsx and movzx 2003-10-07 16:09:03 +00:00
peter
e27d6f67da * inline supported again, LOC_REFERENCEs are used to pass the
parameters
  * inlineparasymtable,inlinelocalsymtable removed
  * exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
c63b079d07 * save ESP after pusha and restore before popa for save all registers 2003-10-03 14:45:37 +00:00
peter
b1863f8fad * remove asw 2003-10-02 21:18:06 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
5a7ce9fbe3 * fix pushw reg 2003-09-30 19:53:47 +00:00
peter
540691bf02 * optimized releasing of registers 2003-09-29 20:58:55 +00:00
peter
15446d6522 * removed emitjmp 2003-09-28 21:49:39 +00:00
peter
a028d221cc * fixed invalid opcode handling in spill registers 2003-09-28 21:49:30 +00:00
peter
9a9d96fe5d * fix register leak 2003-09-28 21:48:57 +00:00
peter
e248f1b570 * a_call_ref removed 2003-09-28 13:37:19 +00:00
peter
36c2bb1e1a * give error for wrong register number 2003-09-28 13:37:07 +00:00
peter
b6a0492c9c * remove sp_fixup 2003-09-25 21:29:23 +00:00
peter
1c11c95b3c * change push/pop in getreg/ungetreg 2003-09-25 21:29:16 +00:00
peter
e487793919 * %st is st0 in nasm 2003-09-25 14:59:16 +00:00
florian
0493cd3d2e * more x86-64 fixes 2003-09-25 13:13:32 +00:00
florian
f6e456268f * fixed make cycle 2003-09-24 21:15:49 +00:00
florian
0b48a6a3ec * x86-64 adaptions 2003-09-24 17:12:36 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00