peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6744b747b8 
							
						 
					 
					
						
						
							
							* remove goto, that prevents optimizations  
						
						... 
						
						
						
						git-svn-id: trunk@10083 - 
						
					 
					
						2008-01-28 18:13:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8d9bfcaa7d 
							
						 
					 
					
						
						
							
							* fixed memory corruption in trgobj.add_to_movelist on 64 bit platforms  
						
						... 
						
						
						
						git-svn-id: trunk@9523 - 
						
					 
					
						2007-12-25 23:39:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6058b2c247 
							
						 
					 
					
						
						
							
							* renamed t_times to executionweight and moved it to  
						
						... 
						
						
						
						code generation pass
  * include executionweight in the spilling decision
git-svn-id: trunk@9330 - 
						
					 
					
						2007-11-25 16:38:05 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							263b7abc6f 
							
						 
					 
					
						
						
							
							* check register type also for registers in references so we are  
						
						... 
						
						
						
						not mixing addressregisters and intregisters on m68k
git-svn-id: trunk@9128 - 
						
					 
					
						2007-11-04 14:24:36 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							335bc9fd46 
							
						 
					 
					
						
						
							
							+ PIC support for darwin/ppc32 (-Cg works now, no regressions in test  
						
						... 
						
						
						
						suite compiled with -Cg compared to without -Cg)
  + support for using a virtual register as PIC/got base register
  * moved got loading code from ncgutil to cgobj/cgcpu (can't test whether
    it didn't break anything under linux/i386, because "make cycle OPT=-Cg"
    was already broken due to the *prt*.as -> si_*.pp changes)
git-svn-id: trunk@8651 - 
						
					 
					
						2007-09-26 16:41:32 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							67e16340be 
							
						 
					 
					
						
						
							
							* revert r8118  
						
						... 
						
						
						
						git-svn-id: trunk@8139 - 
						
					 
					
						2007-07-22 19:59:00 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							21293f5818 
							
						 
					 
					
						
						
							
							+ Add common type integer promotion.  
						
						... 
						
						
						
						- {$intpromotion common_type} or -CIcommon_type switches to common type promotion.
    - {$intpromotion native_integer} or -CIcommon_type switches to current behaviour.
    - Default in tp mode is common_type, native_integer in other modes
    - Compiler can cycle with -CIcommon_type
    - Still needs checking on other architectures than i386
git-svn-id: trunk@8118 - 
						
					 
					
						2007-07-21 19:16:24 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9adb202a92 
							
						 
					 
					
						
						
							
							* Rework the constexprint to allow operations from low(int64) to high(qword).  
						
						... 
						
						
						
						+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 - 
						
					 
					
						2007-06-13 07:41:18 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							182fca72f2 
							
						 
					 
					
						
						
							
							* Change spill_* routines to return Taicpu instead of Tai to increase  
						
						... 
						
						
						
						strong typing.
  * Fix PowerPC R0 register allocation
git-svn-id: trunk@7317 - 
						
					 
					
						2007-05-12 15:43:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							60069ce3d2 
							
						 
					 
					
						
						
							
							* fix IE with -sr and EXTDEBUG  
						
						... 
						
						
						
						git-svn-id: trunk@5283 - 
						
					 
					
						2006-11-07 22:43:34 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8fe7fb5e66 
							
						 
					 
					
						
						
							
							* arm uses sometimes up to 4 registers in one instruction  
						
						... 
						
						
						
						git-svn-id: trunk@5205 - 
						
					 
					
						2006-11-03 16:46:29 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ef7bd58c54 
							
						 
					 
					
						
						
							
							* germanism removed (aktfilepos -> current_filepos)  
						
						... 
						
						
						
						git-svn-id: trunk@5099 - 
						
					 
					
						2006-10-30 22:37:31 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							85d63d9fa9 
							
						 
					 
					
						
						
							
							* settings refactored  
						
						... 
						
						
						
						git-svn-id: trunk@5094 - 
						
					 
					
						2006-10-30 18:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							01afee1f73 
							
						 
					 
					
						
						
							
							* Add extra calls to get_alias to properly recognize coalesced  
						
						... 
						
						
						
						registers to be spilled.
git-svn-id: trunk@4997 - 
						
					 
					
						2006-10-21 21:31:08 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							8242fb32ab 
							
						 
					 
					
						
						
							
							* One more line to revert  
						
						... 
						
						
						
						git-svn-id: trunk@4718 - 
						
					 
					
						2006-09-24 17:02:42 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							6abd7a7cf3 
							
						 
					 
					
						
						
							
							* Revert oldlasttemp stuff  
						
						... 
						
						
						
						git-svn-id: trunk@4717 - 
						
					 
					
						2006-09-24 16:59:36 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							4d3c7ac99e 
							
						 
					 
					
						
						
							
							* Change ptrint into ptruint because $7fffffff < $80000001 should  
						
						... 
						
						
						
						be true.
git-svn-id: trunk@4709 - 
						
					 
					
						2006-09-24 13:12:19 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							84d652e3c9 
							
						 
					 
					
						
						
							
							* remove extdebug register unused warning, it is obsolete with the ssa for registers  
						
						... 
						
						
						
						git-svn-id: trunk@4540 - 
						
					 
					
						2006-09-03 08:30:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							fd4b348e7c 
							
						 
					 
					
						
						
							
							* fixed empty superregister set detection in constructor  
						
						... 
						
						
						
						git-svn-id: trunk@4333 - 
						
					 
					
						2006-08-03 15:15:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							7bb3a1fe22 
							
						 
					 
					
						
						
							
							* fixed register allocation of gen_load_para_value() and backwards  
						
						... 
						
						
						
						extension of regalloc info in general
git-svn-id: trunk@4293 - 
						
					 
					
						2006-07-25 13:54:48 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b7fe6797bf 
							
						 
					 
					
						
						
							
							Merged revisions 2921-2922,2925 via svnmerge from  
						
						... 
						
						
						
						http://svn.freepascal.org/svn/fpc/branches/linker/compiler 
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
  * pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
  * refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 - 
					
						2006-03-16 08:52:22 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							94038b0d83 
							
						 
					 
					
						
						
							
							+ translate register variable locations, enables register variable debug info, with SSA it requires to be extended maintaining location list  
						
						... 
						
						
						
						git-svn-id: trunk@2409 - 
						
					 
					
						2006-02-02 21:27:23 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							137f8f340d 
							
						 
					 
					
						
						
							
							* handling of address registers in references fixed  
						
						... 
						
						
						
						* write address registers as areg when compiling with -sr
git-svn-id: trunk@2398 - 
						
					 
					
						2006-02-01 22:45:14 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							fc1b5c9fe2 
							
						 
					 
					
						
						
							
							* fixed backwards extension of regalloc information  
						
						... 
						
						
						
						git-svn-id: trunk@2193 - 
						
					 
					
						2006-01-06 11:17:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b769a968e3 
							
						 
					 
					
						
						
							
							* make sure live_start and live_end are correctly updated while  
						
						... 
						
						
						
						generating the initialisation and entry code
git-svn-id: trunk@2185 - 
						
					 
					
						2006-01-05 17:46:16 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							7aa315c71a 
							
						 
					 
					
						
						
							
							* made some Tcpuregisterset parameters const to avoid useless copying  
						
						... 
						
						
						
						git-svn-id: trunk@2176 - 
						
					 
					
						2006-01-05 10:10:25 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							790a4fe2d3 
							
						 
					 
					
						
						
							
							* log and id tags removed  
						
						... 
						
						
						
						git-svn-id: trunk@42 - 
						
					 
					
						2005-05-21 09:42:41 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							50778076c3 
							
						 
					 
					
						
						
							
							initial import  
						
						... 
						
						
						
						git-svn-id: trunk@1 - 
						
					 
					
						2005-05-16 18:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							41c253b65d 
							
						 
					 
					
						
						
							
							* during spilling only add deallocs to live_registers that belong  
						
						... 
						
						
						
						to the instruction 
						
					 
					
						2005-04-07 16:25:05 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e207c402fc 
							
						 
					 
					
						
						
							
							* only in EXTDEBUG leave register allocator when it fails. Otherwise  
						
						... 
						
						
						
						give an IE 
						
					 
					
						2005-04-07 15:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a5c94ddccd 
							
						 
					 
					
						
						
							
							* removed some unused variables  
						
						
						
					 
					
						2005-03-25 21:55:43 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5452cccaad 
							
						 
					 
					
						
						
							
							* fix spilling code when explicit cpu registers are used in an  
						
						... 
						
						
						
						instruction 
						
					 
					
						2005-03-20 19:47:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6c38093871 
							
						 
					 
					
						
						
							
							* fixed spilling for several ppc instructions which only read registers  
						
						... 
						
						
						
						+ added support for registers in references that get changed (load/store
    with update) 
						
					 
					
						2005-02-18 23:37:51 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							db81b4333a 
							
						 
					 
					
						
						
							
							* fatal error when procedure is too complex  
						
						
						
					 
					
						2004-11-14 21:08:27 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8ffe3c6a9e 
							
						 
					 
					
						
						
							
							* debug writeln removed  
						
						
						
					 
					
						2004-11-06 18:58:18 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							42e14b6825 
							
						 
					 
					
						
						
							
							+ additional extdebug check for wrong add_reg_instructions added  
						
						... 
						
						
						
						* too long manglednames are cut off at 200 chars using a crc 
						
					 
					
						2004-11-06 17:44:47 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1cf3aef0f0 
							
						 
					 
					
						
						
							
							* regalloc bind to instructions need to get real ait_instruction  
						
						
						
					 
					
						2004-11-01 10:34:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							dc71fc8290 
							
						 
					 
					
						
						
							
							* make sure live_start/end is never a tai_regalloc, as those can be  
						
						... 
						
						
						
						removed by the register allocator and thus become invalid. This fixed
    make cycle with -Or for ppc, but I'm not sure what the warning on
    symsym.pas:1663 means. Since the tlocation change, even regular make
    cycle doesn't work anymore though... 
						
					 
					
						2004-10-31 23:18:29 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							36ca15cf07 
							
						 
					 
					
						
						
							
							* fixed compilation of system unit on arm  
						
						
						
					 
					
						2004-10-31 16:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e04b172854 
							
						 
					 
					
						
						
							
							* fixed generic optimizer  
						
						... 
						
						
						
						* enabled generic optimizer for sparc 
						
					 
					
						2004-10-30 15:21:37 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							30be9e8e5d 
							
						 
					 
					
						
						
							
							* during translation only process regalloc for the current regtype  
						
						
						
					 
					
						2004-10-24 17:04:01 +00:00 
						 
				 
			
				
					
						
							
							
								mazen 
							
						 
					 
					
						
						
						
						
							
						
						
							581b52422c 
							
						 
					 
					
						
						
							
							- remove $IFDEF DELPHI and related code  
						
						... 
						
						
						
						- remove $IFDEF FPCPROCVAR and related code 
						
					 
					
						2004-10-15 09:14:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							60c73cc0e5 
							
						 
					 
					
						
						
							
							* -Or fixes for open array  
						
						
						
					 
					
						2004-10-13 21:12:51 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b0ebc06ce6 
							
						 
					 
					
						
						
							
							* removed warning about register used only once  
						
						
						
					 
					
						2004-10-11 15:47:03 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							eaf46c4fb1 
							
						 
					 
					
						
						
							
							* live_registers must be restored after the spilling store code  
						
						... 
						
						
						
						is generate to add correct conflicts for extra temporary registers 
						
					 
					
						2004-10-06 20:14:08 +00:00 
						 
				 
			
				
					
						
							
							
								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