Jonas Maebe
32e06e7a7a
* fixed memory leaks in ppc peephole optimizer
...
git-svn-id: trunk@5569 -
2006-12-11 15:53:30 +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
Jonas Maebe
3c26e1c40b
* fix subsetref/subsetreg support for int_to_real
...
git-svn-id: trunk@5511 -
2006-11-30 20:29:28 +00:00
Jonas Maebe
108c6f4d73
* unified nppcset for ppc32/ppc64 since virtually identical
...
* fixed case bug for ppc64 regarding qwords (must be handled via
genlinearcmplist)
git-svn-id: trunk@5406 -
2006-11-16 18:56:28 +00:00
Jonas Maebe
f60b6faf17
* nppcinl is currently the same for ppc32 and ppc64
...
git-svn-id: trunk@5405 -
2006-11-16 18:27:10 +00:00
Jonas Maebe
7b0d6364a7
* moved ppc32/ppc64 second_int_to_bool to common file
...
git-svn-id: trunk@5404 -
2006-11-16 18:04:58 +00:00
Jonas Maebe
6d36b04c6a
* create common aasmcpu (currently ppc32 version, will commit
...
merged ppc32/ppc64 version right after this one)
git-svn-id: trunk@5319 -
2006-11-10 22:11:15 +00:00
Jonas Maebe
d26ee9dccf
* fixed overflow errors
...
git-svn-id: trunk@5318 -
2006-11-10 21:14:37 +00:00
Jonas Maebe
5522cbd7cd
* fixed typo which caused overflow checks not to be turned off when
...
calculating magic division constants
git-svn-id: trunk@5316 -
2006-11-10 20:53:50 +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
Jonas Maebe
469ac311e0
* fixed r5214
...
git-svn-id: trunk@5222 -
2006-11-04 16:44:29 +00:00
peter
3cae449fda
* moved rtti to ncgrtti
...
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
Jonas Maebe
66cf666f65
* optimized storing constants into subsetreg/refs (a packed array of
...
boolean can now be as efficient as a set of boolean -- and it is
on ppc32/64)
git-svn-id: trunk@5214 -
2006-11-03 22:00:27 +00:00
Jonas Maebe
9acc38e82a
* moved some more common powerpc32/64 things to ppcgn
...
+ a few initial darwin/ppc64 things
git-svn-id: trunk@5197 -
2006-11-03 12:30:17 +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
tom_at_work
35228f0391
* fixes after 5148 changes for ppc platform
...
git-svn-id: trunk@5150 -
2006-11-01 16:09:38 +00:00
Jonas Maebe
c2c0b7a4e7
* fixed compilation
...
git-svn-id: trunk@5141 -
2006-11-01 01:10:58 +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
Jonas Maebe
20ae808b65
* also rlwimi_ is read/write for first operand
...
git-svn-id: trunk@4942 -
2006-10-16 11:31:35 +00:00
Jonas Maebe
9e825bdc76
* moved common code for ppc32/ppc64 from nppcadd to shared unit
...
git-svn-id: trunk@4930 -
2006-10-15 15:43:29 +00:00
Jonas Maebe
593f74d155
+ full support for varargs-related functionality for "mwpascal; external;"
...
functions
git-svn-id: trunk@4910 -
2006-10-14 17:56:42 +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
b67050099a
* fixed spilling info for rlwimi
...
git-svn-id: trunk@4812 -
2006-10-06 16:07:30 +00:00
Jonas Maebe
32a86f6daa
* sqr also uses single precision ops for single precision calculations
...
git-svn-id: trunk@4788 -
2006-10-04 15:56:22 +00:00
Jonas Maebe
e9c5049275
* use single precision fpu ops in case of single precision operands
...
git-svn-id: trunk@4784 -
2006-10-04 15:26:10 +00:00
Jonas Maebe
d379417ca4
* fixed reg_cgsize
...
git-svn-id: trunk@4760 -
2006-09-30 21:43:10 +00:00
Jonas Maebe
c261068ab5
* use generic second_addboolean for short circuit and/or (since that code
...
is the same as what was in nppcadd)
git-svn-id: trunk@4600 -
2006-09-10 15:14:03 +00:00
Jonas Maebe
1f42ee201b
+ support for bitpacked records, except for:
...
* rtti
* typed constants
git-svn-id: trunk@4489 -
2006-08-23 15:44:13 +00:00
florian
9e66674ff9
+ first part of qwordbool implementation
...
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +00:00
Jonas Maebe
d4a818c8ae
* support for subsets which are not a multiple of 8 bits
...
git-svn-id: trunk@4442 -
2006-08-19 11:11:37 +00:00
Jonas Maebe
63123d3c62
* don't reuse loc_register
...
git-svn-id: trunk@4426 -
2006-08-15 15:20:32 +00:00
Károly Balogh
b77a51f67d
+ first somewhat-valid AmigaOS/PowerPC support (no linking yet)
...
git-svn-id: trunk@4329 -
2006-08-02 18:47:25 +00:00
Jonas Maebe
c25aba7592
* cleaned up subsetreg support (put everything in a record)
...
* prepared support for elements with arbitrary bit length (as opposed
to a multiple of 8)
git-svn-id: trunk@4324 -
2006-08-01 20:39:53 +00:00
florian
4095b36047
* cr register name fix
...
git-svn-id: trunk@4276 -
2006-07-22 09:33:47 +00:00
daniel
e21858f85a
+ Add Jonas his explanation as comments to gas_regname
...
git-svn-id: trunk@4272 -
2006-07-21 11:26:00 +00:00
Jonas Maebe
e08aa358fb
* removed stb from calculation_target_op0 (stb does not calculate a value
...
to store in operand 0)
git-svn-id: trunk@4269 -
2006-07-20 22:38: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
Jonas Maebe
ef16df72da
* some optimizations for code generated for
...
"(x and power_of_two_const) <>/= 0)"
git-svn-id: trunk@4159 -
2006-07-13 17:48:41 +00:00
Jonas Maebe
e32e5e1f9f
* fixed interface wrappers for darwin in case they end up in
...
a shared library
git-svn-id: trunk@3976 -
2006-06-27 13:42:00 +00:00
Károly Balogh
bea92e0656
+ small optimizations for code generated for MorphOS syscalls
...
git-svn-id: trunk@3939 -
2006-06-25 12:33:07 +00:00
Jonas Maebe
bc96cd8008
+ more rlwinm optimizations
...
git-svn-id: trunk@3823 -
2006-06-08 09:48:08 +00:00
tom_at_work
c5cbdda62e
* fixed generation of ANDI and ANDIS instructions in the optimizer, properly casting the immediate parameter to an unsigned integer
...
git-svn-id: trunk@3800 -
2006-06-04 21:16:10 +00:00
yury
550626ef34
- Removed need of assembler startup files for wince. Now compiler directly creates .pdata section needed for arm-wince exception handling.
...
git-svn-id: trunk@3764 -
2006-06-02 08:36:25 +00:00
Jonas Maebe
488d8ae766
* improved support for merging two consecutive rlwinm's (now also works
...
if both perform a rotation)
git-svn-id: trunk@3759 -
2006-05-31 20:25:39 +00:00
Jonas Maebe
3a3651a050
+ ppc implementations of subsetreg routines
...
git-svn-id: trunk@3758 -
2006-05-31 19:01:08 +00:00
Jonas Maebe
03302dc7c4
* fixed support for macpas & and | operators: they only work on booleans
...
now, and always perform short circuit boolean evaluation (also in {$b+})
git-svn-id: trunk@3745 -
2006-05-30 13:02:36 +00:00
Jonas Maebe
a20f211811
* don't try to reuse registers from left/right, impedes optimal register
...
allocation
git-svn-id: trunk@3669 -
2006-05-25 11:31:32 +00:00
Jonas Maebe
a3cb1b1523
+ support for "exotic" locations in load_left_right()
...
git-svn-id: trunk@3556 -
2006-05-17 19:12:00 +00:00