florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f54ea1e9f9 
							
						 
					 
					
						
						
							
							* fix compilation with -dEXTDEBUG  
						
						... 
						
						
						
						git-svn-id: trunk@14190 - 
						
					 
					
						2009-11-15 18:26:50 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							80c0f33c0e 
							
						 
					 
					
						
						
							
							* patch by Sergei Gorelkin: fixes compilation with -dEXTDEBUG  
						
						... 
						
						
						
						git-svn-id: trunk@13043 - 
						
					 
					
						2009-04-25 20:02:08 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4e7e0f620a 
							
						 
					 
					
						
						
							
							* first try to  fix   #10863  (don't do SSL in case left is already handled in an assignment node)  
						
						... 
						
						
						
						git-svn-id: trunk@10710 - 
						
					 
					
						2008-04-19 09:23:45 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7ef191021f 
							
						 
					 
					
						
						
							
							+ check for location.loc<>expectloc in extdebug mode  
						
						... 
						
						
						
						* set expectloc properly for add nodes on arm
git-svn-id: trunk@10536 - 
						
					 
					
						2008-03-23 10:18:33 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							db98f1eecb 
							
						 
					 
					
						
						
							
							* indenting of node names  
						
						... 
						
						
						
						git-svn-id: trunk@8418 - 
						
					 
					
						2007-09-09 14:03:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							76b190b723 
							
						 
					 
					
						
						
							
							- removed caretn and related code  
						
						... 
						
						
						
						git-svn-id: trunk@7257 - 
						
					 
					
						2007-05-04 10:53:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9a75d308a8 
							
						 
					 
					
						
						
							
							* fixed missing lineinfo after removing inlining_procedure (missed a "not" in  
						
						... 
						
						
						
						a condition)
git-svn-id: trunk@6270 - 
						
					 
					
						2007-01-30 15:30:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							246f75c43a 
							
						 
					 
					
						
						
							
							- removed inlining_procedure global var (artefact from pass_2 inlining)  
						
						... 
						
						
						
						git-svn-id: trunk@6266 - 
						
					 
					
						2007-01-29 15:33:56 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e17b424e28 
							
						 
					 
					
						
						
							
							* refactor procsym procdef list  
						
						... 
						
						
						
						git-svn-id: trunk@5210 - 
						
					 
					
						2006-11-03 18:44:46 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ef7bd58c54 
							
						 
					 
					
						
						
							
							* germanism removed (aktfilepos -> current_filepos)  
						
						... 
						
						
						
						git-svn-id: trunk@5099 - 
						
					 
					
						2006-10-30 22:37:31 +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 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e531c4f125 
							
						 
					 
					
						
						
							
							+ very limited SSA support (only outside control flow  
						
						... 
						
						
						
						constructs for now)
git-svn-id: trunk@3671 - 
						
					 
					
						2006-05-25 11:45:08 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b9dd48c9 
							
						 
					 
					
						
						
							
							* remove check for expectloc<>location.loc, it doesn't work anymore for  
						
						... 
						
						
						
						temprefn,blockn causing too much warnings in extdebug
git-svn-id: trunk@1542 - 
						
					 
					
						2005-10-20 06:51:40 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							1b41aad3a0 
							
						 
					 
					
						
						
							
							remove multiple pass2 calls. It is not supported anymore by all nodes (ttempcreatenode)  
						
						
						
					 
					
						2005-04-08 15:18:08 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9758c5e2 
							
						 
					 
					
						
						
							
							* logs truncated  
						
						
						
					 
					
						2004-06-20 08:55:28 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							f663d2488f 
							
						 
					 
					
						
						
							
							* cross unit inlining fixed  
						
						
						
					 
					
						2003-11-10 22:02:52 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9e66b09843 
							
						 
					 
					
						
						
							
							* call firstpass before allocation and codegeneration is started  
						
						... 
						
						
						
						* move leftover code from pass_2.generatecode() to psub 
						
					 
					
						2003-10-30 16:22:40 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							05fcae577a 
							
						 
					 
					
						
						
							
							* some ppc stuff fixed  
						
						... 
						
						
						
						* memory leak fixed 
						
					 
					
						2003-10-19 01:34:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9f54e1b7c5 
							
						 
					 
					
						
						
							
							* made worklists dynamic in size  
						
						
						
					 
					
						2003-10-18 15:41:26 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0939085ab1 
							
						 
					 
					
						
						
							
							* commented out more obsolete constants  
						
						
						
					 
					
						2003-10-17 15:08:34 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							75cb52213f 
							
						 
					 
					
						
						
							
							* fix register leak in with debug  
						
						
						
					 
					
						2003-09-28 21:45:52 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							99bb20747e 
							
						 
					 
					
						
						
							
							* parent framepointer changed to hidden parameter  
						
						... 
						
						
						
						* tloadparentfpnode added 
						
					 
					
						2003-09-28 17:55:03 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6a8d5eb25d 
							
						 
					 
					
						
						
							
							* NEWRA branch merged  
						
						
						
					 
					
						2003-09-03 15:55:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							52c73e80d1 
							
						 
					 
					
						
						
							
							* start of sparc support for newra  
						
						
						
					 
					
						2003-08-11 21:18:20 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6731abb0db 
							
						 
					 
					
						
						
							
							* fixed some reported bugs  
						
						
						
					 
					
						2003-08-10 17:25:23 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							32d076480b 
							
						 
					 
					
						
						
							
							* framepointer fixes for sparc  
						
						... 
						
						
						
						* parent framepointer code more generic 
						
					 
					
						2003-07-06 17:58:22 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							268bfcf784 
							
						 
					 
					
						
						
							
							* Fixed register allocator. *Lots* of fixes.  
						
						
						
					 
					
						2003-07-06 15:31:20 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b69219bae4 
							
						 
					 
					
						
						
							
							* also generate the caller paraloc info of a procedure if it doesn't exist  
						
						... 
						
						
						
						yet at the start of pass_2 
						
					 
					
						2003-07-06 10:18:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0c65bc5a8c 
							
						 
					 
					
						
						
							
							* create_paraloc_info() is now called separately for the caller and  
						
						... 
						
						
						
						callee info
   * fixed ppc cycle 
						
					 
					
						2003-07-05 20:13:03 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0dceec9a64 
							
						 
					 
					
						
						
							
							* current_procdef removed, use current_procinfo.procdef instead  
						
						
						
					 
					
						2003-06-13 21:19:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b9306652 
							
						 
					 
					
						
						
							
							* newra compiles for sparc  
						
						
						
					 
					
						2003-06-12 16:43:07 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							77d641fa2a 
							
						 
					 
					
						
						
							
							* init/final of procedure data splitted from genentrycode  
						
						... 
						
						
						
						* use asmnode getposition to insert final at the correct position
    als for the implicit try...finally 
						
					 
					
						2003-06-09 12:23:29 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							41e0bc4cec 
							
						 
					 
					
						
						
							
							* Register allocator finished  
						
						
						
					 
					
						2003-06-03 13:01:59 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							047a066711 
							
						 
					 
					
						
						
							
							* procinlinenode removed  
						
						... 
						
						
						
						* aktexit2label removed, fast exit removed
  + tcallnode.inlined_pass_2 added 
						
					 
					
						2003-05-26 21:17:17 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							92ee1804b6 
							
						 
					 
					
						
						
							
							* removed selfpointer_offset, vmtpointer_offset  
						
						... 
						
						
						
						* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals 
						
					 
					
						2003-05-15 18:58:53 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							05c05f2555 
							
						 
					 
					
						
						
							
							* failn removed  
						
						... 
						
						
						
						* inherited result code check moven to pexpr 
						
					 
					
						2003-05-13 19:14:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1a2eedd767 
							
						 
					 
					
						
						
							
							* self moved to hidden parameter  
						
						... 
						
						
						
						* removed hdisposen,hnewn,selfn 
						
					 
					
						2003-05-09 17:47:02 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							60978ba89c 
							
						 
					 
					
						
						
							
							* aktprocdef renamed to current_procdef  
						
						... 
						
						
						
						* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal 
						
					 
					
						2003-04-27 11:21:32 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							7f14891d66 
							
						 
					 
					
						
						
							
							* aktprocdef cleanup, aktprocdef is now always nil when parsing  
						
						... 
						
						
						
						a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling 
						
					 
					
						2003-04-27 07:29:50 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f4b818fc1d 
							
						 
					 
					
						
						
							
							* removed funcretn,funcretsym, function result is now in varsym  
						
						... 
						
						
						
						and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode 
						
					 
					
						2003-04-25 20:59:33 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e258c7bf84 
							
						 
					 
					
						
						
							
							* allow multi pass2 changed to global boolean instead of node flag  
						
						
						
					 
					
						2003-04-23 10:12:14 +00:00