yury
3b7e458f02
* Properly set location of float return value if it is passed as var parameter (it is always happens for safecall functions). It fixes bugs #8523 and #8977 .
...
+ test.
git-svn-id: trunk@7728 -
2007-06-18 23:23:46 +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
Jonas Maebe
e815b923d5
* a_loadfpu_* gets two size parameters: fromsize and tosize
...
* fixed downsizing the precision of floating point values
* floating point constants are now treated using only the minimal
precision required (e.g. 2.0 is now a single, 1.1 extended etc)
(Delphi compatible)
git-svn-id: trunk@5927 -
2007-01-12 18:33:51 +00:00
Jonas Maebe
1d96dcc50d
* renamed nf_swaped to nf_swapped
...
git-svn-id: trunk@5818 -
2007-01-05 12:47:22 +00:00
florian
d1b6522866
* fixed pushing of parameters on m68k
...
git-svn-id: trunk@5800 -
2007-01-03 21:46:49 +00:00
pierre
8bd9d88641
* remove C like code to be able to compile unit
...
git-svn-id: trunk@5794 -
2007-01-02 23:30:23 +00:00
Károly Balogh
abcf865224
+ more a_param_* implemented
...
git-svn-id: trunk@5792 -
2007-01-02 22:11:52 +00:00
Jonas Maebe
a23fa2e81e
* moved (unfinished) routines related to writing taicpu's to ppu files
...
from x86/aasmcpu to aasmtai and (new) aasmsym, so that when they're
finished they're available for all targets
* added dummy implementation of tai_cpu_abstract.pass1 and pass2 so there
are no more hundreds of warnings on non-x86 about constructing taicpu
instances with abstract methods
git-svn-id: trunk@5787 -
2007-01-02 18:28:05 +00:00
Károly Balogh
e5249a8b56
+ some messy m68k changes (first attempt to implement a_param_*)
...
git-svn-id: trunk@5782 -
2007-01-02 00:11:52 +00:00
Károly Balogh
f4b44b8a97
+ unbroke m68k-amiga syscalls
...
git-svn-id: trunk@5586 -
2006-12-13 20:19:43 +00:00
florian
6d2e5027b3
* preserve opsize
...
git-svn-id: trunk@5555 -
2006-12-07 20:42:59 +00:00
Károly Balogh
d6844efccc
+ fixed dbra errors
...
git-svn-id: trunk@5544 -
2006-12-05 19:03:20 +00:00
Jonas Maebe
05a07a7dd2
* better fix for previous revision
...
* also applied to x86 and m68k
git-svn-id: trunk@5512 -
2006-11-30 20:55:32 +00:00
Károly Balogh
119cdbb772
- fixed bra #.label assembler errors hopefully
...
git-svn-id: trunk@5492 -
2006-11-26 16:19:54 +00:00
florian
ab919747a6
* several m68k fixes
...
* push_value_para partially cleaned up
git-svn-id: trunk@5435 -
2006-11-20 22:13:49 +00:00
florian
2b7fb31a9e
* return float values in fpu registers only in non emulation mode
...
git-svn-id: trunk@5429 -
2006-11-19 22:25:23 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
florian
4cbb67aa00
* some fpu emulation code from arm to generic code generator moved
...
* several m68k fixes
git-svn-id: trunk@5218 -
2006-11-04 10:23:35 +00:00
peter
4ea7562084
* compile fix
...
git-svn-id: trunk@5216 -
2006-11-04 00:31:39 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
9eb07499bf
* fix non-x86 for iasmop
...
git-svn-id: trunk@5151 -
2006-11-01 16:23:43 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
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
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
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
peter
37c81492ad
Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
r2827 (peter)
* smartlinking of resourcestrings
r2831 (peter)
* process_ea 64bit fixes
r2837 (peter)
* linker script
git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +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
588cccb3ca
* remove some obsolete i386 specific code
...
* use a_optimize_const to remove useless opcodes
git-svn-id: trunk@2910 -
2006-03-13 16:37:08 +00:00
peter
d8dc5679e3
* aktcputype and aktoptimizecputype was missing in the previous optimization commits
...
git-svn-id: trunk@2907 -
2006-03-13 12:29:56 +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
Károly Balogh
314e1672b7
+ fixed m68k for latest changes
...
git-svn-id: trunk@2834 -
2006-03-10 14:23:08 +00:00
Károly Balogh
3b2fe2b622
* some more tiny m68k hacks...
...
git-svn-id: trunk@2804 -
2006-03-07 23:01:55 +00:00
Károly Balogh
e785aee0a1
+ added ifndef NOTARGETAMIGA
...
git-svn-id: trunk@2404 -
2006-02-02 11:55:33 +00:00
peter
54d4e9e4b9
* palmos patch from mazen
...
git-svn-id: trunk@2400 -
2006-02-02 07:12:43 +00:00
Károly Balogh
a9dbab1035
- tiny bits of mess cleanup
...
git-svn-id: trunk@2399 -
2006-02-02 00:11:49 +00:00
florian
2c1e796f1f
* fixed regallocator for m68k
...
git-svn-id: trunk@2395 -
2006-02-01 20:26:28 +00:00
Károly Balogh
9a879981ed
* even more m68k mess
...
a tiny fix, and some code from ppc cg, to serve as base
git-svn-id: trunk@2391 -
2006-02-01 15:19:58 +00:00
Károly Balogh
37024dc4d0
+ more m68k mess... ignore :)
...
git-svn-id: trunk@2384 -
2006-01-31 16:58:50 +00:00
Károly Balogh
8d8e9b8806
+ more 68k mess, committed to transfer between dev machines, ignore
...
git-svn-id: trunk@2382 -
2006-01-31 01:39:24 +00:00
Károly Balogh
db07870443
totally messy m68k changes. cleanup in progress
...
git-svn-id: trunk@2352 -
2006-01-27 14:20:35 +00:00
peter
47c1bb60b4
* remove svn:executable from *.pp and *.pas
...
git-svn-id: trunk@1997 -
2005-12-20 08:11:59 +00:00
Károly Balogh
739ae4c254
+ 1st attempt to have explicit funcretloc for Amiga/m68k
...
git-svn-id: trunk@1978 -
2005-12-18 03:58:27 +00:00
Károly Balogh
12b1ff0df2
+ added n68kcal.pas, forgot to add previously
...
git-svn-id: trunk@1977 -
2005-12-17 16:44:31 +00:00
Károly Balogh
238964e443
Various m68k fixes/additions:
...
- fixes in asmreader, basic stuff works again, the rest is untested
- removed lot of unnecessary ungetcpuregister()s
- various other fixes i forgot
+ basic amigaos syscalls support. still lacks explicit funcretloc
git-svn-id: trunk@1943 -
2005-12-13 20:42:15 +00:00