Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							da6811ed58 
							
						 
					 
					
						
						
							
							* fixed and optimized in-node with constant smallset  
						
						 
						
						... 
						
						
						
						* some register usage optimisations. 
						
					 
					
						2003-12-09 19:14:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							13961467e3 
							
						 
					 
					
						
						
							
							* fixed range compare when the last value was an equal  
						
						 
						
						... 
						
						
						
						compare. The compare for the lower range was skipped 
						
					 
					
						2003-11-10 19:10:31 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							6a8d5eb25d 
							
						 
					 
					
						
						
							
							* NEWRA branch merged  
						
						 
						
						
						
					 
					
						2003-09-03 15:55:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							cdb8a15f4a 
							
						 
					 
					
						
						
							
							* Some more R_NO changes  
						
						 
						
						... 
						
						
						
						* Preventive code to loadref added 
						
					 
					
						2003-08-20 20:29:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							af784cfb1e 
							
						 
					 
					
						
						
							
							* final (?) fix to in-code  
						
						 
						
						
						
					 
					
						2003-07-23 11:02:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							db3bd69a18 
							
						 
					 
					
						
						
							
							* fixed bug in tcginnode.pass_2  
						
						 
						
						
						
					 
					
						2003-07-20 18:03:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a82c9531b7 
							
						 
					 
					
						
						
							
							* fixed register leak  
						
						 
						
						... 
						
						
						
						* changed a couple of case-statements to location_force_reg() 
						
					 
					
						2003-07-06 14:28:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							7ca760912b 
							
						 
					 
					
						
						
							
							* tcginnode.pass_2 doesn't call a helper anymore in any case  
						
						 
						
						... 
						
						
						
						* fixed ungetregisterfpu compilation problems 
						
					 
					
						2003-06-12 22:09:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							7081853478 
							
						 
					 
					
						
						
							
							- disabled gentreejmp for now, it expects that the case labels are  
						
						 
						
						... 
						
						
						
						ordered as a perfectly balanced tree, while they are often a linked
    list -> generates extremely bad code 
						
					 
					
						2003-06-08 16:03:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							edb2179730 
							
						 
					 
					
						
						
							
							+ added freeintparaloc  
						
						 
						
						... 
						
						
						
						* ppc get/freeintparaloc now check whether the parameter regs are
    properly allocated/deallocated (and get an extra list para)
  * ppc a_call_* now internalerrors if pi_do_call is not yet set
  * fixed lot of missing pi_do_call's 
						
					 
					
						2003-06-07 18:57:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d91c880148 
							
						 
					 
					
						
						
							
							* cg.a_load_* get a from and to size specifier  
						
						 
						
						... 
						
						
						
						* makeregsize only accepts newregister
  * i386 uses generic tcgnotnode,tcgunaryminus 
						
					 
					
						2003-06-03 21:11:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							230a14ff68 
							
						 
					 
					
						
						
							
							* getregisterfpu size parameter added  
						
						 
						
						... 
						
						
						
						* op_const_reg size parameter added
  * sparc updates 
						
					 
					
						2003-06-01 21:38:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							414bd5fa22 
							
						 
					 
					
						
						
							
							* more sparc cleanup  
						
						 
						
						... 
						
						
						
						* accumulator removed, splitted in function_return_reg (called) and
    function_result_reg (caller) 
						
					 
					
						2003-05-30 23:57:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e7e2cfe9a4 
							
						 
					 
					
						
						
							
							* a_load_loc_reg now has an extra size parameter for the destination  
						
						 
						
						... 
						
						
						
						register (properly fixes what I worked around in revision 1.106 of
    ncgutil.pas) 
						
					 
					
						2003-05-30 23:49:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1712878279 
							
						 
					 
					
						
						
							
							* fixed tcginnode endian bug again, but correcty this time :)  
						
						 
						
						
						
					 
					
						2003-05-24 19:48:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							89c93b12c4 
							
						 
					 
					
						
						
							
							* fixed sparc compiler compilation  
						
						 
						
						
						
					 
					
						2003-05-23 21:10:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							25435fe881 
							
						 
					 
					
						
						
							
							* corrected fix for endian differences in tcginnode  
						
						 
						
						
						
					 
					
						2003-05-23 19:52:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							4aadabdf80 
							
						 
					 
					
						
						
							
							* fixed size setting of result location of innodes  
						
						 
						
						
						
					 
					
						2003-05-17 19:17:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a3a3311e41 
							
						 
					 
					
						
						
							
							* fixed endian issue in inlined in-test for smallsets  
						
						 
						
						... 
						
						
						
						* pass the address of normalsets to fpc_set_in_set_byte instead of the
    contents of the first 4 bytes 
						
					 
					
						2003-05-01 12:26:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							6aa01a99a9 
							
						 
					 
					
						
						
							
							* Ifdefs around a lot of calls to cleartempgen  
						
						 
						
						... 
						
						
						
						* Fixed registers that are allocated but not freed in several nodes
  * Tweak to register allocator to cause less spills
  * 8-bit registers now interfere with esi,edi and ebp
    Compiler can now compile rtl successfully when using new register
    allocator 
						
					 
					
						2003-04-25 08:25:26 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9ed2ce8c12 
							
						 
					 
					
						
						
							
							* removed some notes/hints  
						
						 
						
						
						
					 
					
						2003-04-22 14:33:38 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							25059e21b6 
							
						 
					 
					
						
						
							
							+ Implemented the actual register allocator  
						
						 
						
						... 
						
						
						
						+ Scratch registers unavailable when new register allocator used
  + maybe_save/maybe_restore unavailable when new register allocator used 
						
					 
					
						2003-04-22 10:09:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							86bcea6ef5 
							
						 
					 
					
						
						
							
							* Code generator converted to new register notation  
						
						 
						
						... 
						
						
						
						- Horribily outdated todo.txt removed 
						
					 
					
						2003-02-19 22:00:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							55a161bbbf 
							
						 
					 
					
						
						
							
							* Tregister changed into a record  
						
						 
						
						
						
					 
					
						2003-01-08 18:43:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							34e8266af4 
							
						 
					 
					
						
						
							
							* case statement inlining added  
						
						 
						
						... 
						
						
						
						* fixed inlining of write()
  * switched statementnode left and right parts so the statements are
    processed in the correct order when getcopy is used. This is
    required for tempnodes 
						
					 
					
						2002-11-27 02:37:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f3fc72095f 
							
						 
					 
					
						
						
							
							* splitted defbase in defutil,symutil,defcmp  
						
						 
						
						... 
						
						
						
						* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once 
						
					 
					
						2002-11-25 17:43:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							67486c96c3 
							
						 
					 
					
						
						
							
							* fixes for Delphi 6 compilation  
						
						 
						
						... 
						
						
						
						(warning : Some features do not work under Delphi) 
						
					 
					
						2002-10-05 12:43:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							801d6914e8 
							
						 
					 
					
						
						
							
							* range check error fixes  
						
						 
						
						
						
					 
					
						2002-10-03 21:31:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a15d8cfe39 
							
						 
					 
					
						
						
							
							* a_load_reg_reg() now has two size parameters: source and dest. This  
						
						 
						
						... 
						
						
						
						allows some optimizations on architectures that don't encode the
    register size in the register name. 
						
					 
					
						2002-09-17 18:54:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6c06c346d8 
							
						 
					 
					
						
						
							
							* fix last optimization in genlinearlist, detected by bug tw1066  
						
						 
						
						... 
						
						
						
						* use generic casenode.pass2 routine and override genlinearlist
  * add jumptable support to generic casenode, by default there is
    no jumptable support 
						
					 
					
						2002-09-16 18:08:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							aa6453d52e 
							
						 
					 
					
						
						
							
							* oldset define is now correct for all cpu's except i386  
						
						 
						
						... 
						
						
						
						* correct compilation problems because of the above 
						
					 
					
						2002-08-15 15:11:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							c68b2dfbee 
							
						 
					 
					
						
						
							
							* rename swatoperands to swapoperands  
						
						 
						
						... 
						
						
						
						+ m68k first compilable version (still needs a lot of testing):
      assembler generator, system information , inline
      assembler reader. 
						
					 
					
						2002-08-13 18:01:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							425bb45ddc 
							
						 
					 
					
						
						
							
							* renamed current_library to objectlibrary  
						
						 
						
						
						
					 
					
						2002-08-11 14:32:25 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ac71268ce6 
							
						 
					 
					
						
						
							
							* saving of asmsymbols in ppu supported  
						
						 
						
						... 
						
						
						
						* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class 
						
					 
					
						2002-08-11 13:24:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3446f05f12 
							
						 
					 
					
						
						
							
							* genlinear(cmp)list can now be overridden by descendents  
						
						 
						
						
						
					 
					
						2002-08-11 11:37:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							3ec544be88 
							
						 
					 
					
						
						
							
							* fixed powerpc compilation problems  
						
						 
						
						
						
					 
					
						2002-08-11 06:14:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							856d8f9150 
							
						 
					 
					
						
						
							
							* optimizations and bugfix  
						
						 
						
						
						
					 
					
						2002-08-10 17:15:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							8284576720 
							
						 
					 
					
						
						
							
							+ generic case node  
						
						 
						
						
						
					 
					
						2002-07-28 09:24:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							feb28ce902 
							
						 
					 
					
						
						
							
							* Added internal error when asked to generate code for 'if expr in []'  
						
						 
						
						
						
					 
					
						2002-07-23 14:31:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							1130395e7e 
							
						 
					 
					
						
						
							
							* Readded old set code. To use it define 'oldset'. Activated by default  
						
						 
						
						... 
						
						
						
						for ppc. 
						
					 
					
						2002-07-23 12:34:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							3a134c6e07 
							
						 
					 
					
						
						
							
							* Sets are now internally sets.  
						
						 
						
						
						
					 
					
						2002-07-22 11:48:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							494c85885b 
							
						 
					 
					
						
						
							
							* fixed some bugs in tcginnode.pass_2() and optimized the bit test  
						
						 
						
						
						
					 
					
						2002-07-21 16:58:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							59abf2555b 
							
						 
					 
					
						
						
							
							* types.pas renamed to defbase.pas because D6 contains a types  
						
						 
						
						... 
						
						
						
						unit so this would conflicts if D6 programms are compiled
  + Willamette/SSE2 instructions to assembler added 
						
					 
					
						2002-07-20 11:57:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							336808f6c3 
							
						 
					 
					
						
						
							
							* start of the new generic parameter handling  
						
						 
						
						
						
					 
					
						2002-07-11 14:41:27 +00:00