Commit Graph

57000 Commits

Author SHA1 Message Date
florian
fa2e751f9f + AArch64: implementation of taarch64casenode.genlinearlist
git-svn-id: trunk@42973 -
2019-09-10 18:46:56 +00:00
michael
ffb2444d60 * Make link dataset/connection/transaction thread safe (Bug ID 34274)
git-svn-id: trunk@42972 -
2019-09-10 08:44:41 +00:00
florian
58eef0a5aa + AAarch64: TCpuAsmOptimizer.OptPass1Shift makes use of RemoveSuperfluousMove
git-svn-id: trunk@42971 -
2019-09-09 20:59:55 +00:00
Jonas Maebe
cdafe680c2 * different definitions for the same Objective-C class (can happen with
external class declarations) need a type conversion in LLVM (because
    they're represented by different LLVM types)

git-svn-id: trunk@42970 -
2019-09-09 18:33:37 +00:00
Jonas Maebe
dcf4e4cb2c * support taking the address of labels defined in assembler blocks in the
LLVM code genrator (for the rtti unit's thunk hacking)

git-svn-id: trunk@42969 -
2019-09-09 18:33:33 +00:00
pierre
cbe47848c2 Copy supported systems from fcl-web/fpmake.pp to avoid several build failures
git-svn-id: trunk@42967 -
2019-09-09 08:27:53 +00:00
Károly Balogh
aea0f3e667 m68k: build fix (premature commits are the root of all evil too)
git-svn-id: trunk@42966 -
2019-09-09 07:47:34 +00:00
michael
32a551d470 * Make codepage property public in TFieldDef
git-svn-id: trunk@42965 -
2019-09-09 07:17:39 +00:00
Károly Balogh
d25820b830 m68k: added CPUM68K_HAS_BYTEWORDMATH and CPUM68K_HAS_INDEXWORD capabilities
git-svn-id: trunk@42964 -
2019-09-08 22:43:34 +00:00
florian
ce9e1a3419 + AArch64: FoldShiftProcess fixed
git-svn-id: trunk@42963 -
2019-09-08 20:53:43 +00:00
florian
c3c3e99c64 + AArch64: implemented TCpuAsmOptimizer.OptPass1Data
git-svn-id: trunk@42962 -
2019-09-08 20:53:43 +00:00
florian
bc473508ff * AArch64: several issues with taicpu.spilling_get_operation_type fixed
git-svn-id: trunk@42961 -
2019-09-08 20:53:42 +00:00
florian
cc49d256ea + AArch64: CMPB.E/NE2CBNZ/CBZ optimization
git-svn-id: trunk@42960 -
2019-09-08 20:53:41 +00:00
Mattias Gaertner
d25636b7fb fcl-passrc: call with generic template params, use first overload
git-svn-id: trunk@42954 -
2019-09-08 18:35:59 +00:00
Mattias Gaertner
a52153d424 fcl-passrc: v as specialize
git-svn-id: trunk@42953 -
2019-09-08 17:30:55 +00:00
Mattias Gaertner
91aa362fe7 fcl-passrc: typecast to inlinespecialize
git-svn-id: trunk@42952 -
2019-09-08 17:04:26 +00:00
Mattias Gaertner
349d7845e8 fcl-passrc: mode objfpc: error on specialize without keyword
git-svn-id: trunk@42951 -
2019-09-08 15:34:08 +00:00
Mattias Gaertner
ccc57389cf fcl-passrc: for-in constrainedgenerictemplate
git-svn-id: trunk@42950 -
2019-09-08 15:14:09 +00:00
Károly Balogh
353fc13257 m68k: cleanup of the ancient mess from cgsize2subreg
git-svn-id: trunk@42949 -
2019-09-08 13:55:19 +00:00
Mattias Gaertner
f2a8e646b7 fcl-passrc: specialize generic constraints
git-svn-id: trunk@42948 -
2019-09-08 13:46:21 +00:00
Károly Balogh
fa1203029f m68k: use cpu_capabilities when deciding to inject scaling into a ref. also allow scaling in more cases.
git-svn-id: trunk@42947 -
2019-09-08 13:37:22 +00:00
Károly Balogh
50fe8f70f5 m68k: make sure we're not trying to allocate a subregister for float paras when R_SUBWHOLE <> R_SUBNONE
git-svn-id: trunk@42946 -
2019-09-08 13:34:39 +00:00
michael
ff0887b9b3 * Additional tests for sqlite3dataset by Luis Americo (bug ID 323247)
git-svn-id: trunk@42945 -
2019-09-08 10:31:05 +00:00
michael
47dbaafa89 * Fix bug ID #0035246
git-svn-id: trunk@42944 -
2019-09-08 10:00:22 +00:00
Károly Balogh
16fc8c8d9a m68k: added some handling for the explicit precision FPU instructions in the spilling and optimizer. fixed a_fsabs and a_fdabs names
git-svn-id: trunk@42943 -
2019-09-08 09:21:17 +00:00
pierre
5d9771d141 Suppress range check/invalid typecast errors when compiling with -CriotR option
git-svn-id: trunk@42942 -
2019-09-07 21:14:12 +00:00
Károly Balogh
8cb8f19258 vcl-compat: disabled it for palmos, atari, msdos and go32v2. fcl-web is not compiled for these, and that is a dependency.
git-svn-id: trunk@42941 -
2019-09-07 21:01:14 +00:00
Jeppe Johansen
05c4f45596 * Fix exitcode handling for avrsim target. Patch by Christo Crause
git-svn-id: trunk@42940 -
2019-09-07 20:21:16 +00:00
Jeppe Johansen
45b59168ff * Disable vcl-compat for target embedded.
git-svn-id: trunk@42939 -
2019-09-07 20:19:54 +00:00
florian
9e5cbce6be * fix tcgavr.g_flags2reg for sizes > 1 byte
git-svn-id: trunk@42938 -
2019-09-07 20:19:12 +00:00
michael
8cfee11345 * Initial version of System.NetEncoding.pp
git-svn-id: trunk@42937 -
2019-09-07 19:20:04 +00:00
marco
dfb00e85a0 * fix mantis #35936 as suggested by Denis Kozlov. fdefaultoutput is a tmemorystream, so it is seekable
git-svn-id: trunk@42936 -
2019-09-07 16:23:48 +00:00
marco
61e777a4ff * add underline support. Patch by Oleg, mantis #35946
git-svn-id: trunk@42935 -
2019-09-07 15:16:13 +00:00
michael
560c0b228e * Handle recursion for address queries, CNames are also possible (bug ID 34480)
git-svn-id: trunk@42934 -
2019-09-07 15:02:12 +00:00
michael
aee20cd54d * Proper fix for 35887
git-svn-id: trunk@42933 -
2019-09-07 14:25:22 +00:00
michael
0bbe319d4c * Fix bug #36052, defaultencoding does not need to be freed
git-svn-id: trunk@42932 -
2019-09-07 14:02:12 +00:00
michael
08b665d636 * Remove randscreen call, deprecate randscreen (bug ID 36045)
git-svn-id: trunk@42931 -
2019-09-07 13:34:58 +00:00
Károly Balogh
fd1d227175 m68k: more refactoring for fpu_capabilities instead of hardwired fpu types. 68040 and 68060 fpu types should now work
git-svn-id: trunk@42929 -
2019-09-06 07:56:06 +00:00
Károly Balogh
db2875ceba m68k: added the remaining instructions with explicit rounding precision. fixed fsflmul to be fsglmul (this is also typo in the original 68k PRM)
git-svn-id: trunk@42928 -
2019-09-06 07:25:45 +00:00
Károly Balogh
2a87b885b1 m68k: added the most important FPU instructions with explicit rounding precision (eg. FSADD/FDADD)
git-svn-id: trunk@42927 -
2019-09-05 21:51:36 +00:00
Károly Balogh
5eee29e5d1 m68k: refactor some code to not fail when the tasmop set will be bigger than 256 elements
git-svn-id: trunk@42926 -
2019-09-05 21:49:27 +00:00
Károly Balogh
de095c4631 m68k: refactoring to use fpu_capabilities at more places instead of hardwiring certain fpu types
git-svn-id: trunk@42925 -
2019-09-05 21:43:51 +00:00
florian
0c6f7321bf + AArch64: FoldShiftProcess optimization
git-svn-id: trunk@42924 -
2019-09-05 20:15:56 +00:00
Károly Balogh
36286441b2 m68k: try to optimize realconst operands into B/W/L sized integer operands. these are shorter to encode - which almost always means faster on m68k
git-svn-id: trunk@42923 -
2019-09-05 19:32:57 +00:00
florian
a019536cd5 * avoid that -0.0 is handled by the eor optimization
git-svn-id: trunk@42921 -
2019-09-04 20:45:24 +00:00
florian
ed688aceee * remove packed from tdynarray, it is not needed and especially 64 bit CPUs which require proper aligment, suffer from it
git-svn-id: trunk@42920 -
2019-09-04 20:45:23 +00:00
florian
8ffb72ddd0 * another missing part of r42916 ...
git-svn-id: trunk@42919 -
2019-09-04 16:36:54 +00:00
michael
52ca09cc58 * Fix missing tag
git-svn-id: trunk@42918 -
2019-09-04 06:15:17 +00:00
florian
69786ffe73 somehow committing went wrong, second part of last commit:
+ AArch64: support for vX.8b/vX.16b register names
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers

git-svn-id: trunk@42917 -
2019-09-03 21:07:33 +00:00
florian
a5a87fa84c + AArch64: support for vX.8b/vX.16b register names
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
+ small command line tool for quick creating of vfp register list in a64reg.dat

git-svn-id: trunk@42916 -
2019-09-03 20:59:13 +00:00