Jonas Maebe
0cd85d73e4
* ttryfinallynode now inherits from tbinarynode instead of tloopnode, as its
...
t1 field was always set to tnothingnode
git-svn-id: trunk@40142 -
2018-11-01 13:19:33 +00:00
pierre
3b49fda0a2
Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
...
git-svn-id: trunk@40132 -
2018-11-01 07:09:47 +00:00
pierre
96460b70b2
Remove another wrong typecast when testing that a tai is an instruction
...
git-svn-id: trunk@40131 -
2018-11-01 07:01:02 +00:00
pierre
9c90f593ab
Add global range check disable for i8086 cgcpu and x86 nx86add units
...
git-svn-id: trunk@40124 -
2018-10-31 23:20:29 +00:00
pierre
a015c779ff
Remove unneeded typecasts in TryTOptimizeMove
...
git-svn-id: trunk@40123 -
2018-10-31 23:19:39 +00:00
pierre
fbffd2a38f
Fix typecast in FindRegDeAlloc call
...
git-svn-id: trunk@40122 -
2018-10-31 23:18:09 +00:00
pierre
bb219cd05a
Add check about tloadnode.symtableentry type before typecast
...
git-svn-id: trunk@40121 -
2018-10-31 23:16:51 +00:00
pierre
0abc978cc4
Change RemoveCurrentP parameter type to tai, because GetNextInstruction does not always return a taicpu, adapt code in avr/aoptcpu unit
...
git-svn-id: trunk@40120 -
2018-10-31 23:15:22 +00:00
pierre
9c2ac7b3dd
Avoid range check error in ReadPosInfo
...
git-svn-id: trunk@40115 -
2018-10-31 22:53:11 +00:00
pierre
bf3bedb2d4
Add explicit rtlclean/rtl targets in fullcycle rule if DOWPOCYCLE is set
...
git-svn-id: trunk@40114 -
2018-10-31 15:50:26 +00:00
pierre
ae0c180e0b
Avoid overflow in code
...
git-svn-id: trunk@40113 -
2018-10-31 15:49:14 +00:00
pierre
e42ccccecf
Disable range check completely in arm/cgcpu unit
...
git-svn-id: trunk@40112 -
2018-10-31 15:48:32 +00:00
pierre
04fd1a6397
Complement commit 40104, by changing type of executionweight in toptinfo record and adapt pass_2 code
...
git-svn-id: trunk@40111 -
2018-10-31 15:47:53 +00:00
pierre
e5dffebdc7
Avoid range check error in MaskLength evaluation
...
git-svn-id: trunk@40110 -
2018-10-31 14:51:23 +00:00
pierre
8f7707d474
Use correct field for sl_absolutetype or sl_typeconv ppropaccesslistitem type (revealed by compilation with -CriotR)
...
git-svn-id: trunk@40109 -
2018-10-31 14:43:18 +00:00
pierre
8cd55d4603
Use longint type instead of AWord for Initial parameter in CalcExecutionWeigths (to avoid range error for avr compiler)
...
git-svn-id: trunk@40104 -
2018-10-31 10:21:51 +00:00
pierre
7a07f848e8
Use pdword to avoid range check erro in tentryfile.getdword method
...
git-svn-id: trunk@40103 -
2018-10-31 09:59:45 +00:00
florian
18a45d94a3
* version update
...
git-svn-id: trunk@40068 -
2018-10-28 16:21:06 +00:00
yury
bf4eda478d
* SetExecutionWeight(): Set execution weight also for nodes with special handling. Minor code cleanup/improvements.
...
* Restore previous execution weight before exiting secondpass().
* It all improves register allocation for variables inside loops in some cases.
git-svn-id: trunk@40059 -
2018-10-27 18:13:33 +00:00
yury
2b459b30d2
* Optimized generic implementations of tcg.a_op_const_ref() and tcg.a_op_reg_ref() for PIC and CPUs which need 2 or more instructions to load a symbol's value by reference.
...
First the symbol's address is taken and then it is used to load the value and also store the result. It eliminates extra calculation of the symbol's address needed to store the result.
x86 and other CPUs which can handle refs ops directly or more efficiently already have overloaded versions of these methods and are not affected by this change.
git-svn-id: trunk@40050 -
2018-10-27 11:32:22 +00:00
pierre
d26fb3b663
Try to fix compilation error after commit #40027
...
git-svn-id: trunk@40028 -
2018-10-25 06:39:42 +00:00
pierre
740a26d879
Fix compilation of RTL for watcom target
...
git-svn-id: trunk@40027 -
2018-10-24 21:37:54 +00:00
pierre
c6977a0a7a
Explicitly disable range checking
...
git-svn-id: trunk@40026 -
2018-10-24 21:37:22 +00:00
florian
112fb4613b
* take care of the fact that x and w registers overlap when carrying out the Str/LdrAdd/Sub2Str/Ldr Postindex optimization
...
git-svn-id: trunk@40023 -
2018-10-24 17:38:51 +00:00
florian
0a5e6d29cb
+ implement assembler optimization Str/LdrAdd/Sub2Str/Ldr Postindex done
...
git-svn-id: trunk@40017 -
2018-10-23 20:41:27 +00:00
florian
379c2fe821
* cleanup debug code
...
git-svn-id: trunk@40016 -
2018-10-22 21:27:36 +00:00
florian
f27fee5566
+ make use of the BFI instruction in tcgaarch64.a_load_ref_reg_unaligned
...
git-svn-id: trunk@40015 -
2018-10-22 21:23:48 +00:00
Jonas Maebe
9bd931e931
* make "formal const/var" parameters the least preferred conversion
...
(mantis #32179 )
- removed code to handle conversion to formaldef parameters that are not by
reference (so the default conversion preference is kept)
git-svn-id: trunk@40012 -
2018-10-21 21:02:17 +00:00
Jonas Maebe
2a3eeab96d
* support for constant char/bool/enum indices in typed constant
...
index expressions (mantis #34055 )
* prevent all indirect structure indexing instead of only
ansi/wide/unicodestrings
git-svn-id: trunk@40010 -
2018-10-21 18:48:41 +00:00
Jonas Maebe
2c7c0d1144
* handle widechar constants directly in the scanner, instead of in the
...
overload selection (where you can't even know whether the string is
a valid widechar constant) (mantis #33875 )
git-svn-id: trunk@40009 -
2018-10-21 17:34:00 +00:00
Jonas Maebe
60277dda09
* fix crash when checking load nodes during inlining in case they don't
...
have a symtable set (happens for internally generated labels, like
$raiseaddr) (mantis #34442 )
git-svn-id: trunk@40008 -
2018-10-21 15:53:46 +00:00
florian
88589fb99d
* make install shall not make assumptions about FPC, if one was provided
...
git-svn-id: trunk@40007 -
2018-10-21 14:52:21 +00:00
florian
02e03cbd86
* use the built compiler to install files, so the version is set correctly
...
git-svn-id: trunk@40006 -
2018-10-21 13:35:44 +00:00
florian
6521918269
* fullinstall builds (and installs) utils now only once
...
git-svn-id: trunk@40005 -
2018-10-21 13:16:57 +00:00
florian
af7dfbc970
* typo
...
git-svn-id: trunk@40004 -
2018-10-21 12:14:26 +00:00
florian
9febce6ffb
* remove .NOTPARALLEL: from compiler Makefile, accelerates make fullcycle with -j a lot
...
* few cleanups
git-svn-id: trunk@40003 -
2018-10-21 11:40:57 +00:00
pierre
378e1dfaa4
Add explicit typecast to avoid range check error
...
git-svn-id: trunk@40001 -
2018-10-20 22:19:08 +00:00
pierre
0bcf9a51d9
Avoid range check error when compiled with -CR
...
git-svn-id: trunk@40000 -
2018-10-20 18:49:53 +00:00
pierre
3715dbdf41
Avoid run time error if compiled with -CR option
...
git-svn-id: trunk@39999 -
2018-10-20 18:44:05 +00:00
florian
0cc3be49fa
* GAS readers and writers can handle section flags
...
git-svn-id: trunk@39998 -
2018-10-20 18:23:24 +00:00
pierre
d512d8cae1
Also fix first_abs_real like in rev 39988
...
git-svn-id: trunk@39997 -
2018-10-20 18:11:25 +00:00
florian
2cbb9895be
* pass float abi always to the arm assembler
...
git-svn-id: trunk@39996 -
2018-10-20 16:48:31 +00:00
florian
3078cc4b0d
* same fix as in r39988 for fpc_first_sqrt
...
git-svn-id: trunk@39991 -
2018-10-20 10:18:45 +00:00
florian
116f36fe56
* avoid range check errors
...
git-svn-id: trunk@39990 -
2018-10-20 10:17:34 +00:00
florian
d4cf97a755
* wrong ifdef exposed by warning with -O3 fixed
...
git-svn-id: trunk@39989 -
2018-10-20 09:16:51 +00:00
pierre
7d7f966ccb
Fix wrong explicit typecast that lead to memory corruption in first_sqr_real
...
git-svn-id: trunk@39988 -
2018-10-19 23:04:55 +00:00
yury
48fcbb3f6c
* Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
...
git-svn-id: trunk@39987 -
2018-10-19 20:23:08 +00:00
pierre
92acd38f40
Fix for bug report #34380
...
git-svn-id: trunk@39986 -
2018-10-18 20:21:54 +00:00
florian
9805214d34
* properly take care of register allocations between the first and second instruction for the FoldLea optimization
...
* check for ait_instruction after a GetNextInstruction function call
* cosmetics
git-svn-id: trunk@39983 -
2018-10-18 18:28:03 +00:00
yury
4643a0b1ff
* Register external gas assembler for aarch64-android and x86_64-android.
...
git-svn-id: trunk@39969 -
2018-10-18 11:48:27 +00:00