florian
9e40d536cb
+ Xtensa: initial skeleton completed
...
+ xtensa-embedded support in the compiler
git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
florian
27349661e0
+ Xtensa: lazarus project
...
git-svn-id: trunk@44317 -
2020-03-20 22:34:30 +00:00
florian
08c12ca439
+ Xtensa: register information
...
git-svn-id: trunk@44316 -
2020-03-20 22:34:29 +00:00
florian
aca9727418
+ OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code
...
git-svn-id: trunk@44287 -
2020-03-08 14:30:59 +00:00
marco
96a712f7ff
* add FreebSD to weaklinking targets.
...
git-svn-id: trunk@44283 -
2020-03-07 17:59:05 +00:00
michael
a880367b37
* Show message about creating fppkg/conf.d directory
...
git-svn-id: trunk@44279 -
2020-03-07 11:40:32 +00:00
Jeppe Johansen
c20b27ede9
Add most SSE instructions as intrinsics.
...
git-svn-id: trunk@44274 -
2020-03-06 21:34:22 +00:00
Jeppe Johansen
135a88c888
movhlps/movlhps only take xmm registers.
...
Handle spilling of SSE registers.
git-svn-id: trunk@44272 -
2020-03-06 17:19:51 +00:00
florian
6cac8cc77b
* fix Peephole Optimization: Cmpcc2Testcc - condition AE/NB/NC/NO --> Always optimization
...
git-svn-id: trunk@44271 -
2020-03-06 16:16:38 +00:00
florian
f8339a43ea
* do not do full boolean evaluation on LOC_FLAGS
...
git-svn-id: trunk@44270 -
2020-03-06 16:16:37 +00:00
florian
424c8a0ac0
* simple record accesses have not side effects
...
git-svn-id: trunk@44269 -
2020-03-06 16:16:36 +00:00
florian
8f0376c888
+ JccAdd2SetccAdd optimization
...
* take care of C_C/C_NC in JccAdd/Inc/Dec2(Cmc)Adc/Sbb
git-svn-id: trunk@44268 -
2020-03-06 15:47:18 +00:00
florian
bc3131688a
* fix precedence of IS operator, resolves #35909
...
git-svn-id: trunk@44266 -
2020-03-06 10:10:58 +00:00
florian
cea7723080
* more use of RemoveCurrentP(p)
...
git-svn-id: trunk@44264 -
2020-03-05 21:49:36 +00:00
florian
9819df6fe1
* calculate complexity of an rtti node correctly
...
git-svn-id: trunk@44261 -
2020-03-03 21:29:52 +00:00
svenbarth
9c088bda6a
* fix for Mantis #36706 : only link a library against the dynamic loader if we're not linking against the C library anyway
...
Note: I did not yet find a case where we *do* need to link a library against the loader; this will have to be investigated further, but for 3.2.0 this is safest
git-svn-id: trunk@44256 -
2020-03-02 22:04:36 +00:00
florian
f42b0bf6f5
* fixed JccAdd/Inc/Dec2*Adc/Sbb optimizations
...
git-svn-id: trunk@44254 -
2020-03-01 21:21:18 +00:00
florian
34be9e4643
* CallRet2* optimization may not misalign the stack, reported by C Western on fpc-devel
...
git-svn-id: trunk@44253 -
2020-03-01 09:37:09 +00:00
florian
ac974c9ab7
* improve is_loop_invariant for load nodes
...
git-svn-id: trunk@44252 -
2020-02-29 21:15:15 +00:00
florian
507fc9c1ff
+ take care of addn and subn in is_loop_invariant
...
git-svn-id: trunk@44251 -
2020-02-28 20:42:54 +00:00
florian
80c0fc3c92
* several fixes to get better reg. allocations in the arm assembler optimizer
...
git-svn-id: trunk@44245 -
2020-02-26 20:59:35 +00:00
florian
62129db44c
* ARM: look further ahead when optimizing mov rX, yyyy
...
* ARM: fix Mov0 and MovMLA2MUL optimizations
git-svn-id: trunk@44244 -
2020-02-25 21:28:53 +00:00
florian
9132b54b3b
+ ARM: MovMLA2MUL optimization
...
git-svn-id: trunk@44243 -
2020-02-25 21:28:52 +00:00
florian
684ef3008f
* ARM: optimize mov rX,#0 .... mul/mla/umull ...,rX,...
...
git-svn-id: trunk@44242 -
2020-02-24 21:10:55 +00:00
florian
9bdfbc2473
+ GetNextInstructionUsingRegTrackingUse
...
* better MovAnd2Mov optimization
+ TOptsToCheck to track expensive optimizations, needs more work
git-svn-id: trunk@44241 -
2020-02-23 21:47:47 +00:00
florian
a357359971
* LeaCallLeaRet2Jmp is done in TX86AsmOptimizer.PostPeepholeOptLea
...
git-svn-id: trunk@44240 -
2020-02-23 21:21:40 +00:00
florian
c7b19e2fc9
* track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set
...
git-svn-id: trunk@44239 -
2020-02-23 18:24:31 +00:00
florian
2acc6337d8
* debug statement removed
...
git-svn-id: trunk@44234 -
2020-02-22 22:38:36 +00:00
florian
4dff373fef
* (modified) patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, resolves #36687
...
git-svn-id: trunk@44233 -
2020-02-22 18:37:38 +00:00
florian
c146aecc01
* throw an error if the forward interface type and the actual interface type do not match, resolves #36720
...
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
florian
49f789b92a
* reverted accidently committed changes again
...
git-svn-id: trunk@44218 -
2020-02-19 21:12:23 +00:00
florian
95e8992e2f
+ AArch64: profiler support for aarch64-linux
...
git-svn-id: trunk@44216 -
2020-02-19 21:10:19 +00:00
pierre
346118187b
Fix linking error, in which libc.so.6 is not found on aarch64-linux when libdl.so is loaded, by adding appropriate directory
...
git-svn-id: trunk@44215 -
2020-02-19 15:33:11 +00:00
florian
3099e10f41
* revert accidently committed code
...
git-svn-id: trunk@44205 -
2020-02-17 20:12:53 +00:00
florian
e50c4f6373
+ AAarch64: optimize divisions by constant
...
git-svn-id: trunk@44204 -
2020-02-17 20:11:32 +00:00
florian
93521ae8e8
* fold also pointer additions/subtractions
...
git-svn-id: trunk@44199 -
2020-02-16 20:14:28 +00:00
florian
27e89e07a3
* in case a 32x32 -> 64 multiplication is converted into shl, the type casts need to be restored
...
git-svn-id: trunk@44197 -
2020-02-16 20:14:27 +00:00
florian
9989d408fd
* AArch64 and i386: omit exit stackframe, same as r44191 for x86-64
...
git-svn-id: trunk@44196 -
2020-02-16 20:14:26 +00:00
Jonas Maebe
3188dc18d4
* fixed tdel1/2 tests again for AArch64/LLVM
...
git-svn-id: trunk@44195 -
2020-02-16 16:58:25 +00:00
florian
88836b467e
* (V)MOVA*(V)MOVS*2(V)MOVS* 1 optimization
...
git-svn-id: trunk@44194 -
2020-02-16 16:43:26 +00:00
florian
42324235bd
+ CallRet2Call optimization
...
git-svn-id: trunk@44192 -
2020-02-16 13:15:12 +00:00
florian
ef3155c2ef
* there is no exit stackframe needed if a subroutine never returns
...
git-svn-id: trunk@44191 -
2020-02-16 13:06:19 +00:00
svenbarth
2ad3c6dd97
* fix global generic functions with constraints in mode Delphi by handling implementations with defines outside of parse_generic_parameters
...
+ added tests
git-svn-id: trunk@44189 -
2020-02-16 09:53:37 +00:00
svenbarth
41a6957f7d
* keep track of the fileposinfo for generic constraints
...
git-svn-id: trunk@44188 -
2020-02-16 09:53:32 +00:00
florian
892454ff17
* patch by J. Gareth Moreton: optimize MOVSXD as well, resolves #36700
...
git-svn-id: trunk@44185 -
2020-02-15 20:53:40 +00:00
florian
e350264db1
+ propagate constants across call nodes
...
git-svn-id: trunk@44184 -
2020-02-15 18:27:22 +00:00
florian
3947922fea
* set nf_* correctly when an inc/dec node is converted into an add/sub node
...
* do not firstpass during dead store removal as it disturbes the for each calls
git-svn-id: trunk@44180 -
2020-02-15 13:53:16 +00:00
florian
fc50edfe31
* AVR: couple of fixes for CPUs with only 16 registers
...
git-svn-id: trunk@44177 -
2020-02-14 21:27:43 +00:00
florian
013491c69f
* make maxpushedparasize a SizeInt: it must store an address size and not an alu value
...
git-svn-id: trunk@44176 -
2020-02-14 21:27:16 +00:00
florian
0424c2a658
* remove accidently committed debug code
...
git-svn-id: trunk@44175 -
2020-02-14 20:59:32 +00:00
florian
b7afb2431c
* do not allow constraints in headers of procedure implementations in delphi mode, resolves #36584
...
* better error message if a constraint is found at a wrong location
git-svn-id: trunk@44174 -
2020-02-14 20:56:55 +00:00
svenbarth
c4f3f7f453
* only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol)
...
+ added tests
git-svn-id: trunk@44172 -
2020-02-14 16:49:07 +00:00
svenbarth
20698bb36f
* regenerate msg*.inc after last commit
...
git-svn-id: trunk@44171 -
2020-02-14 16:49:04 +00:00
svenbarth
147559349b
* fix for Mantis #36652 : gracefully handle the error if one tries to implement a method of a type from another unit
...
+ added test
git-svn-id: trunk@44170 -
2020-02-14 16:48:58 +00:00
florian
3279e63351
* patch by J. Gareth Moreton: cleanup TX86AsmOptimizer.OptPass2MOV after DeepMov changes, second part of #36670
...
git-svn-id: trunk@44166 -
2020-02-13 20:53:39 +00:00
florian
251b18b966
* do not fold constants if the resulttypes do not match, improved fix for #tw26587
...
git-svn-id: trunk@44165 -
2020-02-13 20:34:27 +00:00
florian
3a5eb0ec59
* patch by J. Gareth Moreton: cleanup TX86AsmOptimizer.OptPass1MOV after DeepMov changes, first part of #36670
...
git-svn-id: trunk@44164 -
2020-02-13 20:20:10 +00:00
florian
fd4fb5fa19
* patch by Christo Crause: combine code paths for avr1 and avrtiny when converting lds/sts to in/out, resolves #36697
...
git-svn-id: trunk@44163 -
2020-02-12 20:43:13 +00:00
florian
f632e2e7be
* simplified TX86AsmOptimizer.OptPass1Movx
...
git-svn-id: trunk@44162 -
2020-02-12 20:23:06 +00:00
florian
21565c2284
* fixed Mov2Movz optimization
...
git-svn-id: trunk@44161 -
2020-02-12 19:26:52 +00:00
florian
c6350e2903
* patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, part one of #36687
...
git-svn-id: trunk@44153 -
2020-02-11 20:56:20 +00:00
yury
39c48f0d01
* Fixed r43577 for cases when the size of the new result of a simplified node after typecheckpass is smaller than the size of the original node's result. This caused internal errors or invalid assembly in some cases. Issue #36587 .
...
git-svn-id: trunk@44151 -
2020-02-11 12:49:12 +00:00
florian
e7d2c93ca7
* patch by J. Gareth Moreton: deadstore removal improvement, resolves #36669
...
git-svn-id: trunk@44147 -
2020-02-10 20:48:45 +00:00
pierre
40a6059143
Modify code to avoid error when compiling with -CriotR option
...
git-svn-id: trunk@44145 -
2020-02-10 09:37:53 +00:00
florian
991ce83a2b
* patch by J. Gareth Moreton: conditional Jump Inversion stoploop variable, resolves #36680
...
git-svn-id: trunk@44144 -
2020-02-09 20:57:59 +00:00
florian
12d015a935
* patch by J. Gareth Moreton: CMOV extensions: frame/stack pointer relative references are always valid, resolves #36675
...
git-svn-id: trunk@44141 -
2020-02-09 17:39:50 +00:00
florian
2135b9b724
* for avr1, do not save registers during an interrupt procedure, as it has no memory to store them
...
git-svn-id: trunk@44139 -
2020-02-09 14:35:56 +00:00
florian
84cfa8d9b0
* AVR: for avr1 lds/sts must be converted to in/out as well if possible
...
git-svn-id: trunk@44138 -
2020-02-09 13:55:25 +00:00
florian
297d6e2c60
* patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
...
git-svn-id: trunk@44136 -
2020-02-09 10:51:14 +00:00
florian
a905a074b0
* AVR: decide after compiler if a certain subroutine is suitable for avr1, if not, replace it by sleep and warn
...
git-svn-id: trunk@44133 -
2020-02-08 22:05:21 +00:00
florian
dea63e3d61
* AVR: attiny28 is an avr1 CPU
...
git-svn-id: trunk@44132 -
2020-02-08 22:05:21 +00:00
florian
04ad607bb4
* patch by Christo Crause: more AVR controllers, resolves #36683
...
git-svn-id: trunk@44130 -
2020-02-08 20:43:22 +00:00
florian
5040e31f11
* patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
...
git-svn-id: trunk@44128 -
2020-02-07 19:48:46 +00:00
florian
e033269deb
* patch by Christo Craus to reorder the avr controllers for better overview, resolves #36662
...
git-svn-id: trunk@44124 -
2020-02-06 21:10:09 +00:00
florian
3de193467d
* reverted r44119
...
git-svn-id: trunk@44123 -
2020-02-06 20:24:59 +00:00
Tomas Hajny
8de6066b95
+ added possibility to list supported modeswitches using -im and documented it in help pages
...
git-svn-id: trunk@44120 -
2020-02-05 22:37:43 +00:00
florian
2d47013cd1
* patch by J. Gareth Moreton: fixes internal error 200405231 with inline, resolves #35590
...
git-svn-id: trunk@44119 -
2020-02-05 20:35:03 +00:00
Tomas Hajny
f4702ee139
* added information about -M allowing to specify modeswitches
...
git-svn-id: trunk@44115 -
2020-02-04 22:28:23 +00:00
florian
4fe21a8e1a
* patch by Christo Crause: board aliases to onboard controllers, resolves #36659
...
git-svn-id: trunk@44111 -
2020-02-04 21:14:14 +00:00
pierre
9c067709f8
Fix invalid typecast revealed by -CriotR option
...
git-svn-id: trunk@44108 -
2020-02-03 22:35:25 +00:00
florian
640fe9c290
* actually, with lds/sts avrtiny can load addresses up to 191
...
git-svn-id: trunk@44104 -
2020-02-02 20:41:28 +00:00
florian
36058ca4d4
* based on a patch by Christo Crause: more compiler fixes for avrtiny, resolves #36646
...
git-svn-id: trunk@44103 -
2020-02-02 20:35:29 +00:00
florian
bbcbd4eae1
* patch by J. Gareth Moreton, avoid illegal MovAdd2Lea and MovSub2Lea optimziations, resolves #36630
...
git-svn-id: trunk@44101 -
2020-02-02 19:49:47 +00:00
florian
91696d2cf3
- remote accidently committed printnode call
...
git-svn-id: trunk@44099 -
2020-02-02 19:17:22 +00:00
florian
53d2df07b6
* mark handled currencies correctly, so they are handled properly by simplify
...
git-svn-id: trunk@44098 -
2020-02-02 18:28:42 +00:00
florian
b777dc21d7
* fix PowerPC compilation
...
git-svn-id: trunk@44097 -
2020-02-02 15:20:28 +00:00
florian
9dd25d836d
* include ti_nofini in tempinfostoreflags
...
git-svn-id: trunk@44096 -
2020-02-02 14:30:46 +00:00
florian
679c4454c4
* fixes copying of tcgpara
...
git-svn-id: trunk@44095 -
2020-02-02 14:30:45 +00:00
florian
1993c5d1ef
* cosmetics
...
git-svn-id: trunk@44094 -
2020-02-02 14:30:44 +00:00
florian
0af71da9cc
* armhf/armel aligns sections to 16 byte, so allow a maximum c alignment of 16
...
git-svn-id: trunk@44087 -
2020-02-01 22:31:12 +00:00
florian
2ea35e55b1
* patch by J. Gareth Moreton: x86 "OptPass1MOV" improvements - Part 2, resolves #36608
...
git-svn-id: trunk@44086 -
2020-02-01 21:31:56 +00:00
florian
5a87855b06
+ might_have_sideeffects takes care of vo_volatile now (it is not exposed yet)
...
git-svn-id: trunk@44085 -
2020-02-01 20:30:15 +00:00
florian
77b54f501f
* when optimizing boolean expressions, might_have_sideeffects is only relevant if the expression would be optimized away
...
git-svn-id: trunk@44084 -
2020-02-01 18:02:17 +00:00
florian
d479069f8c
* might_have_sideeffects takes care of absolute
...
git-svn-id: trunk@44083 -
2020-02-01 18:00:38 +00:00
svenbarth
1407aa2b4b
* fix for Mantis #36631 : it's an error if a POINT after an array is not followed by an identifier
...
+ added tests
git-svn-id: trunk@44082 -
2020-02-01 17:51:46 +00:00
florian
00214406bc
+ patch by Christo Crause: Support for attiny10x controllers, resolves #36645
...
git-svn-id: trunk@44081 -
2020-02-01 15:54:57 +00:00
florian
6b47d9d9ed
* safecall support is meanwhile generic, so enabled for all linux targets
...
git-svn-id: trunk@44076 -
2020-01-31 21:58:49 +00:00
svenbarth
cba43ebe1b
- remove generic_buf_needs_swapping again as that is now handled with tmodule.change_endian of the generic's module
...
git-svn-id: trunk@44074 -
2020-01-30 21:49:56 +00:00
svenbarth
c6a4d10f61
* for deciding whether to swap a generic's buffer use the module's flag instead of the def's
...
git-svn-id: trunk@44073 -
2020-01-30 21:49:07 +00:00
svenbarth
84dc6621cb
* have the module keep track whether it was loaded from a PPU with a different endianess than the current host system
...
git-svn-id: trunk@44072 -
2020-01-30 21:48:15 +00:00
Jonas Maebe
254b85c352
+ new pio_inline_forbidden flag to indicate that while parsing the
...
implementation the compiler determined the routine must never be
inlined
o difference with po_noinline: can also be set in the implementation
o difference with pio_inline_not_possible: it indicates that e.g.
LLVM must not inline the routine either
git-svn-id: trunk@44065 -
2020-01-29 22:21:17 +00:00
Jonas Maebe
b625afe800
* never inline routines that call get_frame (otherwise get_frame would return
...
the frame of the caller rather than of the current routine, which could
cause e.g. stackframes to be missed in RTL helpers that are known to be
only called from run time error routines)
git-svn-id: trunk@44064 -
2020-01-29 22:21:14 +00:00
Jonas Maebe
08f9ec98e5
* use same Windows platform name as clang
...
git-svn-id: trunk@44063 -
2020-01-29 22:21:10 +00:00
Jonas Maebe
592df7fa59
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
...
that itself, our LLVM code generator can't handle it, and if it did then
afterwards we would have to spill 90% of those register variables again
to make them SSA)
git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
Jonas Maebe
df6516c29f
* fix internalerror if adding the object info for LLVM requires creating new defs
...
git-svn-id: trunk@44061 -
2020-01-29 22:21:03 +00:00
florian
43c83b3ae6
* improve LeaLea2Lea optimization
...
git-svn-id: trunk@44058 -
2020-01-29 21:35:26 +00:00
pierre
d1e4066477
Hopefully fix problems related to loading of ppufile generated with other endianess for generics
...
git-svn-id: trunk@44056 -
2020-01-28 23:43:56 +00:00
florian
6a1c09bb43
* simplify type conversions of ordinal constants to currency
...
git-svn-id: trunk@44055 -
2020-01-28 21:19:05 +00:00
yury
45ffa40b71
* Removed inline since it is not supported with open array parameters.
...
git-svn-id: trunk@44054 -
2020-01-28 19:09:42 +00:00
yury
1b3a3a7983
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
...
git-svn-id: trunk@44053 -
2020-01-28 18:45:33 +00:00
yury
4a756a2d30
* r42239 broke the tw13948b test for aarch64. Fixed this and improved the test.
...
git-svn-id: trunk@44052 -
2020-01-28 17:50:20 +00:00
florian
1486ab7c70
* do not throw a warning about unreachable code if the responsible node was generated internally
...
git-svn-id: trunk@44051 -
2020-01-27 22:27:22 +00:00
florian
56d64b007f
+ in some language modes the loop counter is undefined after the loop by language definition
...
git-svn-id: trunk@44043 -
2020-01-26 20:13:18 +00:00
florian
3c18dee694
* take care of for loop counter read after loop
...
git-svn-id: trunk@44042 -
2020-01-26 20:13:18 +00:00
florian
22197641b8
* last commit fixing calculation of do_loopvar_at_end was not complete,
...
hopefully finally fixed
git-svn-id: trunk@44041 -
2020-01-26 20:13:17 +00:00
florian
74272975af
* do_loopvar_at_end is not possible if the loop counter would overflow with
...
the last iteration
git-svn-id: trunk@44039 -
2020-01-26 15:35:03 +00:00
florian
670c61e760
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 1/3
...
git-svn-id: trunk@44036 -
2020-01-26 14:35:26 +00:00
florian
6c71fd461d
* avoid internalerror for dec/inc(...,v) with v>high(int64), resolves #35298
...
git-svn-id: trunk@44031 -
2020-01-24 21:39:07 +00:00
florian
993144b91b
* patch by J. Gareth Moreton: x86 SUB and LEA optimisations, resolves #36622
...
git-svn-id: trunk@44030 -
2020-01-24 21:10:17 +00:00
florian
a807e18591
* patch by J. Gareth Moreton: x86 CMP/TEST/Jcc optimisations, resolves #36624
...
git-svn-id: trunk@44029 -
2020-01-24 20:41:11 +00:00
florian
d87a5cc9fb
* take care of m_duplicate_names when checking for duplicate locals, resolves #33221
...
git-svn-id: trunk@44028 -
2020-01-23 21:32:09 +00:00
florian
7b4292c94e
* patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236
...
git-svn-id: trunk@44027 -
2020-01-23 21:14:49 +00:00
florian
90a40ab9ca
* fix for #32352 : a unit does not need to be re-deref'ed if it just had been recompiled
...
git-svn-id: trunk@44026 -
2020-01-23 20:56:56 +00:00
florian
d2a059bd02
* patch by Christo Crause: avrtiny26 controller is not subarch avr25 but avr2, resolves #36620
...
git-svn-id: trunk@44021 -
2020-01-22 20:41:24 +00:00
florian
3ab8830b83
* patch by Christo Crause: Correct subarch for avrtiny series in compiler, resolves #36619
...
git-svn-id: trunk@44020 -
2020-01-22 20:34:43 +00:00
svenbarth
9a42625cfb
* also allow by-value open array parameters for the tail recursion optimization
...
* adjusted test
git-svn-id: trunk@44012 -
2020-01-21 21:30:10 +00:00
svenbarth
4fc02d3d09
* enable tail recursion optimization also for const and constref open arrays
...
+ added test
git-svn-id: trunk@44011 -
2020-01-21 21:29:56 +00:00
marco
a640a8d21e
* regenned msgtxt.inc
...
git-svn-id: trunk@44009 -
2020-01-21 13:21:59 +00:00
marco
eed0e52a64
* copyright date update, mantis 035903
...
git-svn-id: trunk@44008 -
2020-01-21 13:20:05 +00:00
florian
fc44c2d4c9
+ insert alignments after break/goto/exit/continue jmp instructions, if it is
...
superfluous, the assembler optimizer will take care of it
git-svn-id: trunk@44007 -
2020-01-20 21:56:39 +00:00
florian
08c2afb0a4
* AVR: use CP ...,r1 instead of CPI ...,0 to enable all registers being used as first operand
...
git-svn-id: trunk@44006 -
2020-01-20 21:14:28 +00:00
yury
392fc0b637
* android: Changed additions to the linker script to prevent misalignment of the .data section. It fixes crash when linking using recent versions of LD where the "relro" option is default. Issue #35641 .
...
* android: Always pass "-z relro" to the linker.
git-svn-id: trunk@44002 -
2020-01-19 20:31:54 +00:00
florian
16152cf948
* patch by J. Gareth Moreton: get rid of another pass through the assembler list by integrating OptReferences
...
into the post optimizer pass
git-svn-id: trunk@44001 -
2020-01-19 20:11:05 +00:00
florian
069e040e49
* do for-loop unrolling after for-loop simplification, resolves #36589
...
git-svn-id: trunk@43999 -
2020-01-19 18:21:12 +00:00
florian
429130fa34
* AVR: attiny can do post increment operations, so remove code working around this
...
git-svn-id: trunk@43996 -
2020-01-19 18:04:59 +00:00
florian
bd96765632
* AVR: do not insert jmp if not supported
...
git-svn-id: trunk@43995 -
2020-01-19 18:04:58 +00:00
florian
2d9cdab264
+ AVR: initial support for the avrtiny architecture
...
git-svn-id: trunk@43987 -
2020-01-19 15:55:24 +00:00
florian
f629fa1bb9
* AVR: tcgavr.normalize_ref must always load the reference into tmpreg
...
git-svn-id: trunk@43986 -
2020-01-19 15:55:23 +00:00
florian
26eae3672b
+ AVR: GetDefaultZeroReg and GetDefaultTmpReg
...
git-svn-id: trunk@43985 -
2020-01-19 15:55:23 +00:00
florian
aaa6ae5770
+ AVR: cputype cpu_avrtiny
...
git-svn-id: trunk@43984 -
2020-01-19 15:55:22 +00:00
florian
96a4cda03b
* AVR: fixes pushing and handling of stack passed parameters
...
git-svn-id: trunk@43983 -
2020-01-19 15:55:21 +00:00
florian
6f434b6751
* AVR: fixed TDwarfAsmCFILowLevel.generate_initial_instructions
...
git-svn-id: trunk@43982 -
2020-01-19 15:55:21 +00:00
florian
4b4e316af0
* compilation fixed
...
git-svn-id: trunk@43981 -
2020-01-19 15:55:20 +00:00
florian
48236401e0
* voidcodepointertype => voidpointertype as suggested by Pierre
...
git-svn-id: trunk@43976 -
2020-01-18 21:51:27 +00:00
florian
70a836c4a2
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
...
is merged by this commit with a lot of adaptions
git-svn-id: trunk@43949 -
2020-01-14 21:52:39 +00:00
Jeppe Johansen
2678522db5
- RISC-V: Add controller types for common RV32 MCUs.
...
- Adds initial controller units for these MCUs.
Code contributed by Michael Ring
git-svn-id: trunk@43935 -
2020-01-13 22:54:26 +00:00
Jeppe Johansen
02c3f328a2
- RISC-V: Share optimizations between 32 and 64-bit.
...
git-svn-id: trunk@43934 -
2020-01-13 22:49:23 +00:00
Jeppe Johansen
7cfb87b325
- Handle jump optimizations on RISC-V
...
git-svn-id: trunk@43933 -
2020-01-13 22:42:39 +00:00
florian
931d4dcfee
* ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
...
git-svn-id: trunk@43931 -
2020-01-13 21:20:03 +00:00
florian
9926eb8dc6
* patch by Christo Crause: Passing a file name with extension to cross compiler
...
with -o causes error, fixed, resolves #36562
git-svn-id: trunk@43921 -
2020-01-12 20:57:52 +00:00