Commit Graph

7883 Commits

Author SHA1 Message Date
tom_at_work
54dee95053 * removed "+0" offset generation in assembler writer
git-svn-id: trunk@1717 -
2005-11-10 15:16:20 +00:00
tom_at_work
ff47ffb255 * quick fix for stack checking on Linux/PPC64
git-svn-id: trunk@1716 -
2005-11-10 15:15:26 +00:00
tom_at_work
8ca0fe382e * removed "+0" offset generation in assembler writer
git-svn-id: trunk@1714 -
2005-11-10 15:11:06 +00:00
michael
0362fa505d + -o now sets output path only if a path is explicitly specified
git-svn-id: trunk@1698 -
2005-11-08 20:25:04 +00:00
peter
e00ef44479 * fix boolean range parsing false..true
* allow set of boolean

git-svn-id: trunk@1690 -
2005-11-08 09:11:39 +00:00
Tomas Hajny
198e0db5a1 * mistyping fixed - trac_e_able
git-svn-id: trunk@1684 -
2005-11-06 23:12:36 +00:00
florian
a6b00feb1e + warn directive is different fom warnings and warning
git-svn-id: trunk@1682 -
2005-11-06 20:09:28 +00:00
michael
9b59f0675f + Fixed -o option
git-svn-id: trunk@1669 -
2005-11-05 23:26:23 +00:00
tom_at_work
d088695868 * ppc64: moved division by constant optimization from nppcmat to cgcpu unit
* ppc64: cg now also replaces multiplications/divisions by negative powers of two by shifts (and a negate)
* ppc64: replacement of divison by constants now properly check the -O2 compiler switch

git-svn-id: trunk@1662 -
2005-11-05 17:59:14 +00:00
florian
3f2f8609e3 + check vmt when loading one, fixes tw2318b
git-svn-id: trunk@1660 -
2005-11-05 16:29:13 +00:00
florian
12a1449884 * ldf*/stf* can handle only offsets with max. +/- 1020, so generate never a pc relative symbol
git-svn-id: trunk@1649 -
2005-11-04 23:56:06 +00:00
tom_at_work
e4a61f4af1 * a_op_const_reg_reg optimizations
* added some more 64 bit PPC opcodes
* removed last mwpascal references
* added replacement of division/modulo by constant by multiplications and shifts for 64 bit
* general cleanup

git-svn-id: trunk@1648 -
2005-11-04 22:49:05 +00:00
florian
4bd32a686d * regenerated msg include files
git-svn-id: trunk@1647 -
2005-11-04 21:35:39 +00:00
florian
18622259ac * fixed -Nu option on help screen
git-svn-id: trunk@1646 -
2005-11-04 21:35:07 +00:00
tom_at_work
9228588260 - added handling of OS_NO parameters in a_param_ref
git-svn-id: trunk@1619 -
2005-11-01 21:11:50 +00:00
peter
e88ff7ae84 * fixed writing of old style tp-objects
git-svn-id: trunk@1613 -
2005-10-31 12:27:23 +00:00
tom_at_work
2198a6a44a * assembly round and trunc routines for ppc64
git-svn-id: trunk@1601 -
2005-10-26 21:43:54 +00:00
tom_at_work
c5f89d7efd * release old stack pointer register on ppc64 after method prolog
* threading fixes for ppc64
* fixed a_param_ref to respect the size parameter on ppc64
* better stack size calculation for ppc64

git-svn-id: trunk@1599 -
2005-10-26 19:50:17 +00:00
tom_at_work
10d39167c6 * fixed code generation for calling threadvar relocation function
git-svn-id: trunk@1597 -
2005-10-26 19:42:12 +00:00
tom_at_work
3645a69686 * added mftbu (move from timebase upper) opcode
git-svn-id: trunk@1596 -
2005-10-25 20:45:05 +00:00
tom_at_work
d7cedd18eb * made fpc recognize the powerpc64 platform and the associated compiler
git-svn-id: trunk@1595 -
2005-10-25 20:20:12 +00:00
tom_at_work
5520442fc4 * call by register now also takes care of the TOC and environment pointer
* first "optimize for size"-optimization

git-svn-id: trunk@1593 -
2005-10-25 20:12:21 +00:00
florian
1ef533ffa9 * rtti parameter for dyn. array to variant conversion fixed
git-svn-id: trunk@1590 -
2005-10-23 19:41:16 +00:00
Jonas Maebe
41d2ba68fe * use an absolute output path for the linker when creating shared libraries,
so they can be used regardless where the executable is located

git-svn-id: trunk@1588 -
2005-10-23 18:19:03 +00:00
florian
5907f99b6a * fixed previous commit
git-svn-id: trunk@1580 -
2005-10-23 16:59:59 +00:00
florian
a21b79d316 + plt for export jmps
git-svn-id: trunk@1579 -
2005-10-23 16:57:47 +00:00
florian
bc7fab1aeb + plt support for x86_64
git-svn-id: trunk@1578 -
2005-10-23 14:47:09 +00:00
Jonas Maebe
89094457c5 * pass varargs float parameters only in integer registers instead of only
in fpu registers for aix abi. Proper fix is to pass them in both, but
    at least gcc under Mac OS X only seems to use the contents in the integer
    registers currently.

git-svn-id: trunk@1576 -
2005-10-23 14:23:16 +00:00
florian
1b97e2cffd + added missing make_simple_ref
git-svn-id: trunk@1572 -
2005-10-23 13:28:43 +00:00
florian
11e087e212 + fixed some alignment settings
git-svn-id: trunk@1563 -
2005-10-22 15:40:36 +00:00
florian
a068b7a059 * updated internal message files
git-svn-id: trunk@1562 -
2005-10-22 15:17:56 +00:00
florian
5387ffc536 + alignment setting
git-svn-id: trunk@1561 -
2005-10-22 15:17:33 +00:00
florian
e7b9c58e2c * update errord.msg from Karl-Michael Schindler
git-svn-id: trunk@1560 -
2005-10-22 15:12:15 +00:00
florian
a3ed7cbd12 + check validity of -Oa parameter
git-svn-id: trunk@1559 -
2005-10-22 15:09:39 +00:00
peter
f1af7cfe8f * generate implicit 0+<x> for +<x> expressions
git-svn-id: trunk@1556 -
2005-10-21 07:46:14 +00:00
tom_at_work
9531293b89 * jumptable support
* fixed cg for loading from addresses with symbol and large offset, but no base register

git-svn-id: trunk@1547 -
2005-10-20 17:33:33 +00:00
tom_at_work
202236c6e0 * fpcmake.ini update which fixes glibc search path problems on PowerPC64
* makefile update

git-svn-id: trunk@1546 -
2005-10-20 16:56:40 +00:00
peter
19eaf660c2 * more flexibel support for typecasting to different sizes
fixes tw4450
      

git-svn-id: trunk@1544 -
2005-10-20 11:13:49 +00:00
peter
a0b9dd48c9 * remove check for expectloc<>location.loc, it doesn't work anymore for
temprefn,blockn causing too much warnings in extdebug

git-svn-id: trunk@1542 -
2005-10-20 06:51:40 +00:00
tom_at_work
5fcb64f350 * parameter passing is now more ABI compliant
* stack frame size optimization
* optimized (64 bit) constant loading
* some code generator code cleanup

git-svn-id: trunk@1539 -
2005-10-19 23:25:21 +00:00
florian
e1b34a9e7b * cleaning up sets for exports behaviour
+ allow exports from units

git-svn-id: trunk@1535 -
2005-10-19 19:06:45 +00:00
florian
cf3c9bdcad * a_jmp_always fixed, it doesn't generate a new symbol anymore
git-svn-id: trunk@1534 -
2005-10-19 14:38:30 +00:00
florian
d43f2fb2d4 * OP_DIV shouldn't be used directly, not all cpu CGs support it
git-svn-id: trunk@1533 -
2005-10-19 14:31:59 +00:00
peter
ed1df49879 * fix stabs writing for win32
git-svn-id: trunk@1532 -
2005-10-19 13:05:20 +00:00
peter
f9db030350 * fix overload choosing if both normal proc and proc of object are available
git-svn-id: trunk@1496 -
2005-10-19 07:56:08 +00:00
peter
0d299d5d2b * errore.msg is in msg/ dir
git-svn-id: trunk@1495 -
2005-10-19 07:46:50 +00:00
peter
260861e184 * calculate distance between related objectdefs
git-svn-id: trunk@1492 -
2005-10-19 06:38:29 +00:00
peter
09a0dff4da * prefer object->object over object->intf
git-svn-id: trunk@1491 -
2005-10-19 06:36:10 +00:00
peter
252d90b691 * $CodeAlign directive added for fine tuning off alignment during code generation
git-svn-id: trunk@1489 -
2005-10-19 06:05:48 +00:00
peter
e23519c45b * support A1,A2,A4,A8 directives
git-svn-id: trunk@1488 -
2005-10-19 05:54:27 +00:00