Commit Graph

525 Commits

Author SHA1 Message Date
florian
bbf7300a0c * Florian's culmutative nr. 1; contains:
- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
florian
8b337fb5ef + type cast variant<->enum
* cnv. node second pass uses now as well helper wrappers
2003-11-04 22:30:15 +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
peter
bef3bb7b22 * fix field offset in reference 2003-10-29 16:47:18 +00:00
peter
5925d38ac7 * support indexing and offset retrieval for locals 2003-10-29 15:40:20 +00:00
peter
d28f3dfdae * fixed trec.field to return constant 2003-10-27 15:29:43 +00:00
florian
4d070e2a71 * fixed web bug #2128 2003-10-26 13:37:22 +00:00
peter
53e8350307 * more intel parser updates 2003-10-24 17:39:03 +00:00
peter
9342178c7d * typecasting fixes
* reference building more delphi compatible
2003-10-23 17:19:44 +00:00
peter
86782a9b08 * ignore @ in Unit.@Proc 2003-10-21 18:17:40 +00:00
peter
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +00:00
peter
77c5f6485d * fix vecnode code that caused to much register conflicts 2003-10-21 15:13:27 +00:00
peter
10f32e68cd * fix check for register subscription of reference parameter 2003-10-20 19:29:35 +00:00
florian
05fcae577a * some ppc stuff fixed
* memory leak fixed
2003-10-19 01:34:30 +00:00
Tomas Hajny
f70561922d * Watcom patch by Wiktor Sywula 2003-10-18 09:16:45 +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
peter
63c5e8cfdf + __HIGH() to retrieve high value 2003-10-16 21:29:24 +00:00
florian
57a2fe6ddb + some code for PIC support added 2003-10-14 00:30:48 +00:00
florian
b04af27efc * fixed forgotten commit 2003-10-13 09:38:22 +00:00
florian
c70c620d9b * some ideas for mm support implemented 2003-10-13 01:58:03 +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
b3064de6c0 * fixed full bool evalution and bool xor, if the left or right side have LOC_JUMP 2003-10-08 09:13:16 +00:00
peter
3e6f799919 * fix crash
* allow parameter subscription for register parameters
2003-10-07 18:21:18 +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
da9f5e2319 * c style array of const generates callparanodes
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
6093a37d1b * fix operand order when a prefix opcode is supplied 2003-10-02 21:17:38 +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
22158bfb99 * updates for inlining 2003-09-30 21:02:37 +00:00
michael
953269fcff + Patch from Wiktor Sywula for watcom support 2003-09-30 08:39:50 +00:00
peter
540691bf02 * optimized releasing of registers 2003-09-29 20:58:55 +00:00
peter
47d211aa2e * fix register leaks 2003-09-28 21:48:20 +00:00
peter
99bb20747e * parent framepointer changed to hidden parameter
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
peter
eb5429425a * shortstr compare updated for different calling conventions 2003-09-28 13:35:40 +00:00
peter
116153cf24 * register calling updates 2003-09-28 13:35:24 +00:00
peter
2392f28675 * parameter fixes 2003-09-25 21:28:00 +00:00
peter
e487793919 * %st is st0 in nasm 2003-09-25 14:59:16 +00:00
peter
7c6560ab7f * fix intf wrapper code 2003-09-25 14:59:06 +00:00
florian
0493cd3d2e * more x86-64 fixes 2003-09-25 13:13:32 +00:00
peter
72761249f1 * fix global var+offset 2003-09-23 20:37:53 +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
peter
76a53a375d * varspez in calls to push_addr_param 2003-09-16 16:17:01 +00:00
florian
8f66389b46 * improved arm code generation
* move some protected and private field around
  * the temp. register for register parameters/arguments are now released
    before the move to the parameter register is done. This improves
    the code in a lot of cases.
2003-09-11 11:54:59 +00:00
marco
cd5ae5fcc3 * Patch from Peter for paraloc 2003-09-10 08:31:47 +00:00
peter
3a3d710c47 * basics for x86 register calling 2003-09-09 21:03:17 +00:00
daniel
49e539ac8d * Adding register allocation order 2003-09-09 20:59:27 +00:00
peter
6b06f9e985 * winapi doesn't like pushing 8 byte record 2003-09-09 15:55:05 +00:00