Commit Graph

25008 Commits

Author SHA1 Message Date
Jonas Maebe
ff3f812d97 * fix conversion of true/false macro definitions to boolean values
(mantis #38492)
   o since the macro lookups are recursive, "mac" will usually be nil
     afterwards (unless we found an undefined macro)

git-svn-id: trunk@49160 -
2021-04-10 10:56:02 +00:00
Jonas Maebe
500e29e5e2 * regenerated with FreeBSD/AArch64 support
git-svn-id: trunk@49159 -
2021-04-10 08:19:40 +00:00
Jonas Maebe
d8021a1102 + FreeBSD/AArch64 support (patch by Mikaël Urankar, mantis #38441)
git-svn-id: trunk@49157 -
2021-04-10 07:57:28 +00:00
pierre
9f8566dd84 Refactor code to avoid problems with -CR option
git-svn-id: trunk@49155 -
2021-04-09 23:11:53 +00:00
florian
09628e56cb * even if currency is handled by torddef, it is a real number, so using / is perfectly right, resolves #38718
git-svn-id: trunk@49154 -
2021-04-09 20:38:46 +00:00
florian
243ddea686 * PowerPC: initial (and primitive) implemenation of TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@49153 -
2021-04-09 20:20:53 +00:00
florian
b09669dffe * allow also CSUBSETREG in tx86inlinenode.second_IncludeExclude, resolves #38733
git-svn-id: trunk@49151 -
2021-04-09 20:09:19 +00:00
Jonas Maebe
ca399f3c71 * don't generate high-level CFI statements when the selected assembler
does not support them, even if the target normally uses them
   o fixes assembling with -Aas-darwin for i386/arm/x86-64 (on OS
     versions that used those)

git-svn-id: trunk@49138 -
2021-04-08 19:50:27 +00:00
Jonas Maebe
1b34fe90a3 * don't override specified assembler on the command line when leaving
assembler files in case that specified assembler is already an
    external one

git-svn-id: trunk@49137 -
2021-04-08 19:50:24 +00:00
Jonas Maebe
4c40e7f9d6 * Darwin: fixed calling dsymutil when _not_ skipping the linking step
git-svn-id: trunk@49136 -
2021-04-08 19:50:21 +00:00
florian
c90616944d + Aarch64: create better code for not(<byte>)
git-svn-id: trunk@49135 -
2021-04-08 17:21:59 +00:00
pierre
3ac0522f70 Add sinclairql to NO_NATIVE_COMPILER_OS_LIST
git-svn-id: trunk@49133 -
2021-04-07 15:49:31 +00:00
florian
9a39124118 * Xtensa: fix crash in TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@49132 -
2021-04-07 13:54:58 +00:00
florian
9ec85f940e * do not remove register deallocations/allocation pairs if the register is written
git-svn-id: trunk@49129 -
2021-04-06 19:16:17 +00:00
florian
503fc85dff * patch by J. Gareth Moreton: handle register allocations correctly in MovMov2Mov 3, resolves #38703
git-svn-id: trunk@49128 -
2021-04-06 15:50:28 +00:00
florian
05cf47f995 * AVR: fixed TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@49126 -
2021-04-06 11:49:48 +00:00
florian
e4cc8af8fc * Makefiles regenerated
git-svn-id: trunk@49124 -
2021-04-05 15:39:07 +00:00
florian
87a67a3222 * typo fixed
git-svn-id: trunk@49118 -
2021-04-03 22:01:47 +00:00
florian
08817f1aed * fixes to deadstore optimization
git-svn-id: trunk@49117 -
2021-04-03 21:28:09 +00:00
florian
f3d8efc8ec * Aarch64: support LSE instructions
git-svn-id: trunk@49112 -
2021-04-03 11:30:23 +00:00
florian
f879d76491 * forgotten " added
git-svn-id: trunk@49109 -
2021-04-02 21:41:31 +00:00
florian
f38f9ff930 * Aarch64: cpu capabilites defines properly named
* Aarch64: enable defining cpu capabilites

git-svn-id: trunk@49108 -
2021-04-02 20:57:12 +00:00
florian
9e7d80a8bd * Aarch64: the M1 is an ARM v8.4-a CPU
git-svn-id: trunk@49107 -
2021-04-02 19:52:00 +00:00
florian
3999d037e3 + write controller unit wiht -ix as well
git-svn-id: trunk@49106 -
2021-04-02 17:13:11 +00:00
florian
bf65bad5c5 + Aarch64: cpu_capabilities support
git-svn-id: trunk@49105 -
2021-04-02 17:08:34 +00:00
florian
f0023a3b04 * Aarch64: patch by J. Gareth Moreton: fix constant writing, resolves #38695
+ test

git-svn-id: trunk@49104 -
2021-04-02 16:44:43 +00:00
svenbarth
e53d18d876 * Windows on ARM64 adheres to the usual Aarch64 ABI, thus references need to be copied on the caller side as well
git-svn-id: trunk@49103 -
2021-04-02 15:25:05 +00:00
svenbarth
2885d3ab56 * fix for Mantis #37426: don't allow an instance function of a type helper to be used on the type instead of a concrete value
+ added test

git-svn-id: trunk@49102 -
2021-04-02 15:25:01 +00:00
florian
682e29c4ff + enable colored output on darwin, resolves #38693
git-svn-id: trunk@49099 -
2021-04-01 16:32:52 +00:00
florian
7811b915a9 * x86-64: we can spill replace 32 bit operations if the operation does not modify a register
git-svn-id: trunk@49097 -
2021-03-31 21:23:22 +00:00
pierre
8ea95e9b95 Use value $00000F00 instead of $F0000000 for IF_FPMASK, and adapt all floating point constants, to avoid IF_VFPv4 having the same value as IF_PASS2
git-svn-id: trunk@49096 -
2021-03-31 21:03:50 +00:00
florian
cc64d9eb4e * do not swap left/right code generation for assignment nodes if
conditional expressions are involved, resolves #38129

git-svn-id: trunk@49095 -
2021-03-31 20:53:18 +00:00
pierre
c8c6e647be Avoid keeping optimized out node in callcleanupblock.statements or callinitblock.statements
git-svn-id: trunk@49094 -
2021-03-31 20:53:08 +00:00
florian
07a8e6c1d6 + some more change information entries added
git-svn-id: trunk@49092 -
2021-03-31 18:53:31 +00:00
florian
bc4a22e24d + Xtensa: tcpuinlinenode.second_prefetch
git-svn-id: trunk@49090 -
2021-03-30 21:43:20 +00:00
florian
aa1a68000b * prefetch instructions read only the operand
git-svn-id: trunk@49089 -
2021-03-30 21:24:00 +00:00
florian
47557e0ad2 * cpubase.cgsize2subreg should handle all valid sizes, resolves #38557
git-svn-id: trunk@49087 -
2021-03-30 16:44:19 +00:00
nickysn
8ec71bc810 * fixed memory leak, introduced accidentally in r48998
git-svn-id: trunk@49084 -
2021-03-30 11:05:00 +00:00
Jonas Maebe
793ecb3fa6 * fixed assembling via pipe on Darwin
git-svn-id: trunk@49067 -
2021-03-27 19:01:04 +00:00
florian
6218254e53 * allow also 8 byte string constants in assembler, resolves #28640
git-svn-id: trunk@49066 -
2021-03-27 17:13:14 +00:00
Jonas Maebe
308aee42a0 * the offset parameter of reference_reset* must be asizeint rather than
longint (mantis #38636)

git-svn-id: trunk@49065 -
2021-03-27 15:31:33 +00:00
svenbarth
ca7c775e36 * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows:
- GetTypeKind returns tkEnumeration (FPC previously generated a compile error here)
  - GetTypeInfo on a generic parameters returns Nil for such types (FPC previously generated a compile error here)
  - GetTypeInfo otherwise generates a compile error (as before)

git-svn-id: trunk@49064 -
2021-03-27 09:35:07 +00:00
svenbarth
067b9b2922 * copy and compare the typesym inside type nodes as well
git-svn-id: trunk@49062 -
2021-03-27 09:34:59 +00:00
florian
4d82e814a0 * patch by Do-wan Kim: fix loop unrolling for try .. finally blocks in win32,
similiar to r48972 for win64

git-svn-id: trunk@49057 -
2021-03-26 22:21:09 +00:00
florian
c2ff85ac5b * patch by J. Gareth Moreton: Nothing (NOP) node optimisation, resolves #38194
git-svn-id: trunk@49054 -
2021-03-25 21:51:52 +00:00
Jonas Maebe
7a0c6ab591 - removed unused leftovers from old t_bsd code
* no longer execute the linker via a shell script, but directly

git-svn-id: trunk@49046 -
2021-03-24 14:33:13 +00:00
Jeppe Johansen
1105726dcf * Add SAMD51P19A controller type. Unit generated by Michael Ring and slightly modified.
git-svn-id: trunk@49034 -
2021-03-22 18:40:12 +00:00
florian
bae6ca6883 * Dwarf: write variant fields only if the require features are present, resolves #38651
git-svn-id: trunk@49032 -
2021-03-22 18:11:41 +00:00
florian
a32a870f33 * another loop counter copying fix
git-svn-id: trunk@49028 -
2021-03-21 21:39:57 +00:00
florian
c4ddb94cb4 * remove nf_write from the counter node when converting for loops into while loops if the counter is only read
git-svn-id: trunk@49020 -
2021-03-20 21:28:58 +00:00