Commit Graph

25143 Commits

Author SHA1 Message Date
nickysn
433050a2c4 * set EXEEXT to .wasm for the WASI target in fpcmake
git-svn-id: trunk@49552 -
2021-06-24 00:16:00 +00:00
nickysn
715de4547a * fixed WASI dll imports that are declared in a different unit
git-svn-id: trunk@49537 -
2021-06-23 20:36:52 +00:00
florian
bbcc396644 * ARM: fix for Merge Add/Sub optimization
git-svn-id: trunk@49520 -
2021-06-21 21:36:32 +00:00
florian
356afdd25b * ARM (thumb): do not save registers in routines marked as noreturn
git-svn-id: trunk@49519 -
2021-06-20 18:14:30 +00:00
florian
50648f2a60 + ARM: PushPop optimziation
git-svn-id: trunk@49510 -
2021-06-17 21:12:08 +00:00
florian
e1d9d1be0a + Merge Add/Sub optimization
git-svn-id: trunk@49508 -
2021-06-16 19:53:56 +00:00
florian
3f8aeadb91 * do not generate exit code for arm (thumb and thumb-2) if a routine is marked as noreturn
git-svn-id: trunk@49506 -
2021-06-15 20:09:46 +00:00
florian
2c418b988c * use smaller alignment when generating thumb code
git-svn-id: trunk@49505 -
2021-06-15 19:52:07 +00:00
florian
7ee31ae252 * optimization "Merging stores: STR/STR -> STM" cannot be carried out when generating thumb code
git-svn-id: trunk@49503 -
2021-06-15 19:05:34 +00:00
florian
776667366f * patch by J. Gareth Moreton: ARM - str/str -> stm optimisation, second part of #38975
git-svn-id: trunk@49499 -
2021-06-13 20:46:46 +00:00
florian
9d2e71ff69 * patch by Alfred to use new linker names for Android NDK >=22, resolves #38987
git-svn-id: trunk@49498 -
2021-06-12 20:45:15 +00:00
florian
464730dc44 + patch by J. Gareth Moreton: New label debugging feature, resolves #38980
git-svn-id: trunk@49494 -
2021-06-10 20:26:17 +00:00
florian
214936b90e * patch by J. Gareth Moreton: refactoring to standardise the "Peephole Optimization: " prefix on peephole debug messages, part of #38975
git-svn-id: trunk@49493 -
2021-06-09 18:31:52 +00:00
florian
134bc7eb42 * ARM: split TCpuThumb2AsmOptimizer.PeepHoleOptPass1Cpu
git-svn-id: trunk@49489 -
2021-06-07 21:20:43 +00:00
florian
a988c0fab1 * explicitly reset successor if noreturn is set
git-svn-id: trunk@49487 -
2021-06-06 20:33:09 +00:00
florian
40e1a09e6c * improved AndUtxh2And optimization
git-svn-id: trunk@49483 -
2021-06-05 21:14:30 +00:00
svenbarth
6e4984184b * for variant dispatch calls, use the parameter name in source case, not upper case
git-svn-id: trunk@49480 -
2021-06-05 17:43:53 +00:00
svenbarth
7330a0156c * fix writing of the method and parameter names for the Variant call description
git-svn-id: trunk@49479 -
2021-06-05 17:43:49 +00:00
pierre
04ebdf8df8 Fix compilation for x86_64 llvm variant
git-svn-id: trunk@49477 -
2021-06-05 06:47:46 +00:00
pierre
4483343d00 Return -1 if size of file is smaller tham header size in tppufile.readheader method
git-svn-id: trunk@49476 -
2021-06-04 21:15:46 +00:00
pierre
aadcb00977 Add -march option to clang call for llvm target
git-svn-id: trunk@49475 -
2021-06-04 21:14:34 +00:00
florian
aec49340a3 * patch by Christo Crause, resolves #38961, fixes the following formatting and spelling problems in the AVR compiler files:
- Change spelling of AM_PREDRECEMENT to AM_PREDECREMENT
    - Fix multiline comment style to use {}
    - Fix indenting of code in method tcgavr.g_concatcopy

git-svn-id: trunk@49474 -
2021-06-04 20:16:25 +00:00
florian
9d6ceda532 * patch by Christo Crause: do not generate LDD for avrtiny, resolves #38958
git-svn-id: trunk@49473 -
2021-06-03 18:48:40 +00:00
florian
e841e95390 * aarch64-darwin supports unaligned memory access, confirmed by testing with clang 12
git-svn-id: trunk@49469 -
2021-06-02 20:03:55 +00:00
pierre
e6e49baed1 Add A_CALL to the list of instructions considered as a calljmp, even though it is a pseudo-instruction, fixes a long list of -O3 and -O4 testsuite failures
git-svn-id: trunk@49468 -
2021-06-02 20:00:28 +00:00
pierre
c2c7982a22 Fix check that third parameter of ADDI hp1 instruction is a constant
git-svn-id: trunk@49467 -
2021-06-02 19:58:38 +00:00
nickysn
b527ab694c + implemented twasmtypeconvnode.second_class_to_intf
git-svn-id: trunk@49451 -
2021-06-01 22:15:57 +00:00
nickysn
74bac86711 + support loading a function result (on the evaluation stack) to a register in
thlcgwasm.gen_load_cgpara_loc

git-svn-id: trunk@49449 -
2021-06-01 21:52:51 +00:00
florian
c02b43fb93 * change fma cpu flag into an fpu flag
git-svn-id: trunk@49448 -
2021-06-01 21:16:52 +00:00
nickysn
08f9a68798 - removed unused local variables from twasmaddnode.second_generic_compare
git-svn-id: trunk@49435 -
2021-06-01 19:11:21 +00:00
nickysn
8dd591e838 + implemented twasmaddnode.second_cmpsmallset for equaln and unequaln
git-svn-id: trunk@49434 -
2021-06-01 19:10:20 +00:00
nickysn
c42e297bc6 + implemented sqr(real) for the WebAssembly target
git-svn-id: trunk@49430 -
2021-06-01 16:41:39 +00:00
nickysn
5085a04930 - removed the (deflist[i] is tdef) check from the tmodule destructor, since
only tdef descendants are added to the deflist and casting deflist entries to
  tdef directly appears to be safe and is done in other parts of the compiler

git-svn-id: trunk@49428 -
2021-06-01 15:36:01 +00:00
nickysn
f59aab1371 * fixed typecast in tmodule.destroy after r49426, since registered_in_module is introduced in tdef, not in tstoreddef
git-svn-id: trunk@49427 -
2021-06-01 15:27:45 +00:00
nickysn
3ecb41cd2d * improvements to the prevention of dangling pointers in tmodule.deflist,
introduced in r49417. Now it no longer depends on current_module, so it
  handles the case when current_module changes between the time the tdef was
  registered and the time it was freed. It also supports freeing the tmodule
  before the defs, so the freeing order of the object is once again flexible.

git-svn-id: trunk@49426 -
2021-06-01 15:02:26 +00:00
pierre
1957ea11cb Fix duplicate source_cpu_string after last patch, by using cpuwasm32 instead of wasm32 conditional
git-svn-id: trunk@49425 -
2021-06-01 08:22:44 +00:00
nickysn
99f33824a7 * patch from Alfred for setting source_cpu_string for the wasm32 platform
git-svn-id: trunk@49420 -
2021-05-31 19:33:03 +00:00
nickysn
ea5ffd597f * set self to nil in current_module.deflist for registered defs in the
tstoreddef.destroy destructor, instead of doing it after each call to
  x.owner.deletedef(x)

git-svn-id: trunk@49417 -
2021-05-30 21:27:57 +00:00
florian
5e3efa4455 * Aarch64: apply OptPass1Data to CSEL as well
git-svn-id: trunk@49414 -
2021-05-30 18:08:37 +00:00
nickysn
d5a0dd3d25 * prevent a range check error in TFPList.IndexOfItem when searching backwards in
an empty list and the compiler is compiled with range checking turned on

git-svn-id: trunk@49406 -
2021-05-28 21:59:57 +00:00
florian
f2e0af6d37 * check used registers properly for SETcc/TEST/Jcc -> Jcc, resolves #38940
git-svn-id: trunk@49405 -
2021-05-28 21:23:09 +00:00
florian
30df955001 * the MovOpMov2Op optimization needs to take care of the second operand, should resolve #38359
git-svn-id: trunk@49404 -
2021-05-27 21:13:23 +00:00
florian
bae583118a * patch by J. Gareth Moreton: x86 JccMovJmpMov2MovSetcc improvement, resolves #38761
git-svn-id: trunk@49402 -
2021-05-26 21:03:56 +00:00
florian
8006900e8e - clean up
git-svn-id: trunk@49399 -
2021-05-24 09:26:44 +00:00
florian
814b68fac0 * more fixes for VASM for ARM
git-svn-id: trunk@49398 -
2021-05-23 19:46:40 +00:00
florian
e9b3db0d78 * more fixes to support vasm on arm
* do not crash on empty eabi attribute strings

git-svn-id: trunk@49397 -
2021-05-22 20:22:53 +00:00
florian
5726428dcc * patch by J. Gareth Moreton: Additional SETcc optimisations, resolves #38767
git-svn-id: trunk@49386 -
2021-05-21 20:36:15 +00:00
florian
578424cf51 * patch by J. Gareth Moreton: TEST chain shortcutting, resolves #38908
git-svn-id: trunk@49385 -
2021-05-20 20:45:38 +00:00
florian
6f482952de * patch by J. Gareth Moreton: Memory CMP optimisation, resolves #38907
git-svn-id: trunk@49382 -
2021-05-19 20:29:04 +00:00
Károly Balogh
906d0ba06e sinclairql: make sure the end of bss (hence the bss size) is also aligned to two bytes
git-svn-id: trunk@49380 -
2021-05-19 07:39:24 +00:00