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