Commit Graph

49 Commits

Author SHA1 Message Date
peter
65c3ba277c * ungetregister is now only used for cpuregisters, renamed to
ungetcpuregister
  * renamed (get|unget)explicitregister(s) to ..cpuregister
  * removed location-release/reference_release
2004-09-25 14:23:54 +00:00
Jonas Maebe
c2210f01b9 * only specially handle 64bit operations on ordinals 2004-08-30 09:28:40 +00:00
Jonas Maebe
50dfc8f5a7 * do a resulttypepass of left in the overloaded pass_1 before checking
its resulttype
2004-07-21 15:09:10 +00:00
Jonas Maebe
6dc5cfdb8d - removed useless maybe_pushfpu code for ppc 2004-07-17 14:47:16 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
peter
54cb433625 * powerpc compiles again 2004-06-17 16:55:46 +00:00
peter
6b96b70118 * fixed operator overload allowing for pointer-string
* replaced some type_e_mismatch with more informational messages
2004-03-18 16:19:03 +00:00
peter
b4159755d2 * fixed too long ie number 2004-01-06 21:37:41 +00:00
Jonas Maebe
da6a3d28c8 * hopefully fixed tb0454 2003-12-29 11:35:19 +00:00
Jonas Maebe
8c11916462 * forgot call to cg.g_overflowcheck() in nppcadd
* fixed overflow flag definition
  * fixed cg.g_overflowcheck() for signed numbers (jump over call to
    FPC_OVERFLOW if *no* overflow instead of if overflow :)
2003-12-09 20:39:43 +00:00
Jonas Maebe
e4312930d1 * fixed usigned overflow checking 2003-12-08 21:18:44 +00:00
peter
ec2e200e42 * fixed ppc build 2003-10-17 14:52:07 +00:00
florian
6a01a7b4a6 * compilation of the powerpc compiler fixed 2003-10-17 01:22:08 +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
c05cf49b35 * removed empty cga unit 2003-09-03 19:39:16 +00:00
peter
601160a0e3 * powerpc compiles again 2003-09-03 19:35:24 +00:00
Jonas Maebe
642d0f923b * ppc compiles with -dnewra, haven't tried to compile anything with it
yet though
2003-06-14 22:32:43 +00:00
Jonas Maebe
eb066d3b32 * calculate localsize also in g_return_from_proc since it's now called
before g_stackframe_entry (still have to fix macos)
  * compilation fixes (cycle doesn't work yet though)
2003-06-04 11:58:58 +00:00
peter
230a14ff68 * getregisterfpu size parameter added
* op_const_reg size parameter added
  * sparc updates
2003-06-01 21:38:06 +00:00
Jonas Maebe
413030a90d * fixed problem where sometimes no register was allocated for the result
of an addnode when using regvars
2003-05-30 18:49:14 +00:00
Jonas Maebe
cfe94be378 * fixed overflow checking form of 64bit add instruction 2003-04-27 11:55:34 +00:00
Jonas Maebe
92ac35cc37 * fixed 64bit "const - reg/ref" bugs 2003-04-27 11:06:06 +00:00
florian
41da381f1a * fixed a lot of PowerPC related stuff 2003-04-24 22:29:57 +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
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
olle
a8b84c17e4 * changed ungetregister to ungetregisterint in tppcaddnode.clear_left_right 2003-03-10 18:11:41 +00:00
daniel
86bcea6ef5 * Code generator converted to new register notation
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
daniel
55a161bbbf * Tregister changed into a record 2003-01-08 18:43:56 +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
Jonas Maebe
f18626a534 * some range errors fixed 2002-10-21 18:08:05 +00:00
Jonas Maebe
d20dd2b433 * more optimizations for 64bit compares 2002-09-08 14:14:49 +00:00
Jonas Maebe
d1ac166584 * fixed optimized 64 compares 2002-09-07 22:15:48 +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
florian
391ce796ef * fixed several problems caused by Jonas' commit :) 2002-08-31 21:30:45 +00:00
Jonas Maebe
7a8429a4fe * fixed 64bit comparisons 2002-08-31 19:26:20 +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
Jonas Maebe
3ab3c91e0a - remove valuelow/valuehigh fields from tlocation, because they depend
on the endianess of the host operating system -> difficult to get
    right. Use lo/hi(location.valueqword) instead (remember to use
    valueqword and not value!!)
2002-08-14 18:41:47 +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
387f05b00d * some overflow checking fixes 2002-08-11 11:40:16 +00:00
florian
3ec544be88 * fixed powerpc compilation problems 2002-08-11 06:14:40 +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
10c4e8eb15 * fixed compilation problems 2002-08-05 08:58:53 +00:00
Jonas Maebe
8ff3e3e1b3 * more misc. fixes, mostly constant-related 2002-08-04 12:57:55 +00:00
Jonas Maebe
046ee7bf2b + 64 bit operations (badly tested), everything is implemented now!
* some small fixes
2002-07-28 16:02:49 +00:00
Jonas Maebe
ccf4a67d81 + second_addboolean(), second_addfloat() and second_addsmallset()
(64bit stuff is all that's left to do)
2002-07-27 20:00:59 +00:00
Jonas Maebe
0d740d4de8 + intial implementation of add nodes, only integer/enumeration/pointer/...
handling is finished
2002-07-26 12:31:56 +00:00