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
florian
4647e2e720
* init./final code isn't created for pure assembler procedures anymore
2005-01-19 20:04:46 +00:00
peter
b9ca478f50
* multiple location support for i386 a_param_ref
...
* remove a_param_copy_ref for i386
2005-01-18 22:19:20 +00:00
Jonas Maebe
20361e7eb8
+ support LOC_VOID in gen_load_para_value()
2005-01-13 19:31:05 +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
peter
296e81146e
* insert stack_check helper call before doing register allocation
...
so the used registers can't be reused when parameters are loaded
into register variables
2005-01-03 22:27:56 +00:00
peter
00c14e1083
* external is again allowed in implementation
2004-12-15 16:00:16 +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
7c9d8d8872
* fixed int64 regvar bug in location_force_register
2004-12-11 01:03:01 +00:00
peter
2b6456fe16
* procvar handling for tp procvar mode fixed
...
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that
can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
peter
36268edfed
* fix for int64 parameters passed in a single LOC_REFERENCE of 8 bytes
2004-12-03 16:06:31 +00:00
peter
a29eab36c7
* fixed funcretloc for sparc
2004-11-21 18:13:31 +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
michael
180966c0aa
* Split po_public into po_public and po_global (Peter)
2004-11-19 08:17:01 +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
peter
0c7e53bb81
* fixed compile of powerpc,sparc,arm
2004-11-11 19:31:33 +00:00
peter
7c0b6e129e
* fixed wrong typecasts
2004-11-09 17:26:47 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
florian
7b8c44bbce
* fixed open arrays when using register variables
2004-11-08 20:23:29 +00:00
peter
79e754cb8c
forgot if cs_debuginfo
2004-11-04 17:12:24 +00:00
peter
f4a7c3d444
fixed debuginfo for variables in staticsymtable
2004-11-04 17:09:54 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
olle
51fb338952
* reverted, for macos only, last change.
2004-10-28 18:29:44 +00:00
peter
ed07ab5f04
* localloc of staticsymtable needs a AT_NONE since it is a reference
2004-10-26 15:03:31 +00:00
peter
705868e816
* remove saveregister calling convention
2004-10-24 20:01:08 +00:00
peter
adb6f59eef
* small regvar fixes
...
* loadref parameter removed from concatcopy,incrrefcount,etc
2004-10-24 11:44:28 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
a4c5a55d1b
* add reg_sync when regvars are allocated to fix first use in
...
loop
2004-10-14 17:54:06 +00:00
peter
60c73cc0e5
* -Or fixes for open array
2004-10-13 21:12:51 +00:00
peter
66df745917
* small regvar for para fixes
...
* function tvarsym.is_regvar added
* tvarsym.getvaluesize removed, use getsize instead
2004-10-11 15:48:15 +00:00
peter
4f7667488b
* parameter regvar fixes
2004-10-10 21:08:55 +00:00
peter
d6bffaf5c6
* fixed sparc compile
...
* fixed float regvar loading
2004-10-10 20:51:46 +00:00
peter
b0c25b50a0
* symtable allocation rewritten
...
* loading of parameters to local temps/regs cleanup
* regvar support for parameters
* regvar support for staticsymtable (main body)
2004-10-10 20:22:53 +00:00
olle
d87707fc6c
* Refs to DEBUGINFO_<x> is now not inserted for target MacOS
2004-10-09 10:51:13 +00:00
florian
016f2e9b15
* fixed storage of parameters passed by ref.
2004-10-08 20:52:07 +00:00
peter
63cf4464d3
* tvarsym.varregable added, split vo_regable from varoptions
2004-10-08 17:09:43 +00:00
peter
ba87da9bc2
* fix compile for oldregvars
2004-09-27 15:14:08 +00:00
peter
8fb3536f6e
* simple regvar support, not yet finished
2004-09-26 17:45:29 +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
peter
7f8844e74d
* release localsymtables when module is compiled
2004-09-14 16:33:46 +00:00
peter
180c042911
* finalize all (also procedure local) typedconst at unit finalization
2004-09-13 20:30:05 +00:00
michael
dd042a896b
+ Patch from Peter to fix debuginfo in constructor.
2004-08-23 11:00:06 +00:00
Jonas Maebe
5ac21c998a
* don't finalize typed consts (fixes bug3212, but causes memory leak;
...
they should be finalized at the end of the module)
2004-07-17 13:14:17 +00:00
Jonas Maebe
f1bda1700a
* support register parameters for inlined procedures + some inline
...
cleanups
2004-07-09 23:41:04 +00:00
Jonas Maebe
1f990337c3
* fixed one regvar problem, but regvars are still broken since the dwarf
...
merge...
2004-07-04 12:24:59 +00:00
peter
700c983c8e
* fixed size of exceptbuf
2004-06-29 20:57:21 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
Jonas Maebe
ecb226a54f
* fixed bug regarding parameters on the ppc (they were allocated twice
...
under some circumstances and not at all in others)
2004-06-01 20:39:33 +00:00
Jonas Maebe
74cad9b483
* more regvar optimizations in location_force_reg
2004-05-30 21:41:15 +00:00
Jonas Maebe
43fa5b9f9c
* some optimizations and associated fixes for better regvar code
2004-05-30 21:18:22 +00:00
peter
1bcda5c022
* first load para's to temps before calling entry code (profile
2004-05-28 21:14:13 +00:00
peter
c96ba04d84
* fixed qword(longint) that removed sign from the number
...
* removed code in the compiler that relied on wrong qword(longint)
code generation
2004-05-23 15:23:30 +00:00
peter
72365ec95b
* implicit_finally flag must be set in pass1
...
* add check whether the implicit frame is generated when expected
2004-05-23 15:06:20 +00:00
peter
5358278ca1
tai_regalloc.allocation changed to ratype to notify rgobj of register size changes
2004-05-22 23:34:27 +00:00
peter
c553f6b320
* add DEBUGINFO symbol to reference the .o file that includes the
...
stabs info for types and global/static variables
* debuginfo flag added to ppu to indicate whether debuginfo is
generated or not
2004-05-19 21:16:12 +00:00
peter
2b1fee21f1
* fix stabs for globals
2004-05-02 17:26:19 +00:00
peter
207e3b1231
* cleaner temp get/unget for exceptions
2004-03-29 14:43:47 +00:00
peter
4fc210952e
* use loadnode and finalize_data_node for init/final code to support
...
threadvars correctly
2004-03-03 22:02:52 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +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
florian
01d16548f4
* fixed exception reason size for 64 bit systems
2004-02-22 18:27:21 +00:00
Jonas Maebe
a8450c695d
* fixed regvars
2004-02-08 17:45:53 +00:00
florian
55557eea92
* more x86-64 fixes
2004-02-05 19:35:27 +00:00
florian
465aa5851b
* several fixes to compile x86-64 system
2004-02-05 01:24:08 +00:00
daniel
d735071838
* Rtti generation moved to ncgutil
...
* Assmtai usage of symsym removed
* operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
8c5b0f7d82
* first try to get cpupara working for x86_64
2004-02-04 22:01:13 +00:00
peter
ecfbbeffc3
* renamed xNNbittype to xNNinttype
...
* renamed registers32 to registersint
* replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
daniel
862e121a0a
* Last steps before removal of aasmtai dependency in symsym can be
...
accomplished.
2004-01-31 18:40:15 +00:00
peter
1422985ca0
* Change several $ifdef i386 to x86
...
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
peter
ac1332a388
* fixed stackchecking for register calling
2004-01-21 21:01:34 +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
f936718fa1
* x86-64 compilation fixed
2004-01-13 18:08:58 +00:00
peter
47f08937e4
* use localalign info for alignment for locals and temps
...
* sparc fpu flags branching added
* moved powerpc copy_valye_openarray to generic
2004-01-12 22:11:38 +00:00
Jonas Maebe
85e84512fb
* fixed procedures declared as "interrupt" for non-x86
2003-12-28 21:57:43 +00:00
florian
ace2d682b0
* rtl and compiler compile with -Cfsse2
2003-12-26 13:19:16 +00:00
florian
3d8e1ab1fb
+ fpu<->mm register conversion
2003-12-26 00:32:21 +00:00
florian
9c476ba5f1
- delete parameter in cg64 methods removed
2003-12-24 00:10:02 +00:00
florian
d1116fb7f1
+ second_floataddsse implemented
2003-12-23 14:38:07 +00:00
florian
6170faf334
* fixed some x86-64 issues
2003-12-22 19:00:17 +00:00
Jonas Maebe
24fe6134a0
* fixed typo found by Charlie
2003-12-07 16:28:30 +00:00
florian
bfe452936f
* reverted Peter's alloctemp patch; hopefully properly
2003-12-06 01:15:22 +00:00
peter
64b0a0eadf
* delayed paraloc allocation, a_param_*() gets extra parameter
...
if it needs to allocate temp or real paralocation
* optimized/simplified int-real loading
2003-12-03 23:13:19 +00:00
florian
a567970402
* fixed several arm related problems
2003-11-30 19:35:29 +00:00
florian
ea754b9a49
* fixed several pi_do_call problems
2003-11-29 20:13:25 +00:00
peter
51384ca53c
* register calling is left-right
...
* parameter ordering
* left-right calling inserts result parameter last
2003-11-23 17:05:15 +00:00
Jonas Maebe
b3086d3122
+ extra allocations of function result regs for the optimiser
2003-11-22 00:31:25 +00:00
peter
a1cb920b51
* remove temporary stdcall hack
2003-11-11 21:10:12 +00:00
peter
f663d2488f
* cross unit inlining fixed
2003-11-10 22:02:52 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
peter
6b90162c5a
* fixes for temp type patch
2003-11-04 19:03:50 +00:00
peter
30f1eb4705
* fix for referencecounted temps
2003-11-04 15:35:13 +00:00
florian
2660c358f3
* fixed compilation of ppc system unit
2003-10-25 11:34:02 +00:00
florian
05fcae577a
* some ppc stuff fixed
...
* memory leak fixed
2003-10-19 01:34:30 +00:00
peter
0939085ab1
* commented out more obsolete constants
2003-10-17 15:08:34 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
...
* tregisteralloctor renamed to trgobj
* removed rgobj from a lot of units
* moved location_* and reference_* to cgobj
* first things for mmx register allocation
2003-10-10 17:48:13 +00:00