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
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
f107ba3bbe
+ support top_none for branches
2002-08-31 19:27:48 +00:00
Jonas Maebe
7a8429a4fe
* fixed 64bit comparisons
2002-08-31 19:26:20 +00:00
Jonas Maebe
76111bb9eb
+ implemented a_call_ref()
2002-08-31 19:25:50 +00:00
florian
5e60724d23
+ HEAP* stuff must be generated for Linux/PPC as well
...
+ direct assembler reader searches now global and static symtables as well
2002-08-31 15:59:30 +00:00
florian
5380652cad
* ppc compilation fixed
2002-08-31 12:43:31 +00:00
peter
4b81e16fe2
* tempgen cleanup
...
* tt_noreuse temp type added that will be used in genentrycode
2002-08-23 16:14:48 +00:00
florian
4549d72802
+ target macos for ppc added
...
+ frame work for mpw assembler output
2002-08-20 21:40:44 +00:00
Jonas Maebe
d709f6720b
* fixes
2002-08-19 17:35:42 +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
39f35373a8
+ handling of local variables in direct reader implemented
2002-08-18 21:36:42 +00:00
peter
98dd65b0f3
* inlining is now also allowed in interface
...
* renamed write/load to ppuwrite/ppuload
* tnode storing in ppu
* nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
florian
a375ad9565
* remaining assembler writer bugs fixed, the errors in the
...
system unit are inline assembler problems
2002-08-18 10:42:37 +00:00
florian
c853f24a86
* more ppc assembling fixes
2002-08-18 10:34:30 +00:00
florian
4144773f01
* result type handling in tcgcal.pass_2 overhauled
...
* better tnode.dowrite
* some ppc stuff fixed
2002-08-17 22:09:43 +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
588abc6631
* jmpbuf size allocation for exceptions is now cpu specific (as it should)
...
* more generic nodes for maths
* several fixes for better m68k support
2002-08-15 15:15:55 +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