florian 
							
						 
					 
					
						
						
						
						
							
						
						
							2a54d957b2 
							
						 
					 
					
						
						
							
							* fixed two small errors  
						
						... 
						
						
						
						* supported_optimizerswitches now takes generic flags also into account
git-svn-id: trunk@4865 - 
						
					 
					
						2006-10-11 21:14:47 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							a61abb25cb 
							
						 
					 
					
						
						
							
							* reorganized optimizer switch sets  
						
						... 
						
						
						
						git-svn-id: trunk@4862 - 
						
					 
					
						2006-10-11 18:16:10 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e8d5dc4ab2 
							
						 
					 
					
						
						
							
							* tailrecursion optimization enabled for for sparc, i386, x86-64 and arm  
						
						... 
						
						
						
						git-svn-id: trunk@4860 - 
						
					 
					
						2006-10-11 16:34:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							2000c7d3e3 
							
						 
					 
					
						
						
							
							* used "gas" instead of "as" for Solaris (both sparc and x86)  
						
						... 
						
						
						
						and not for linux/sparc
git-svn-id: trunk@4659 - 
						
					 
					
						2006-09-19 13:38:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							805570c3cf 
							
						 
					 
					
						
						
							
							* fixed internalerrors due to no (dummy) MM reg allocator  
						
						... 
						
						
						
						git-svn-id: trunk@4336 - 
						
					 
					
						2006-08-03 15:37:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							90cacb4cf5 
							
						 
					 
					
						
						
							
							* changed result type of dwarf_reg from byte to shortint to avoid  
						
						... 
						
						
						
						warning about comparison which can never be true
git-svn-id: trunk@4183 - 
						
					 
					
						2006-07-14 17:25:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5376d2d570 
							
						 
					 
					
						
						
							
							Merged revisions 3072-3073 via svnmerge from  
						
						... 
						
						
						
						http://svn.freepascal.org/svn/fpc/branches/linker/compiler 
........
r3072 | peter | 2006-03-29 13:34:42 +0200 (Wed, 29 Mar 2006) | 4 lines
  * std_regname generate pair of registers for float doubles
  * don't call translate_register for regvars if -sr is passed
  * use std_regname in regalloc message
........
r3073 | peter | 2006-03-29 16:00:37 +0200 (Wed, 29 Mar 2006) | 2 lines
  * CMP instructions only read operands
........
git-svn-id: trunk@3079 - 
					
						2006-03-30 06:36:42 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0ec2921bbe 
							
						 
					 
					
						
						
							
							* split newasmsymbol to refasmsymbol and defineasmsymbol  
						
						... 
						
						
						
						git-svn-id: trunk@3057 - 
						
					 
					
						2006-03-27 11:45:18 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							870be04a3f 
							
						 
					 
					
						
						
							
							* use dwarf_reg()  
						
						... 
						
						
						
						git-svn-id: trunk@3046 - 
						
					 
					
						2006-03-26 20:15:32 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							46a68c8a27 
							
						 
					 
					
						
						
							
							* fixed compilation  
						
						... 
						
						
						
						git-svn-id: trunk@2945 - 
						
					 
					
						2006-03-17 21:01:50 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8a6ebdf274 
							
						 
					 
					
						
						
							
							- disabled loop unrolling for level 3 optimizations since it only causes  
						
						... 
						
						
						
						crashes (and even if it didn't, on its own it mainly causes code
    bloat)
git-svn-id: trunk@2941 - 
						
					 
					
						2006-03-17 17:42:39 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							2888a21593 
							
						 
					 
					
						
						
							
							* list supported optimization options in -i  
						
						... 
						
						
						
						* support $OPTIMIZATION and $O+
git-svn-id: trunk@2904 - 
						
					 
					
						2006-03-13 11:17:56 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b6e35a200e 
							
						 
					 
					
						
						
							
							* rewrite of optimizer options  
						
						... 
						
						
						
						git-svn-id: trunk@2901 - 
						
					 
					
						2006-03-13 09:05:50 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							558c894e73 
							
						 
					 
					
						
						
							
							* fix for dword div dword power of two  
						
						... 
						
						
						
						git-svn-id: trunk@2890 - 
						
					 
					
						2006-03-12 18:22:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9de2847865 
							
						 
					 
					
						
						
							
							+ support for passing parameters via pre-allocated stack space on i386  
						
						... 
						
						
						
						(override/adjust cgutils.use_fixed_stack to change conditions where
     this is done, currently only activated for darwin-i386)
  * make sure the stack is always aligned to 16 bytes on darwin-i386
git-svn-id: trunk@2840 - 
						
					 
					
						2006-03-10 19:59:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ba6f1e4990 
							
						 
					 
					
						
						
							
							* factered WriteInstruction out of TGNUAssembler into its own class  
						
						... 
						
						
						
						* put Apple-specific GNU assembler stuff in its own class
  + darwin/x86 support to the assembler writer
git-svn-id: trunk@2818 - 
						
					 
					
						2006-03-09 14:59:04 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							0b1b0047f4 
							
						 
					 
					
						
						
							
							* use GNU Assembler by default on sparc-solaris, it's now called gas  
						
						... 
						
						
						
						git-svn-id: trunk@2510 - 
						
					 
					
						2006-02-10 19:06:28 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							68016e4db2 
							
						 
					 
					
						
						
							
							* fixed function result handling for procedure which are inlinable  
						
						... 
						
						
						
						git-svn-id: trunk@2461 - 
						
					 
					
						2006-02-06 21:44:35 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a3ab2053c9 
							
						 
					 
					
						
						
							
							* support multiple asmlabel types, renamed getlabel to  
						
						... 
						
						
						
						getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 - 
						
					 
					
						2005-09-18 21:16:10 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ca66b9f7c1 
							
						 
					 
					
						
						
							
							* force writing of new section before generating the jumptable  
						
						... 
						
						
						
						git-svn-id: trunk@1085 - 
						
					 
					
						2005-09-15 14:08:02 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							fdc4925fcd 
							
						 
					 
					
						
						
							
							* basic framework for debuginfo class added  
						
						... 
						
						
						
						git-svn-id: trunk@1084 - 
						
					 
					
						2005-09-15 08:34:51 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c3727c29b2 
							
						 
					 
					
						
						
							
							* rename al_code to al_procedures, al_bss/al_data to al_globals  
						
						... 
						
						
						
						* more work for section smartlinking
git-svn-id: trunk@1083 - 
						
					 
					
						2005-09-15 06:51:12 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							05a628447f 
							
						 
					 
					
						
						
							
							* put typedconsts in own asmlist to prevent mixing  
						
						... 
						
						
						
						array and string data
  * added al_rodata
  * renamed tasmlist enum names to include al_ prefix
git-svn-id: trunk@899 - 
						
					 
					
						2005-08-17 08:42:52 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							9be5247db5 
							
						 
					 
					
						
						
							
							* dyn. arrays are always passed by value, fixes 4240  
						
						... 
						
						
						
						git-svn-id: trunk@800 - 
						
					 
					
						2005-08-05 21:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							804207239d 
							
						 
					 
					
						
						
							
							*c <int64>:=-<longint> fixed (bug 4253)  
						
						... 
						
						
						
						git-svn-id: trunk@796 - 
						
					 
					
						2005-08-05 19:00:30 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							d05f58b604 
							
						 
					 
					
						
						
							
							* Group asmlists into array to be able to add  
						
						... 
						
						
						
						some of them more comfortably.
  * x86_64 compilation was broken, fixed.
  * Sparc compilation was broken, fixed.
git-svn-id: trunk@731 - 
						
					 
					
						2005-07-23 13:44:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8bc4e0a32f 
							
						 
					 
					
						
						
							
							* inline and compilerproc are now procoptions instead of proccall types  
						
						... 
						
						
						
						(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated
git-svn-id: trunk@658 - 
						
					 
					
						2005-07-18 15:27:14 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c1b2e1aac5 
							
						 
					 
					
						
						
							
							* check function/procedure type when adding a proc definition  
						
						... 
						
						
						
						git-svn-id: trunk@546 - 
						
					 
					
						2005-06-30 14:56:05 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							88392fa21d 
							
						 
					 
					
						
						
							
							* cardinal to double fixed  
						
						... 
						
						
						
						git-svn-id: trunk@514 - 
						
					 
					
						2005-06-28 19:31:29 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							1fa6d8c993 
							
						 
					 
					
						
						
							
							* syntax error fixed  
						
						... 
						
						
						
						git-svn-id: trunk@410 - 
						
					 
					
						2005-06-14 21:01:42 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4ace790492 
							
						 
					 
					
						
						
							
							* remove $Log  
						
						... 
						
						
						
						git-svn-id: trunk@231 - 
						
					 
					
						2005-06-07 09:47:55 +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 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							22d9294ab3 
							
						 
					 
					
						
						
							
							+ overflow checking for the arm  
						
						
						
					 
					
						2005-02-13 18:55:19 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							651f9e5bbd 
							
						 
					 
					
						
						
							
							+ implemented overflow checking for 64 bit types on sparc  
						
						
						
					 
					
						2005-01-27 20:32:51 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4efb72e13d 
							
						 
					 
					
						
						
							
							* fixed load64 which shouldn't do a make_simple_ref  
						
						
						
					 
					
						2005-01-25 20:58:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e820bc93f2 
							
						 
					 
					
						
						
							
							* interface wrapper generation moved to cgobj  
						
						... 
						
						
						
						* generate interface wrappers after the module is parsed 
						
					 
					
						2005-01-24 22:08:32 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							00324d38bf 
							
						 
					 
					
						
						
							
							+ optimized code generation on sparc  
						
						... 
						
						
						
						+ some stuff for pic code on sparc added 
						
					 
					
						2005-01-23 17:14:21 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							35e466d971 
							
						 
					 
					
						
						
							
							* remove copy_value_on_stack and a_param_copy_ref  
						
						
						
					 
					
						2005-01-20 17:47:01 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							04c97cc129 
							
						 
					 
					
						
						
							
							* load jmp_buf_size from system unit  
						
						
						
					 
					
						2005-01-20 16:38:45 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9c22d594b0 
							
						 
					 
					
						
						
							
							+ support for passing records in registers under darwin  
						
						... 
						
						
						
						* tcgpara now also has an intsize field, which contains the size in
    bytes of the whole parameter 
						
					 
					
						2005-01-10 21:50:05 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fcfbc935a1 
							
						 
					 
					
						
						
							
							+ implemented abi compliant handling of strucutured functions results on sparc platform  
						
						
						
					 
					
						2005-01-07 16:22:54 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ed57ad0371 
							
						 
					 
					
						
						
							
							* improved code generation for OP_MUL/OP_IMUL  
						
						
						
					 
					
						2005-01-01 13:19:09 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b44f17099c 
							
						 
					 
					
						
						
							
							* fixed some alignment trouble  
						
						
						
					 
					
						2004-12-18 15:48:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d018160981 
							
						 
					 
					
						
						
							
							* fixed compilation  
						
						
						
					 
					
						2004-12-04 15:23:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8cf8c54609 
							
						 
					 
					
						
						
							
							* fixed varargs  
						
						... 
						
						
						
						* replaced dynarray with tlist 
						
					 
					
						2004-11-22 22:01:19 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a29eab36c7 
							
						 
					 
					
						
						
							
							* fixed funcretloc for sparc  
						
						
						
					 
					
						2004-11-21 18:13:31 +00:00