nickysn
531cc0ab0d
+ introduced TAOptBase.RegistersInterfere (which might not always be equivalent to SuperRegistersEqual)
...
git-svn-id: trunk@45339 -
2020-05-11 16:00:27 +00:00
nickysn
4263ff44c1
+ Z80: added a registers_interfere helper function
...
git-svn-id: trunk@45338 -
2020-05-11 15:29:42 +00:00
nickysn
5947adcd7b
+ added a correct implementation of TAOptBase.SuperRegistersEqual for the Z80
...
git-svn-id: trunk@45337 -
2020-05-11 14:21:26 +00:00
michael
50261464da
* Patch from N. Neumann, implement some delphi compatible StrToUint functions (bug id 37049)
...
git-svn-id: trunk@45336 -
2020-05-11 13:14:47 +00:00
Mattias Gaertner
4afe1de02f
pas2js: fixed arrayRef
...
git-svn-id: trunk@45335 -
2020-05-11 10:59:30 +00:00
michael
4fed12553a
* Fix bug id #0037048 (wrong count sometimes), upstream fix
...
git-svn-id: trunk@45334 -
2020-05-11 07:13:04 +00:00
nickysn
06a728df24
+ added the alternate Z80 register pairs BC', DE' and HL'
...
git-svn-id: trunk@45333 -
2020-05-11 04:23:02 +00:00
nickysn
9ce97e6ba5
+ also recognize alternate registers in the Z80 inline asm scanner. This allows
...
the "EX AF,AF'" instruction to be accepted and assembled as well.
git-svn-id: trunk@45332 -
2020-05-11 00:55:32 +00:00
nickysn
b581751ef3
- cleaned up some x86-specific code from the Z80 inline asm reader
...
git-svn-id: trunk@45331 -
2020-05-11 00:46:24 +00:00
svenbarth
0fbd418cb7
* generate CFI data only if we're either using it for exception handling or if debug output is enabled (or should this only be generated for targets that in theory support DWARF exception handling?). This removes unnecessary bloat from e.g. Windows binaries
...
git-svn-id: trunk@45330 -
2020-05-10 20:46:08 +00:00
svenbarth
3c79a8dd81
* GetLoadErrorStr (currently) returns a ShortString, so avoid a useless conversion to AnsiString
...
git-svn-id: trunk@45329 -
2020-05-10 20:46:04 +00:00
florian
2a2ec77b10
* improved heuristics for auto-inlining
...
git-svn-id: trunk@45328 -
2020-05-10 19:41:13 +00:00
florian
e5e386f94a
* cosmetics
...
git-svn-id: trunk@45327 -
2020-05-10 18:41:10 +00:00
florian
ebcae70d72
* avoid unncessary conversions of constants in 64 bit ints when doing constant folding
...
git-svn-id: trunk@45326 -
2020-05-10 15:25:31 +00:00
florian
7a6bd84bc0
* cast only the longint
...
git-svn-id: trunk@45325 -
2020-05-10 12:52:17 +00:00
florian
b48c8d8596
* fixed test for 32 Bit targets
...
git-svn-id: trunk@45324 -
2020-05-10 09:04:13 +00:00
yury
7cda3d9e57
* Code formatting.
...
git-svn-id: trunk@45323 -
2020-05-09 21:53:43 +00:00
yury
254d0c0e2c
* Do not perform optimization of nested procedures for:
...
- targets which use a special struct to access parent's variables;
- pure assembler procedures (for compatibility with old code).
git-svn-id: trunk@45322 -
2020-05-09 20:45:00 +00:00
Mattias Gaertner
042ad497d3
pas2js: ArrayOfChar:=String, pass string to ArrayOfChar
...
git-svn-id: trunk@45321 -
2020-05-09 20:14:21 +00:00
yury
a316229ef6
* Always use parentfp for forward-declared nested procedures.
...
git-svn-id: trunk@45320 -
2020-05-09 17:52:17 +00:00
florian
bdabf674e1
* propagate forinline
...
git-svn-id: trunk@45319 -
2020-05-09 17:36:36 +00:00
Károly Balogh
8b31df7067
rtl-console: fixed keypressed implementation in the Amiga VidCRT unit
...
git-svn-id: trunk@45318 -
2020-05-09 12:56:19 +00:00
Jonas Maebe
bd19575f92
* fixed -Cl options now showing in the help of an LLVM compiler (and fixed
...
them to read -Cl rather than -CL)
git-svn-id: trunk@45316 -
2020-05-09 10:08:35 +00:00
Mattias Gaertner
cf441f6ffa
pas2js: setlength dyn array of static array
...
git-svn-id: trunk@45315 -
2020-05-09 08:33:30 +00:00
Károly Balogh
04a42bef84
m68k: fixed instruction code formatting in the generated include
...
git-svn-id: trunk@45314 -
2020-05-08 21:06:59 +00:00
florian
60e34e9965
* spelling fixed, resolves #37002
...
git-svn-id: trunk@45313 -
2020-05-08 20:14:23 +00:00
Károly Balogh
6753f86987
m68k: migrate the compiler to the new instruction tables and drop the old ones
...
git-svn-id: trunk@45312 -
2020-05-08 12:33:04 +00:00
Károly Balogh
bc9b8af04b
m68k: add the converted includes, based on m68kins.dat
...
git-svn-id: trunk@45311 -
2020-05-08 12:11:13 +00:00
Károly Balogh
d5874b0088
m68k: added a full instruction table (minus CF MAC/EMAC instructions for now), based on vasm, and the required tool to process it
...
git-svn-id: trunk@45310 -
2020-05-08 12:05:11 +00:00
Mattias Gaertner
4ff4c2456d
pas2js: error on compare static array
...
git-svn-id: trunk@45309 -
2020-05-08 08:46:41 +00:00
nickysn
4d428d945e
+ use ApplyAsmSymbolRestrictions on all symbols in the NASM writer
...
git-svn-id: trunk@45308 -
2020-05-08 00:53:05 +00:00
Károly Balogh
fc5c35362b
m68k: preparations for upcoming full instruction tables, mostly converting code away from using sets of opcodes
...
git-svn-id: trunk@45307 -
2020-05-07 23:30:13 +00:00
florian
f8e7d0bc09
- remove unused files, resolves #37032
...
git-svn-id: trunk@45306 -
2020-05-07 20:36:09 +00:00
nickysn
92043c6e20
* call inherited in tcg64f8086.a_op64_reg_ref for OP_NEG and OP_NOT, because it is handled differently after r45302
...
git-svn-id: trunk@45305 -
2020-05-07 11:51:58 +00:00
nickysn
4f4d8191f0
+ generate more optimal code for OP_NOT and OP_NEG in tcg64f8086.a_op64_ref
...
git-svn-id: trunk@45304 -
2020-05-07 03:34:20 +00:00
nickysn
52572e10e9
* i8086 compilation fixed after r45302
...
git-svn-id: trunk@45303 -
2020-05-07 02:57:57 +00:00
nickysn
0f6ab0de17
* handle LOC_(C)SUBSETREG/REF in second_NegNot_assign
...
* changed the way OP_NEG and OP_NOT are handled in op_reg_ref, in order to be
consistent with op_reg_reg
* introduced op_reg,op_ref,op_subsetreg,op_subsetref and op_loc for the unary
operations only (OP_NEG,OP_NOT)
git-svn-id: trunk@45302 -
2020-05-07 02:43:02 +00:00
nickysn
5aaf863d56
* only call cg64.a_XXX_loc for LOC_(C)REFERENCE and LOC_(C)REGISTER locations in
...
tcginlinenode.second_AndOrXorShiftRot_assign
git-svn-id: trunk@45301 -
2020-05-06 21:24:19 +00:00
nickysn
69e8926295
* updated revision.inc
...
git-svn-id: trunk@45300 -
2020-05-06 21:09:37 +00:00
florian
ba8cddb546
+ Xtensa: Sptr
...
git-svn-id: trunk@45299 -
2020-05-06 20:49:19 +00:00
nickysn
56b79257a1
* fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
...
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
Mattias Gaertner
14ccc191eb
pas2js: arraySetLength: faster resize
...
git-svn-id: trunk@45297 -
2020-05-06 20:09:35 +00:00
Mattias Gaertner
728a60c155
pas2js: fixed compile under nodejs
...
git-svn-id: trunk@45296 -
2020-05-06 19:48:13 +00:00
Mattias Gaertner
da799883dd
pas2js: type helper for wordbool
...
git-svn-id: trunk@45295 -
2020-05-06 19:31:43 +00:00
Mattias Gaertner
86cfd866f4
pas2js: started array SetLength using resize and hidden boolean to mark referenced arrays
...
git-svn-id: trunk@45294 -
2020-05-06 19:13:33 +00:00
Mattias Gaertner
c66ac2f892
fcl-passrc: resolver: allow passing a string/char to an array of char
...
git-svn-id: trunk@45293 -
2020-05-06 19:02:27 +00:00
yury
40504a6f9d
* If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter.
...
* Improved the tisogoto1.pp test.
git-svn-id: trunk@45292 -
2020-05-06 14:43:49 +00:00
yury
c1d124d497
* x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then.
...
* Added variants of the tb0219 and tb0548 tests with forced -O2.
git-svn-id: trunk@45291 -
2020-05-06 14:18:44 +00:00
nickysn
75ce122d36
- removed commented out writeln
...
git-svn-id: trunk@45290 -
2020-05-06 03:24:15 +00:00
nickysn
616cb38292
* fixed the TRelocDataInt to avoid truncating 16-bit addresses to 8-bit on 8-bit CPUs
...
git-svn-id: trunk@45289 -
2020-05-06 02:52:28 +00:00