peter
b7d99ec934
* paraloc splitted in callerparaloc,calleeparaloc
...
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
olle
280c8655e5
* macos: fixes of loading-code
2003-06-18 10:12:36 +00:00
Jonas Maebe
9b645eef82
- removed allocparaloc/freeparaloc, generic ones are ok now
2003-06-17 17:27:08 +00:00
Jonas Maebe
404d344d92
* lots of newra fixes (need getfuncretparaloc implementation for i386)!
...
* renamed all_intregisters to volatile_intregisters and made it
processor dependent
2003-06-17 16:34:44 +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
d29c96896f
* fixed newra cycle for x86
...
* added constants for indicating source and destination operands of the
"move reg,reg" instruction to aasmcpu (and use those in rgobj)
2003-06-14 14:53:50 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
Jonas Maebe
a5a186799a
+ added supreg_name function
2003-06-13 17:44:44 +00:00
Jonas Maebe
c0a35f3cab
* fixed bugs in case the left node was a LOC_(C)REFERENCE
2003-06-13 17:03:38 +00:00
Jonas Maebe
7ca760912b
* tcginnode.pass_2 doesn't call a helper anymore in any case
...
* fixed ungetregisterfpu compilation problems
2003-06-12 22:09:54 +00:00
Jonas Maebe
709e6da4fa
- removed ALL_INTREGISTERS (only the one in rgobj is valid)
2003-06-12 19:11:34 +00:00
Jonas Maebe
55509b199b
* (de)allocation of registers for parameters is now performed properly
...
(and checked on the ppc)
- removed obsolete allocation of all parameter registers at the start
of a procedure (and deallocation at the end)
2003-06-09 14:54:26 +00:00
Jonas Maebe
68b629fd16
* fixed small bug where a location was set to LOC_CREGISTER instead of
...
LOC_REGISTER
2003-06-08 18:20:02 +00:00
Jonas Maebe
d32d1a711e
- removed duplicate identifier
2003-06-08 18:19:27 +00:00
Jonas Maebe
98c3c2489e
* zero paraloc tregisters, so that the alignment bytes are 0 (otherwise
...
the crc of the ppu files can change between interface and
implementation)
2003-06-08 10:52:01 +00:00
Jonas Maebe
edb2179730
+ added freeintparaloc
...
* ppc get/freeintparaloc now check whether the parameter regs are
properly allocated/deallocated (and get an extra list para)
* ppc a_call_* now internalerrors if pi_do_call is not yet set
* fixed lot of missing pi_do_call's
2003-06-07 18:57:04 +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
Jonas Maebe
6f3e16298a
* function results can now also be regvars
...
- removed tprocinfo.return_offset, never use it again since it's invalid
if the result is a regvar
2003-06-02 21:42:05 +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
abc1c5bf2f
* fix for bug in fixref that Peter found during the Sparc conversion
2003-06-01 13:42:18 +00:00
peter
1e7ecac976
* FUNCTION_RESULT64_LOW/HIGH_REG added for int64 results
2003-05-31 15:05:28 +00:00
peter
414bd5fa22
* more sparc cleanup
...
* accumulator removed, splitted in function_return_reg (called) and
function_result_reg (caller)
2003-05-30 23:57:08 +00:00
marco
1daf2ca476
* register skipping (aligning) for int64 parameters, sys V abi only.
2003-05-30 23:45:49 +00:00
marco
a73b98ea9f
* getfuncretparaloc now uses r3 for highdword and r4 for lo. Doesn't work tho
2003-05-30 22:54:19 +00:00
marco
152b525419
* committed fix that swaps int64 parameters hi and lo.
2003-05-30 22:35:03 +00:00
Jonas Maebe
fefdcc6331
* fixed bug with intregvars
...
* locapara.loc can also be LOC_CFPUREGISTER -> also fixed
rcgppc.a_param_ref, which previously got bogus size values
2003-05-30 18:52:10 +00:00
Jonas Maebe
d321606bc5
* changed scratchregs from r28-r30 to r29-r31
...
* made sure the regvar registers don't overlap with the scratchregs
anymore
2003-05-30 18:49:59 +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
c70f75f1b7
* compile with -dppc603 to not use unaligned float loads in move() and
...
g_concatcopy, because the 603 and 604 take an exception for those
(and netbsd doesn't even handle those in the kernel). There are
still some of those left that could cause problems though (e.g.
in the set helpers)
2003-05-29 21:17:27 +00:00
Jonas Maebe
05a3d71c88
* also free temps in g_concatcopy if delsource is true
2003-05-29 10:06:09 +00:00
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