Commit Graph

84 Commits

Author SHA1 Message Date
florian
dda473894c * fixed cmp_reg_reg_reg, cmp operands were emitted in the wrong order 2003-04-26 15:25:29 +00:00
florian
b9c76fcf5e * stack frame calculations are now completly done using the code generator
routines instead of generating directly assembler so also large stack frames
    are handle properly
2003-04-25 20:55:34 +00:00
florian
7ec9711f9a * fixed several issues with nested procedures 2003-04-24 11:24:00 +00:00
peter
c092e24817 * fixes to get rtl compiled 2003-04-23 22:18:01 +00:00
florian
0284016ee9 * fixed several issues with powerpc
+ applied a patch from Jonas for nested function calls (PowerPC only)
  * ...
2003-04-23 12:35:34 +00:00
Jonas Maebe
56132c1a9c * assembler procedures now again get a stackframe if they have local
variables. No space is reserved for a function result however.
    Also, the register parameters aren't automatically saved on the stack
    anymore in assembler procedures.
2003-04-16 09:26:55 +00:00
Jonas Maebe
f51a189be0 * don't generate entry/exit code for assembler procedures 2003-04-06 16:39:11 +00:00
Jonas Maebe
e02ecef001 * fixed linux entry/exit code generation 2003-03-22 18:01:13 +00:00
Jonas Maebe
5893b9bb19 * fixed R_TOC bugs introduced by new register allocator conversion 2003-03-19 14:26:26 +00:00
olle
87fb801dcb * change in a_loadaddr_ref_reg 2003-03-13 22:57:45 +00:00
Jonas Maebe
24e2741659 * more powerpc and generic fixes related to the new register allocator 2003-03-12 22:43:38 +00:00
Jonas Maebe
d168ae15df * lots of new regallocator fixes, both in generic and ppc-specific code
(ppc compiler still can't compile the linux system unit though)
2003-03-11 21:46:24 +00:00
daniel
86bcea6ef5 * Code generator converted to new register notation
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
olle
a02a1adee1 * changed global var access, TOC now contain pointers to globals
* fixed handling of function pointers
2003-01-13 17:17:50 +00:00
florian
2102ce7031 * fixed some PowerPC issues 2003-01-09 22:00:53 +00:00
daniel
55a161bbbf * Tregister changed into a record 2003-01-08 18:43:56 +00:00
florian
938f46f246 * fixed some crashes and a rte 201 2002-12-15 19:22:01 +00:00
olle
5e90be8184 * macos: changing code gen for references to globals 2002-11-28 10:55:16 +00:00
Jonas Maebe
fb5b623e30 * fixed bctr(l) problems 2002-11-07 15:50:23 +00:00
olle
9284b36d3b * macos: globals are located in TOC and relative r2, instead of absolute 2002-11-04 18:24:19 +00:00
olle
b71c1492a9 * macos entry/exit: only used registers are saved
- macos entry/exit: stackptr not saved in r31 anymore
  * macos entry/exit: misc fixes
2002-10-28 22:24:28 +00:00
olle
4d3ed1a22c * macos stack frame size computing updated
+ macos epilogue: control register now restored
  * macos prologue and epilogue: fp reg now saved and restored
2002-10-19 23:51:48 +00:00
olle
7fde7960b5 * reorganized prologue and epilogue routines 2002-10-19 12:50:36 +00:00
florian
fa4a4de18c * all A_BL instructions replaced by calls to a_call_name 2002-10-02 21:49:51 +00:00
Jonas Maebe
a738c4ddcf * changed a_call_* so that no superfluous code is generated anymore 2002-10-02 13:24:58 +00:00
olle
fa695eefea * made a_load_store more robust and to accept large offsets and cleaned up code 2002-10-01 05:24:28 +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
Jonas Maebe
02e9260997 + added some internal errors
* fixed bug in sysv exit code
2002-09-10 21:22:25 +00:00
Jonas Maebe
32d4d8780f * fixed TOpCmp2AsmCond array (some unsigned equivalents were wrong) 2002-09-08 20:11:56 +00:00
Jonas Maebe
07c1116a8c * several large offset-related fixes 2002-09-08 13:03:26 +00:00
florian
a7a354956d * first part of PowerPC fixes 2002-09-07 17:54:58 +00:00
peter
dcd9e0107c * old logs removed and tabs fixed 2002-09-07 15:25:00 +00:00
Jonas Maebe
ce868dcdac + a_call_reg()
* small fix in a_call_ref()
2002-09-02 10:14:51 +00:00
Jonas Maebe
c7df12f6f0 * fixed range error 2002-09-02 06:09:02 +00:00
florian
6502638258 * several powerpc related stuff fixed 2002-09-01 21:04:47 +00:00
peter
7898dcf9ed + a_call_reg, a_call_loc added
* removed exprasmlist references
2002-09-01 12:09:27 +00:00
Jonas Maebe
431b9fac81 * fixed a_call_ref (it should load ctr, not lr) 2002-08-31 21:38:02 +00:00
florian
391ce796ef * fixed several problems caused by Jonas' commit :) 2002-08-31 21:30:45 +00:00
Jonas Maebe
76111bb9eb + implemented a_call_ref() 2002-08-31 19:25:50 +00:00
florian
0d1a344d7f + the ppc gas assembler writer adds now registers aliases
to the assembler file
2002-08-18 22:16:14 +00:00
florian
b841ba8b16 * some assembler writer bugs fixed 2002-08-17 18:23:53 +00:00
florian
e313bab4ff * first part of procinfo rewrite 2002-08-17 09:23:33 +00:00
carl
745efb2c47 * issameref() to test if two references are the same (then emit no opcodes)
+ ret_in_reg to replace ret_in_acc
    (fix some register allocation bugs at the same time)
  + save_std_register now has an extra parameter which is the
    usedinproc registers
2002-08-16 14:24:57 +00:00
carl
c33d99adb7 - a_load_sym_ofs_reg removed
* loadvmt now calls loadaddr_ref_reg instead
2002-08-15 08:13:54 +00:00
peter
425bb45ddc * renamed current_library to objectlibrary 2002-08-11 14:32:25 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
Jonas Maebe
9ba736bd04 + powerpc-specific genlinearlist 2002-08-11 11:39:12 +00:00
Jonas Maebe
ee7d5f7b2a * various fixes and optimizations 2002-08-10 17:15:31 +00:00
florian
b136cecacd * first part of ppc calling conventions fix 2002-08-06 20:55:20 +00:00
Jonas Maebe
e7d92a1aa7 * fixed bug in g_flags2reg()
* and yet more constant operation fixes :)
2002-08-06 07:12:05 +00:00