Commit Graph

63652 Commits

Author SHA1 Message Date
florian
2240c69078 * improved heurisics when thread var addresses or float constants are put in registers 2021-11-03 22:28:48 +01:00
mattias
10d9918596 fcl-passrc: parse if then goto 2021-11-03 22:13:39 +01:00
mattias
14d589955a fcl-passrc: parse goto statement 2021-11-03 21:58:16 +01:00
mattias
82cbaa0dc5 fpdoc: gitignore linux binary 2021-11-03 21:57:32 +01:00
Florian Klämpfl
a47f153dae * avoid to create a stack frame on aarch64 if possible 2021-11-02 22:23:24 +01:00
florian
e0a78c2485 * tcgaarch64.g_concatcopy calls tcgaarch64.g_concatcopy_move only if the current subroutine has pi_do_call set
* fixed copy loop in tcgaarch64.g_concatcopy if ldp/stp is used: fixed increment calculation and fixed tail length calculation
2021-11-02 22:01:52 +01:00
Yuriy Sydorov
7e4753bebd * Typo fixed. 2021-11-02 20:36:30 +02:00
Yuriy Sydorov
5b32c81bef * Corrected setting of the flag. 2021-11-02 20:33:34 +02:00
Yuriy Sydorov
b78761efd3 * Removed obsolete OLDREGVARS ifdefs. 2021-11-02 17:08:08 +02:00
Yuriy Sydorov
d96600a02d * Removed unused and confusing tnode.parent and tnode.concattolist(). 2021-11-02 16:55:59 +02:00
Yuriy Sydorov
d0cc649428 * Write interference graphs to the unit output directory. 2021-11-02 16:46:09 +02:00
Yuriy Sydorov
e04df465ef * The label which is generated by traisenode is not a jump target. Mark
this label as nf_internal, which means the label does not impact the
  code flow. This leads to a much better register allocation.
2021-11-02 16:46:09 +02:00
Yuriy Sydorov
c4a1cdceae * Corrected calculation of spilling efficiency. 2021-11-02 16:46:08 +02:00
Yuriy Sydorov
c9d9d42f0e * Better coalescing with real registers. This improves setting of parameters
in registers.
* Removed superfluous condition in trgobj.enable_moves().
* Fixed flags checking in trgobj.adjacent_ok().
* Added assembler comments about coalescing when DEBUG_SPILLCOALESCE is defined.
2021-11-02 16:46:08 +02:00
Yuriy Sydorov
66b7ed45fd * Removed unused tlocation.registers[]. 2021-11-02 16:46:08 +02:00
florian
dcb1fcd9b8 + support $lgeacyifend directive, resolves #37676 2021-11-01 23:24:42 +01:00
Pierre Muller
4b196ece47 Fix freebsd rtl compilation failure after better type check of variant element inside record case clause 2021-11-01 16:09:18 +00:00
florian
40df955423 * StrTo* functions are now using the TryStrTo* functions 2021-11-01 14:55:41 +01:00
Jonas Maebe
89d2775191 optcse: fix wrong typecast 2021-11-01 13:56:51 +01:00
Michael Van Canneyt
1b8170d18d * More clear comment 2021-11-01 11:52:17 +01:00
florian
fcdbb31ec4 * AArch64: TCpuAsmOptimizer.RegLoadedWithNewValue: check if p.ops=0 2021-11-01 11:46:19 +01:00
Jonas Maebe
15865e7602 Record variant discriminators: check types 2021-10-31 21:13:35 +01:00
Jonas Maebe
4426d0da7a Fixed variant discriminator types 2021-10-31 21:13:35 +01:00
florian
4f77cbbac4 + keep addresses of thread vars in registers if possible and likely an advantage 2021-10-31 19:25:01 +01:00
florian
5a617cd108 + fold real constants c1,c2 for v+c1+c2 or c1+(c2+v) (+ being either + or *) as well if fastmath is enabled 2021-10-31 17:38:08 +01:00
J. Gareth "Curious Kit" Moreton
284317d877 Fixed OptPass2Lea not honouring symbols 2021-10-31 15:44:00 +00:00
J. Gareth "Curious Kit" Moreton
42eb06f5c6 Fixed some range check problems 2021-10-31 15:44:00 +00:00
J. Gareth "Curious Kit" Moreton
b58fdc3e58 Improved ADD and SUB optimisations for LEA instructions 2021-10-31 15:44:00 +00:00
Jonas Maebe
fa4e528576 fcl-res: Mach-O fat binary support
Only for TMachOResourceReader. We always compile/generate a single architecture
binary, and then the programmer can combine those with lipo. So the writer does
not need fat binary support for common usage.

Resolves #39124
2021-10-31 16:35:40 +01:00
florian
ff3acfb8cd * cleanup of 2.7.0 defines 2021-10-31 13:20:28 +01:00
florian
e657aa6431 + write code and data size for Mach-O files if possible 2021-10-31 11:57:32 +01:00
florian
fb7cdbefb3 + some opcodes added 2021-10-30 20:21:59 +02:00
Michaël Van Canneyt
1bc8aea2b3 * fcl-base dependency 2021-10-30 20:15:44 +02:00
Michaël Van Canneyt
64fbc1847f * Fix license 2021-10-30 20:09:29 +02:00
Michaël Van Canneyt
6644d6c4c2 * Fix compilation 2021-10-30 20:06:40 +02:00
Michaël Van Canneyt
380e861cc8 * Needed for hashutils 2021-10-30 20:02:59 +02:00
Michaël Van Canneyt
6d4d2f2fb2 * OneTimePass & test for sha256 2021-10-30 18:23:59 +02:00
Michaël Van Canneyt
3229cb712e * sha256 algorithm 2021-10-30 18:21:55 +02:00
Michaël Van Canneyt
b63979a5ba * Added sensible defaults 2021-10-30 18:16:11 +02:00
Michaël Van Canneyt
8e3158d965 * Some improvements/fix based on remarks of Alexey Torgashin 2021-10-30 18:15:26 +02:00
Michaël Van Canneyt
446cc62b60 * Base16/32/64/64URL encoders/decoders, not stream based 2021-10-30 12:59:10 +02:00
florian
0f14bd45b1 * run fcl-image tests with regression tests 2021-10-29 23:06:26 +02:00
florian
ef923ba142 * consistent naming of directories 2021-10-29 22:58:23 +02:00
Michaël Van Canneyt
76e6beb929 * Restore previous default behaviour for OnDirective, put under option 2021-10-29 17:16:47 +02:00
florian
95ad8f1694 * correctly read the region label in $region directives, resolves #39395 2021-10-28 21:13:01 +02:00
florian
8ca19a3b65 * patch by Frank Rademakers: Initialize new FoxPro Float fields correctly, resolves #39418 2021-10-27 21:22:05 +02:00
Jonas Maebe
3263e12a3e iphonesim: use ios_simulator_version_min
The linker expects ios_simulator_version_min rather than -iphoneos_version_min
when targeting the iOS simulator platform. Fixes compilation with Xcode 11
toolchains, which is more strict about this.
2021-10-27 20:53:42 +02:00
Jonas Maebe
334cf9c19d iphonesim target: requires proper alignment
Just like the native iOS targets
2021-10-27 20:53:39 +02:00
florian
4b157a1498 + print full file path if -vb is passed even if no line number is known, resolves #39419 2021-10-26 21:37:28 +02:00
mattias
5c7974fceb pastojs: fixed class property getter static 2021-10-25 21:41:49 +02:00