Károly Balogh
8674e35f45
* removed a_call_reg hack, not needed after peter's latest fix
...
git-svn-id: trunk@9130 -
2007-11-04 15:27:31 +00:00
Károly Balogh
14f958682c
+ first attempt to implement a_call_reg
...
+ various other changes
git-svn-id: trunk@9127 -
2007-11-04 01:40:02 +00:00
Károly Balogh
1536e9e65b
+ de-uglified the previous hack
...
+ made Amiga syscalls to save/restore the frame pointer (do we really need a frame pointer?)
+ some disabled debug comments (to asm source)
+ compiler is now able to generate some VERY basic, but working Amiga-m68k executables
git-svn-id: trunk@9051 -
2007-11-01 19:31:58 +00:00
Károly Balogh
12bcb539e6
+ fix(?) stack return address with an ugly hack...
...
git-svn-id: trunk@9047 -
2007-11-01 16:04:16 +00:00
Károly Balogh
91abb3aeb9
+ first (failed) attempt to have a working stackframe generation
...
git-svn-id: trunk@9040 -
2007-11-01 14:16:17 +00:00
Károly Balogh
b91c0756c4
+ made m68k to compile system unit again
...
git-svn-id: trunk@9017 -
2007-10-31 22:33:00 +00:00
florian
00d6a03b2c
+ default code now preserves mm registers
...
* save|restore_standard_registers => save|restore_registers
git-svn-id: trunk@8954 -
2007-10-27 12:02:28 +00:00
florian
3a630340be
* fixed m68k compilation and put it in fullcycle
...
git-svn-id: trunk@8953 -
2007-10-27 11:24:50 +00:00
peter
9f0ca44c94
* new tf_smartlink_library flag
...
* use create_smartlink[_sections|_library] to check what to
do for smartlinking
git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
peter
6b8aed593f
* remove registers{int/mmx/fpu} from firstpass
...
* small cleanups of unused variables in firstpass
* node_resources_fpu() created to get an approximation of the
required fpu registers
* for the moment use node_complexity in the CG until the
node_resource_int() is created
git-svn-id: trunk@8655 -
2007-09-26 21:12:01 +00:00
florian
bd4bb505b3
* put Charlie's writeln debugger between DEBUG_CHARLIE conditional compilation symbols
...
git-svn-id: trunk@8503 -
2007-09-16 11:43:04 +00:00
florian
abfdda6129
* small m68k cleanups
...
git-svn-id: trunk@8500 -
2007-09-16 10:21:17 +00:00
Károly Balogh
0c6f533ba3
+ made m68k compiler to compile again
...
git-svn-id: trunk@8467 -
2007-09-13 22:30:27 +00:00
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