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 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							47489f2376 
							
						 
					 
					
						
						
							
							* firstpass uses expectloc  
						
						... 
						
						
						
						* checks if there are differences between the expectloc and
    location.loc from secondpass in EXTDEBUG 
						
					 
					
						2003-04-22 23:50:22 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							92a29d7e82 
							
						 
					 
					
						
						
							
							* fixed generic in operator code  
						
						... 
						
						
						
						+ added debug code to check if all scratch registers are released 
						
					 
					
						2003-04-22 12:45:58 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							7b2fd10fb4 
							
						 
					 
					
						
						
							
							* Converted some code in cgx86.pas to new register numbering  
						
						
						
					 
					
						2003-01-09 20:40:59 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							6e507ba483 
							
						 
					 
					
						
						
							
							* Added register conversion  
						
						
						
					 
					
						2003-01-09 15:49:56 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							51991609e0 
							
						 
					 
					
						
						
							
							* removed Writeln  
						
						
						
					 
					
						2002-12-22 14:35:39 +00:00 
						 
				 
			
				
					
						
							
							
								mazen 
							
						 
					 
					
						
						
						
						
							
						
						
							00ee9f8063 
							
						 
					 
					
						
						
							
							+ added support for the shift nodes  
						
						... 
						
						
						
						+ added debug output on screen with -an command line option 
						
					 
					
						2002-12-21 23:21:47 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4b81e16fe2 
							
						 
					 
					
						
						
							
							* tempgen cleanup  
						
						... 
						
						
						
						* tt_noreuse temp type added that will be used in genentrycode 
						
					 
					
						2002-08-23 16:14:48 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ecb430a8eb 
							
						 
					 
					
						
						
							
							* don't write (stabs)line info when inlining a procedure  
						
						
						
					 
					
						2002-08-20 16:55:38 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							91b49914f6 
							
						 
					 
					
						
						
							
							* More fixes for cross unit inlining, all tnodes are now implemented  
						
						... 
						
						
						
						* Moved pocall_internconst to po_internconst because it is not a
    calling type at all and it conflicted when inlining of these small
    functions was requested 
						
					 
					
						2002-08-19 19:36:42 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							98dd65b0f3 
							
						 
					 
					
						
						
							
							* inlining is now also allowed in interface  
						
						... 
						
						
						
						* renamed write/load to ppuwrite/ppuload
  * tnode storing in ppu
  * nld,ncon,nbas are already updated for storing in ppu 
						
					 
					
						2002-08-18 20:06:23 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e313bab4ff 
							
						 
					 
					
						
						
							
							* first part of procinfo rewrite  
						
						
						
					 
					
						2002-08-17 09:23:33 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8082f79ea6 
							
						 
					 
					
						
						
							
							* first things tai,tnode storing in ppu  
						
						
						
					 
					
						2002-08-15 19:10:35 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ed950491a8 
							
						 
					 
					
						
						
							
							* the code generator knows now if parameters are in registers  
						
						
						
					 
					
						2002-07-30 20:50:43 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							399036f1c2 
							
						 
					 
					
						
						
							
							* State tracker work  
						
						... 
						
						
						
						* The whilen and repeatn are now completely unified into whilerepeatn. This
  allows the state tracker to change while nodes automatically into
  repeat nodes.
* Resulttypepass improvements to the notn. 'not not a' is optimized away and
  'not(a>b)' is optimized into 'a<=b'.
* Resulttypepass improvements to the whilerepeatn. 'while not a' is optimized
  by removing the notn and later switchting the true and falselabels. The
  same is done with 'repeat until not a'. 
						
					 
					
						2002-07-19 11:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4285e99853 
							
						 
					 
					
						
						
							
							* internal linker  
						
						... 
						
						
						
						* reorganized aasm layer 
						
					 
					
						2002-07-01 18:46:20 +00:00