Commit Graph

38077 Commits

Author SHA1 Message Date
michael
2cc020c20e * Dependency on fcl-base added
git-svn-id: trunk@22198 -
2012-08-23 08:21:07 +00:00
michael
20c0a14e1e * Fixed makefile
git-svn-id: trunk@22197 -
2012-08-23 08:04:36 +00:00
pierre
05a326a83e Make sure f2X+1 is also considered used if f2X is used
git-svn-id: trunk@22196 -
2012-08-22 22:49:53 +00:00
florian
3e9baa3f47 * check also register type in FindRegalloc
git-svn-id: trunk@22195 -
2012-08-22 19:52:43 +00:00
florian
a92ca7c456 * adjust the reg. allocations of the target register in RemoveSuperfluousMove
git-svn-id: trunk@22194 -
2012-08-22 19:52:37 +00:00
florian
3d7b603d11 * get rid or move the allocation of the replaced register if possible
git-svn-id: trunk@22193 -
2012-08-22 19:52:30 +00:00
florian
77e579f59f * RemoveSuperfluousMove uses FindRegDeAlloc to find out if the register used in the move can be removed
* RemoveSuperfluousMove fixes partially the register allocation changes caused by the mov

git-svn-id: trunk@22192 -
2012-08-22 19:52:23 +00:00
florian
6e62fbc3d2 * more consistent updates of used registers
+ FindRegDeAlloc searching for a register deallocation
* FindRegAlloc now returns the allocation object which was found

git-svn-id: trunk@22191 -
2012-08-22 19:52:15 +00:00
florian
e1a2b1859a * comments and explanations on tai_regalloc.keep field
* write/read tai_regalloc. field to/from ppu

git-svn-id: trunk@22190 -
2012-08-22 19:52:08 +00:00
florian
5fd457e586 * when determining of a register is used after an instruction, new allocs should not be taken into account
git-svn-id: trunk@22189 -
2012-08-22 19:52:03 +00:00
florian
07e26cfb12 + TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
git-svn-id: trunk@22188 -
2012-08-22 19:51:54 +00:00
florian
b6608e716b + tai_regalloc.keep to force register deallocations to be keep
git-svn-id: trunk@22187 -
2012-08-22 19:51:47 +00:00
florian
c0425c48fd * make use of GetNextInstructionUsingReg
git-svn-id: trunk@22186 -
2012-08-22 19:51:40 +00:00
florian
f3f5be2af1 * RemoveSuperfluousMove should not mess with moves targetting lr or pc
git-svn-id: trunk@22185 -
2012-08-22 19:51:31 +00:00
florian
93eb20d407 + GetNextInstructionUsingReg
git-svn-id: trunk@22184 -
2012-08-22 19:51:19 +00:00
florian
55e6da6d28 * make cpubase for arm use inlining
git-svn-id: trunk@22183 -
2012-08-22 19:51:08 +00:00
florian
0c08ae8553 + RegUsedBetween
git-svn-id: trunk@22182 -
2012-08-22 19:50:55 +00:00
florian
4dee21c60e + NR_DEFAULTFLAGS and RS_DEFAULTFLAGS for all CPUs with flags added
git-svn-id: trunk@22181 -
2012-08-22 19:38:27 +00:00
florian
fa2da8c299 + rule to generate avr register include files
git-svn-id: trunk@22180 -
2012-08-22 19:37:58 +00:00
florian
d8161c185c + track usage of flags by using a new register RS_/NR_DEFAULTFLAGS
git-svn-id: trunk@22179 -
2012-08-22 19:37:51 +00:00
joost
66d83bc3d2 * When bmBuildUnit is the only available build mode, use it
git-svn-id: trunk@22178 -
2012-08-22 18:58:07 +00:00
Jonas Maebe
1f2578077c * small correction to previous commit: the offset of DW_OP_bregx is signed
(since it's a hardcoded 0, that doesn't matter here in practice though)

git-svn-id: trunk@22177 -
2012-08-22 18:42:35 +00:00
Jonas Maebe
c8986f34fb * fixed debug information for call-by-reference parameters whose address
is located in a register (mantis #22399)

git-svn-id: trunk@22176 -
2012-08-22 18:21:37 +00:00
florian
3754efa682 + Lazarus project file for PowerPC64
git-svn-id: trunk@22175 -
2012-08-22 18:00:11 +00:00
michael
28ef4c9532 * Fixed compilation
git-svn-id: trunk@22174 -
2012-08-22 16:49:47 +00:00
michael
d666240097 * Added pas2fpm
git-svn-id: trunk@22173 -
2012-08-22 16:45:57 +00:00
michael
d118f4fb41 * Added passrcutil easy-use unit and component
git-svn-id: trunk@22172 -
2012-08-22 16:43:14 +00:00
michael
59db00bcf0 * Patch from Ludo Brands to fix compilation under Windows (Bug 22691)
git-svn-id: trunk@22171 -
2012-08-22 11:35:24 +00:00
michael
c2bb03823b * For in construct and class/record helpers implemented
git-svn-id: trunk@22170 -
2012-08-22 11:25:59 +00:00
pierre
4ecd67f6e2 * Use gsed if present and temp directory to avoid system recompilation
git-svn-id: trunk@22169 -
2012-08-22 09:43:34 +00:00
paul
e719c73860 packages: fixes compilation of ibase package on darwin after Michael changes
git-svn-id: trunk@22168 -
2012-08-22 07:55:18 +00:00
Jonas Maebe
f9c6967c36 * fixed not(pasbool64) (has to be "xor 1" rather than "xor -1")
git-svn-id: trunk@22167 -
2012-08-21 20:04:19 +00:00
Jonas Maebe
288d1ec74a * support referencing "result" in nostackframe pure assembler routines if
the result location is a simple location (a single register/reference)
    (mantis #22490)
  * print an error when accessing "result" in a nostack pure assembler routine
    if the result location is not simple

git-svn-id: trunk@22166 -
2012-08-21 19:51:40 +00:00
michael
eb2c0f52f4 * pas2ut, initial version (create unit tests from pascal unit)
git-svn-id: trunk@22165 -
2012-08-21 19:43:26 +00:00
michael
28db5237fe * pastounittest added.
git-svn-id: trunk@22164 -
2012-08-21 19:42:40 +00:00
michael
53c03717d5 * SQL DB loader implemented
git-svn-id: trunk@22163 -
2012-08-21 19:41:51 +00:00
michael
6926b50f2c * Changed library names to include version number, make uniform dynamic loader interface
git-svn-id: trunk@22162 -
2012-08-21 19:40:20 +00:00
florian
396a9cafa8 * use ptrsinttype instead of sinttype as code parameter for val: for "normal" 32/64 bit targets this does not matter,
for 8 bit targets like avr this makes code in theory useful for ansistrings etc.

git-svn-id: trunk@22161 -
2012-08-21 16:46:19 +00:00
florian
1cd6f2355b * don't copy const parameters passed by reference even if their complexity is >1,
this is handled by wrapcomplexinlinepara

git-svn-id: trunk@22160 -
2012-08-21 16:31:58 +00:00
michael
d519365da0 * Tests for procedure/function declarations, fixes in parsing of those
git-svn-id: trunk@22157 -
2012-08-21 13:24:37 +00:00
marco
407a2604a3 - Add fpcpackage=y to install section to install in proper dir. Mantis #22549
git-svn-id: trunk@22156 -
2012-08-21 11:43:28 +00:00
sergei
d79511f96e + Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling).
+ Support linker input source grouping functionality.
* Promote TStaticLibrary to something like generic linker input statement, it can now hold regular ObjData or a group of other TStaticLibrary objects in addition to tarobjectreader.

git-svn-id: trunk@22155 -
2012-08-21 08:37:39 +00:00
michael
a110490a5e * Added slice dummy
git-svn-id: trunk@22154 -
2012-08-20 22:57:29 +00:00
michael
04aa7851b7 * Set terminal correctly (fix for #21028)
git-svn-id: trunk@22153 -
2012-08-20 22:29:08 +00:00
michael
d13a6e2ca4 * Fix parsing of class local consts
git-svn-id: trunk@22152 -
2012-08-20 22:28:25 +00:00
michael
74624a0c37 * Write class local consts and types in correct way
git-svn-id: trunk@22151 -
2012-08-20 22:26:57 +00:00
michael
9d528c65e3 * Patch from DoDi to allow easy import
git-svn-id: trunk@22150 -
2012-08-20 22:24:57 +00:00
florian
62eed2e3f2 * function round(c : currency) : int64; requires the availability of an fpu
git-svn-id: trunk@22149 -
2012-08-20 20:15:07 +00:00
florian
088a7229aa * use ValSInt parameter as code parameter in val calls to make the code cross platform
git-svn-id: trunk@22148 -
2012-08-20 20:12:04 +00:00
florian
04034b6771 * avr uses a reduced buffer and file name length in textrecs and filerecs
* fixed file and text sizes for avr

git-svn-id: trunk@22147 -
2012-08-20 20:11:13 +00:00