mazen
a835405a27
* fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg
2002-11-17 18:26:15 +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
carl
64655be168
* memory optimization (3-4%) : cleanup of tai fields,
...
cleanup of tdef and tsym fields.
* make it work for m68k
2002-11-17 16:31:55 +00:00
Jonas Maebe
fb5b623e30
* fixed bctr(l) problems
2002-11-07 15:50:23 +00:00
olle
c5ac9e90af
* globals are located in TOC and relative r2, instead of absolute
...
* symbols which only differs in case are treated as a single symbol
+ tai_const_symbol supported
* only refs_full accepted
2002-11-04 18:24:53 +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
e2f2f22f91
* branch b does not jump to dotted symbol now
2002-10-23 15:31:01 +00:00
Jonas Maebe
f18626a534
* some range errors fixed
2002-10-21 18:08:05 +00:00
olle
650843907e
* import directive changed
2002-10-19 23:52:40 +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
Jonas Maebe
3be297f39c
+ added entry for pwchar_to_string conversion addition
2002-10-18 16:38:42 +00:00
florian
8ad5fe9533
* changes from Olle to get simple programs compiled and assembled
2002-10-10 19:39:37 +00:00
florian
d3bdd3550f
* more mpw fixes
2002-10-07 21:19:53 +00:00
florian
14fe70d27d
* fixed function exporting
2002-10-06 22:46:20 +00:00
florian
4cb3d9b498
* improve function imports
2002-10-02 22:14:15 +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
4510d75277
+ set, variant support in getfuncretparaloc
2002-10-02 13:33:36 +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
olle
2b122e04b2
* minor fix
2002-10-01 05:17:27 +00:00
Jonas Maebe
a9144c22c3
* is_nop() now identifies "mr rA,rA" instructions for removal
2002-09-30 23:16:49 +00:00
florian
71f7afa9a6
+ getparaloc supports now sets and variants
2002-09-28 21:27:16 +00:00
florian
6b580dea5b
+ readed because previous version was broken
2002-09-27 21:09:49 +00:00
florian
f7b727850a
no message
2002-09-27 20:51:37 +00:00
florian
3781508f8b
* fixed last commit
2002-09-27 20:50:13 +00:00
florian
9c8c82432b
* initial working implementation by Olle Raab
2002-09-27 20:47:14 +00:00
Jonas Maebe
456436c05c
* fixed LOC_REFERENCE/LOC_CREFERENCE problems
2002-09-18 09:19:37 +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
2e41fdf381
- removed taicpu.destroy, its job is already handled by
...
taicpu_abstract.destroy() and this caused heap corruption
2002-09-17 18:26:02 +00:00
Jonas Maebe
17a0e516b5
* int64 paras are now handled correctly (until the registers are used up
...
anyway :)
* the return location is now initialized correctly
* fixed bug where ret_in_reg() was called for the procdefinition instead
of for the result of the procedure
2002-09-10 21:28:05 +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
b72f53ab92
* fixed unary minus of 64bit values
2002-09-10 21:21:29 +00:00
florian
07eeafd07a
* fixed offset calculation for symtables etc.
2002-09-10 20:30:42 +00:00
Jonas Maebe
775b065d70
* small optimization to case genlist() case statements
2002-09-09 13:57:45 +00:00
florian
36e41d49d3
- removed passes_parameters_in_reg
2002-09-09 09:11:37 +00:00
Jonas Maebe
38f088b5a7
* use genlinearcmplist() for unsigned 32bit case statements instead
...
of genlinearlist(), because the addic. instruction always sets the
flags as if the arguments are signed 32bits (for smaller unsigned
types, this doesn't matter since they fit in s32bit)
2002-09-08 20:14:33 +00:00
Jonas Maebe
32d4d8780f
* fixed TOpCmp2AsmCond array (some unsigned equivalents were wrong)
2002-09-08 20:11:56 +00:00
Jonas Maebe
d20dd2b433
* more optimizations for 64bit compares
2002-09-08 14:14:49 +00:00
Jonas Maebe
07c1116a8c
* several large offset-related fixes
2002-09-08 13:03:26 +00:00
Jonas Maebe
d1ac166584
* fixed optimized 64 compares
2002-09-07 22:15:48 +00:00
carl
752beef0dd
* cardinal -> longword
2002-09-07 20:40:23 +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
426de6d36f
* fixed bugs in 64bit operations (registers weren't always allocated for
...
the result)
* optimized 'const64 - reg64/mem64'
* optimized equaln/unequaln with 64bit values (change them to
'(left.hi xor right.hi) or (left.lo xor right.lo)' so there are less
branches and the result can be returned in the flags this way. Could
be done for the i386 too probably.
2002-09-04 19:42:45 +00:00
Jonas Maebe
650eb87f8c
+ parse basic optimization parameters
2002-09-04 16:03:53 +00:00
daniel
fff92ef11e
* Fixed PowerPC & M68000 compilation
2002-09-03 19:04:18 +00:00
daniel
b0364566d1
* Make Tprocdef.defs protected
2002-09-03 16:26:26 +00:00
Jonas Maebe
ce868dcdac
+ a_call_reg()
...
* small fix in a_call_ref()
2002-09-02 10:14:51 +00:00