Commit Graph

180 Commits

Author SHA1 Message Date
olle
4fecc1a56f * big transformation of Tai_[const_]Symbol.Create[data]name* 2004-03-02 00:36:32 +00:00
mazen
f02d3cfc4f * symaddr ==> refaddr to follow the rest of compiler changes 2004-02-27 13:27:28 +00:00
peter
8c5b0f7d82 * first try to get cpupara working for x86_64 2004-02-04 22:01:13 +00:00
peter
47f08937e4 * use localalign info for alignment for locals and temps
* sparc fpu flags branching added
  * moved powerpc copy_valye_openarray to generic
2004-01-12 22:11:38 +00:00
peter
42c6e9323b * sparc updates, mostly float related 2004-01-12 16:39:40 +00:00
peter
1c7e6fc380 * sparc updates
* use registertype in spill_register
2003-12-26 14:02:30 +00:00
mazen
e0303f16a7 * new TRegister definition applied 2003-12-19 14:38:03 +00:00
mazen
247effd0cc + added uses_registers overloaded method for sparc 2003-12-09 09:44:22 +00:00
mazen
105806e6e7 + added fake MM Registers support because of generic code need it. 2003-10-29 15:18:33 +00:00
peter
b224d87ea5 * added more register functions 2003-10-24 15:20:37 +00:00
mazen
301f8978ae * rg.[un]GetRegister* ==> [Un]Get[*]Register 2003-10-24 11:14:46 +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
dfd282aac6 * flags2reg fixed
* fixed 64bit not
2003-09-14 21:35:52 +00:00
peter
d76dc1047e * updates for new ra 2003-09-14 19:19:04 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
peter
1b633246b9 * sparc fixes 2003-07-08 21:23:24 +00:00
peter
d03fd8f7e0 * operand order of cmp fixed 2003-07-06 22:10:13 +00:00
peter
32d076480b * framepointer fixes for sparc
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
peter
1e47d6ffe0 * delay slot NOPs and comments added
* a_loadaddr_ref_reg fixed and optimized to reuse passed register
    if it is not used by the ref
2003-07-03 21:09:53 +00:00
peter
b7d99ec934 * paraloc splitted in callerparaloc,calleeparaloc
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
f50aba2839 * a_loadaddr_ref_reg fixed 2003-06-17 16:35:56 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
a0b9306652 * newra compiles for sparc 2003-06-12 16:43:07 +00:00
mazen
4af28e59cc + added size of destination in code gen methods
+ making g_overflowcheck declaration same as
  ancestor's method declaration
2003-06-04 20:59:37 +00:00
peter
230a14ff68 * getregisterfpu size parameter added
* op_const_reg size parameter added
  * sparc updates
2003-06-01 21:38:06 +00:00
peter
7b3095fe27 * reference fixes 2003-06-01 01:04:35 +00:00
peter
790e125329 * register fixes 2003-05-31 01:00:51 +00:00
peter
414bd5fa22 * more sparc cleanup
* accumulator removed, splitted in function_return_reg (called) and
    function_result_reg (caller)
2003-05-30 23:57:08 +00:00
florian
a8eb2ab740 * started to fix and clean up the sparc port 2003-05-28 23:18:31 +00:00
mazen
a6880bcaa4 * added 64 bit value support to fix a problem in RTL 2003-05-26 22:04:57 +00:00
florian
995f7e0f11 * fix some small flaws which prevent sparc linux system unit from compiling
* some reformatting done
2003-05-23 22:33:48 +00:00
florian
1770c1db0f * fixed sparc compilation partially 2003-05-22 16:11:22 +00:00
mazen
518e7109a5 * invalid genrated code for CASE statement fixed 2003-05-07 15:04:30 +00:00
mazen
6b490e7de4 * Invalid genrated code : A_JMPL changed to A_BA 2003-05-06 20:25:20 +00:00
mazen
47ba6c2c4e * fixed a bug in a_load_const_reg related to max 13bit value limit
for immediat value ==> use of A_SETHI for greater values
2003-05-06 15:02:40 +00:00
mazen
e3431c55d9 * fixed bug of output generated assembler for a_cmp_const_ref_label 2003-04-29 11:58:21 +00:00
mazen
fad91e6369 + NOP after conditional jump instruction to prevent delay slot execution 2003-04-28 09:44:42 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
mazen
2a961db56e * fixing an LD operation without refernce in loading address parameters 2003-03-16 20:45:45 +00:00
mazen
a33dd56d81 * fixing index overflow in handling new registers arrays. 2003-03-10 21:59:54 +00:00
mazen
8cb2ac6714 * code re-aligned 2 spaces 2003-02-25 21:41:44 +00:00
daniel
86bcea6ef5 * Code generator converted to new register notation
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
mazen
ed1ba5dc1c * asm condition generation modified by TAiCpu.SetCondition 2003-02-18 22:00:20 +00:00
mazen
92f035d47f * fixing run time errors related to unimplemented abstract methods in CG
+ giving empty emplementations for some RTL functions
2003-02-05 21:48:34 +00:00
mazen
0de4838d36 - internal errors rmoved from a_loar_reg_reg when reg sizes differs from 32 2003-01-22 22:30:03 +00:00
mazen
c3321868d5 * many stuff related to RTL fixed 2003-01-20 22:21:36 +00:00
daniel
55a161bbbf * Tregister changed into a record 2003-01-08 18:43:56 +00:00
mazen
c20be82919 * adding unequaln node support to sparc compiler 2003-01-07 22:03:40 +00:00
mazen
a3aea23c2e * fixing bugs related to load_reg_ref 2003-01-06 22:51:47 +00:00
mazen
215880afe8 * fixing several bugs compiling the RTL 2003-01-05 21:32:35 +00:00
florian
b59b436130 * x86-64 compiles
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
mazen
33b405859b - many emitXXX removed from cga.pas in order to remove that file. 2002-12-25 20:59:49 +00:00
mazen
8d888ccff0 * many internal errors related to unimplemented nodes are fixed 2002-12-22 19:26:31 +00:00
mazen
00ee9f8063 + added support for the shift nodes
+ added debug output on screen with -an command line option
2002-12-21 23:21:47 +00:00
mazen
eca8ef3436 * fixed support of nSparcInline 2002-11-25 19:21:49 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
mazen
41153e2b1a + return_result_reg and function_result_reg are now used, in all plateforms, to pass functions result between called function and its caller. See the explanation of each one 2002-11-17 17:49:08 +00:00
mazen
f97aa452bd * SPARC calling mechanism almost OK (as in GCC./mppcsparc ) 2002-11-10 19:07:45 +00:00
mazen
928e3c583b * op_reg_reg_reg don't need any more a TOpSize parameter 2002-11-06 11:31:24 +00:00
mazen
1097619459 *** empty log message *** 2002-11-05 16:15:00 +00:00
mazen
f170b21371 * parameter handling updated 2002-11-03 20:22:40 +00:00
mazen
1e23f14e4f * TOpSize values changed S_L --> S_SW 2002-10-28 20:59:17 +00:00
mazen
351c11d2a8 - cga.pas redueced to an empty unit 2002-10-22 13:43:01 +00:00
mazen
220be9c38f + op_raddr_reg and op_caddr_reg added to fix functions prologue 2002-10-20 19:01:38 +00:00
mazen
3a3b8a3dc4 * assembler output format fixed 2002-10-13 21:46:07 +00:00
mazen
fcc5675528 *** empty log message *** 2002-10-11 13:35:14 +00:00
mazen
b44010f639 * Just to update repsitory 2002-10-10 19:57:51 +00:00
mazen
de41a87b82 * Internal error fixed, but usually i386 parameter model used 2002-10-10 15:10:39 +00:00
mazen
6bc783f5c2 *** empty log message *** 2002-10-08 17:17:03 +00:00
mazen
a15b375214 word alignement modified in g_stack_frame 2002-10-07 20:33:04 +00:00
mazen
3d9be081b9 * register allocation for parameters now done in cpupara, but InternalError(200109223) in cgcpu.pas:1053 is still not fixed du to location_force problem in ncgutils.pas:419 2002-10-04 21:57:42 +00:00
mazen
14bb0a51b4 + out registers allocator for the first 6 scalar parameters which must be passed into %o0..%o5 2002-10-02 22:20:28 +00:00
mazen
b5882415a3 + procedures exiting prologue added and stack frame now restored in the delay slot of the return (JMPL) instruction 2002-10-01 21:35:58 +00:00
mazen
b2c63fb6ca attinst.inc --> strinst.inc 2002-10-01 21:06:29 +00:00
florian
0282138de4 * fixed log and id 2002-10-01 17:41:50 +00:00
mazen
3a70e9a021 * function epilogue modified to much SPARC ABIN 2002-09-30 21:07:13 +00:00
mazen
f83c707f71 * function prologue fixed 2002-09-30 19:12:14 +00:00
mazen
4c607d6126 * a compile bug fixed 2002-09-21 10:22:43 +00:00
Jonas Maebe
a15d8cfe39 * a_load_reg_reg() now has two size parameters: source and dest. This
allows some optimizations on architectures that don't encode the
    register size in the register name.
2002-09-17 18:54:01 +00:00
mazen
ab508fa44f *** empty log message *** 2002-08-21 13:30:07 +00:00