Nikolay Nikolov
3d25e52b61
* renamed the wabt assembler to wasa in the compiler help screen as well
2024-09-02 02:55:06 +03:00
Nikolay Nikolov
6149fe394e
* unit agwat renamed agwasa
2024-09-02 02:09:34 +03:00
Nikolay Nikolov
3d204dd0da
* TWabtTextAssembler class renamed TWasaTextAssembler
2024-09-02 02:07:48 +03:00
Nikolay Nikolov
75e061e06f
* as_wasm_wabt_info renamed as_wasm_wasa_info
2024-09-02 02:07:09 +03:00
Nikolay Nikolov
3e036e4ff8
* WebAssembly WABT assembler ID changed to WASA
2024-09-02 02:06:40 +03:00
Nikolay Nikolov
d786b639c0
* WebAssembly wabt assembler id as_wasm32_wabt renamed as_wasm32_wasa
2024-09-02 02:06:16 +03:00
Nikolay Nikolov
649173001c
- WebAssembly internal object writer is no longer experimental
2024-09-01 23:48:22 +03:00
ccrause
d53a81e2d9
Exclude AW flags for sec_fpc data for embedded and freertos targets.
2024-09-01 20:22:17 +00:00
Nikolay Nikolov
437faaab12
+ indicate which LLVM-MC versions are broken in the compiler help screen
2024-09-01 23:16:36 +03:00
Nikolay Nikolov
38100cd501
- don't generate .size directives for function symbols on WebAssembly, to avoid
...
warnings from the external assembler
2024-09-01 22:48:39 +03:00
Nikolay Nikolov
28b080d9bc
+ emit a size directive for the internal dynarray const label. This fixes
...
WebAssembly dynarray consts with the llvm-mc external asm.
2024-09-01 22:29:34 +03:00
Nikolay Nikolov
293ddffebd
+ disable the WebAssembly type checker for all LLVM-MC versions since version 13
2024-09-01 21:20:43 +03:00
Nikolay Nikolov
342ede81ee
* WebAssembly code generator: don't emit a return instruction at the end of the
...
function, because it's redundant
2024-09-01 20:28:42 +03:00
Rika Ichinose
ce5a632432
Remove the rest of the VER3_0 conditionals.
2024-09-01 17:13:39 +00:00
Nikolay Nikolov
6ab6d613e0
+ add explicit support for LLVM-MC versions 15..18
2024-09-01 20:10:54 +03:00
Nikolay Nikolov
a76ca8f60e
+ pass '--no-type-check' to llvm-mc-13, because its type checking is broken
2024-09-01 20:03:29 +03:00
Nikolay Nikolov
5e327453a8
+ WebAssembly external asm writer: workaround for the 'missing functype' error,
...
produced by LLVM-MC versions 13 and above
2024-09-01 19:52:50 +03:00
florian
4fea0e355e
+ apply OptPass1FData on FRINT*
2024-08-31 21:51:15 +01:00
Pierre Muller
b40d312521
Recompile rtl before trying to compile msg2inc binary
2024-08-29 22:48:15 +02:00
Pierre Muller
94d7aeb998
Add msg as prerequisite for compiler to fix 'make distclean all' failure
2024-08-29 22:41:40 +02:00
florian
90cc6db5cb
* armv7 should a synonyme for arm7a
2024-08-28 20:27:09 +01:00
florian
f81ce16d2a
+ AArch64: apply OptPass1FData also to FCSEL
2024-08-27 20:22:53 +01:00
J. Gareth "Curious Kit" Moreton
096d5f50b2
* arm / a64: New optimisation for removing the number of necessary S/UXTB/H instructions
2024-08-27 18:32:14 +00:00
J. Gareth "Curious Kit" Moreton
b1a9150160
* arm / a64: Factored out common conditional checks in "OptPass1UXTB",
...
"OptPass1SXTB", "OptPass1UXTH" and "OptPass1SXTH" to
improve performance.
2024-08-27 18:32:14 +00:00
florian
dd26c1502c
* estimate complexity of ordconst node better on RiscV
2024-08-26 21:42:51 +01:00
Nikolay Nikolov
54d65ff75c
* WebAssembly: fixed crash when attempting to generate a functype directive for
...
a generic function
2024-08-25 20:49:55 +03:00
Nikolay Nikolov
7ce2f95db0
- disallow enabling regvars for WebAssembly, because it's not supported, yet
2024-08-25 19:58:05 +03:00
Nikolay Nikolov
b6527c6c03
+ WebAssembly: check for exceptions after call of fpc_rangeerror in branchful
...
exceptions mode. This fixes catching of ERangeError exceptions when using
SysUtils and runtime errors are converted to exceptions.
2024-08-25 13:43:50 +03:00
Nikolay Nikolov
58a3f2ef64
* WebAssembly: changed the generated code in a_op_reg_reg_reg_checkoverflow to
...
avoid using a label
2024-08-25 13:23:45 +03:00
Nikolay Nikolov
7a1c50ff87
* fix warning
2024-08-25 12:20:55 +03:00
Nikolay Nikolov
d2785117df
* WebAssembly: fixed overflow checking for unsigned subtraction
2024-08-25 11:48:53 +03:00
Nikolay Nikolov
4f42553cb3
* fix bug in thlcgwasm.a_op_reg_reg_reg_checkoverflow when either src1 or src2
...
is the same as dst
2024-08-25 11:33:33 +03:00
florian
0735ac0d1f
* throw an error in iso/extended pascal mode if enum types are passed to writeln, resolves #40896
2024-08-24 22:14:43 +02:00
Nikolay Nikolov
cad9cd22d3
* ignore the '-gl' parameter on WebAssembly, since it's impossible to implement
...
this feature on this target. WebAssembly is a Harvard architecture and allows
no way for inspecting code addresses in stack traces from within the program
itself. Maybe a future extension to the WebAssembly spec would allow that, but
currently, it's not possible. The '-gl' option is ignored (producing only a
warning, instead of a fatal error), because not having line info should not be
fatal for most programs. It also reduces the number of test failures, since
many tests compile with '-gl', but don't actually require the line info, it's
just there for debugging purposes.
2024-08-24 14:31:31 +03:00
Nikolay Nikolov
184c612f78
+ WebAssembly: allow specifying heapsize and maxheapsize larger than 2GiB
...
(WebAssembly has a 32-bit address space, so there's still a 4GiB limit)
2024-08-24 14:09:43 +03:00
Nikolay Nikolov
7fc6d5aaa1
+ introduced method tscannerfile.readval64, similar to readval, but returns an int64
2024-08-24 13:58:49 +03:00
Nikolay Nikolov
4112318e2f
* WebAssembly internal linker: allow specifying the max memory size also for
...
binaries that don't use threads and shared memory. Unlike the shared memory
case, in this case the max memory limit is optional.
2024-08-22 10:51:02 +03:00
florian
0f39633acc
* generic second_addordinal can handle swapped nodes
2024-08-18 22:03:22 +02:00
Nikolay Nikolov
4527365f0d
* WebAssembly threads default maxheapsize constant changed to more readable form - 256*1024*1024 instead of 268435456
2024-08-18 16:30:38 +03:00
Nikolay Nikolov
a4608bd008
* increased the default max memory for WebAssembly threads to 256 MiB
2024-08-18 11:13:44 +03:00
Nikolay Nikolov
44f58c702f
* get rid of WebAssembly constant DefaultMaxMemoryForThreads, because it was
...
repeated twice. Instead, set maxheapsize correctly with the default value in
init_parser.
2024-08-18 10:51:40 +03:00
florian
8dcf4e62b7
* FCVT.W.D returns only a 32 bit int
2024-08-17 18:24:16 +02:00
florian
b499e7593a
* corrected alignment for Risc-V on Linux
2024-08-16 19:55:34 +02:00
Pierre Muller
167b5213d1
Rename conditional: INTFPPU => DEBUG_GENERATE_INTERFACE_PPU
2024-08-16 15:33:12 +00:00
Pierre Muller
7ec9d2bf9f
Fix compilation with -dDEBUG_PPU
2024-08-16 15:08:19 +00:00
florian
159d97e864
* Risc-V: make use of sext.h instruction if available
2024-08-15 21:53:04 +02:00
Nikolay Nikolov
c54d1d4b89
* WebAssembly internal linker: the PageSize constant, which was repeated twice,
...
moved to the class level and renamed WasmPageSize. No functional changes.
2024-08-15 04:47:58 +03:00
Nikolay Nikolov
bf78823e60
+ WebAssembly internal linker: take into account the min heap size (specified
...
with the $M directive), when determining FMinMemoryPages
2024-08-15 04:35:13 +03:00
florian
a53eb8b230
+ Risc-V: make use of zext.h if available
2024-08-14 22:37:26 +02:00
florian
081af9a892
* overleft cosmetics
2024-08-13 22:54:19 +02:00