yury
3e60b4a8dd
* Don't optimize (eliminate) arm fpu move instruction if it performs float type conversion. It fixes tb0519.pp on arm-linux.
...
git-svn-id: trunk@8059 -
2007-07-14 21:52:15 +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
florian
70b438a40f
* better insert of pc relative data
...
git-svn-id: trunk@6975 -
2007-03-24 18:35:53 +00:00
florian
ffd79553a0
+ prefetch support for arm
...
git-svn-id: trunk@6561 -
2007-02-19 17:27:07 +00:00
florian
3609ddc5dd
* more MustBeLast fixes
...
* const insertation algorithm fixed
git-svn-id: trunk@6337 -
2007-02-04 18:45:43 +00:00
florian
762bd12d16
* handle embedded case jump tables correctly
...
git-svn-id: trunk@6333 -
2007-02-04 14:33:57 +00:00
florian
35b9bfc83e
* several range check errors fixed
...
git-svn-id: trunk@6324 -
2007-02-03 19:36:06 +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
yury
a4407d5ad2
* fixed insertpcrelativedata when case jump table is used.
...
git-svn-id: trunk@5468 -
2006-11-24 13:40:49 +00:00
yury
87d5058dec
* fix arm-wince exception handling.
...
git-svn-id: trunk@5375 -
2006-11-14 16:49:02 +00:00
yury
ba53db3b5d
* ARM PC relative references optimization.
...
git-svn-id: trunk@5368 -
2006-11-14 09:31:17 +00:00
florian
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
...
git-svn-id: trunk@5099 -
2006-10-30 22:37:31 +00:00
florian
f073b1288d
* avoid crash when multiple references to one text symbol entry are used
...
git-svn-id: trunk@3339 -
2006-04-26 18:46:38 +00:00
florian
a25337d9ca
+ op_reg_reg_reg_shifterop
...
git-svn-id: trunk@3330 -
2006-04-25 18:50:19 +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
florian
4443ce0d2a
* typo fixed
...
git-svn-id: trunk@2785 -
2006-03-06 10:33:50 +00:00
Jonas Maebe
f6ad9bea87
* marked resetpass[12] override
...
git-svn-id: trunk@2784 -
2006-03-06 10:03:45 +00:00
peter
f1976eda5c
Merged revisions 2782 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2782 | peter | 2006-03-06 10:59:35 +0100 (Mon, 06 Mar 2006) | 2 lines
* fix arm compile
........
git-svn-id: trunk@2783 -
2006-03-06 10:00:14 +00:00
peter
785550d7e3
Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines
* add compiler dir
........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines
* enabled more code
........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines
* pe stub and headers
........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines
* section options cleanup
........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines
* fixed typecasts
........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines
* simple linking works
........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines
* internal linker script
........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines
* make elf working again
........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines
* disable dwarf for smartlinking with .a
* fix section start in new .a file
........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines
* stab section fixes
........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines
* basic work to merge stabs sections
........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload tmodules before linking
........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines
* fixed stabs linking
........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines
* show code and data size
........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload .stabs from objdata after it is merged
........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines
* memsize/datasize cleanup
* check for exports/resources when adding module to linker
........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines
* new TObjSymbol splitted from TAsmSymbol
........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines
* coff fixes after recent objsymbol changes
........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines
* fixed coff writer
........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines
* fix read-only opening
........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines
* Read edata from DLLs, basic work
........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines
* deletedef added
* don't remove defs from index when we are already clearing everything
........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines
* moved TObj classes to ogbase
* ObjSection.SymbolRefs and SymbolDefines list
* DLL importing
........
git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +00:00
peter
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
...
getjumplabel and added type para to getlabel for specific types
* moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
florian
95dc2eba5f
* basic operand matching works
...
+ skeleton for pass 2 implemented
git-svn-id: trunk@1075 -
2005-09-11 20:53:16 +00:00
florian
6ad3930a5d
* fixed broken powerpc compilation
...
* fixed imm24 constant matching on the arm
git-svn-id: trunk@1074 -
2005-09-11 16:13:55 +00:00
florian
d280ed6e8b
* continued to work on arm binary writer, started to fix operand matching
...
git-svn-id: trunk@1073 -
2005-09-11 10:01:54 +00:00
florian
caecabf7ba
+ more arm assembler stuff
...
git-svn-id: trunk@1070 -
2005-09-10 09:30:39 +00:00
florian
e7e12f0f31
+ some more arm binary writer stuff, this is mainly a transfer commit
...
git-svn-id: trunk@1068 -
2005-09-09 16:12:19 +00:00
florian
9452e2a91f
+ added all used instructions to armins.dat
...
* first clean up of armins.dat
git-svn-id: trunk@1065 -
2005-09-08 22:08:31 +00:00
florian
14fca113bf
* basic framework for integrated arm assembler
...
git-svn-id: trunk@1061 -
2005-09-07 21:34:25 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
00d9868260
* fixed constant insertation
2005-02-20 12:23:45 +00:00
florian
f3df72d1b1
* don't split indirect calls while inserting pc relative constants
2005-02-15 21:24:40 +00:00
florian
f3b711d3bf
* don't generate overflow results if they aren't necessary
...
* fixed op_reg_reg_reg_reg on arm
2005-02-15 19:53:41 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
22d9294ab3
+ overflow checking for the arm
2005-02-13 18:55:19 +00:00
florian
73c30d6579
* fixed arm compilation with cgutils
...
* ...
2004-11-01 17:41:28 +00:00
florian
410d01458c
* fixed several arm compiler bugs
2004-10-24 17:32:53 +00:00
florian
960bf7b8b1
* fixed float spilling to use sfm/lfm instead of stf/ldf
2004-07-04 15:22:34 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
florian
aae508c277
+ arm floating point register saving implemented
...
* hopefully stabs generation for MacOSX fixed
+ some defines for arm added
2004-03-29 19:19:35 +00:00
florian
f9840598b0
* handling of spilling improved
2004-03-15 22:20:13 +00:00
florian
16366a944c
* spilling problem fixed
...
* handling of floating point memory references fixed
2004-03-14 16:15:39 +00:00
florian
abc41f1c3c
* several fixes to parameter handling on arm
2004-02-09 22:48:45 +00:00
Jonas Maebe
71202a141d
* taicpu.is_same_reg_move() now gets a regtype parameter so it only
...
removes moves of that particular register type. This is necessary so
we don't remove the live_start instruction of a register before it
has been processed
2004-02-08 23:10:21 +00:00
Jonas Maebe
9495f77117
- removed taicpu.is_reg_move because it's not used anymore
...
+ support tracking fpu register moves by rgobj for the ppc
2004-02-08 20:15:42 +00:00
florian
35110d8ef5
* fixed several arm issues
2004-01-26 19:05:56 +00:00
florian
8d335b9466
* fixed some spilling stuff
...
+ not(<int64>) implemented
+ small set comparisations implemented
2004-01-24 20:19:46 +00:00
florian
d7786f6246
* fixed generic shl/shr operations
...
+ added register allocation hook calls for arm specific operand types:
register set and shifter op
2004-01-23 15:12:49 +00:00
florian
af3d31eceb
* fixed handling of max. distance of pc relative symbols
2004-01-21 19:01:03 +00:00
florian
1779c5dd8c
* fixed symbol type writing for arm-linux
...
* fixed assembler generation for abs
2004-01-20 21:02:54 +00:00