peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f5471aef6e 
							
						 
					 
					
						
						
							
							* more spilling rewrites  
						
						 
						
						
						
					 
					
						2004-10-05 20:41:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ee3585f56f 
							
						 
					 
					
						
						
							
							* spilling code rewritten for x86. It now used the generic  
						
						 
						
						... 
						
						
						
						spilling routines. Special x86 optimization still needs
    to be added.
  * Spilling fixed when both operands needed to be spilled
  * Cleanup of spilling routine, do_spill_readwritten removed 
						
					 
					
						2004-10-04 20:46:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8fb3536f6e 
							
						 
					 
					
						
						
							
							* simple regvar support, not yet finished  
						
						 
						
						
						
					 
					
						2004-09-26 17:45:29 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							1eb575fa22 
							
						 
					 
					
						
						
							
							* fixed longbool(<int64>) on sparc  
						
						 
						
						
						
					 
					
						2004-08-24 21:02:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							c4e909e316 
							
						 
					 
					
						
						
							
							* Add check <= 255 when adding to adj_colours  
						
						 
						
						
						
					 
					
						2004-07-09 21:38:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							649bd81edb 
							
						 
					 
					
						
						
							
							* Use a normal pascal set in assign_colours, since it only will contain  
						
						 
						
						... 
						
						
						
						real registers 
						
					 
					
						2004-07-08 09:57:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							d2a2aeac9f 
							
						 
					 
					
						
						
							
							* supregset_reset clears 8kb of memory. However, it is being called in  
						
						 
						
						... 
						
						
						
						inner loops, see for example colour_registers. According to profile data
    this causes fillchar to be the most time consuming procedure.
    Some modifications done to make it clear less than 8kb of memory each
    call. Divides time spent in fillchar by two, but it still is the no.1
    procedure. 
						
					 
					
						2004-07-07 17:35:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							34d634c64d 
							
						 
					 
					
						
						
							
							* fixed arm compilation  
						
						 
						
						
						
					 
					
						2004-06-22 18:24:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9758c5e2 
							
						 
					 
					
						
						
							
							* logs truncated  
						
						 
						
						
						
					 
					
						2004-06-20 08:55:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e9bb27df36 
							
						 
					 
					
						
						
							
							* spilling of doubles on sparc fixed  
						
						 
						
						
						
					 
					
						2004-06-20 08:47:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							588e2c38bf 
							
						 
					 
					
						
						
							
							* dwarf branch merged  
						
						 
						
						
						
					 
					
						2004-06-16 20:07:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5358278ca1 
							
						 
					 
					
						
						
							
							tai_regalloc.allocation changed to ratype to notify rgobj of register size changes  
						
						 
						
						
						
					 
					
						2004-05-22 23:34:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b20d72aa36 
							
						 
					 
					
						
						
							
							* do not remove "allocation,deallocation" pairs, as those are important  
						
						 
						
						... 
						
						
						
						for the optimizer 
						
					 
					
						2004-04-26 19:57:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3a5717c1b7 
							
						 
					 
					
						
						
							
							* rewrote add_to_movelist, it now uses a field to store the number  
						
						 
						
						... 
						
						
						
						of allocated entries. Also made it using less hardcoded values 
						
					 
					
						2004-03-14 22:50:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							56c727153a 
							
						 
					 
					
						
						
							
							* check if movelist is valid  
						
						 
						
						
						
					 
					
						2004-03-14 20:06:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ee569d7817 
							
						 
					 
					
						
						
							
							* make extcycle is working again  
						
						 
						
						
						
					 
					
						2004-02-12 15:54:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								olle 
							
						 
					 
					
						
						
						
						
							
						
						
							193e41b455 
							
						 
					 
					
						
						
							
							+ check that register allocation is not made at the wrong moment  
						
						 
						
						
						
					 
					
						2004-02-09 20:12:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							71202a141d 
							
						 
					 
					
						
						
							
							* taicpu.is_same_reg_move() now gets a regtype parameter so it only  
						
						 
						
						... 
						
						
						
						removes moves of that particular register type. This is necessary so
    we don't remove the live_start instruction of a register before it
    has been processed 
						
					 
					
						2004-02-08 23:10:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9868155d53 
							
						 
					 
					
						
						
							
							* Register allocator speed boost  
						
						 
						
						
						
					 
					
						2004-02-08 14:26:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							46d241a666 
							
						 
					 
					
						
						
							
							* Take advantage of our new with statement optimization  
						
						 
						
						
						
					 
					
						2004-02-07 23:28:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							be3eabc26f 
							
						 
					 
					
						
						
							
							* Some changes to better accomodate very large movelists  
						
						 
						
						... 
						
						
						
						* movelist resizing now exponential (avoids heap fragmentation, saves
      300 kb memory in make cycle)
    * Trgobj.combine hand-optimized (still too slow) 
						
					 
					
						2004-02-06 13:34:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8caaa7740d 
							
						 
					 
					
						
						
							
							* more record alignment fixes  
						
						 
						
						
						
					 
					
						2004-01-28 22:16:31 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8ef2f96215 
							
						 
					 
					
						
						
							
							* made DoSpill* overrideable  
						
						 
						
						... 
						
						
						
						+ add_cpu_interferences added 
						
					 
					
						2004-01-26 17:40:11 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							ecf7accc38 
							
						 
					 
					
						
						
							
							* Keep interference bitmap only allocated during register allocation.  
						
						 
						
						... 
						
						
						
						Saves 2 mb of memory. 
						
					 
					
						2004-01-25 23:21:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c34c9af5ce 
							
						 
					 
					
						
						
							
							* moved spilling code from taicpu to rg  
						
						 
						
						
						
					 
					
						2004-01-12 16:37:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							61d29c4e4e 
							
						 
					 
					
						
						
							
							* Register allocation bug fixed  
						
						 
						
						
						
					 
					
						2004-01-11 13:21:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							cdbb601a4e 
							
						 
					 
					
						
						
							
							* Degree=0 problem fixed  
						
						 
						
						... 
						
						
						
						* Degree to high problem fixed 
						
					 
					
						2004-01-09 22:02:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1c7e6fc380 
							
						 
					 
					
						
						
							
							* sparc updates  
						
						 
						
						... 
						
						
						
						* use registertype in spill_register 
						
					 
					
						2003-12-26 14:02:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0734904796 
							
						 
					 
					
						
						
							
							* only report unreleased imaginary registers  
						
						 
						
						
						
					 
					
						2003-12-22 23:09:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							cc8d2226ae 
							
						 
					 
					
						
						
							
							* made decrease_degree working, but not really fixed  
						
						 
						
						
						
					 
					
						2003-12-22 22:13:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							78aeec22ca 
							
						 
					 
					
						
						
							
							* arm compiler compilation fixed  
						
						 
						
						
						
					 
					
						2003-12-18 17:06:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							bc4f29e15c 
							
						 
					 
					
						
						
							
							* don't insert dealloc before alloc of the same register  
						
						 
						
						
						
					 
					
						2003-12-17 21:59:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							23aa8e1cda 
							
						 
					 
					
						
						
							
							* Automatic conversion from integer constants to pointer constants is no  
						
						 
						
						... 
						
						
						
						longer done except in Delphi mode 
						
					 
					
						2003-12-16 09:41:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1367e342db 
							
						 
					 
					
						
						
							
							* reg allocations for imaginary register are now inserted just  
						
						 
						
						... 
						
						
						
						before reg allocation
  * tregister changed to enum to allow compile time check
  * fixed several tregister-tsuperregister errors 
						
					 
					
						2003-12-15 21:25:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							e60da116b0 
							
						 
					 
					
						
						
							
							* More microoptimizations  
						
						 
						
						
						
					 
					
						2003-12-15 16:37:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2057dbd01a 
							
						 
					 
					
						
						
							
							* fix statedebug compile  
						
						 
						
						
						
					 
					
						2003-12-15 15:58:58 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							7061f04355 
							
						 
					 
					
						
						
							
							* Register allocator speed optimizations  
						
						 
						
						... 
						
						
						
						- Worklist no longer a ringbuffer
    - No find operations are left
    - Simplify now done in constant time
    - unusedregs is now a Tsuperregisterworklist
    - Microoptimizations 
						
					 
					
						2003-12-14 20:24:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							bce5a1e252 
							
						 
					 
					
						
						
							
							* rg[tregistertype] added in tcg  
						
						 
						
						
						
					 
					
						2003-12-12 17:16:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1407a03ff1 
							
						 
					 
					
						
						
							
							* remove redundant calls to add_edge_used  
						
						 
						
						
						
					 
					
						2003-12-04 23:27:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							825d5b4ed7 
							
						 
					 
					
						
						
							
							* check for add_move_instruction  
						
						 
						
						
						
					 
					
						2003-11-29 17:36:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4584775cbe 
							
						 
					 
					
						
						
							
							* changed some types to prevend range check errors  
						
						 
						
						
						
					 
					
						2003-11-24 15:17:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f44380e4a9 
							
						 
					 
					
						
						
							
							* fixed alias/colouring > 255  
						
						 
						
						
						
					 
					
						2003-11-10 19:05:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							bbf7300a0c 
							
						 
					 
					
						
						
							
							* Florian's culmutative nr. 1; contains:  
						
						 
						
						... 
						
						
						
						- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap 
						
					 
					
						2003-11-07 15:58:32 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cf8b181ff2 
							
						 
					 
					
						
						
							
							* some ALLOWDUPREG improvements  
						
						 
						
						
						
					 
					
						2003-10-29 21:29:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							96f9973b46 
							
						 
					 
					
						
						
							
							* taicpu_abstract.oper[] changed to pointers  
						
						 
						
						
						
					 
					
						2003-10-21 15:15:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							13a4e41b0c 
							
						 
					 
					
						
						
							
							* improved speed; reduced memory usage of the interference bitmap  
						
						 
						
						
						
					 
					
						2003-10-19 12:36:36 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							ec7fb064d0 
							
						 
					 
					
						
						
							
							* fixed last commit  
						
						 
						
						
						
					 
					
						2003-10-17 16:16:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							5b33ab3643 
							
						 
					 
					
						
						
							
							* fixed more ppc stuff  
						
						 
						
						
						
					 
					
						2003-10-17 15:25:18 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							2771f49e22 
							
						 
					 
					
						
						
							
							* reuse registers with the least conflicts  
						
						 
						
						
						
					 
					
						2003-09-30 19:54:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							540691bf02 
							
						 
					 
					
						
						
							
							* optimized releasing of registers  
						
						 
						
						
						
					 
					
						2003-09-29 20:58:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							dea558b5c7 
							
						 
					 
					
						
						
							
							* return reg 255 when allowdupreg is defined  
						
						 
						
						
						
					 
					
						2003-09-28 13:41:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							bf66a6e4ab 
							
						 
					 
					
						
						
							
							* fix filepositions  
						
						 
						
						... 
						
						
						
						* insert spill temp allocations at the start of the proc 
						
					 
					
						2003-09-25 16:19:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							76a53a375d 
							
						 
					 
					
						
						
							
							* varspez in calls to push_addr_param  
						
						 
						
						
						
					 
					
						2003-09-16 16:17:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							90e1ca64f3 
							
						 
					 
					
						
						
							
							* Fixed fast spilling functionality by re-adding the code that initializes  
						
						 
						
						... 
						
						
						
						precoloured nodes to degree 255. I would like to play hangman on the one
    who removed that code. 
						
					 
					
						2003-09-12 19:07:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8f66389b46 
							
						 
					 
					
						
						
							
							* improved arm code generation  
						
						 
						
						... 
						
						
						
						* move some protected and private field around
  * the temp. register for register parameters/arguments are now released
    before the move to the parameter register is done. This improves
    the code in a lot of cases. 
						
					 
					
						2003-09-11 11:54:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							49e539ac8d 
							
						 
					 
					
						
						
							
							* Adding register allocation order  
						
						 
						
						
						
					 
					
						2003-09-09 20:59:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							05a15df3c2 
							
						 
					 
					
						
						
							
							* use register with least interferences in spillregister  
						
						 
						
						
						
					 
					
						2003-09-09 15:55:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b9d09a4e5c 
							
						 
					 
					
						
						
							
							* preparations for different default calling conventions  
						
						 
						
						... 
						
						
						
						* various RA fixes 
						
					 
					
						2003-09-07 22:09:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							610cbec252 
							
						 
					 
					
						
						
							
							* fixes for FPU register allocation  
						
						 
						
						
						
					 
					
						2003-09-03 21:06:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6a8d5eb25d 
							
						 
					 
					
						
						
							
							* NEWRA branch merged  
						
						 
						
						
						
					 
					
						2003-09-03 15:55:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							220e05dd5e 
							
						 
					 
					
						
						
							
							* fixed arm concatcopy  
						
						 
						
						... 
						
						
						
						+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ... 
						
					 
					
						2003-09-03 11:18:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							889bd81bdb 
							
						 
					 
					
						
						
							
							* Register allocator bugfix for h2pas  
						
						 
						
						
						
					 
					
						2003-08-23 10:46:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							4f8c390198 
							
						 
					 
					
						
						
							
							* fixed regvars so they work with newra (at least for ppc)  
						
						 
						
						... 
						
						
						
						* fixed some volatile register bugs
  + -dnotranslation option for -dnewra, which causes the registers not to
    be translated from virtual to normal registers. Requires support in
    the assembler writer as well, which is only implemented in aggas/
    agppcgas currently 
						
					 
					
						2003-08-17 16:59:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							7d3bfaaed4 
							
						 
					 
					
						
						
							
							* Precoloured nodes now have an infinite degree approached with 255,  
						
						 
						
						... 
						
						
						
						like they should. 
						
					 
					
						2003-08-17 14:32:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							45f9851e87 
							
						 
					 
					
						
						
							
							* Another register allocator bug fixed.  
						
						 
						
						... 
						
						
						
						* cpu_registers set to 6 for i386 
						
					 
					
						2003-08-17 08:48:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							42c320cb29 
							
						 
					 
					
						
						
							
							* cs_regalloc renamed to cs_regvars to avoid confusion with register  
						
						 
						
						... 
						
						
						
						allocator
  * Some preventive changes to i386 spillinh code 
						
					 
					
						2003-08-09 18:56:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							557ac8b02e 
							
						 
					 
					
						
						
							
							* Fixed a register allocator bug  
						
						 
						
						... 
						
						
						
						* Figured out why -dnewra generates superfluous "mov reg1,reg2"
    statements: changes in location_force. These moves are now no longer
    constrained so they are optimized away. 
						
					 
					
						2003-08-03 14:09:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							7bc1557f5c 
							
						 
					 
					
						
						
							
							* add_edges_used() is now also called for registers allocated with  
						
						 
						
						... 
						
						
						
						getexplicitregisterint()
  * writing the intereference graph is now only done with -dradebug2 and
    the created files are now called "igraph.<module_name>" 
						
					 
					
						2003-07-21 13:32:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							268bfcf784 
							
						 
					 
					
						
						
							
							* Fixed register allocator. *Lots* of fixes.  
						
						 
						
						
						
					 
					
						2003-07-06 15:31:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							80d6905b7b 
							
						 
					 
					
						
						
							
							* fixed my previous completely broken commit. It's not perfect though,  
						
						 
						
						... 
						
						
						
						registers > last_supreg and < max_intreg may still be "translated" 
						
					 
					
						2003-07-06 15:00:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b1917a614b 
							
						 
					 
					
						
						
							
							* support integer registers that are not managed by newra (ie. don't  
						
						 
						
						... 
						
						
						
						translate register numbers that fall outside the range
    first_supreg..last_supreg) 
						
					 
					
						2003-07-06 14:45:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b7d99ec934 
							
						 
					 
					
						
						
							
							* paraloc splitted in callerparaloc,calleeparaloc  
						
						 
						
						... 
						
						
						
						* sparc calling convention updates 
						
					 
					
						2003-07-02 22:18:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							404d344d92 
							
						 
					 
					
						
						
							
							* lots of newra fixes (need getfuncretparaloc implementation for i386)!  
						
						 
						
						... 
						
						
						
						* renamed all_intregisters to volatile_intregisters and made it
    processor dependent 
						
					 
					
						2003-06-17 16:34:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d29c96896f 
							
						 
					 
					
						
						
							
							* fixed newra cycle for x86  
						
						 
						
						... 
						
						
						
						* added constants for indicating source and destination operands of the
    "move reg,reg" instruction to aasmcpu (and use those in rgobj) 
						
					 
					
						2003-06-14 14:53:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0dceec9a64 
							
						 
					 
					
						
						
							
							* current_procdef removed, use current_procinfo.procdef instead  
						
						 
						
						
						
					 
					
						2003-06-13 21:19:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d179aea20d 
							
						 
					 
					
						
						
							
							* ungetregisterfpu gets size parameter  
						
						 
						
						
						
					 
					
						2003-06-12 21:11:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b9306652 
							
						 
					 
					
						
						
							
							* newra compiles for sparc  
						
						 
						
						
						
					 
					
						2003-06-12 16:43:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							55509b199b 
							
						 
					 
					
						
						
							
							* (de)allocation of registers for parameters is now performed properly  
						
						 
						
						... 
						
						
						
						(and checked on the ppc)
  - removed obsolete allocation of all parameter registers at the start
    of a procedure (and deallocation at the end) 
						
					 
					
						2003-06-09 14:54:26 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							41e0bc4cec 
							
						 
					 
					
						
						
							
							* Register allocator finished  
						
						 
						
						
						
					 
					
						2003-06-03 13:01:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							230a14ff68 
							
						 
					 
					
						
						
							
							* getregisterfpu size parameter added  
						
						 
						
						... 
						
						
						
						* op_const_reg size parameter added
  * sparc updates 
						
					 
					
						2003-06-01 21:38:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f67e370ce1 
							
						 
					 
					
						
						
							
							* set inital costs of assigning a variable to a register to 120 for  
						
						 
						
						... 
						
						
						
						non-i386, because the used register must be store to memory at the
    start and loaded again at the end 
						
					 
					
						2003-05-31 20:31:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0357f71e14 
							
						 
					 
					
						
						
							
							* fixed several regvar related bugs for non-i386. make cycle with -Or now  
						
						 
						
						... 
						
						
						
						works for ppc 
						
					 
					
						2003-05-30 18:55:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f433c21ead 
							
						 
					 
					
						
						
							
							* use as little different registers on the ppc until newra is released,  
						
						 
						
						... 
						
						
						
						since every used register must be saved 
						
					 
					
						2003-05-30 12:36:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cb279b2029 
							
						 
					 
					
						
						
							
							* changed tt_persistant to tt_persistent :)  
						
						 
						
						... 
						
						
						
						* tempcreatenode now doesn't accept a boolean anymore for persistent
    temps, but a ttemptype, so you can also create ansistring temps etc 
						
					 
					
						2003-05-17 13:30:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							abca40f041 
							
						 
					 
					
						
						
							
							* regvar fixes  
						
						 
						
						
						
					 
					
						2003-05-16 14:33:31 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							b899ea5469 
							
						 
					 
					
						
						
							
							* Bug fix in simplify  
						
						 
						
						
						
					 
					
						2003-04-26 20:03:49 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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