Jonas Maebe
c70f75f1b7
* compile with -dppc603 to not use unaligned float loads in move() and
...
g_concatcopy, because the 603 and 604 take an exception for those
(and netbsd doesn't even handle those in the kernel). There are
still some of those left that could cause problems though (e.g.
in the set helpers)
2003-05-29 21:17:27 +00:00
Jonas Maebe
05a3d71c88
* also free temps in g_concatcopy if delsource is true
2003-05-29 10:06:09 +00:00
Jonas Maebe
bb3a5166db
* free callparatemps created for call-by-reference parameters
2003-05-29 10:05:40 +00:00
Jonas Maebe
ead9de924c
* added missing initialization of rg.usedint{in,by}proc
...
* ppc now also saves/restores used fpu registers
* ncgcal doesn't add used registers to usedby/inproc anymore, except for
i386
2003-05-28 23:58:18 +00:00
florian
a8eb2ab740
* started to fix and clean up the sparc port
2003-05-28 23:18:31 +00:00
Jonas Maebe
eb441421cc
* fixed ppc cycle
2003-05-27 21:19:08 +00:00
Jonas Maebe
2fafd75860
* patch from Peter for nested procedures
2003-05-27 14:28:14 +00:00
mazen
d0249adf22
+ RegEnum2Number to ease handling register pairs
...
* changed convert_register_to_enum to use above
array
2003-05-26 22:08:42 +00:00
mazen
a6880bcaa4
* added 64 bit value support to fix a problem in RTL
2003-05-26 22:04:57 +00:00
mazen
11f582061e
* mnemonic of A_LDF is ld, ldf does not exist!
2003-05-26 21:31:27 +00:00
peter
047a066711
* procinlinenode removed
...
* aktexit2label removed, fast exit removed
+ tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
75394a788e
* disable string node optimizations for the moment
2003-05-26 21:15:18 +00:00
peter
7054a48b4d
* removed systems unit
2003-05-26 19:39:51 +00:00
peter
0799b0663d
* generic fpc_shorstr_concat
...
+ fpc_shortstr_append_shortstr optimization
2003-05-26 19:38:28 +00:00
peter
c48956fd16
* don't generate align in .bss
2003-05-26 19:37:57 +00:00
Jonas Maebe
035ad566f9
* endian fix is now done using a define instead of with source_info
2003-05-26 15:49:54 +00:00
marco
925bc00623
* NetBSD target support. OpenBSD reserved in the enum, for future use.
2003-05-25 23:15:04 +00:00
Jonas Maebe
1bb8852335
* fixed register numbering bug
2003-05-25 14:32:42 +00:00
peter
072a55b73e
* methodpointer self pushing fixed
2003-05-25 11:34:17 +00:00
peter
aaf6114364
* moved Comment calls to messge file
2003-05-25 10:27:12 +00:00
peter
1b72901b14
* recursive include depth check
2003-05-25 10:26:43 +00:00
peter
c0995a3db1
* fix interrupt stack allocation
2003-05-25 10:26:15 +00:00
Jonas Maebe
9a0c1f50e9
- undid previous patch, it was not necessary and on top of that, it
...
contained a bug :/
2003-05-25 09:27:13 +00:00
peter
64eb7ee2ec
* do not generate code when there was an error
2003-05-25 08:59:47 +00:00
peter
b1369666c4
* inline fixes
2003-05-25 08:59:16 +00:00
peter
cbbbd01d44
* load result using hidden parameter
2003-05-25 08:55:49 +00:00
florian
1f099e81a7
* if something doesn't work with callparatemp, the define callparatemp
...
should be used because other processors with reigster calling conventions
depend on this as well
2003-05-24 21:12:57 +00:00
Jonas Maebe
1712878279
* fixed tcginnode endian bug again, but correcty this time :)
2003-05-24 19:48:49 +00:00
Jonas Maebe
4ca3d9a2e9
* fixed shr of 64 bit values by non-immediate value
2003-05-24 19:15:29 +00:00
Jonas Maebe
527153658e
* added missing firstpass for callparatemp code
2003-05-24 17:16:37 +00:00
Jonas Maebe
a835c08458
- removed bogus location_copy for include/exclude
2003-05-24 17:15:59 +00:00
Jonas Maebe
df07c64f1f
* added missing firstpass for withrefnode
2003-05-24 17:15:24 +00:00
Jonas Maebe
f8c0236bf4
* fixed expectloc of notnode for all processors that have flags
2003-05-24 16:32:34 +00:00
Jonas Maebe
517e16dae7
* fixed endian problem with tlocation.value/valueqword fields
2003-05-24 16:02:01 +00:00
Jonas Maebe
df5e0bbfc6
* fsqrt is an optional instruction in the ppc architecture and isn't
...
implemented by any current ppc afaik, so use the generic sqrt routine
instead (adapted so it works with compilerproc)
2003-05-24 13:39:32 +00:00
Jonas Maebe
ee71991a7f
* don't save callee-save registers in the caller as well (the ppc code
...
that we generate is slow enough as it is without resorting to doing
double work :)
2003-05-24 13:38:04 +00:00
Jonas Maebe
f85bec0291
* endian fixes
2003-05-24 13:37:10 +00:00
Jonas Maebe
ff12c6c54f
* save fpu results in a normal fpu register on non-x86 processors
2003-05-24 13:36:54 +00:00
Jonas Maebe
54cacc63a5
* fixed integer typeconversion problems
2003-05-24 11:59:42 +00:00
Jonas Maebe
5cfedffb9e
* added some missing paralocation size settings
2003-05-24 11:48:40 +00:00
Jonas Maebe
d321a5aa3d
* fixed framepointer storage: it's now always stored at r1+12, which is
...
a place in the link area reserved for compiler use.
2003-05-24 11:47:27 +00:00
Jonas Maebe
7804ac8ec2
- disable addoptnodes for powerpc, because they can generate calls in
...
pass_2, so -dcallparatemp can't detect them as nested calls
2003-05-23 22:57:38 +00:00
florian
995f7e0f11
* fix some small flaws which prevent sparc linux system unit from compiling
...
* some reformatting done
2003-05-23 22:33:48 +00:00
florian
89c93b12c4
* fixed sparc compiler compilation
2003-05-23 21:10:50 +00:00
Jonas Maebe
e8bceeb54a
* fixed exclude
2003-05-23 21:10:38 +00:00
Jonas Maebe
25435fe881
* corrected fix for endian differences in tcginnode
2003-05-23 19:52:28 +00:00
Jonas Maebe
ae88588462
- undid previous commit, it was wrong
2003-05-23 19:35:50 +00:00
Jonas Maebe
bee07d21a9
* fixed tests for whether a certain int register is unused
2003-05-23 19:11:58 +00:00
Jonas Maebe
74301b9544
* fixed support for nested procedures and more parameters than those
...
which fit in registers (untested/probably not working: calling a
nested procedure from a deeper nested procedure)
2003-05-23 18:51:26 +00:00
Jonas Maebe
ce0885b092
* generate code for parent procedure before that of nested procedures as
...
well (I only need pass_1 to be done for the ppc, but pass_1 and pass_2
are grouped and it doesn't hurt that pass_2 is done as well)
2003-05-23 18:49:55 +00:00