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 |
|