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
nickysn
9fa61a6c9f
- removed the discardresult proc directive
...
git-svn-id: trunk@49017 -
2021-03-20 01:22:43 +00:00
florian
b9affc3406
* RiscV64: type conversion to 8 bit improved
...
git-svn-id: trunk@49015 -
2021-03-19 17:39:52 +00:00
florian
9e2bcd940a
+ RiscV: initial OpAddi02Op implementation
...
git-svn-id: trunk@49002 -
2021-03-18 21:49:25 +00:00
nickysn
ecad5e9a6c
+ WebAssembly implementation of g_rangecheck that uses if/endif instead of
...
jumps to labels (which causes internal compiler error, because they're not
supported in WebAssembly)
git-svn-id: trunk@49000 -
2021-03-18 16:45:40 +00:00
nickysn
d608b4b689
* instead of registering all and then deleting non-propgetter/setter procdefs in
...
pdecvar.read_property_dec, don't register them by default, and then only
register them, if they are propgetter/setter. This prevents dangling pointers
in current_module.deflist and potential use-after-free bugs.
git-svn-id: trunk@48998 -
2021-03-17 19:16:38 +00:00
florian
53effea0f5
+ X86: JccMovJmpMov2MovSetcc optimization
...
git-svn-id: trunk@48993 -
2021-03-16 22:19:21 +00:00
florian
612f063795
+ patch by J. Gareth Moreton: AddMov2LeaAdd and AddMov2Lea optimizations, resolves #38579
...
git-svn-id: trunk@48989 -
2021-03-15 21:12:02 +00:00
nickysn
811cf381ad
* when parsing unions, set the uniondef reference to nil in
...
current_module.deflist after freeing the object to prevent dangling pointers
and use after free
git-svn-id: trunk@48986 -
2021-03-15 18:13:45 +00:00
nickysn
d090af4abe
* skip nil values in current_module.deflist in TLLVMMachineCodePlaygroundAssembler.WriteImports
...
git-svn-id: trunk@48985 -
2021-03-15 18:12:36 +00:00
nickysn
f7dd8755cc
+ introduced TFPList.IndexOfItem and TFPObjectList.IndexOfItem, which are like
...
IndexOf, but can also search backwards. The same method already exists in
FPC's classes unit.
git-svn-id: trunk@48984 -
2021-03-15 18:06:44 +00:00
pierre
a7de0b365b
Avoid invalid typecast error when using -CR option
...
git-svn-id: trunk@48978 -
2021-03-15 13:25:59 +00:00
pierre
85fa313e59
Use uvalue field to get unsigned and avoid range check or overflow errors
...
git-svn-id: trunk@48977 -
2021-03-15 13:24:27 +00:00
nickysn
77f3acdf76
* the TFPList.List property made protected in order to discourage using it
...
directly, as this circumvents range checking
git-svn-id: trunk@48976 -
2021-03-14 23:17:44 +00:00
florian
2b47425f08
+ tx64tryfinallynode.dogetcopy properly implemented, resolves #37305
...
git-svn-id: trunk@48972 -
2021-03-14 21:23:05 +00:00
nickysn
76c61c3aac
* call inherited inside twasminnode.checkgenjumps in order to initialize use_small
...
git-svn-id: trunk@48971 -
2021-03-14 16:56:16 +00:00
florian
03d353c1f5
- cosmetics: superfluous newlines removed
...
git-svn-id: trunk@48970 -
2021-03-14 16:41:34 +00:00
florian
d1881d0951
* RiscV: integer type conversions fixed
...
git-svn-id: trunk@48969 -
2021-03-14 16:40:14 +00:00
nickysn
f0aed5d355
* fixed another WebAssembly compilation error with -CR
...
git-svn-id: trunk@48966 -
2021-03-14 15:06:13 +00:00
nickysn
74854eee58
* fixed WebAssembly compilation error with -CR
...
git-svn-id: trunk@48964 -
2021-03-14 15:03:58 +00:00
florian
9ccdf2b3bf
* RiscV: unified itcpugas.pas
...
git-svn-id: trunk@48960 -
2021-03-14 10:29:23 +00:00
pierre
9775a13e02
Rough fix for riscv32 failure
...
git-svn-id: trunk@48959 -
2021-03-14 09:10:29 +00:00
nickysn
4be5609809
+ added wasm32 to the list of targets that don't support a native compiler
...
git-svn-id: branches/wasm@48952 -
2021-03-13 21:56:01 +00:00
nickysn
ea8f068817
* regenerated makefiles after sync with trunk
...
git-svn-id: branches/wasm@48951 -
2021-03-13 21:52:13 +00:00
nickysn
e42330a7ad
* synchronized with trunk
...
git-svn-id: branches/wasm@48949 -
2021-03-13 21:47:24 +00:00
florian
62ea31f255
* riscv64-linux: generate PIC for all units as it is required for shared libraries
...
git-svn-id: trunk@48948 -
2021-03-13 16:33:31 +00:00
florian
e047e7db91
+ RiscV: initial support of pic generation
...
git-svn-id: trunk@48947 -
2021-03-13 16:18:00 +00:00
florian
1e5cbfe546
* RiscV: if shared libraries are involved, we have to link always against the crt*S.o variants
...
git-svn-id: trunk@48946 -
2021-03-12 21:59:18 +00:00
pierre
e8fbe6696b
Update Makefile's after commits 48929/48930
...
git-svn-id: trunk@48940 -
2021-03-12 13:23:41 +00:00
florian
577e584c77
* RiscV: basic CFI stuff fixed
...
git-svn-id: trunk@48937 -
2021-03-10 20:55:37 +00:00
florian
8fa04a0cee
* finished -ix output
...
git-svn-id: trunk@48936 -
2021-03-10 20:33:49 +00:00
nickysn
f8052134e3
* synchronized with trunk
...
git-svn-id: branches/wasm@48906 -
2021-03-08 00:52:43 +00:00
florian
4be5f07f27
+ support for .dc.a directive
...
* read multiple section flags
git-svn-id: trunk@48903 -
2021-03-07 22:28:17 +00:00
florian
b0772ae749
+ initial (and so far experimental) implementation of -ix to output -i in xml format for further automated processing
...
git-svn-id: trunk@48897 -
2021-03-07 14:11:09 +00:00
florian
d1fb44044f
* unified RiscV32 and RiscV64 GAS readers
...
git-svn-id: trunk@48894 -
2021-03-07 08:53:03 +00:00
florian
6f3fccddd1
* RiscV32: properly read references with record offsets and base register
...
+ RiscV32: sanity check in assembler writer
git-svn-id: trunk@48892 -
2021-03-06 22:19:00 +00:00
pierre
81402bb077
* Improve DEBUG_PPU code
...
* Move flog file closing from closefile method to destroy destructor.
* Fix write_data output into flog
git-svn-id: trunk@48890 -
2021-03-06 22:00:30 +00:00
florian
83ce289ea4
* last commit fixed, hopefully final fix
...
git-svn-id: trunk@48886 -
2021-03-06 15:03:33 +00:00
florian
f448603970
* improved last commit, better handling of boolean expressions
...
git-svn-id: trunk@48885 -
2021-03-06 14:55:50 +00:00
florian
62bd0068b6
* do not apply the (a and b) or (c and not(b)) into c xor ((c xor a) and b) optimziation if short boolean evaluation is used, should resolve #38576
...
* improved test
git-svn-id: trunk@48884 -
2021-03-06 14:48:15 +00:00
florian
c15bb07bf6
* do not generate mul instructions if the mul extension is not available
...
git-svn-id: trunk@48883 -
2021-03-06 14:23:54 +00:00
pierre
3dd6272891
Add new make rule named full_targets
...
git-svn-id: trunk@48882 -
2021-03-06 10:42:50 +00:00
florian
913bd009e9
* patch by J. Gareth Moreton: take care of -Os for SubMov2*, part of #38579
...
git-svn-id: trunk@48878 -
2021-03-04 21:35:13 +00:00
pierre
01a351f804
Fix for bug report 38549 about wrong code generation
...
for mips/mipsel and riscv32/riscv64 CPUs for
set operators '<=' and '>='.
New tests for this bug report.
tw38549.pp, main source, also included
by tw38549a.pp, tw38549b.pp, tw38459c.pp and tw38459d.pp
with explicit {$packset X}, with X=1,2,4, or 8 added.
git-svn-id: trunk@48874 -
2021-03-03 22:15:20 +00:00
florian
01937c4630
* patch by J. Gareth Moreton: SubMov2LeaSub optimisation improvement, resolves #38555
...
git-svn-id: trunk@48871 -
2021-03-02 21:27:43 +00:00
florian
8ffa01e95f
* patch by J. Gareth Moreton: MOV/SHR reference optimisation, resolves #38560
...
git-svn-id: trunk@48857 -
2021-03-01 20:39:57 +00:00
florian
90710d055b
* fix spilling of (v)min/max/s/ps/d operations
...
git-svn-id: trunk@48856 -
2021-03-01 20:29:58 +00:00
florian
316f2429f0
* do not omit location_force_reg on second operand of sar/ro* if
...
it is used to adapt the size of the operand
git-svn-id: trunk@48855 -
2021-03-01 20:21:42 +00:00
nickysn
940738a3a1
* synchronized with trunk
...
git-svn-id: branches/wasm@48846 -
2021-03-01 13:21:24 +00:00
florian
01178532e5
* sar*/ro* do not call location_force_reg if not needed
...
git-svn-id: trunk@48844 -
2021-02-28 22:11:05 +00:00
florian
e0a1bc6675
+ optimize (a and b) or (c and not(b)) into c xor ((c xor a) and b)
...
+ test
git-svn-id: trunk@48841 -
2021-02-28 18:20:46 +00:00
florian
272a0e3e26
+ apply excess precision also to unary minus nodes
...
* made excess precision really working
git-svn-id: trunk@48840 -
2021-02-28 10:52:11 +00:00
florian
fe57cd3536
* fix LLVM after r48828
...
* global gotos really use the return type of fpc_setjmp to test where we come from
git-svn-id: trunk@48835 -
2021-02-27 22:07:58 +00:00
Jonas Maebe
9c831677ff
* support Objective-C classes and protocols with -gw3 (mantis #36250 )
...
git-svn-id: trunk@48834 -
2021-02-27 21:44:53 +00:00
Jonas Maebe
803779002d
* the new constant string arraydefs are also implicit pointers types for JVM
...
git-svn-id: trunk@48833 -
2021-02-27 19:30:37 +00:00
Jonas Maebe
ab0531f0ce
* fixed JVM stack height calculation after calls returning an
...
implicit pointer tpe
git-svn-id: trunk@48832 -
2021-02-27 19:30:34 +00:00
florian
4c2e0b9ff0
* for setjmp based exception handling, get the type of the exception reason from the setjmp result
...
git-svn-id: trunk@48828 -
2021-02-27 16:47:36 +00:00
Károly Balogh
8d0ef71e37
m68k-linux: revert maxCrecordalign to 2, as an experiment to fix some linking-against-C regressions since the alignment changes
...
git-svn-id: trunk@48809 -
2021-02-26 10:57:05 +00:00
florian
c6443809ba
+ SETcc/Mov -> SETcc optimization
...
git-svn-id: trunk@48808 -
2021-02-25 22:07:40 +00:00
florian
857cbddf04
* applied patch by Pierre to fix make cycle -Cr
...
git-svn-id: trunk@48806 -
2021-02-24 21:10:05 +00:00
Jonas Maebe
cfa3f4fa8c
+ added b.cc/b.cs support to AArch64 assembler reader (mantis #38485 )
...
git-svn-id: trunk@48803 -
2021-02-24 15:40:22 +00:00
pierre
236bef961c
Patch by Gareth Moreton
...
* Fix lea optimizations which lead to more failures with -O3 and -O4 options.
- LeaLea2Lea now checks to see if the index register is in use.
- For both the base and index registers, RegUsedBetween is changed to
RegModifiedBetween, since just reading the register is harmless for the
optimisation (it finds additional optimisations in the RTL as a result).
- Because I saw the mis-optimisation with MOVZX that occurred (even
though it was due to the mis-optimisation of LEA instructions), I wrote
some extra code in OptPass2Movx as a safety measure to ensure this
doesn't happen (although no additional instances of it happening have
been noted so far - best be safe than sorry).
git-svn-id: trunk@48802 -
2021-02-24 12:58:04 +00:00
pierre
e2386ae876
* Remove obsolete -OG2p3 option for extcycle
...
+ Add extoptcycle to cycle compiler with both -dEXTDEBUG and -dDEBUG_ALL_OPT
git-svn-id: trunk@48801 -
2021-02-24 10:40:15 +00:00
Károly Balogh
0216f77819
m68k: adjusted some max alignment values for m68k-linux based on i386-linux, because the ELF loader on m68k should be able to provide the same alignments for globals
...
git-svn-id: trunk@48799 -
2021-02-24 09:20:04 +00:00
Károly Balogh
2703b36fe1
m68k: removed some helper function which was added, but in the end it never saw any use
...
git-svn-id: trunk@48798 -
2021-02-24 09:10:40 +00:00
pierre
2cd6951205
Apply patch proposed by J. Gareth Moreton in bug report #0038527
...
The patch reworks the LeaLea2Lea optimisation and hopefully fixes the bug (admittedly by adding a brand new optimisation!).
git-svn-id: trunk@48792 -
2021-02-22 23:15:31 +00:00
florian
cefa05c8b1
* correctly allocate edx for mulx, resolves #38533
...
git-svn-id: trunk@48791 -
2021-02-22 20:39:12 +00:00
Károly Balogh
0ca1e2fb42
* attempt to fix bitpacked records with qwords in them (tw36156) when cross-compiling to big endian targets from x86. essentially the x86 shifting workarounds in the code already weren't covering all corner cases.
...
git-svn-id: trunk@48773 -
2021-02-21 23:00:41 +00:00
Jonas Maebe
6beb28316e
* Darwin targets that don't support link order sym files can't smart link
...
vectorized sections
git-svn-id: trunk@48765 -
2021-02-21 21:41:09 +00:00
Jonas Maebe
8b82e2a9cb
* iphonesim targets support link order sym files
...
git-svn-id: trunk@48764 -
2021-02-21 21:41:05 +00:00
florian
5a26c58285
* allow in-operator to be used on type parameters, resolves #38497
...
git-svn-id: trunk@48763 -
2021-02-21 21:29:40 +00:00
Jonas Maebe
0f36b85a3d
- Darwin/ppc64 linker does not support symbol order file
...
git-svn-id: trunk@48762 -
2021-02-21 21:09:38 +00:00
svenbarth
c7f4be71dc
* correctly set the defowner of the exception symtable to the surrounding routine as suggested by Blaise.ru
...
git-svn-id: trunk@48760 -
2021-02-21 19:15:52 +00:00
florian
60c8b71bae
* string constants have a size of 0, resolves #38504
...
git-svn-id: trunk@48759 -
2021-02-21 18:46:00 +00:00
florian
34f7c3e6d4
+ array defs. of open arrays are now marked by ado_OpenArray, so (internally!) zero sized array can be declared with 0..-1
...
git-svn-id: trunk@48758 -
2021-02-21 18:45:58 +00:00
florian
f333fb08ec
* patch by Alfred to fix cutils.CompareVersionStrings, resolves #38514
...
git-svn-id: trunk@48757 -
2021-02-21 18:04:12 +00:00
Károly Balogh
2ffe777b44
m68k: extend the the register to full size, when multiplied by an immediate in memory references. Patch based on the work of Pierre Muller.
...
git-svn-id: trunk@48732 -
2021-02-20 11:21:14 +00:00
nickysn
286ad1df4d
* synchronized with trunk
...
git-svn-id: branches/wasm@48715 -
2021-02-19 03:11:17 +00:00
florian
ef8d520e82
* more cfi support for aarch64
...
git-svn-id: trunk@48714 -
2021-02-18 21:44:12 +00:00
florian
599ba8cc2a
+ generate initial cfi for aarch64
...
git-svn-id: trunk@48701 -
2021-02-17 20:43:37 +00:00
pierre
acf2567bda
Second trial to fix commit 48688
...
git-svn-id: trunk@48691 -
2021-02-17 09:46:37 +00:00
pierre
34fd36f817
Fix previous commit 48688 to avoid accessing 'invalid' positions in sym.value.valueptr
...
git-svn-id: trunk@48689 -
2021-02-17 07:09:55 +00:00
pierre
6a408fe97e
Avoid writing characters after sym.value.len for conststring constant symbols
...
git-svn-id: trunk@48688 -
2021-02-16 23:15:08 +00:00
florian
5b29e7a3ec
+ (safe) heuristics to use DW_CFA_advance_loc1 in CFI
...
git-svn-id: trunk@48687 -
2021-02-16 21:16:54 +00:00
florian
436a0d3f9e
* generate advance_loc records only if there was code/data since the last advance_loc entry
...
git-svn-id: trunk@48686 -
2021-02-15 22:26:49 +00:00
florian
09d6398942
* arm: better cfi
...
git-svn-id: trunk@48685 -
2021-02-15 22:25:18 +00:00
florian
e694897bb3
* initial implementation of CFI support for arm (non-thumb)
...
git-svn-id: trunk@48684 -
2021-02-15 21:34:07 +00:00
nickysn
6b99ba4835
* bring back some commented out code that was committed by accident
...
git-svn-id: branches/wasm@48681 -
2021-02-14 23:49:49 +00:00
nickysn
d7df2d45c6
* synchronized with trunk
...
git-svn-id: branches/wasm@48680 -
2021-02-14 23:47:42 +00:00
florian
a3d68e6839
* arm thumb: generate proper cfi
...
git-svn-id: trunk@48678 -
2021-02-14 21:26:41 +00:00
florian
44856e660c
* ARM: NR_RETURN_ADDRESS_REG is R14
...
git-svn-id: trunk@48677 -
2021-02-14 21:25:36 +00:00
florian
c3fb1e3a65
* initialize current_settings as early as possible so cs_debugswitch is set correctly if needed
...
git-svn-id: trunk@48676 -
2021-02-14 21:25:01 +00:00
florian
0316a7697f
* arm thumb1: several fixes for the internal assembler writer
...
git-svn-id: trunk@48675 -
2021-02-14 17:52:26 +00:00
florian
33ce19799b
* forgotten part of last commit
...
git-svn-id: trunk@48674 -
2021-02-14 17:15:37 +00:00
florian
f1883c4e61
* arm: taicpu uses set instead of boolean to store instruction states
...
+ track if an instruction is a thumb instruction in taicpu
git-svn-id: trunk@48673 -
2021-02-14 15:51:48 +00:00
florian
a4b35d16f2
+ throw an error if hardware floating point operations are used in thumb(-1) mode, this is not supported
...
git-svn-id: trunk@48672 -
2021-02-13 22:17:35 +00:00
florian
dda9f83dfe
* factored out tbasecgarm.init_mmregister_allocator
...
git-svn-id: trunk@48671 -
2021-02-13 22:16:59 +00:00
florian
87e1dc159d
* do not mess with FPA registers if they are not available
...
git-svn-id: trunk@48669 -
2021-02-13 17:04:03 +00:00
florian
50bc387688
* handle -Ca (as proposed by Michael Ring) and -Cf in the first option pass as well
...
git-svn-id: trunk@48668 -
2021-02-13 14:37:07 +00:00
Jonas Maebe
03bfe3234d
* correctly handle multiple codesign binaries in the PATH
...
git-svn-id: trunk@48664 -
2021-02-13 08:19:30 +00:00
nickysn
7ac2f9e242
* synchronized with trunk
...
git-svn-id: branches/wasm@48660 -
2021-02-13 02:46:23 +00:00
florian
98a748bdd6
+ patch by Dimitrios Chr. Ioannidis: include dwar-3 sections in avr-embedded linker script
...
git-svn-id: trunk@48659 -
2021-02-12 21:39:31 +00:00
yury
afc80a84cf
* Fixed r48650.
...
git-svn-id: trunk@48657 -
2021-02-12 11:26:37 +00:00
nickysn
a74024e7d5
* synchronized with trunk
...
git-svn-id: branches/wasm@48654 -
2021-02-12 01:54:24 +00:00
florian
7f1aac8bd7
- armv5 never existed (without extension), removed
...
git-svn-id: trunk@48652 -
2021-02-11 21:27:12 +00:00
florian
1c99c2655e
* more helpful message if an unknown field is accessed in the assembler reader, resolves #38475
...
git-svn-id: trunk@48651 -
2021-02-11 20:51:53 +00:00
yury
4245b20a32
* Fixed expectloc of local variables passed as a formal parameter. This issue is caught by cycling the compiler with -dEXTDEBUG. Yet the compiler can't cycle with EXTDEBUG due to other issues with wrong expectloc.
...
git-svn-id: trunk@48650 -
2021-02-11 10:39:41 +00:00
florian
3b49e95415
* do not initialize unncessary register allocators
...
git-svn-id: trunk@48628 -
2021-02-10 19:52:52 +00:00
florian
ecce39a3b2
+ throw a warning in ISO mode if a constant string is assigned to a char and the sizes do not match, resolves #38439
...
git-svn-id: trunk@48563 -
2021-02-09 20:48:27 +00:00
Károly Balogh
ada3d2050c
m68k: write inline floating point immediates as hex consts, instead of scientific notation. the scientific notation format parsing depends on the libc the assembler was linked against, which can lead to varying results and compile errors
...
git-svn-id: trunk@48524 -
2021-02-08 05:01:45 +00:00
Károly Balogh
d0178f7ae0
m68k: fix a_loadfpu_ref_reg to call a_loadfpu_reg_reg instead of a_load_reg_reg. made a_loadfpu_reg_reg internalerror on invalid target sizes when loading to a different reg size
...
git-svn-id: trunk@48523 -
2021-02-08 04:12:21 +00:00
Károly Balogh
77fee8b4eb
m68k: do not use OS_NO for FPU locations, but properly promote location sizes into the CG
...
git-svn-id: trunk@48522 -
2021-02-08 04:07:04 +00:00
Jonas Maebe
91d877919e
* strip codesignature when comparing compiler binaries on Darwin
...
o fixes non-converging "make cycle" on macOS/AArch64 with DEBUG=1
git-svn-id: trunk@48518 -
2021-02-07 14:40:14 +00:00
florian
539a578cce
* create \index entries in the messages.inc for an index of message texts and numbers in the user manual
...
git-svn-id: trunk@48517 -
2021-02-06 16:59:02 +00:00
nickysn
ae75c87d65
* synchronized with trunk
...
git-svn-id: branches/wasm@48515 -
2021-02-06 08:27:24 +00:00
florian
d0910b5ac8
* allow sub/add nodes in constant pointer expressions, resolves #34027
...
git-svn-id: trunk@48514 -
2021-02-05 22:10:27 +00:00
nickysn
cf3b883bce
* synchronized with trunk
...
git-svn-id: branches/wasm@48513 -
2021-02-04 21:34:40 +00:00
nickysn
6f0a02a92d
+ apped end of symbol in TDebugInfoDwarf.afterappenddef
...
git-svn-id: branches/wasm@48510 -
2021-02-04 10:41:25 +00:00
nickysn
c073362928
- don't emit DEBUGSTART and DEBUGEND symbols for WebAssembly. See https://bugs.llvm.org/show_bug.cgi?id=48971
...
git-svn-id: branches/wasm@48509 -
2021-02-04 10:07:17 +00:00
florian
1e960a9aeb
* the size of the CIE_pointer in an FDE is always 32 bit
...
git-svn-id: trunk@48507 -
2021-02-03 20:05:56 +00:00
nickysn
d52e918fc8
* synchronized with trunk
...
git-svn-id: branches/wasm@48480 -
2021-02-01 01:13:27 +00:00
florian
8b24d60df7
* removed accidently committed printnode
...
git-svn-id: trunk@48464 -
2021-01-31 13:19:55 +00:00
florian
8496690ed0
* additional fix for r48449
...
git-svn-id: trunk@48461 -
2021-01-30 22:47:38 +00:00
nickysn
80d3a8d130
* synchronized with trunk
...
git-svn-id: branches/wasm@48453 -
2021-01-29 23:45:05 +00:00
florian
4bec57702f
* handle generic with ord call of sub-range and enumeration data excluding 0 correctly, resolves #38412
...
git-svn-id: trunk@48452 -
2021-01-29 21:31:59 +00:00
nickysn
e7d568ea38
* synchronized with trunk
...
git-svn-id: branches/wasm@48451 -
2021-01-29 04:03:57 +00:00
florian
e99827246e
* fix type conversion for array indicies if the ordinal ranges of the involved types do not overlap, resolves #38413
...
git-svn-id: trunk@48449 -
2021-01-28 20:56:15 +00:00
nickysn
af12279bed
* fixed local var dwarf debug info output for WebAssembly
...
git-svn-id: branches/wasm@48448 -
2021-01-28 17:15:14 +00:00
nickysn
fa30ae7d97
+ added the DW_OP_WASM_location constant
...
git-svn-id: branches/wasm@48447 -
2021-01-28 16:25:35 +00:00
nickysn
e2e0756eaf
* fixed compilation with -Sew
...
git-svn-id: branches/wasm@48446 -
2021-01-28 16:25:03 +00:00
nickysn
0ceefa4d22
+ enabled DWARF debug info writing on the WebAssembly target. Note that it
...
doesn't work yet (produces internal errors).
git-svn-id: branches/wasm@48445 -
2021-01-28 16:16:32 +00:00
nickysn
c5cac5f554
* set the default debug info type to dbg_dwarf2 for the WebAssembly targets
...
git-svn-id: branches/wasm@48444 -
2021-01-28 15:55:31 +00:00
nickysn
4ef1367019
+ added wasm32 inline procedure for generating the 'unreachable' instruction
...
git-svn-id: branches/wasm@48442 -
2021-01-28 12:48:56 +00:00
nickysn
95e0c7ab6e
* synchronized with trunk
...
git-svn-id: branches/wasm@48433 -
2021-01-26 22:52:18 +00:00
florian
e5002dd291
* updated copyright year to 2021
...
git-svn-id: trunk@48432 -
2021-01-26 22:03:17 +00:00
nickysn
541b8e183d
* synchronized with trunk
...
git-svn-id: branches/wasm@48429 -
2021-01-26 02:48:45 +00:00
nickysn
d8f2581357
* regenerated makefile after sync with trunk
...
git-svn-id: branches/wasm@48422 -
2021-01-25 20:53:18 +00:00
nickysn
eb7db76a31
* fixed compiler internal error, when compiling a unit that has an external function in its interface section
...
git-svn-id: branches/wasm@48421 -
2021-01-25 20:53:01 +00:00
Károly Balogh
67fcf0f03e
m68k: revert r48224, the fix proposed in that patch was just hiding an underlying issue
...
git-svn-id: trunk@48415 -
2021-01-25 00:42:01 +00:00
Károly Balogh
10fa12bbae
m68k: take rounding requirements into account in a_loadfpu_reg_reg and a_loadfpu_ref_reg
...
git-svn-id: trunk@48414 -
2021-01-25 00:27:59 +00:00
Károly Balogh
da1746426b
m68k: do not optimize away fmove fpureg0, intreg0; fmove intreg0; fpureg0; constructs, they're used for rounding to single on FPUs with no resultprecision encoding
...
git-svn-id: trunk@48413 -
2021-01-25 00:12:53 +00:00
nickysn
64bb0359d2
* synchronized with trunk
...
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
florian
0ab4515e58
* properly mangle interface wrapper names to avoid duplicate label errors, resolves #38385
...
git-svn-id: trunk@48411 -
2021-01-24 21:32:27 +00:00
florian
0b76059b37
* use generic VFP type instead of VFP list prone to changes
...
git-svn-id: trunk@48410 -
2021-01-24 21:13:41 +00:00
florian
5950a5f97b
* compiler utils cannot depend on StrUtils
...
git-svn-id: trunk@48408 -
2021-01-24 18:07:13 +00:00
yury
6975437da8
* rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type.
...
git-svn-id: trunk@48407 -
2021-01-24 17:53:42 +00:00
florian
e5c6e91bd0
+ write message number to docs
...
+ enclose arguments in text angles
git-svn-id: trunk@48406 -
2021-01-24 17:43:15 +00:00
florian
91649eb2e5
* missing programs added to rules, so make clean works better
...
git-svn-id: trunk@48404 -
2021-01-24 17:40:02 +00:00
Jonas Maebe
9df70f08b1
* fix linker map generation on Darwin
...
git-svn-id: trunk@48401 -
2021-01-24 17:15:40 +00:00
pierre
268f7bfb5c
Add cs_generate_uf2 entry into ppudump
...
git-svn-id: trunk@48398 -
2021-01-24 14:45:25 +00:00
florian
225eb8ed12
* do not output error numbers for options
...
git-svn-id: trunk@48397 -
2021-01-24 14:34:02 +00:00
yury
04727844b5
* Fixed value of the LF_PAD13 enum element.
...
git-svn-id: trunk@48396 -
2021-01-24 14:29:39 +00:00
yury
2567631aad
* Removed in_x86mm_last (the duplicate no and unused) from the tinlinenumber enum.
...
git-svn-id: trunk@48395 -
2021-01-24 14:28:49 +00:00
florian
1f49e633b6
+ modified patch by Christo Crause: if the target support, the switch -Xu can be used to generate the executable as an uf2 file
...
git-svn-id: trunk@48394 -
2021-01-24 14:21:03 +00:00
yury
9b1567f054
* Corrected method's visibility.
...
git-svn-id: trunk@48393 -
2021-01-24 14:06:35 +00:00
yury
4fa99cff62
* Removed more assigned but unused vars.
...
git-svn-id: trunk@48392 -
2021-01-24 14:05:21 +00:00
yury
75491ae21c
* Removed/ifdefed the assigned and unused variables.
...
git-svn-id: trunk@48391 -
2021-01-24 13:58:17 +00:00
yury
0ab6b1ab4d
* Commented out the unneeded/unfinished code.
...
git-svn-id: trunk@48390 -
2021-01-24 13:35:32 +00:00
yury
31cd3df783
* Fixed r44145. To test if a constant is declared it is needed to use {$if declared()} instead of {$if defined()}.
...
git-svn-id: trunk@48389 -
2021-01-24 13:32:11 +00:00
yury
9c265d71f0
* Fixed a wrong code caused by a typo. It has been revealed by a note about an unused var.
...
git-svn-id: trunk@48387 -
2021-01-24 13:08:54 +00:00
yury
221efd7a80
* Commented out some unused (yet?) local variables.
...
git-svn-id: trunk@48386 -
2021-01-24 13:04:17 +00:00
yury
0a021be803
* Corrected visibility of overridden methods.
...
git-svn-id: trunk@48385 -
2021-01-24 12:41:12 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
nickysn
f5d75423b9
* fixed ti8086vecnode.get_address_type not returning result
...
git-svn-id: branches/wasm@48377 -
2021-01-24 03:12:22 +00:00
nickysn
71f5fd320a
+ insert hlcg.g_ptrtypecast_reg calls in tcgvecnode.update_reference_reg_mul and update_reference_reg_packed
...
git-svn-id: branches/wasm@48376 -
2021-01-24 02:46:31 +00:00
nickysn
c3c199cf67
* show the list of wasm32 targets in the compiler help screen
...
git-svn-id: branches/wasm@48375 -
2021-01-24 02:25:00 +00:00