Jonas Maebe
c423e23bb4
* only use r12 as frame pointer in the entry code for ppc if necessary
...
git-svn-id: trunk@2086 -
2005-12-31 10:54:09 +00:00
Jonas Maebe
8f6babfef7
* fixed passing record parameters of size >= 3 and whose size is not
...
divisible by 4 on Darwin (have to be passed on the stack instead of in
registers), fixes tcalext3
git-svn-id: trunk@2002 -
2005-12-20 10:13:10 +00:00
Jonas Maebe
89094457c5
* pass varargs float parameters only in integer registers instead of only
...
in fpu registers for aix abi. Proper fix is to pass them in both, but
at least gcc under Mac OS X only seems to use the contents in the integer
registers currently.
git-svn-id: trunk@1576 -
2005-10-23 14:23:16 +00:00
Jonas Maebe
614f49355b
- removed commented unused assignintreg() procedure
...
git-svn-id: trunk@648 -
2005-07-18 13:03:34 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Jonas Maebe
bfa2301575
* const record parameters > 8 bytes are now passed by reference for non
...
cdecl/cppdecl procedures on Mac OS/Mac OS X to fix compatibility with
GPC (slightly more efficient than Metrowerks behaviour below, but
less efficient in most cases than our previous scheme)
+ "mwpascal" procedure directive to support the const record parameter
behaviour of Metrowerks Pascal, which passes all const records by
reference
2005-03-27 14:10:52 +00:00
Jonas Maebe
706a87c2df
* don't lose sign of ord types for register parameters
2005-02-19 14:04:14 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
Jonas Maebe
a823a15888
* records which consist of only a union of one element have to be passed
...
according to record parameter passing rules, not according to the rules
of that item's type (change relevant to AIX abi only)
2005-02-11 15:20:23 +00:00
peter
18ebd28692
* push_addr_param must be defined per target
2005-02-03 20:04:49 +00:00
peter
f5e21ec2ff
* fixed parseparaloc
2005-01-31 17:46:25 +00:00
peter
35e466d971
* remove copy_value_on_stack and a_param_copy_ref
2005-01-20 17:47:01 +00:00
Jonas Maebe
52212c3fb6
* fixed overallocation of stack space for parameters under SYSV
...
(introduced in one of my previous commits)
* unified code of get_volatile_registers_fpu for SYSV and AIX
2005-01-14 20:59:17 +00:00
Jonas Maebe
74cc20070d
* r2 can be used by the register allocator under Darwin
...
* merged the initialisations of the fpu register allocator for AIX and
SYSV
2005-01-13 22:02:40 +00:00
Jonas Maebe
8654fac06c
* fixed copy_value_on_stack() for AIX abi
...
+ added support for passing empty record parameters
2005-01-13 19:32:08 +00:00
Jonas Maebe
9c22d594b0
+ support for passing records in registers under darwin
...
* tcgpara now also has an intsize field, which contains the size in
bytes of the whole parameter
2005-01-10 21:50:05 +00:00
Jonas Maebe
7fc8f866c6
* fixed stupid tregister/tsuperregister bug (type checking circumvented
...
using explicit typecase), caused bug3523
2005-01-07 10:58:03 +00:00
Károly Balogh
5908985365
* more SysV call support stuff for MorphOS
2005-01-06 02:13:03 +00:00
Károly Balogh
18be2ff0fd
* sysv abi also uses F0-F13 as volatile registers
2005-01-05 19:01:53 +00:00
Jonas Maebe
d377cacc61
* fixed call-by-value passing of records with size 1, 2 or 4 for AIX abi
...
(using a hack, normally all records should by passed by value under the
aix abi, but that's currently impossible)
2004-12-24 15:00:11 +00:00
peter
fad0e529a4
* syscall with sysv abi for morphos
2004-12-15 19:30:32 +00:00
Jonas Maebe
49a8939b22
* modifications to work with the generic code to copy LOC_REFERENCE
...
parameters to local temps (fixes tests/test/cg/tmanypara)
2004-12-04 21:47:46 +00:00
peter
8cf8c54609
* fixed varargs
...
* replaced dynarray with tlist
2004-11-22 22:01:19 +00:00
peter
89b1b583c9
* ttempcreatenode.create_reg merged into .create with parameter
...
whether a register is allowed
* funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
florian
18f7aa97dd
* changed funcret location back to tlocation
2004-11-21 17:17:03 +00:00
peter
e740a66636
* tparaitem removed, use tparavarsym instead
...
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
florian
60e0494a74
* fixed morphos syscall
2004-11-14 16:26:29 +00:00
florian
36112785f8
* indention fixed
2004-09-25 20:28:20 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
florian
aba734edc9
* fixed funcret_paraloc writing in units
2004-07-19 19:15:50 +00:00
florian
b1dc8c5572
* function result location for syscalls on MOS hopefully correctly set now
2004-07-17 13:51:57 +00:00
Jonas Maebe
fab51678da
* fixed passing of fpu paras on the stack
...
* fixed number of fpu parameters passed in registers
* skip corresponding integer registers when using an fpu register for a
parameter under the AIX abi
2004-07-09 21:45:24 +00:00
Jonas Maebe
563f7ba253
* fix for broken TP-style constructor handling in the compiler
2004-07-01 18:00:37 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
e8098f6b71
+ added lib support for Amiga/MorphOS syscalls
2004-05-01 22:05:01 +00:00
Károly Balogh
6dbbdea44c
* added correct offsets for PowerPC/MorphOS location support
2004-04-18 23:19:48 +00:00
florian
a7478ee97f
+ location support for arguments, currently PowerPC/MorphOS only
2004-04-18 15:22:24 +00:00
florian
06a33abebd
* fixed arg. area calculation
2004-02-19 17:07:42 +00:00
florian
be7067445a
* fixed to compile the rtl again
2004-02-11 23:18:59 +00:00
Jonas Maebe
df428f7a5d
* fixed allocation of parameters passed by reference for powerpc in
...
callee
2004-01-17 15:55:10 +00:00
florian
541955ad91
+ x86 instruction tables for x86-64 extended
2004-01-15 14:01:18 +00:00
florian
d38abc3a3f
+ setting of bit 6 of cr for c var args on ppc implemented
2003-12-28 22:09:12 +00:00
Jonas Maebe
6bab64590e
* hopefully fixed varargs (both Pascal- and C-style)
2003-12-28 15:33:06 +00:00
florian
2aeea741ed
* fixed ppc compilation
2003-12-16 21:49:47 +00:00
florian
2e5c899b81
+ dummy tppcparamanager.create_varargs_paraloc_info added
2003-12-07 22:35:05 +00:00
Jonas Maebe
d5373d5971
* fixed several ppc assembler reader related problems
...
* local vars in assembler procedures now start at offset 4
* fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??)
2003-11-29 16:27:19 +00:00
peter
ec2e200e42
* fixed ppc build
2003-10-17 14:52:07 +00:00
olle
3febb20061
* changed to symbolic const for alignment
2003-10-08 21:15:27 +00:00
mazen
7668192be0
+ Alignement field added to TParaLocation (=4 as 32 bits archs)
2003-10-08 14:11:36 +00:00