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