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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c351d2a524 
							
						 
					 
					
						
						
							
							* compile fix for no-newra  
						
						 
						
						
						
					 
					
						2003-04-23 20:23:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9e2084b8d5 
							
						 
					 
					
						
						
							
							* Further register allocator work. Compiler now smaller with new  
						
						 
						
						... 
						
						
						
						allocator than without.
  * Somebody forgot to adjust ppu version number 
						
					 
					
						2003-04-23 14:42:07 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e21dab9739 
							
						 
					 
					
						
						
							
							* count address regs separate  
						
						 
						
						
						
					 
					
						2003-04-21 19:16:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							0c93e261e7 
							
						 
					 
					
						
						
							
							* Added some code to keep track of move instructions in register  
						
						 
						
						... 
						
						
						
						allocator 
						
					 
					
						2003-04-17 16:48:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							a32926e2fc 
							
						 
					 
					
						
						
							
							* Some work on interference graph construction  
						
						 
						
						
						
					 
					
						2003-04-17 07:50:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c4ddcc78a8 
							
						 
					 
					
						
						
							
							* generic constructor working for i386  
						
						 
						
						... 
						
						
						
						* remove fixed self register
  * esi added as address register for i386 
						
					 
					
						2003-03-28 19:16:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d168ae15df 
							
						 
					 
					
						
						
							
							* lots of new regallocator fixes, both in generic and ppc-specific code  
						
						 
						
						... 
						
						
						
						(ppc compiler still can't compile the linux system unit though) 
						
					 
					
						2003-03-11 21:46:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								olle 
							
						 
					 
					
						
						
						
						
							
						
						
							03f1fef7aa 
							
						 
					 
					
						
						
							
							+ added cutils to the uses clause  
						
						 
						
						
						
					 
					
						2003-03-09 21:18:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							eedc447400 
							
						 
					 
					
						
						
							
							+ Added newra version of Ti386shlshrnode  
						
						 
						
						... 
						
						
						
						+ Added interference graph construction code 
						
					 
					
						2003-03-08 20:36:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							fb55235acc 
							
						 
					 
					
						
						
							
							* Work to handle new register notation in ag386nsm  
						
						 
						
						... 
						
						
						
						+ Added newra version of Ti386moddivnode 
						
					 
					
						2003-03-08 13:59:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							2801609d3f 
							
						 
					 
					
						
						
							
							* Created newra version of secondmul in n386add.pas  
						
						 
						
						
						
					 
					
						2003-03-08 10:53:48 +00:00