michael
953269fcff
+ Patch from Wiktor Sywula for watcom support
2003-09-30 08:39:50 +00:00
peter
540691bf02
* optimized releasing of registers
2003-09-29 20:58:55 +00:00
peter
409b982075
* insertbefore added
2003-09-29 20:52:50 +00:00
peter
15446d6522
* removed emitjmp
2003-09-28 21:49:39 +00:00
peter
a028d221cc
* fixed invalid opcode handling in spill registers
2003-09-28 21:49:30 +00:00
peter
9a9d96fe5d
* fix register leak
2003-09-28 21:48:57 +00:00
peter
47d211aa2e
* fix register leaks
2003-09-28 21:48:20 +00:00
peter
2693582200
* register paras and local copies updates
2003-09-28 21:47:18 +00:00
peter
c6f0a5fb0e
* fix allocation of threadvar parameter
2003-09-28 21:46:18 +00:00
peter
75cb52213f
* fix register leak in with debug
2003-09-28 21:45:52 +00:00
peter
2c4df4364e
* fix check that filedef needs var para
2003-09-28 21:44:55 +00:00
peter
99bb20747e
* parent framepointer changed to hidden parameter
...
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
peter
a561878746
* removed a_call_ref
2003-09-28 13:54:43 +00:00
peter
dea558b5c7
* return reg 255 when allowdupreg is defined
2003-09-28 13:41:12 +00:00
peter
b3ef859971
* default calling convention changed to stdcall
2003-09-28 13:39:58 +00:00
peter
d77cf79d3b
* optimized releasing of registers
2003-09-28 13:39:38 +00:00
peter
e732233993
* invalid register message
2003-09-28 13:38:11 +00:00
peter
e248f1b570
* a_call_ref removed
2003-09-28 13:37:19 +00:00
peter
36c2bb1e1a
* give error for wrong register number
2003-09-28 13:37:07 +00:00
peter
eb5429425a
* shortstr compare updated for different calling conventions
2003-09-28 13:35:40 +00:00
peter
116153cf24
* register calling updates
2003-09-28 13:35:24 +00:00
peter
f6868f8d48
* fix reported file position for not matched forwards
2003-09-27 13:29:43 +00:00
peter
b6a0492c9c
* remove sp_fixup
2003-09-25 21:29:23 +00:00
peter
1c11c95b3c
* change push/pop in getreg/ungetreg
2003-09-25 21:29:16 +00:00
peter
2392f28675
* parameter fixes
2003-09-25 21:28:00 +00:00
peter
ab3d323e5b
* rearranged threadvar code so the result register is the same
...
for the relocated and address loaded variables
2003-09-25 21:27:31 +00:00
peter
e7a50f0ee0
* remove obsolete tparalocation.sp_fixup
2003-09-25 21:26:24 +00:00
peter
349fceb4fc
* has_local_copy gdb fix
2003-09-25 21:25:37 +00:00
peter
56c14885bb
* remove allocate_intterupt_parameter, allocation is platform
...
dependent and needs to be done in create_paraloc_info
2003-09-25 21:25:13 +00:00
peter
eee2002780
* don't include vo_has_local_copy for open array/array of const
2003-09-25 21:24:09 +00:00
peter
bf66a6e4ab
* fix filepositions
...
* insert spill temp allocations at the start of the proc
2003-09-25 16:19:32 +00:00
peter
545f437740
* fixed stabs for globals,static
2003-09-25 16:18:54 +00:00
peter
e487793919
* %st is st0 in nasm
2003-09-25 14:59:16 +00:00
peter
7c6560ab7f
* fix intf wrapper code
2003-09-25 14:59:06 +00:00
peter
0805c4e535
* fix different expectloc
2003-09-25 14:57:51 +00:00
peter
cc823ff893
* fix check for unreachable locals
2003-09-25 14:57:36 +00:00
florian
0493cd3d2e
* more x86-64 fixes
2003-09-25 13:13:32 +00:00
florian
f6e456268f
* fixed make cycle
2003-09-24 21:15:49 +00:00
florian
cedff1a593
+ processor type intialization for x86-64 added
2003-09-24 17:13:22 +00:00
florian
0b48a6a3ec
* x86-64 adaptions
2003-09-24 17:12:36 +00:00
florian
8edd479391
* several fixes for new reg allocator
2003-09-24 17:12:02 +00:00
florian
88a3541c80
* x86_64 support; turn on by passing x86_64
2003-09-24 17:11:33 +00:00
marco
88e866dcb7
* (Peter) patch to fix snapshot
2003-09-24 13:02:10 +00:00
peter
420c1cdfe1
* don't call firstpass in resulttypepass
2003-09-23 21:10:11 +00:00
peter
72b8932713
* check for refs>0 in init/final local data
2003-09-23 21:03:59 +00:00
peter
d3063f722c
* connect parasym to paraitem
2003-09-23 21:03:35 +00:00
peter
72761249f1
* fix global var+offset
2003-09-23 20:37:53 +00:00
peter
56ece89fe5
* fpc_check_object(_ext) has saveregisters and doesn't need
...
saving of registers
2003-09-23 20:37:16 +00:00
peter
06071e3d31
* remove obsolete code
2003-09-23 20:36:47 +00:00
peter
ddc50a91ca
* add missing release of main_proc
2003-09-23 18:03:08 +00:00
peter
9ef935b8a7
* recordminalign for sparc 0
2003-09-23 17:58:38 +00:00
peter
8af51ea6d3
* locals and paras are allocated in the code generation
...
* tvarsym.localloc contains the location of para/local when
generating code for the current procedure
2003-09-23 17:56:05 +00:00
marco
a2f5d5f579
* adapted to unixutil
2003-09-18 15:48:22 +00:00
marco
86cdc8f4d1
* BSD 1.0.x still uses st_ prefixes.
2003-09-18 15:38:17 +00:00
marco
4b6df870be
* fix for snapshot building.
2003-09-18 08:50:48 +00:00
olle
6f78eac09f
+ support for a different set of compiler directives under $MODE MAC
...
+ added mac directives $SETC $IFC $ELSEC $ENDC
2003-09-17 22:30:19 +00:00
olle
f891435ca0
+ added command line option for language mode -M<x>
...
+ helpinfo powerpc targets
2003-09-17 21:38:54 +00:00
olle
41fda4ee40
+ added command line option for language mode -M<x>
2003-09-17 21:37:07 +00:00
peter
76a53a375d
* varspez in calls to push_addr_param
2003-09-16 16:17:01 +00:00
peter
369fe529be
* obsolete
2003-09-16 15:14:49 +00:00
marco
cc3c6c7f4a
* Had a useless dependancy on unit unix in 1_1 mode
2003-09-16 13:42:39 +00:00
marco
fd800a1de8
* now for all platforms
2003-09-16 07:07:29 +00:00
marco
cf0c2af370
* fixed
2003-09-15 20:11:06 +00:00
daniel
505f97b75a
* Removed m68k from fullcycle
2003-09-15 16:30:41 +00:00
Jonas Maebe
5677b3c274
* fixed release_reg_left_right for fpu registers
2003-09-14 21:57:08 +00:00
Jonas Maebe
0bc32cbcd1
+ implemented volatile register queries
2003-09-14 21:56:41 +00:00
peter
94b2de254f
* remove ppc code
2003-09-14 21:36:01 +00:00
peter
dfd282aac6
* flags2reg fixed
...
* fixed 64bit not
2003-09-14 21:35:52 +00:00
peter
46e1925e11
* new volatile registers proc
2003-09-14 21:35:15 +00:00
peter
3ccd30efde
* fix setelementn support
...
* fix loading of flags
2003-09-14 21:34:16 +00:00
peter
c8bc89720c
* location_force_reg gives IE when size=OS_NO
2003-09-14 21:33:37 +00:00
peter
1fcc82e61a
* don't check exepath when linking on target
2003-09-14 21:33:11 +00:00
marco
4144f93ce5
* Unix reform
2003-09-14 20:26:18 +00:00
daniel
62e1074d1f
* Fixed endian problem in Tregisterrec record
2003-09-14 19:30:58 +00:00
peter
d76dc1047e
* updates for new ra
2003-09-14 19:19:04 +00:00
peter
f8bb9785e0
* remove obsolete code already in comments
2003-09-14 19:18:10 +00:00
peter
bf0d3c730f
* don't use a_call_ref because it can use a parameter register
...
as temp
2003-09-14 19:17:39 +00:00
Jonas Maebe
5a5b42e927
- removed initialization code
2003-09-14 17:27:56 +00:00
Jonas Maebe
c8863b920b
* fixed some ppc problems
2003-09-14 16:37:20 +00:00
daniel
1e02028986
* Fixed incorrect movzx spilling
2003-09-14 14:22:51 +00:00
peter
90f37cbcda
* obsolete
2003-09-14 13:20:24 +00:00
peter
aca99d30e8
* fix previous commit, also include objectsymtable
2003-09-14 13:20:12 +00:00
peter
836dc5f062
* give IE when st is not assigned in deref
2003-09-14 12:58:29 +00:00
peter
8dd0a4027a
* support mulitple overloads in implementation, this is delphi
...
compatible
* procsym only stores the overloads available in the interface
2003-09-14 12:58:00 +00:00
peter
9311d0803d
* save destroyed registers when calling threadvar helper
2003-09-14 12:57:10 +00:00
Jonas Maebe
d6fead1277
* fixed compilation for non-x86
2003-09-14 12:55:06 +00:00
daniel
c82243df4d
* Add BTR to destination memory location check in spilling
2003-09-12 20:25:17 +00:00
daniel
90e1ca64f3
* Fixed fast spilling functionality by re-adding the code that initializes
...
precoloured nodes to degree 255. I would like to play hangman on the one
who removed that code.
2003-09-12 19:07:42 +00:00
olle
e313062d0b
* max lenght of symbols increased to 255
...
* emitted strings can now contain backslashes
2003-09-12 12:30:27 +00:00
florian
8f66389b46
* improved arm code generation
...
* move some protected and private field around
* the temp. register for register parameters/arguments are now released
before the move to the parameter register is done. This improves
the code in a lot of cases.
2003-09-11 11:54:59 +00:00
daniel
079751b894
* Failed attempt to restore broken fastspill functionality
2003-09-10 19:14:31 +00:00
marco
305226dd23
* fix from peter for bts reg32,mem32 problem
2003-09-10 11:23:09 +00:00
marco
cd5ae5fcc3
* Patch from Peter for paraloc
2003-09-10 08:31:47 +00:00
peter
3a3d710c47
* basics for x86 register calling
2003-09-09 21:03:17 +00:00
daniel
49e539ac8d
* Adding register allocation order
2003-09-09 20:59:27 +00:00
peter
05a15df3c2
* use register with least interferences in spillregister
2003-09-09 15:55:44 +00:00
peter
6b06f9e985
* winapi doesn't like pushing 8 byte record
2003-09-09 15:55:05 +00:00
peter
0a8bddc756
* calling convention fix
2003-09-09 15:54:10 +00:00
florian
f495796796
* x86 instruction table updated to nasm 0.98.37:
...
- sse3 aka prescott support
- small fixes
2003-09-09 12:54:45 +00:00
florian
df906eda61
* some assembling problems fixed
...
* improved loadaddr_ref_reg
2003-09-09 12:53:39 +00:00
peter
64bc322e0e
* fix compilerproc for default=oldfpccall
2003-09-08 18:28:51 +00:00
peter
b9d09a4e5c
* preparations for different default calling conventions
...
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
61c2b19b5c
* proper error recovering from invalid published fields
2003-09-07 14:14:51 +00:00
olle
dea663850a
* reverted last change, linux on powerpc still uses aix abi
2003-09-07 09:08:26 +00:00
florian
f3e9e7a24f
* fixed web bug #2669
...
* cosmetic fix in printnode
* tobjectdef.gettypename implemented
2003-09-06 22:27:08 +00:00
florian
eb9a587759
+ support of NaN and Inf in the compiler as values of real constants
2003-09-06 16:47:24 +00:00
florian
e78dd95d0b
* fixed exit code (no preindexed addressing mode in LDM)
2003-09-06 16:45:51 +00:00
florian
bd6bf8ac94
* fixed stm and ldm to be usable with preindex operand
2003-09-06 11:21:49 +00:00
olle
ce46a4fe31
* linux on powerpc now uses sysv abi
2003-09-06 10:46:56 +00:00
olle
82e40f6506
+ compiler now define abi macros for powerpc FPC_ABI_AIX or FPC_ABI_SYSV
2003-09-06 10:41:54 +00:00
florian
a13ce1dfb4
+ added *_watcom units
2003-09-06 10:01:11 +00:00
florian
1a95384ec1
* arm is working again as before the new register naming scheme was implemented
2003-09-05 23:57:01 +00:00
florian
22f1ff8da4
* merged Wiktor's Watcom patches in 1.1
2003-09-05 17:41:12 +00:00
marco
f34e9e5adf
* applied Peter's patch. Now cycles.
2003-09-05 11:21:39 +00:00
olle
4471dd1d26
+ bugfix, put token UNIMPLEMENTED in right order
2003-09-04 21:58:16 +00:00
olle
30938b72a7
+ added new lagnuage mode: MAC
2003-09-04 21:37:29 +00:00
florian
024d08e05a
* ARM compiler compiles again
2003-09-04 21:07:03 +00:00
peter
dfd60cb507
* released useparatemp
2003-09-04 15:39:58 +00:00
peter
059908d399
* abort with IE when spilling requires > 20 loops
2003-09-04 14:46:12 +00:00
peter
01a1f7d063
* return 0 instead of $ff when no reg is found
2003-09-04 14:42:44 +00:00
florian
0d3832776f
* first bunch of adaptions of arm compiler for new register type
2003-09-04 00:15:28 +00:00
peter
610cbec252
* fixes for FPU register allocation
2003-09-03 21:06:45 +00:00
peter
adeae3a00b
* write INVALID as register name instead of IE
2003-09-03 21:06:19 +00:00
peter
b4d54b1889
* powerpc needs software int64 to double
2003-09-03 21:06:05 +00:00
peter
98d153815c
* some fixes for ppc
2003-09-03 21:04:14 +00:00
peter
ded08a12a9
* regenerated
2003-09-03 20:35:57 +00:00
peter
36bb27dab3
* fixed number sorting
2003-09-03 20:35:06 +00:00
peter
386027ffb5
* fixed sorting of register number
2003-09-03 20:33:28 +00:00
peter
c05cf49b35
* removed empty cga unit
2003-09-03 19:39:16 +00:00
peter
ef23ab2c78
* powerpc reg update
2003-09-03 19:37:07 +00:00
peter
601160a0e3
* powerpc compiles again
2003-09-03 19:35:24 +00:00
florian
91533b5d5a
* initial revision of new register naming
2003-09-03 19:10:30 +00:00
florian
100cec5cee
* inital revision derived from sparc
2003-09-03 19:09:35 +00:00
peter
3a3bdd95a7
* superregisters also from .dat file
2003-09-03 16:29:37 +00:00
peter
b66e477dd8
* also generate superregisters
2003-09-03 16:28:16 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
florian
220e05dd5e
* fixed arm concatcopy
...
+ arm support in the common compiler sources added
* moved some generic cg code around
+ tfputype added
* ...
2003-09-03 11:18:36 +00:00
florian
6264028af1
* fixed reference handling
...
* fixed operand postfix for floating point instructions
* fixed wrong shifter constant handling
2003-09-01 15:11:16 +00:00
florian
e36c23db74
* results of work on arm port last weekend
2003-09-01 09:54:57 +00:00
florian
301df6dab9
* fixed procedure entry/exit code
...
* started to fix reference handling
2003-08-29 21:36:28 +00:00
florian
04501b6fff
* another couple of arm fixes
2003-08-28 13:26:10 +00:00
florian
dc7d8ba847
* today's arm patches
2003-08-28 00:05:29 +00:00
florian
dd9e5cf591
+ same procedure as very day: today's work on arm
2003-08-27 00:27:56 +00:00
peter
15958fec9f
* methodpointer fixes
2003-08-26 12:43:02 +00:00
peter
d5a6a5b7f9
* fix wrong registers in reference
2003-08-26 12:42:45 +00:00
florian
f3266351dc
+ started to implement FPU support for the ARM
...
* fixed a lot of other things
2003-08-25 23:20:38 +00:00
olle
0458038ee5
* minor adjustment
2003-08-24 21:40:12 +00:00
olle
d69418fe36
* made FPC_RAISEEXCEPTION compatible with MacOS
2003-08-24 21:38:43 +00:00
florian
9edd2b0401
* continued to work on the arm port
2003-08-24 12:27:26 +00:00
peter
284d18b7ca
* reload also caller module when it is already compiled
2003-08-23 22:31:42 +00:00