peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8f239d04b6 
							
						 
					 
					
						
						
							
							* cleanup and simplify the set type handling  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@10432 - 
						
					 
					
						2008-03-02 17:48:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f36e5411af 
							
						 
					 
					
						
						
							
							* split cpu64bit compiler define into  
						
						 
						
						... 
						
						
						
						a) cpu64bitaddr, which means that we are generating a compiler which
       will generate code for targets with a 64 bit address space/abi
    b) cpu64bitalu, which means that we are generating a compiler which
       will generate code for a cpu with support for 64 bit integer
       operations (possibly running in a 32 bit address space, depending
       on the cpu64bitaddr define)
   All cpus which had cpu64bit set now have both the above defines set,
   and none of the 32 bit cpus have cpu64bitalu set (and none will
   compile with it currently)
  + pint and puint types, similar to aint/aword (not pword because that
    that conflicts with pword=^word)
  * several changes from aint/aword to pint/pword
  * some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 - 
						
					 
					
						2008-02-13 20:44:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cdfb7c8f26 
							
						 
					 
					
						
						
							
							* patch from Sergei Gorelkin to return ansi/widestrings by reference  
						
						 
						
						... 
						
						
						
						in an invisible parameter (Delphi compatible, faster/smaller code)
git-svn-id: trunk@9718 - 
						
					 
					
						2008-01-11 22:36:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							658c46b903 
							
						 
					 
					
						
						
							
							* remove tdictionary and tindexarray  
						
						 
						
						... 
						
						
						
						* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled
git-svn-id: trunk@5192 - 
						
					 
					
						2006-11-03 00:30:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3078a1927f 
							
						 
					 
					
						
						
							
							* remove ttype  
						
						 
						
						... 
						
						
						
						* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 - 
						
					 
					
						2006-10-29 22:19:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							622cc06bbd 
							
						 
					 
					
						
						
							
							* storing stack passed parameters temp. helps all CPUs  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@4624 - 
						
					 
					
						2006-09-16 09:28:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b63721070b 
							
						 
					 
					
						
						
							
							* avoid stores to memory on x86_64 too when loading parameters  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@4623 - 
						
					 
					
						2006-09-16 09:07:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							743b05e911 
							
						 
					 
					
						
						
							
							* fixed and released optimization to prevent some superfluous  
						
						 
						
						... 
						
						
						
						parameter copying for ppc32/ppc64
git-svn-id: trunk@4186 - 
						
					 
					
						2006-07-14 17:55:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b7a936faa0 
							
						 
					 
					
						
						
							
							* interfaces return values need to be passed in parameters  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@3194 - 
						
					 
					
						2006-04-12 10:26:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b7fe6797bf 
							
						 
					 
					
						
						
							
							Merged revisions 2921-2922,2925 via svnmerge from  
						
						 
						
						... 
						
						
						
						http://svn.freepascal.org/svn/fpc/branches/linker/compiler 
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
  * pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
  * refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 - 
						
					 
					
						2006-03-16 08:52:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							fad5d59bd9 
							
						 
					 
					
						
						
							
							* turned {$ifdef cputargethasfixedstack} into "if use_fixed_stack"  
						
						 
						
						... 
						
						
						
						* fixed i386 parameter passing of function calls nested in parameters
    of functions which also need the stack to pass poarameters
git-svn-id: trunk@2847 - 
						
					 
					
						2006-03-10 23:44:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							739ae4c254 
							
						 
					 
					
						
						
							
							+ 1st attempt to have explicit funcretloc for Amiga/m68k  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1978 - 
						
					 
					
						2005-12-18 03:58:27 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						 
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d68c5e9079 
							
						 
					 
					
						
						
							
							* dyn. arrays are returned in registers  
						
						 
						
						
						
					 
					
						2005-02-08 16:40:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							18ebd28692 
							
						 
					 
					
						
						
							
							* push_addr_param must be defined per target  
						
						 
						
						
						
					 
					
						2005-02-03 20:04:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							35e466d971 
							
						 
					 
					
						
						
							
							* remove copy_value_on_stack and a_param_copy_ref  
						
						 
						
						
						
					 
					
						2005-01-20 17:47:01 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						 
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f1bda1700a 
							
						 
					 
					
						
						
							
							* support register parameters for inlined procedures + some inline  
						
						 
						
						... 
						
						
						
						cleanups 
						
					 
					
						2004-07-09 23:41:04 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							a7478ee97f 
							
						 
					 
					
						
						
							
							+ location support for arguments, currently PowerPC/MorphOS only  
						
						 
						
						
						
					 
					
						2004-04-18 15:22:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							40363f47e5 
							
						 
					 
					
						
						
							
							* compilation of arm rtl fixed  
						
						 
						
						
						
					 
					
						2004-03-07 00:16:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							10e765329d 
							
						 
					 
					
						
						
							
							* fixed arm compilation  
						
						 
						
						... 
						
						
						
						* cleaned up code generation for exported linux procedures 
						
					 
					
						2004-03-06 20:35:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							eaa8405a15 
							
						 
					 
					
						
						
							
							* temp. fix for lochigh para  
						
						 
						
						
						
					 
					
						2004-02-17 19:14:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							abc41f1c3c 
							
						 
					 
					
						
						
							
							* several fixes to parameter handling on arm  
						
						 
						
						
						
					 
					
						2004-02-09 22:48:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e6929a1a32 
							
						 
					 
					
						
						
							
							* more x86_64 parameter fixes  
						
						 
						
						... 
						
						
						
						* tparalocation.lochigh is now used to indicate if registerhigh
    is used and what the type is 
						
					 
					
						2004-02-09 22:14:17 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0cac29ec76 
							
						 
					 
					
						
						
							
							+ support for fpu temp parameters  
						
						 
						
						... 
						
						
						
						+ saving/restoring of fpu register before/after a procedure call 
						
					 
					
						2003-10-29 21:24:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d0de3b3ea8 
							
						 
					 
					
						
						
							
							* 64k registers supported  
						
						 
						
						... 
						
						
						
						* fixed some memory leaks 
						
					 
					
						2003-10-17 14:38:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							1df13c788c 
							
						 
					 
					
						
						
							
							* fixed some MMX<->SSE  
						
						 
						
						... 
						
						
						
						* started to fix ppc, needs an overhaul
  + stabs info improve for spilling, not sure if it works correctly/completly
  - MMX_SUPPORT removed from Makefile.fpc 
						
					 
					
						2003-10-11 16:06:42 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							b2343f4b16 
							
						 
					 
					
						
						
							
							* Register allocator splitted, ans abstract now  
						
						 
						
						
						
					 
					
						2003-10-09 21:31:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							da9f5e2319 
							
						 
					 
					
						
						
							
							* c style array of const generates callparanodes  
						
						 
						
						... 
						
						
						
						* varargs paraloc fixes 
						
					 
					
						2003-10-05 21:21:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3a92a2a25a 
							
						 
					 
					
						
						
							
							* parameter alignment fixes  
						
						 
						
						
						
					 
					
						2003-10-03 22:00:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							70fe77ca7c 
							
						 
					 
					
						
						
							
							* procinfo unit contains tprocinfo  
						
						 
						
						... 
						
						
						
						* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles 
						
					 
					
						2003-10-01 20:34:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							22158bfb99 
							
						 
					 
					
						
						
							
							* updates for inlining  
						
						 
						
						
						
					 
					
						2003-09-30 21:02:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8af51ea6d3 
							
						 
					 
					
						
						
							
							* locals and paras are allocated in the code generation  
						
						 
						
						... 
						
						
						
						* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure 
						
					 
					
						2003-09-23 17:56:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							76a53a375d 
							
						 
					 
					
						
						
							
							* varspez in calls to push_addr_param  
						
						 
						
						
						
					 
					
						2003-09-16 16:17:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								marco 
							
						 
					 
					
						
						
						
						
							
						
						
							cd5ae5fcc3 
							
						 
					 
					
						
						
							
							* Patch from Peter for paraloc  
						
						 
						
						
						
					 
					
						2003-09-10 08:31:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b9d09a4e5c 
							
						 
					 
					
						
						
							
							* preparations for different default calling conventions  
						
						 
						
						... 
						
						
						
						* various RA fixes 
						
					 
					
						2003-09-07 22:09:34 +00:00