Commit Graph

23659 Commits

Author SHA1 Message Date
florian
b7ef93030a * set mm register subreg properly when cleaning them with xor
git-svn-id: trunk@45721 -
2020-07-02 21:14:43 +00:00
pierre
12cb72893d Obsolete system_mips_embedded, as it is a duplicate of system_mipseb_embedded
git-svn-id: trunk@45720 -
2020-07-02 16:26:13 +00:00
pierre
f71415a2de Extend ait_ua_elf_const2str to all aitconst_XXX to fix mips/mipsel RTTI generation
git-svn-id: trunk@45719 -
2020-07-02 16:06:01 +00:00
florian
8f91920c9b * use the fpu on suitable x86 targets to copy extended values
git-svn-id: trunk@45718 -
2020-07-01 20:45:58 +00:00
florian
ff295bf349 * delay setting of pd_body and pd_implement till the header of a generic
procedure is parsed, resolves #37261

git-svn-id: trunk@45717 -
2020-06-30 20:36:51 +00:00
florian
d41f4c7c4e * correctly handle sign/zero extensions for optimization "var3", resolves #37254
git-svn-id: trunk@45713 -
2020-06-29 20:36:54 +00:00
florian
c29a0d029b * reverted some stuff accidently committed in r45704
git-svn-id: trunk@45710 -
2020-06-28 20:33:10 +00:00
svenbarth
52678562e3 * correctly handle selection between Single and Double overloads for Currency
+ added test

git-svn-id: trunk@45707 -
2020-06-27 22:33:36 +00:00
svenbarth
eaa2a2006c * fix for Mantis #37272: also allow the empty set for dynamic array parameters; Delphi probably started to allow that together with array constructors.
+ added tests

git-svn-id: trunk@45706 -
2020-06-27 22:33:31 +00:00
florian
4bacec0ee3 * building for arm fixed
git-svn-id: trunk@45704 -
2020-06-27 19:59:27 +00:00
florian
225b06e84a * Xtensa: patch by Christo Crause: add IDF_PATH variable, read from the appropriate environment variable, part of #37242
git-svn-id: trunk@45698 -
2020-06-26 20:16:44 +00:00
florian
d62d6af7ec * Xtensa: patch by Christo Crause: fix controller date for esp8266, part of #37242
git-svn-id: trunk@45696 -
2020-06-25 20:50:43 +00:00
svenbarth
d401639b24 * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic
+ added tests

git-svn-id: trunk@45695 -
2020-06-25 20:42:47 +00:00
svenbarth
56fdba2c9b * partial fix for Mantis #37253: po_hascallingconvention needs to be set as well when setting tprocdef.proccalloption
git-svn-id: trunk@45692 -
2020-06-25 20:42:28 +00:00
florian
caee96399e * patch by Christo Crause: support call0 abi in entry/exit code, part of #37242
git-svn-id: trunk@45685 -
2020-06-23 20:46:40 +00:00
florian
cba109c55d + Xtensa: patch by Christo Crause: support call0 abi in init final code part of #37242
git-svn-id: trunk@45684 -
2020-06-23 20:44:54 +00:00
svenbarth
f94518a9ae * fix typo (no code changes)
git-svn-id: trunk@45680 -
2020-06-22 20:39:55 +00:00
florian
cb11e2568d + Xtensa: patch by Christo Crause to add optional MAC16 registers, resolves #37130
git-svn-id: trunk@45679 -
2020-06-22 19:05:13 +00:00
nickysn
e41912b076 * limit the ZX Spectrum programs address space up to $FDFC, because the RTL now
installs an interrupt handler at $FDFD

git-svn-id: trunk@45678 -
2020-06-22 14:13:54 +00:00
yury
e63c03125a * Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend.
+ Added a test.

git-svn-id: trunk@45675 -
2020-06-21 19:52:14 +00:00
florian
221d8d84ae * Xtensa: MatchInstruction requires a postfix parameter
git-svn-id: trunk@45674 -
2020-06-21 19:16:27 +00:00
Jonas Maebe
3cb341eabc * ensure that dispose(managed_ptr) does not result in multiple evaluations of
the managed_ptr expression

git-svn-id: trunk@45673 -
2020-06-21 15:10:38 +00:00
florian
a7c0fa0def o patch for Xtensa by Christo Crause, resolves #37099
+ Added postfix parsing in tattreader.GetToken
    - Removed all postfixed versions of OpCodes from the instruction list
    + Added all missing OpCodes from Xtensa ISA
    * Changed branch OpCode to A_B, similar to ARM
    + Added missing branch condition flags BCI and BSI
    * Updated existing compiler code that referred to the old postfixed instructions
    + Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction
    * Updated TCPUAddNode.second_addfloat to specify .S postfix
    * Updated tcpuunaryminusnode.second_float to specify .S postfix
    + Implemented prefix and postfix identification in txtensaattreader.is_asmopcode
    * Adapted branch condition extraction to respect postfixes
    * Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121, difficult to test these changes without including a fix for the register name search problem)

git-svn-id: trunk@45672 -
2020-06-21 14:51:40 +00:00
Jonas Maebe
cc7b6d0b05 * regenerated message files
git-svn-id: trunk@45671 -
2020-06-21 12:26:55 +00:00
Jonas Maebe
a423bf6402 * fix -Agas-darwin to say Aas-darwin for x86-64, and also add it for i386
(mantis #37230)

git-svn-id: trunk@45670 -
2020-06-21 12:26:52 +00:00
nickysn
27943baa2f + support z80 in the fpc launcher utility
git-svn-id: trunk@45669 -
2020-06-20 23:30:50 +00:00
florian
78698beaad * compilation fixed
git-svn-id: trunk@45668 -
2020-06-20 20:22:21 +00:00
florian
80111a0a60 * make local variables in assembler blocks working again after r44933
* test for #37218

git-svn-id: trunk@45667 -
2020-06-20 20:17:53 +00:00
yury
4e1e35aef5 * Added optimization option cs_opt_unused_para. It is enabled for -O2 and higher. The parentfp optimization is tied to cs_opt_unused_para.
git-svn-id: trunk@45666 -
2020-06-20 18:47:42 +00:00
yury
7bffafdf8b * Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
git-svn-id: trunk@45665 -
2020-06-20 18:34:26 +00:00
yury
c15b6f4516 * Fixed the parentfp optimization for some cases when nested procvars are used.
git-svn-id: trunk@45664 -
2020-06-20 18:28:07 +00:00
Károly Balogh
cc23515927 z80: vasm doesn't support the JRJP pseudo instruction, so change it to JP during write
git-svn-id: trunk@45663 -
2020-06-20 16:51:15 +00:00
yury
11fd466394 * Optimize parentfp when optimization level 1 and higher to be debugger friendly.
git-svn-id: trunk@45661 -
2020-06-20 11:14:43 +00:00
florian
a2303bd899 * fixed copy&paste error of r45658
git-svn-id: trunk@45659 -
2020-06-19 19:55:14 +00:00
florian
2e36783d0e * better check for short boolean evaluation in firstcomplex
git-svn-id: trunk@45658 -
2020-06-18 20:32:55 +00:00
florian
8738b4b47f + might_have_sideeffects checks also if the tempinitcode of a tempref node might have side effects
git-svn-id: trunk@45656 -
2020-06-17 20:33:04 +00:00
florian
62c417c8bf * temporarily fix #37034 by disabling the problematic optimization until the real cause is fixed
git-svn-id: trunk@45655 -
2020-06-15 19:57:39 +00:00
florian
c6c996f506 * write length/code page when writing the string type
git-svn-id: trunk@45654 -
2020-06-15 19:50:49 +00:00
florian
b3817f6d92 * slash and divn might have an exception as side effect
git-svn-id: trunk@45652 -
2020-06-14 14:56:48 +00:00
florian
33094d263f * Aarch: handle 0 in AndAnd2And and check if the resulting constant
is really a shifter constant, resolves #37203

git-svn-id: trunk@45651 -
2020-06-14 14:16:49 +00:00
svenbarth
febeef03e4 * for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found
+ added tests

git-svn-id: trunk@45646 -
2020-06-13 18:42:31 +00:00
svenbarth
4da6465d05 * correctly set the generic related defoptions for an outlined procdef
git-svn-id: trunk@45645 -
2020-06-13 18:42:26 +00:00
svenbarth
c45c543faa * fix typo (no code changes)
git-svn-id: trunk@45644 -
2020-06-13 18:42:21 +00:00
svenbarth
4ec76072b4 * ensure that the BSS section for MSX-DOS is correctly initialized to 0
git-svn-id: trunk@45642 -
2020-06-13 09:36:18 +00:00
florian
b2ed667a86 * swap fpu stack correctly when moving data into xmm registers
git-svn-id: trunk@45637 -
2020-06-11 17:19:56 +00:00
florian
5f118da600 * optimize a/a and a-a if fast math is on
git-svn-id: trunk@45630 -
2020-06-09 20:50:47 +00:00
florian
aafc22bd74 + optimize real operations with 0 and 1 if fast math is turned on
git-svn-id: trunk@45627 -
2020-06-08 20:33:27 +00:00
nickysn
5816a4a940 * fixed a bug in the Z80 internal linker when reading symbol offsets from .rel files
git-svn-id: trunk@45622 -
2020-06-07 23:21:42 +00:00
nickysn
a0e2cd3638 * use qword instead of aword for bsssize to avoid 8-bit truncation on Z80
git-svn-id: trunk@45621 -
2020-06-07 23:07:39 +00:00
nickysn
47ba80a545 * the len parameter of TObjData.writebytes changed to TObjSectionOfs to avoid 8-bit truncation on Z80
git-svn-id: trunk@45620 -
2020-06-07 23:05:13 +00:00