Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							168e652d42 
							
						 
					 
					
						
						
							
							+ support for simplifying simple inline functions down to a single  
						
						 
						
						... 
						
						
						
						constant node (rather than to just a blocknode with a statement
    assigning a constant to a temp)
git-svn-id: trunk@6832 - 
						
					 
					
						2007-03-13 22:27:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							d5e4828f6f 
							
						 
					 
					
						
						
							
							* avoid memory leak for copy of withnode in tempnodes  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6067 - 
						
					 
					
						2007-01-19 05:12:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f2b07704b5 
							
						 
					 
					
						
						
							
							* proper initialised/used warnings for variables used  
						
						 
						
						... 
						
						
						
						in complex with-statements + tests
git-svn-id: trunk@6024 - 
						
					 
					
						2007-01-17 12:04:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7781e842fc 
							
						 
					 
					
						
						
							
							* varset support fixed  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@5294 - 
						
					 
					
						2006-11-08 22:48:44 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							85d63d9fa9 
							
						 
					 
					
						
						
							
							* settings refactored  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@5094 - 
						
					 
					
						2006-10-30 18:02:58 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2f0ce31751 
							
						 
					 
					
						
						
							
							* string concat changed from function to procedure to  
						
						 
						
						... 
						
						
						
						allow runtime optimization if the destination is the
    same as a source parameter
  * tassignmentnode now sets aktassignmentnode global that can be used
    to use the left node as a destination parameter and
    skip the assignment
  * disabled all cpu specific shortstr concat/append
git-svn-id: trunk@4770 - 
						
					 
					
						2006-10-02 20:00:06 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b6e35a200e 
							
						 
					 
					
						
						
							
							* rewrite of optimizer options  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2901 - 
						
					 
					
						2006-03-13 09:05:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e4451558c4 
							
						 
					 
					
						
						
							
							* optimized register allocation for tempnodes  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2221 - 
						
					 
					
						2006-01-08 12:53:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							255855b5d9 
							
						 
					 
					
						
						
							
							* more informative printnode* output for temp-related nodes  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@702 - 
						
					 
					
						2005-07-19 14:59:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7cd67ea3f0 
							
						 
					 
					
						
						
							
							* node optimizer branch merged  
						
						 
						
						... 
						
						
						
						* gotonode and gotolabel refactored
  * -Nu added to enable for loop unrolling
git-svn-id: trunk@446 - 
						
					 
					
						2005-06-19 17:42:10 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							252fa84c62 
							
						 
					 
					
						
						
							
							+ compiler support for reading/writing of vararrays  
						
						 
						
						
						
					 
					
						2005-03-27 20:19:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						 
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							be1808953c 
							
						 
					 
					
						
						
							
							* fix laststatement()  
						
						 
						
						
						
					 
					
						2005-01-31 16:15:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5ee4b9ad24 
							
						 
					 
					
						
						
							
							* use tlocation for tempnodes  
						
						 
						
						
						
					 
					
						2004-12-03 16:04:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							21c7a9db2f 
							
						 
					 
					
						
						
							
							* fixed check for regvar-ability of tempnodes  
						
						 
						
						
						
					 
					
						2004-11-28 19:16:53 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						 
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							560a790a57 
							
						 
					 
					
						
						
							
							* gen high tree makes copy in temp when there is a calln  
						
						 
						
						
						
					 
					
						2004-10-12 14:36:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8fb3536f6e 
							
						 
					 
					
						
						
							
							* simple regvar support, not yet finished  
						
						 
						
						
						
					 
					
						2004-09-26 17:45:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ddf175f171 
							
						 
					 
					
						
						
							
							+ temps can now also hold fpu values in registers (take care with use,  
						
						 
						
						... 
						
						
						
						bacause of the x86 fpu stack)
  * fpu parameters to node-inlined procedures can now also be put in
    a register 
						
					 
					
						2004-07-16 19:45:15 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b86f2c6a25 
							
						 
					 
					
						
						
							
							* methodpointer is loaded into a temp when it was a calln  
						
						 
						
						
						
					 
					
						2004-05-23 18:28:40 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							8756d4f862 
							
						 
					 
					
						
						
							
							* maybe_in_reg moved to tempinfo  
						
						 
						
						... 
						
						
						
						* fixed expectloc for maybe_in_reg 
						
					 
					
						2004-03-10 20:41:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							5290787578 
							
						 
					 
					
						
						
							
							* don't put types that need init/fini in register temps  
						
						 
						
						
						
					 
					
						2004-02-06 20:22:58 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0d004c1e35 
							
						 
					 
					
						
						
							
							* fixed and re-enabled temps in registers  
						
						 
						
						
						
					 
					
						2004-02-03 19:48:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							edb91b0d18 
							
						 
					 
					
						
						
							
							* disabled temps in registers for now, because the register allocator  
						
						 
						
						... 
						
						
						
						can't handle it yet in some cases 
						
					 
					
						2004-02-03 17:56:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							694eee6cae 
							
						 
					 
					
						
						
							
							+ support to store ttempcreate/ref/deletenodes in registers  
						
						 
						
						... 
						
						
						
						* put temps for withnodes and some newnodes in registers
   Note: this currently only works because calling ungetregister()
     multiple times for the same register doesn't matter. We need again
     a way to specify that a register is currently a regvar and as such
     should not be freed when you call ungetregister() on it. 
						
					 
					
						2004-02-03 16:46:51 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							97e87aaebc 
							
						 
					 
					
						
						
							
							* reginfo now also only allocated during register allocation  
						
						 
						
						... 
						
						
						
						* third round of gdb cleanups: kick out most of concatstabto 
						
					 
					
						2004-01-26 16:12:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8da316cf21 
							
						 
					 
					
						
						
							
							* override tblocknode.destroy so all statements are freed sequentially  
						
						 
						
						... 
						
						
						
						instead of recusively. 
						
					 
					
						2003-12-10 20:31:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f663d2488f 
							
						 
					 
					
						
						
							
							* cross unit inlining fixed  
						
						 
						
						
						
					 
					
						2003-11-10 22:02:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							30f1eb4705 
							
						 
					 
					
						
						
							
							* fix for referencecounted temps  
						
						 
						
						
						
					 
					
						2003-11-04 15:35:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f2264589fc 
							
						 
					 
					
						
						
							
							* fix crashes in asmnode.deref when p_asm=nil  
						
						 
						
						
						
					 
					
						2003-10-31 15:51:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							fae3eaf83d 
							
						 
					 
					
						
						
							
							* move check for unused object constructor result to blocknode  
						
						 
						
						
						
					 
					
						2003-10-29 20:34:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4a1ecb07d1 
							
						 
					 
					
						
						
							
							* splitted buildderef and buildderefimpl to fix interface crc  
						
						 
						
						... 
						
						
						
						calculation 
						
					 
					
						2003-10-23 14:44:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6878c55c80 
							
						 
					 
					
						
						
							
							* write derefdata in a separate ppu entry  
						
						 
						
						
						
					 
					
						2003-10-22 20:39:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							925046ad5f 
							
						 
					 
					
						
						
							
							* fixed check for $X- result usage  
						
						 
						
						
						
					 
					
						2003-10-21 18:15:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							05fcae577a 
							
						 
					 
					
						
						
							
							* some ppc stuff fixed  
						
						 
						
						... 
						
						
						
						* memory leak fixed 
						
					 
					
						2003-10-19 01:34:30 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							b9d09a4e5c 
							
						 
					 
					
						
						
							
							* preparations for different default calling conventions  
						
						 
						
						... 
						
						
						
						* various RA fixes 
						
					 
					
						2003-09-07 22:09:34 +00:00