florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b1dff29cbf 
							
						 
					 
					
						
						
							
							* removed unused units  
						
						... 
						
						
						
						git-svn-id: trunk@36165 - 
						
					 
					
						2017-05-09 19:53:14 +00:00 
						 
				 
			
				
					
						
							
							
								nickysn 
							
						 
					 
					
						
						
						
						
							
						
						
							7ea0429d40 
							
						 
					 
					
						
						
							
							+ added new compiler debug ifdef DEBUG_INSTRUCTIONREGISTERDEPENDENCIES, which  
						
						... 
						
						
						
						adds instruction register usage info to the assembly output (only register
  reads for now, but register writes will also be added later). Useful for
  debugging InstructionLoadsFromReg and other similar functions.
git-svn-id: trunk@35967 - 
						
					 
					
						2017-04-27 13:40:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							3c2dab9878 
							
						 
					 
					
						
						
							
							* i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same  
						
						... 
						
						
						
						git-svn-id: trunk@33542 - 
						
					 
					
						2016-04-21 20:14:01 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4ac3953c34 
							
						 
					 
					
						
						
							
							* use InstructionLoadsFromReg instead of RegInInstruction when moving register deallocations  
						
						... 
						
						
						
						git-svn-id: trunk@33541 - 
						
					 
					
						2016-04-21 19:51:05 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							b26fa07f1a 
							
						 
					 
					
						
						
							
							* Fixed notes "var is assigned but not used".  
						
						... 
						
						
						
						git-svn-id: trunk@31734 - 
						
					 
					
						2015-09-17 13:03:04 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							432248cbf1 
							
						 
					 
					
						
						
							
							* Removed lot of unused vars.  
						
						... 
						
						
						
						git-svn-id: trunk@31732 - 
						
					 
					
						2015-09-17 12:48:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1b43930749 
							
						 
					 
					
						
						
							
							- removed long deprecated/buggy assembler cse optimiser for i386  
						
						... 
						
						
						
						o bumped ppu version because optimiser settings can be embedded in generic
     token streams
git-svn-id: trunk@30835 - 
						
					 
					
						2015-05-09 17:25:07 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							2daae5ff03 
							
						 
					 
					
						
						
							
							* moved comment so it is recognized by lazarus as a method description  
						
						... 
						
						
						
						git-svn-id: trunk@30439 - 
						
					 
					
						2015-04-05 19:08:00 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							92fa75838e 
							
						 
					 
					
						
						
							
							* honour -Oonopeephole  
						
						... 
						
						
						
						git-svn-id: trunk@27106 - 
						
					 
					
						2014-03-11 23:18:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							6e62fbc3d2 
							
						 
					 
					
						
						
							
							* more consistent updates of used registers  
						
						... 
						
						
						
						+ FindRegDeAlloc searching for a register deallocation
* FindRegAlloc now returns the allocation object which was found
git-svn-id: trunk@22191 - 
						
					 
					
						2012-08-22 19:52:15 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e1a2b1859a 
							
						 
					 
					
						
						
							
							* comments and explanations on tai_regalloc.keep field  
						
						... 
						
						
						
						* write/read tai_regalloc. field to/from ppu
git-svn-id: trunk@22190 - 
						
					 
					
						2012-08-22 19:52:08 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b6608e716b 
							
						 
					 
					
						
						
							
							+ tai_regalloc.keep to force register deallocations to be keep  
						
						... 
						
						
						
						git-svn-id: trunk@22187 - 
						
					 
					
						2012-08-22 19:51:47 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							2a14394cf5 
							
						 
					 
					
						
						
							
							* cleaned up scheduler code, created own scheduler class to avoid unneeded passes through the assembler  
						
						... 
						
						
						
						git-svn-id: trunk@22133 - 
						
					 
					
						2012-08-19 19:15:34 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							117c083003 
							
						 
					 
					
						
						
							
							* call inherited Destroy in TAsmOptimizer to avoid memory leak  
						
						... 
						
						
						
						git-svn-id: trunk@21706 - 
						
					 
					
						2012-06-25 20:19:19 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8832a34b67 
							
						 
					 
					
						
						
							
							* fix reg. allocs even for procedures without labels  
						
						... 
						
						
						
						git-svn-id: trunk@21309 - 
						
					 
					
						2012-05-15 18:09:12 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							75e62e42e4 
							
						 
					 
					
						
						
							
							* add debug statements  
						
						... 
						
						
						
						* avoid possible problems with unknown ra_ types
git-svn-id: trunk@21304 - 
						
					 
					
						2012-05-15 18:07:08 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							748694a325 
							
						 
					 
					
						
						
							
							* fixes some issues with reg. allocation information  
						
						... 
						
						
						
						git-svn-id: trunk@21303 - 
						
					 
					
						2012-05-15 18:06:41 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							0fe22a358b 
							
						 
					 
					
						
						
							
							+ first version of ldr instruction scheduler on arm  
						
						... 
						
						
						
						git-svn-id: trunk@20512 - 
						
					 
					
						2012-03-11 19:10:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							666b4e2469 
							
						 
					 
					
						
						
							
							* fixed range errors in label bookkeeping that caused too much memory to be  
						
						... 
						
						
						
						allocated for optimising jumps
git-svn-id: trunk@14470 - 
						
					 
					
						2009-12-23 21:08:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							090f2a6108 
							
						 
					 
					
						
						
							
							* defined "class of TAsmOptimizer" as separate type to avoid tripping  
						
						... 
						
						
						
						Lazarus'  code navigation
git-svn-id: trunk@14411 - 
						
					 
					
						2009-12-11 21:48:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							c1c1b2deac 
							
						 
					 
					
						
						
							
							* more aint() type casts replaced by int64() type casts  
						
						... 
						
						
						
						git-svn-id: trunk@12073 - 
						
					 
					
						2008-11-13 19:44:30 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							a039dd6942 
							
						 
					 
					
						
						
							
							* Fixed warnings about hiding inherited method.  
						
						... 
						
						
						
						git-svn-id: trunk@11449 - 
						
					 
					
						2008-07-23 11:51:19 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							451a290caf 
							
						 
					 
					
						
						
							
							* Fixed 'mixed signed/unsigned' and pointer conversion warnings.  
						
						... 
						
						
						
						git-svn-id: trunk@11444 - 
						
					 
					
						2008-07-23 11:17:27 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							fd0ed50331 
							
						 
					 
					
						
						
							
							* Removed/commented more unused variables.  
						
						... 
						
						
						
						* Fixed some uninitialized variable warnings.
git-svn-id: trunk@11442 - 
						
					 
					
						2008-07-23 10:48:53 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							fcceb9cfa1 
							
						 
					 
					
						
						
							
							* Removed/ifdefed/commented unused local variables.  
						
						... 
						
						
						
						git-svn-id: trunk@11430 - 
						
					 
					
						2008-07-20 23:00:31 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4010d66c2c 
							
						 
					 
					
						
						
							
							* arm cond. instruction support  
						
						... 
						
						
						
						git-svn-id: trunk@5387 - 
						
					 
					
						2006-11-14 22:37:22 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							85d63d9fa9 
							
						 
					 
					
						
						
							
							* settings refactored  
						
						... 
						
						
						
						git-svn-id: trunk@5094 - 
						
					 
					
						2006-10-30 18:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							89f5d65784 
							
						 
					 
					
						
						
							
							* fix findlohilabel  
						
						... 
						
						
						
						git-svn-id: trunk@3299 - 
						
					 
					
						2006-04-20 13:59:14 +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 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b6e35a200e 
							
						 
					 
					
						
						
							
							* rewrite of optimizer options  
						
						... 
						
						
						
						git-svn-id: trunk@2901 - 
						
					 
					
						2006-03-13 09:05:50 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ab5f5ca15e 
							
						 
					 
					
						
						
							
							* fixed ppc compilation  
						
						... 
						
						
						
						git-svn-id: trunk@2778 - 
						
					 
					
						2006-03-05 22:06:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cd3f064a33 
							
						 
					 
					
						
						
							
							+ enabled postpeepholeopts phase  
						
						... 
						
						
						
						+ optimize "integer op" followed by comparison of target register with zero
    to a variant of that integer op which sets the flags (ppc)
  + change rlwinm. instructions which do nothing but an "and" operation into
    andi./andis., since the rlwinm. is cracked on the G5 while andi./andis.
    isn't
git-svn-id: trunk@1361 - 
						
					 
					
						2005-10-12 19:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ab3bc45fa4 
							
						 
					 
					
						
						
							
							* cpu-specific overrides of optimizer methods now get called  
						
						... 
						
						
						
						+ first simple rlwinm optimization for ppc
git-svn-id: trunk@1320 - 
						
					 
					
						2005-10-07 21:44:00 +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 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ec959955bd 
							
						 
					 
					
						
						
							
							* fixed generic jumps optimizer and enabled it for ppc (the label table  
						
						... 
						
						
						
						was not being initialised -> getfinaldestination always failed, which
    caused wrong optimizations in some cases)
  * changed the inverse_cond into a function, because tasmcond is a record
    on ppc
  + added a compare_conditions() function for the same reason 
						
					 
					
						2005-02-26 01:26:59 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e04b172854 
							
						 
					 
					
						
						
							
							* fixed generic optimizer  
						
						... 
						
						
						
						* enabled generic optimizer for sparc 
						
					 
					
						2004-10-30 15:21:37 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9758c5e2 
							
						 
					 
					
						
						
							
							* logs truncated  
						
						
						
					 
					
						2004-06-20 08:55:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4285e99853 
							
						 
					 
					
						
						
							
							* internal linker  
						
						... 
						
						
						
						* reorganized aasm layer 
						
					 
					
						2002-07-01 18:46:20 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							06ebac4e27 
							
						 
					 
					
						
						
							
							* readded missing revisions  
						
						
						
					 
					
						2002-05-18 13:34:04 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							21b3a10f02 
							
						 
					 
					
						
						
							
							+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand  
						
						... 
						
						
						
						+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup 
						
					 
					
						2002-05-16 19:46:34 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2992e1819c 
							
						 
					 
					
						
						
							
							* removed old logs and updated copyright year  
						
						
						
					 
					
						2002-05-14 19:34:38 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							9746f4c2d6 
							
						 
					 
					
						
						
							
							* some cg reorganisation  
						
						... 
						
						
						
						* some PPC updates 
						
					 
					
						2001-08-26 13:35:06 +00:00