peter
35e466d971
* remove copy_value_on_stack and a_param_copy_ref
2005-01-20 17:47:01 +00:00
peter
04c97cc129
* load jmp_buf_size from system unit
2005-01-20 16:38:45 +00:00
peter
8d251e8506
* unit mapping rewrite
...
* new derefmap added
2005-01-19 22:19:41 +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
e0eb172f4b
- removed deprecated constants
2005-01-10 21:48:45 +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
Károly Balogh
86c111a794
* fixed SysV syscall support (MorphOS)
2005-01-05 02:31:06 +00:00
Károly Balogh
088575dc32
+ sysv style syscalls added for MorphOS
2005-01-04 17:40:33 +00:00
olle
3f7fdcb45e
* fixed compilation for PowerPC
2004-12-28 02:25:43 +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
Jonas Maebe
067c588089
- removed unused variables
2004-12-24 11:58:33 +00:00
Jonas Maebe
4c3b9ce6c3
* fixed a_jmp_name() for darwin
2004-12-24 11:51:55 +00:00
peter
fad0e529a4
* syscall with sysv abi for morphos
2004-12-15 19:30:32 +00:00
Jonas Maebe
fcf16c4983
* fixed synchronising 64bit regvars on 32bit systems at the start and
...
end of procedures
* hack for ppc for loading of paras from their callee location to local
temps
2004-12-11 12:42:28 +00:00
Jonas Maebe
5b7ffabd0c
* only set/clear bit 6 of cr in case of varargs for the sysv abi
2004-12-06 18:06:37 +00:00
Jonas Maebe
4f53d8367d
* introduced bug (x shl 65 = x shl 1 when shifting with a constant, but
...
still 0 otherwise) to pass tshlshr
2004-12-06 17:53:43 +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
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
Jonas Maebe
26ab4ead33
* fixed intermittent bug in overflow checking of subtractions
2004-11-26 12:30:47 +00:00
Jonas Maebe
fff0683902
* fixed overflow checking of unsigned multiplications
2004-11-26 12:17:04 +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
4d8460ec2f
* float routines all use internproc and compilerproc helpers
2004-11-21 15:35:23 +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
peter
0c7e53bb81
* fixed compile of powerpc,sparc,arm
2004-11-11 19:31:33 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
olle
8763a9166a
+ Change of the way global variables, with multiple entrypoints,
...
are referenced, fixes a lot of failed tests
2004-10-31 15:32:13 +00:00
Jonas Maebe
e737e39888
* fixed bugs due to change of the value field of tlocation from aword to
...
aint
2004-10-26 18:22:31 +00:00
Jonas Maebe
0a32b9a526
* fixed tlocation record again for big endian
...
* fixed (currently unused) saved_standard_registers array
2004-10-26 18:22:04 +00:00
Jonas Maebe
c0b4a9026c
+ empty g_save_standard_registers/g_restore_standard_registers overrides
...
(their work was/is done by g_proc_entry/g_proc_exit, and the generic
version saves the registers in the wrong place)
2004-10-26 18:21:29 +00:00
peter
d19663f3a8
* save standard registers moved to tcgobj
2004-10-25 15:36:47 +00:00
peter
705868e816
* remove saveregister calling convention
2004-10-24 20:01:08 +00:00
peter
2ee2004032
* fixed compilation with removed loadref
2004-10-24 11:53:45 +00:00
Jonas Maebe
513b687ce7
+ support for nostackframe directive
2004-10-20 07:32:42 +00:00
mazen
3b092352e1
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:30:13 +00:00
Jonas Maebe
99c6740d7d
* include pi_do_call if we generate a call instead of internalerroring
...
(workaround)
2004-10-11 07:13:14 +00:00
olle
8461184f4b
* minor fix
2004-10-09 10:48:34 +00:00
florian
36112785f8
* indention fixed
2004-09-25 20:28:20 +00:00
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
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
olle
6daacd9e0e
* floating point constants is now written as byte pattern, to have exact control of each bit.
2004-09-10 11:23:52 +00:00
Jonas Maebe
c2210f01b9
* only specially handle 64bit operations on ordinals
2004-08-30 09:28:40 +00:00
olle
07e8c04224
* made target macos really work again after the dwarf merge
2004-07-26 22:26:39 +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
florian
aba734edc9
* fixed funcret_paraloc writing in units
2004-07-19 19:15:50 +00:00
Jonas Maebe
c8a7c5b96f
* fixed loading external procedure addresses
2004-07-19 12:45:43 +00:00
Jonas Maebe
8e0fd21568
* fixed op_const_reg_reg for (OP_ADD,0,reg1,reg2)
2004-07-17 14:48:20 +00:00
Jonas Maebe
6dc5cfdb8d
- removed useless maybe_pushfpu code for ppc
2004-07-17 14:47:16 +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
Jonas Maebe
d30ced66a1
* fixed several errors due to aword -> aint change
2004-07-01 18:00:00 +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
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
Jonas Maebe
42f59a3ca9
* parameters passed on the stack now also work as register variables
2004-06-02 17:18:10 +00:00
Jonas Maebe
174cea8023
* changed calling of external procedures to be the same as under gcc
...
(don't worry about all the generated stubs, they're optimized away
by the linker)
-> side effect: no need anymore to use special declarations for
external C functions under Darwin compared to other platforms
(it's still necessary for variables though)
2004-05-31 18:08:41 +00:00
Jonas Maebe
69382ab923
* fixed second_sqr_real (mainly for regvars)
2004-05-31 11:57:48 +00:00
Jonas Maebe
7f889b8529
* fixed web bug #3103 : the fpu conversion code couldn't deal with offsets
...
outside the smallint range
2004-05-19 22:26:46 +00:00
florian
e8098f6b71
+ added lib support for Amiga/MorphOS syscalls
2004-05-01 22:05:01 +00:00
Károly Balogh
5345dccb1b
* removed some unneeded parts of do_syscall
2004-04-29 22:18:37 +00:00
Károly Balogh
94c6cdb21a
* little cleanup of the previous commit
2004-04-29 14:36:42 +00:00
Károly Balogh
3c785c3405
+ first implementation of PowerPC/MorphOS do_syscall
2004-04-29 14:01:23 +00:00
florian
c68ea95074
+ syscall directive support for MorphOS added
2004-04-28 15:19:03 +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
olle
6be3ad0f87
* macos: fixed large offsets in references
2004-04-04 17:50:36 +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
Jonas Maebe
034725dfff
* fixed missing restoring of true/falselabels in case of explicit
...
integer to same-sized boolean conversions
2004-03-17 20:06:56 +00:00
olle
ea51b18d9b
* bugfix for multiline string constants
2004-03-17 12:03:00 +00:00
florian
8cdd1af070
* fixed ppc compilation
2004-03-06 21:37:45 +00:00
Jonas Maebe
e823822f49
* fixed importing of variables from shared libraries, but disabled
...
PIC support for now. You have to save/restore r31 when you us it! :)
Also, it's not necessary to support the imported variables
2004-03-05 22:17:11 +00:00
florian
5b32162bde
* got entry code fixed
2004-03-02 17:48:32 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
olle
c5cdc57f1f
+ adding missing log msg: misc fixes
2004-03-02 00:57:01 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
florian
55439e77a2
* fixed make cycle
2004-02-28 16:00:45 +00:00
florian
2e78263814
* fixed syntax error in previous commit
2004-02-28 14:14:44 +00:00
florian
cb904e6cfa
* jmps in inline assembler fixed
2004-02-28 13:24:36 +00:00
olle
d6382f17f2
+ added Tai_symbol_end
2004-02-27 13:42:52 +00:00
florian
fabb9c33ac
* top_symbol killed
...
+ refaddr to treference added
+ refsymbol to treference added
* top_local stuff moved to an extra record to save memory
+ aint introduced
* tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
Károly Balogh
81f5f1a45b
+ morphos target added
2004-02-24 16:06:08 +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
florian
302d2d1442
* compilation fixed
2004-02-09 22:45:49 +00:00
olle
d173a77b9f
* macos: a_load_store fixed to only allocat temp reg if needed, side effect is compiler work for macos again.
2004-02-09 20:44:40 +00:00
Jonas Maebe
71202a141d
* taicpu.is_same_reg_move() now gets a regtype parameter so it only
...
removes moves of that particular register type. This is necessary so
we don't remove the live_start instruction of a register before it
has been processed
2004-02-08 23:10:21 +00:00
Jonas Maebe
9495f77117
- removed taicpu.is_reg_move because it's not used anymore
...
+ support tracking fpu register moves by rgobj for the ppc
2004-02-08 20:15:42 +00:00
Jonas Maebe
3056a64bf0
* fixed regvars support. Needs -doldregvars to activate. Only tested with
...
ppc, other processors should however only require maxregvars and
maxfpuregvars constants in cpubase.pas. Remember to take scratch-
registers into account when defining that value.
2004-02-08 18:08:59 +00:00
Jonas Maebe
a23c7932cf
* fixed previous commit
2004-02-08 14:50:13 +00:00
Jonas Maebe
169c8f5a3b
* changed an explicit mr to a_load_reg_reg so it's registered with the
...
register allocator as move
2004-02-07 15:01:05 +00:00
peter
8c5b0f7d82
* first try to get cpupara working for x86_64
2004-02-04 22:01:13 +00:00
olle
035c98cad2
* made more in phase with agppcgas.pas
2004-02-04 15:28:24 +00:00