Commit Graph

63181 Commits

Author SHA1 Message Date
Nikolay Nikolov
4064694a5e + support writing the new tai_tagtype directive in the asm output 2021-09-17 02:15:56 +03:00
Nikolay Nikolov
3022f59ff4 + introduced ait_tagtype and tai_tagtype 2021-09-17 02:05:24 +03:00
Nikolay Nikolov
10d8332563 + added the new WebAssembly instructions, added by the exception handling proposal 2021-09-16 23:45:03 +03:00
J. Gareth "Curious Kit" Moreton
6b26fa0f9a Added correction to AllocRegBetween 2021-09-16 20:34:22 +00:00
Nikolay Nikolov
bdbdf26168 + added validation to ensure no more than one WebAssembly exception support
mode is enabled
+ set the NOEXCEPTIONS mode by default for the WebAssembly targets
2021-09-16 23:09:20 +03:00
Nikolay Nikolov
08b07122f8 + added usage info to the compiler help screen for the WebAssembly
target-specific exception handling modes
2021-09-16 22:23:18 +03:00
Nikolay Nikolov
cd244cbf7d * fixed compilation of ppudump 2021-09-16 21:48:28 +03:00
Nikolay Nikolov
3a242a17f4 * increased size of ttargetswitchinfo.define to fit the string added in my
previous commit
2021-09-16 21:44:05 +03:00
Nikolay Nikolov
eda6b105b7 + added target flags for the different WebAssembly exception modes that I'm
planning to implement
2021-09-16 21:41:54 +03:00
Nikolay Nikolov
3bf5b0c395 - avoid useless typecasts for accessing members in self in thlcgwasm.a_load_subsetref_regs_index 2021-09-16 15:15:39 +03:00
Nikolay Nikolov
4120825f50 + implemented thlcgwasm.a_load_regconst_subsetref_intern 2021-09-16 15:14:51 +03:00
Nikolay Nikolov
7af6e628c8 + implemented thlcgwasm.a_load_subsetref_regs_index 2021-09-16 14:30:29 +03:00
Nikolay Nikolov
c41516399b + implemented thlcgwasm.a_load_subsetref_stack 2021-09-16 12:10:43 +03:00
florian
81e83ffa67 * release temp 2021-09-15 23:16:53 +02:00
Yuriy Sydorov
4a7a113a30 * x86: Fixed attributes of the LEAVE instruction - it reads EBP.
This fixes crashes with -O3s in some cases due to an incorrect peephole
  optimization.
2021-09-15 22:30:00 +03:00
Florian Klämpfl
e121a753e1 * mark temps as deallocated
(cherry picked from commit 50452e5707b1d5f8590042ed55fc5f47bce33962)
2021-09-15 20:41:16 +02:00
Yuriy Sydorov
b2165570de * Fixed missing assignments with the strength reduction optimization. 2021-09-15 21:31:04 +03:00
Yuriy Sydorov
bd4c206472 * Fixed the strength reduction optimization for loops containing 'continue'.
The compiler now cycles properly with -O3 -OoSTRENGTH.
2021-09-15 18:07:12 +03:00
Yuriy Sydorov
b8befe3d1f * Fixed a typo in the condition, though it seems this code path is not used now. 2021-09-15 12:25:48 +03:00
Michaël Van Canneyt
3e621f2014 * Allow to specify address 2021-09-15 11:22:52 +02:00
Michaël Van Canneyt
711e659f5c * Allow to specify IP address 2021-09-15 11:18:50 +02:00
Michaël Van Canneyt
b08c12ff8a * Make some properties public 2021-09-15 11:18:50 +02:00
Yuriy Sydorov
abe3002b5b * Fixed lack of the calculation code for the strength reduction optimization. 2021-09-15 00:31:32 +03:00
Yuriy Sydorov
a7e234254f * x86: Do not replace inc/dec with add/sub 1 because this code path is
executed only for the C_Z,C_NZ,C_E,C_NE conditions, so inc/dec can be
  used.
2021-09-15 00:31:32 +03:00
florian
e2624fdaaa * fix test 2021-09-14 22:01:39 +02:00
mattias
5d571853ac pas2js: compile httpcompiler with fpc 3.2.2 2021-09-14 15:51:00 +03:00
mattias
ffc3e1780d pas2js: added SetPas2JSGetFileSrcAttrCallBack 2021-09-14 11:47:10 +03:00
mattias
6c4198fdf3 pas2js: fixed typeinfo procvar resulttype nil 2021-09-14 10:53:12 +03:00
Michaël Van Canneyt
59b49addc0 Revert "* Export SetPas2JSGetFileSrcAttrCallBack"
This reverts commit 0053cec880.
2021-09-14 09:16:48 +02:00
Michaël Van Canneyt
0053cec880 * Export SetPas2JSGetFileSrcAttrCallBack 2021-09-14 09:08:31 +02:00
florian
5065e4ba50 * fix code for ARM FPA, just in case ... 2021-09-13 22:55:44 +02:00
florian
9bd785c06b * fix handling of -0.0 in sse/avx code, resolves #39357 2021-09-13 22:47:26 +02:00
florian
5e9eb673f8 * x86: only add mm capable consts to register candidate list, this is better
than checking when they are assigned
2021-09-12 20:31:45 +02:00
florian
5762e687a3 * (modified) patch by J. Gareth Moreton: ARM/AArch64 Some short-range LDR/STR optimisations, last part of #38841 2021-09-12 20:11:14 +02:00
florian
1e072aef31 + for loop optimizations can be controller by a switch (-Oo(no)forloop) 2021-09-12 10:54:46 +02:00
Yuriy Sydorov
c30ce7108e * Do not run the tzlib1 test. It is not intended for this. 2021-09-11 20:40:36 +03:00
Yuriy Sydorov
80c63fae30 * Explicitly specify DefaultRTLFileSystemCodePage for the test in order
to be independent from the current system code page.
2021-09-11 20:35:50 +03:00
Yuriy Sydorov
64812bdc60 * Modified the test to run properly on non-UTF8 systems. 2021-09-11 20:11:40 +03:00
Yuriy Sydorov
daa05f19cb * Prevent a crash of the tw2423 test on some versions of Windows. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
fca357e898 * Disabled running of the sharemem test since fpcmemdll.dll is never built. 2021-09-11 19:54:02 +03:00
Yuriy Sydorov
0567572fae * Weak externals from DLL are nor supported on Windows. 2021-09-11 19:54:02 +03:00
Michaël Van Canneyt
c27823568a * libimports added 2021-09-11 18:01:42 +02:00
Yuriy Sydorov
bcaa2c9758 * Explicitly specify CP1252 for registry tests which depends on this CP. 2021-09-11 18:10:52 +03:00
florian
c7c8e2e008 * nicer spelling 2021-09-11 16:24:52 +02:00
Yuriy Sydorov
9653406ac6 * Updated json tests to run properly when the default code is non-UTF8. 2021-09-11 16:35:36 +03:00
Michaël Van Canneyt
7e158b6c9b * Forgot to commit 2021-09-11 15:29:52 +02:00
Michaël Van Canneyt
2781be118f * Add linklib, add some formatting 2021-09-11 15:23:25 +02:00
Michaël Van Canneyt
a4821b1d0c * Additional module platform
(cherry picked from commit 664de8653dc56b13cddac2cd7024697756ae422d)
2021-09-11 14:38:52 +02:00
Pierre Muller
6b7df6d22e Add 'treated as Error:' to compiler messages 2021-09-10 21:21:32 +00:00
Yuriy Sydorov
b4df9dbe1d * Prevent spilling of spill-helper registers which contain the value of a
previously spilled register. These helper registers must never be spilled.
  This fixes failures of the register allocator in rare corner cases.
2021-09-10 18:06:12 +03:00