Commit Graph

245 Commits

Author SHA1 Message Date
Jonas Maebe
ead9de924c * added missing initialization of rg.usedint{in,by}proc
* ppc now also saves/restores used fpu registers
  * ncgcal doesn't add used registers to usedby/inproc anymore, except for
    i386
2003-05-28 23:58:18 +00:00
florian
a8eb2ab740 * started to fix and clean up the sparc port 2003-05-28 23:18:31 +00:00
Jonas Maebe
1bb8852335 * fixed register numbering bug 2003-05-25 14:32:42 +00:00
Jonas Maebe
4ca3d9a2e9 * fixed shr of 64 bit values by non-immediate value 2003-05-24 19:15:29 +00:00
Jonas Maebe
517e16dae7 * fixed endian problem with tlocation.value/valueqword fields 2003-05-24 16:02:01 +00:00
Jonas Maebe
df5e0bbfc6 * fsqrt is an optional instruction in the ppc architecture and isn't
implemented by any current ppc afaik, so use the generic sqrt routine
    instead (adapted so it works with compilerproc)
2003-05-24 13:39:32 +00:00
Jonas Maebe
ee71991a7f * don't save callee-save registers in the caller as well (the ppc code
that we generate is slow enough as it is without resorting to doing
    double work :)
2003-05-24 13:38:04 +00:00
Jonas Maebe
54cacc63a5 * fixed integer typeconversion problems 2003-05-24 11:59:42 +00:00
Jonas Maebe
5cfedffb9e * added some missing paralocation size settings 2003-05-24 11:48:40 +00:00
Jonas Maebe
d321a5aa3d * fixed framepointer storage: it's now always stored at r1+12, which is
a place in the link area reserved for compiler use.
2003-05-24 11:47:27 +00:00
Jonas Maebe
74301b9544 * fixed support for nested procedures and more parameters than those
which fit in registers (untested/probably not working: calling a
    nested procedure from a deeper nested procedure)
2003-05-23 18:51:26 +00:00
peter
5f6de7eb1f * inherite from tcgprocinfo 2003-05-22 21:34:11 +00:00
florian
9de6468186 + basic darwin support added 2003-05-20 23:54:00 +00:00
florian
999b859bc8 * fixed calling sequence for subroutines using the aix abi 2003-05-19 12:15:28 +00:00
florian
b1b16c8f09 + added abi field to tsysteminfo 2003-05-18 15:15:59 +00:00
Jonas Maebe
624819ccb8 * fixed para/localst calculations (note to self: don't commit at
extremely late/early hours :)
2003-05-17 14:05:30 +00:00
Jonas Maebe
9055529171 * workaround for nested procedures until Peter fixes it properly :) 2003-05-16 23:15:51 +00:00
Jonas Maebe
d816c6a8c6 * powerpc nested procedure fixes, should work completely now if all
local variables of the parent procedure are declared before the
    nested procedures are declared
2003-05-16 20:00:39 +00:00
Jonas Maebe
66792ee44e * adapted for Peter's regvar fixes 2003-05-16 16:26:05 +00:00
florian
137395876d * fixed last commit, changing lastsaveintreg to r31 caused some strange problems 2003-05-15 22:14:42 +00:00
florian
5f6578729b * sysv entry code saves r13 now as well 2003-05-15 21:37:00 +00:00
florian
9c507c2da0 * fixed ppc compiler which was broken by Peter's changes 2003-05-15 19:39:09 +00:00
florian
d73c88ce9f * fixed parameter passing by value of large sets, strings and method pointers 2003-05-12 20:14:47 +00:00
Jonas Maebe
0a392ebf5e * fixed g_concatcopy 2003-05-12 18:43:50 +00:00
florian
65eba18e20 * fixed passing of small const arrays and const records, they are always passed by reference 2003-05-11 23:19:32 +00:00
Jonas Maebe
7d5a2715f6 * fixed bug with large offsets in entrycode 2003-05-11 20:59:23 +00:00
Jonas Maebe
7fc5c04a14 * fixed bug in second_int_to_bool I introduced previous time
(secondpass was being called twice!)
2003-05-11 20:42:08 +00:00
Jonas Maebe
f616bfd3e2 * fixed second_int_to_bool() (but still problem with typecasts used for
var parameters, not sure about solution)
2003-05-11 13:06:44 +00:00
Jonas Maebe
b993c4e2db * fixed shifts 2003-05-11 11:45:08 +00:00
Jonas Maebe
1ff5307e5d + op_reg_reg_reg_const_const (for rlwnm) 2003-05-11 11:08:25 +00:00
Jonas Maebe
2c81208d56 * fixed optimizations in a_op_const_reg_reg() 2003-05-11 11:07:33 +00:00
florian
77d8f335aa * vmtpointer_offset must be adjusted in after_pass1 as well 2003-05-10 23:57:23 +00:00
Jonas Maebe
f64d66fa48 * call inherited after_header as well 2003-05-09 19:00:30 +00:00
Jonas Maebe
5f71d48015 * yet another final fix for second_int_to_real() :) (tested this time) 2003-05-02 15:13:38 +00:00
Jonas Maebe
cfe94be378 * fixed overflow checking form of 64bit add instruction 2003-04-27 11:55:34 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
Jonas Maebe
92ac35cc37 * fixed 64bit "const - reg/ref" bugs 2003-04-27 11:06:06 +00:00
florian
d4ca538a40 * fixed nested procedures to get them working as before 2003-04-27 10:41:47 +00:00
peter
a5e7f02527 * updated for removed lexlevel 2003-04-27 07:48:05 +00:00
Jonas Maebe
38d7ec6670 * fix to a_op64_const_reg_reg 2003-04-26 22:56:11 +00:00
florian
19946413fe * fixed setjmp record size 2003-04-26 20:15:22 +00:00
Jonas Maebe
31d94f4f4c * fixed g_flags2reg 2003-04-26 16:08:41 +00:00
florian
dda473894c * fixed cmp_reg_reg_reg, cmp operands were emitted in the wrong order 2003-04-26 15:25:29 +00:00
florian
15c0b633ab * fixed the powerpc to work with the new function result handling 2003-04-26 11:30:59 +00:00
florian
574d50e86b * fixed tfuncretsym stuff in powerpc specific part 2003-04-25 21:05:22 +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
41da381f1a * fixed a lot of PowerPC related stuff 2003-04-24 22:29:57 +00:00
florian
cca5ca2ab9 * fixed not node 2003-04-24 12:57:32 +00:00
florian
90561d5e71 * symbols which are register identifiers aren't resolved anymore 2003-04-24 12:05:53 +00:00
florian
7ec9711f9a * fixed several issues with nested procedures 2003-04-24 11:24:00 +00:00