florian
|
5c2c5d72a2
|
* use avx for copying data only on i386 for 8 byte chunks
git-svn-id: trunk@36149 -
|
2017-05-07 16:18:42 +00:00 |
|
florian
|
f8d517be70
|
* make TX86AsmOptimizer.IsExitCode usable for x86-64 as well
git-svn-id: trunk@36148 -
|
2017-05-07 16:18:40 +00:00 |
|
florian
|
dd69ab5488
|
* cleanup after all old code from PeepHoleOptPass2 of i386 was moved to the common x86 optimizer class
git-svn-id: trunk@36147 -
|
2017-05-07 16:18:37 +00:00 |
|
florian
|
cd134ea5bb
|
+ DebugMsg
git-svn-id: trunk@36146 -
|
2017-05-07 16:18:35 +00:00 |
|
florian
|
4a43d992f5
|
* unified usage of MatchOpType
* fixed generic MatchOpType
git-svn-id: trunk@36145 -
|
2017-05-07 16:18:33 +00:00 |
|
nickysn
|
4a8a7c210a
|
* fixed test on platforms that don't have 8-bit and 16-bit rol/ror
git-svn-id: trunk@36144 -
|
2017-05-07 13:34:26 +00:00 |
|
florian
|
7afe762d22
|
* factored out OptPass2Jcc assembler optimization
* OptPass2Jcc now used by x86-64 as well
* remove orphaned alignments if the label is not used anymore after cmov is used
git-svn-id: trunk@36143 -
|
2017-05-07 12:45:48 +00:00 |
|
florian
|
e3f0b338d4
|
* SkipLabels moved to aoptutils
* factored out OptPass2Jmp assembler optimization
* OptPass2Jmp now used by x86-64 as well
git-svn-id: trunk@36141 -
|
2017-05-06 21:07:02 +00:00 |
|
Mattias Gaertner
|
04807d1ac4
|
fcl-passrc: implemented $if
git-svn-id: trunk@36140 -
|
2017-05-06 20:11:26 +00:00 |
|
marco
|
6ed045a911
|
* encoding strings now CONST, minor optimization from mantis 028117
git-svn-id: trunk@36139 -
|
2017-05-06 18:47:50 +00:00 |
|
florian
|
f985971a62
|
* apply mov reg1, mem1; cmp x, mem1 to mov reg1, mem1; cmp x, reg1 also for test
git-svn-id: trunk@36138 -
|
2017-05-06 18:47:47 +00:00 |
|
florian
|
c7ba611bf9
|
* when explicitly casting a variable, it might be sufficient if it is const_regable
git-svn-id: trunk@36137 -
|
2017-05-06 18:47:45 +00:00 |
|
florian
|
52d40bb25b
|
* spacing fixed
git-svn-id: trunk@36136 -
|
2017-05-06 18:47:43 +00:00 |
|
florian
|
b3f889e028
|
* -Ox options are incremental, so disable all optimizations first in case testing is run with -O4
git-svn-id: trunk@36135 -
|
2017-05-06 18:47:41 +00:00 |
|
pierre
|
ded1fb23a2
|
Improve stack trace output with -Cr option, contributed by Colin Western
git-svn-id: trunk@36134 -
|
2017-05-06 13:54:50 +00:00 |
|
maciej-izak
|
631d4a2d53
|
* Move global variable in_preproc_comp_expr into tscannerfile class.
git-svn-id: trunk@36133 -
|
2017-05-06 12:12:50 +00:00 |
|
Mattias Gaertner
|
d493980bb2
|
fcl-passrc: scanner: implemented macros directive
git-svn-id: trunk@36131 -
|
2017-05-06 07:41:40 +00:00 |
|
Mattias Gaertner
|
72bc6e2692
|
fcl-passrc: scanner: undefine on macros too
git-svn-id: trunk@36130 -
|
2017-05-06 07:27:33 +00:00 |
|
Mattias Gaertner
|
9390bfb485
|
fcl-passrc: reverted scanner Macros change
git-svn-id: trunk@36129 -
|
2017-05-06 07:27:03 +00:00 |
|
maciej-izak
|
6d1ad52dc5
|
* for symbols used in preprocessor expressions, we don't want to increase references count (for smaller final binaries). Partial fix for problem presented in mantis 31675. Preprocessor functions like declared() in uses section will work only for symbols declared in implicytly included modules (for example like for heaptrc by option -gh, see example/test tw31675.pp)
+ added tests
git-svn-id: trunk@36128 -
|
2017-05-05 22:27:07 +00:00 |
|
Mattias Gaertner
|
fef47e05e0
|
fcl-passrc: scanner: accelerated Macros
git-svn-id: trunk@36127 -
|
2017-05-05 22:21:18 +00:00 |
|
Mattias Gaertner
|
76734070c4
|
fcl-passrc: parser: clean up
git-svn-id: trunk@36126 -
|
2017-05-05 17:47:48 +00:00 |
|
Mattias Gaertner
|
a60f3b26e6
|
fcl-passrc: parser: fixed forbid type t=ansistring[]
git-svn-id: trunk@36125 -
|
2017-05-05 17:42:26 +00:00 |
|
nickysn
|
c28d533bb0
|
+ support the cmpsd sse instruction in the at&t inline assembly reader
git-svn-id: trunk@36124 -
|
2017-05-05 15:46:47 +00:00 |
|
pierre
|
65fadcaa53
|
Disable threading and dynlibs features for msdos OS target by default
git-svn-id: trunk@36123 -
|
2017-05-05 15:03:47 +00:00 |
|
nickysn
|
98d2684368
|
+ correctly support the sse2 version of the cmpsd x86 instruction, when writing
at&t style asm output
git-svn-id: trunk@36122 -
|
2017-05-05 15:01:38 +00:00 |
|
Mattias Gaertner
|
1d1c310876
|
fcl-passrc: IsValidIdent for fpc 3.0
git-svn-id: trunk@36121 -
|
2017-05-05 14:31:27 +00:00 |
|
pierre
|
eb378c1b94
|
Replace __tls_used for win64 by an alias of _tls_used
git-svn-id: trunk@36120 -
|
2017-05-05 14:27:04 +00:00 |
|
nickysn
|
b882ba5fd2
|
+ also recognize sbb reg,reg as writing a new value in the register in TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36119 -
|
2017-05-05 14:24:13 +00:00 |
|
Mattias Gaertner
|
4305ffcfa3
|
pastojs: implemented dotted unit reference
git-svn-id: trunk@36118 -
|
2017-05-05 14:20:10 +00:00 |
|
Mattias Gaertner
|
96f88184ef
|
fcl-passrc: resolver: fixed dotted runit reference
git-svn-id: trunk@36117 -
|
2017-05-05 14:19:21 +00:00 |
|
svenbarth
|
c552b2957a
|
* implement support for 4 Byte UTF-8 codepoints that result in a surrogate pair for UTF-16
git-svn-id: trunk@36116 -
|
2017-05-05 14:03:57 +00:00 |
|
nickysn
|
af48d176ec
|
+ precise flag information for the ucomiss,ucomisd,vucomiss and vucomisd x86 instructions
git-svn-id: trunk@36115 -
|
2017-05-05 13:41:43 +00:00 |
|
nickysn
|
0e0e5c0caf
|
+ support the flags register and its subregisters in TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36114 -
|
2017-05-05 12:17:50 +00:00 |
|
pierre
|
d2d1794b40
|
Use HandleError instead of RunError in fpc_help_destructor, fpc_check_object and fpc_check_object_ext
git-svn-id: trunk@36113 -
|
2017-05-05 11:49:16 +00:00 |
|
nickysn
|
85fbbec319
|
+ recognize xor reg,reg (same register twice) and sub reg,reg as writing a new
value to reg in TX86AsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@36112 -
|
2017-05-05 11:01:34 +00:00 |
|
pierre
|
9ca8bd41ca
|
Guard critical section procedure calls with ifdef FPC_HAS_FEATURE_THREADING
git-svn-id: trunk@36111 -
|
2017-05-05 09:33:18 +00:00 |
|
pierre
|
579b8dafd2
|
Do not call initunicodestringmanager if unicodestrings feature is disabled
git-svn-id: trunk@36110 -
|
2017-05-05 08:01:45 +00:00 |
|
pierre
|
7d0d41be4b
|
Allow msdos RTL compilation with -Sfnodynlibs
git-svn-id: trunk@36108 -
|
2017-05-04 22:54:53 +00:00 |
|
pierre
|
78343902bf
|
Allow objpas classes and sysutils units to compile with threading support disabled
git-svn-id: trunk@36107 -
|
2017-05-04 22:13:11 +00:00 |
|
pierre
|
651f8b17c1
|
Add minimum type/const for RTL compilation with threading support disabled
git-svn-id: trunk@36106 -
|
2017-05-04 22:12:17 +00:00 |
|
svenbarth
|
52ddce608f
|
+ add test for enumerating a set without ranges
git-svn-id: trunk@36105 -
|
2017-05-04 22:00:29 +00:00 |
|
svenbarth
|
c349151504
|
+ add test for array constructors
git-svn-id: trunk@36104 -
|
2017-05-04 21:59:49 +00:00 |
|
svenbarth
|
1aa80f77cb
|
- remove no longer needed global variable allow_array_constructor
git-svn-id: trunk@36103 -
|
2017-05-04 21:58:14 +00:00 |
|
svenbarth
|
6d512ddac7
|
* allow nested array constructors inside normal code blocks (body & except)
git-svn-id: trunk@36102 -
|
2017-05-04 21:56:33 +00:00 |
|
svenbarth
|
8f4ef91efb
|
* tarrayconstructornode: force conversion to set if there's a range node in the tree
git-svn-id: trunk@36101 -
|
2017-05-04 21:55:12 +00:00 |
|
svenbarth
|
bdef19fd79
|
* indeed allow the conversion of array constructors to dynamic arrays
git-svn-id: trunk@36100 -
|
2017-05-04 21:54:27 +00:00 |
|
svenbarth
|
82b2d22ed6
|
* keep track of allow_array_constructor as part of the array constructor node
git-svn-id: trunk@36099 -
|
2017-05-04 21:52:21 +00:00 |
|
svenbarth
|
dfc23da06c
|
* tassignmentnode.pass_typecheck: also allow "dynarray := []" in addition to "dynarray := nil"
git-svn-id: trunk@36098 -
|
2017-05-04 21:40:37 +00:00 |
|
svenbarth
|
c6f19b9888
|
* create_for_in_loop: if there's a choice between iterating an array and a set then prefer the set for backwards compatibility
git-svn-id: trunk@36097 -
|
2017-05-04 21:38:00 +00:00 |
|