Commit Graph

59243 Commits

Author SHA1 Message Date
nickysn
f0edd62b88 + Z80: report flags register information in TCpuAsmOptimizer.RegLoadedWithNewValue for 16-bit ADD,ADC,SBC,INC and DEC
git-svn-id: trunk@45373 -
2020-05-16 00:03:54 +00:00
florian
b239365479 * improved LeaLea2Lea
git-svn-id: trunk@45372 -
2020-05-15 21:25:30 +00:00
marcus
252a329100 Amiga, MorphOS: fixed Syscall offset for AddAppWindowA
git-svn-id: trunk@45371 -
2020-05-15 16:51:49 +00:00
svenbarth
f0e8d5dfa6 * fix for Mantis #37043: apply patch by Bi0T1N (including test) to add additional overloads for IntToHex including a rerouting of the ordinal helpers' ToHexString to use these overloads
git-svn-id: trunk@45370 -
2020-05-15 15:14:19 +00:00
Mattias Gaertner
0548ac5549 pas2js: split ReadElement, add to parent before reading resolver data
git-svn-id: trunk@45369 -
2020-05-15 13:13:05 +00:00
michael
08cb5b7665 * Max len 3 per number in dotted quad
git-svn-id: trunk@45368 -
2020-05-15 11:23:14 +00:00
michael
a0c403f445 * Fix bug ID #37080: too permissive val() on supplied quads
git-svn-id: trunk@45367 -
2020-05-15 10:47:48 +00:00
nickysn
37b607143a + handle the flags register bits for many Z80 instructions in TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@45366 -
2020-05-14 22:44:48 +00:00
florian
4559620efa * patch by Reynaldo to generate kernel image for the raspi2 embedded port, resolves #27052
git-svn-id: trunk@45365 -
2020-05-14 21:16:12 +00:00
Károly Balogh
1df56495b7 * fix a typo in a comment. no functional change
git-svn-id: trunk@45364 -
2020-05-14 15:23:27 +00:00
michael
032f3aa11a * Fix visibility warning
git-svn-id: trunk@45363 -
2020-05-14 09:31:05 +00:00
michael
b2abcba6d9 * Generic list mode, allow use of record instead of class
git-svn-id: trunk@45362 -
2020-05-14 09:29:36 +00:00
Jonas Maebe
a2174753c1 - removed tabstractrecorddef.get_unit_symtable, which did not always return the unit
symtable (when you had a local recorddef in a procdef)
  * modified tdef.get_top_level_symtable() so you can specify whether you want to
    skip procdefs or not
  * changed tobjectdef.vmt_def() to no longer require a typesym for the tobjectdef
    (based on patch by Blaise)

git-svn-id: trunk@45361 -
2020-05-13 21:46:29 +00:00
florian
7a60e044e3 * simplify constant expressions after re-ordering, resolves #37062
git-svn-id: trunk@45360 -
2020-05-13 20:26:04 +00:00
michael
84bffbe75e * Fix bug #37064: missing stdcall calling convention modifier
git-svn-id: trunk@45359 -
2020-05-13 19:20:34 +00:00
pierre
a414997a84 Use 0 instead of 0xffffffff to disable page width
git-svn-id: trunk@45358 -
2020-05-13 16:20:48 +00:00
pierre
db0f0be3ba Use 0 instead of 0xffffffff to disable page width
git-svn-id: trunk@45357 -
2020-05-13 15:03:35 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
michael
0333677ac3 * Fix from Bart Broersma, small optimization (bug ID 37061)
git-svn-id: trunk@45355 -
2020-05-13 10:10:02 +00:00
pierre
ae91ff00b9 Do not add -Fl$GCCLIBDIR to FPCMAKEOPT as this is now handled by fpcmake
git-svn-id: trunk@45354 -
2020-05-13 09:17:11 +00:00
pierre
406d17a4b6 Update fpcmake.inc and revision.inc after previous commit #45352
git-svn-id: trunk@45353 -
2020-05-13 09:14:42 +00:00
pierre
5ffc1b8152 Use GCCLIBDIR variable for FPCMAKEGCCLIBDIR if FPCFPMAKE has same target cpu as CPU_TARGET
git-svn-id: trunk@45352 -
2020-05-13 09:12:19 +00:00
pierre
3aa253c11d Allow system unit to be compiled without RTTI feature
git-svn-id: trunk@45351 -
2020-05-13 09:10:23 +00:00
michael
71e322d058 * Patch from Noel Duffy to improve IPV6 address parsing (bug ID tw37013)
git-svn-id: trunk@45350 -
2020-05-13 07:19:03 +00:00
Mattias Gaertner
6ffba8e2b6 pas2js: filer: add specs to gen type
git-svn-id: trunk@45349 -
2020-05-12 21:12:14 +00:00
florian
7dbab3a78f * handle OP_XOR for a full mm register correctly in tcgx86.opmm_loc_reg
git-svn-id: trunk@45348 -
2020-05-12 20:43:15 +00:00
nickysn
4beb4bf8b2 + Z80: support the flags subregisters in the registers_interfere function
git-svn-id: trunk@45347 -
2020-05-12 01:58:10 +00:00
nickysn
c6c834949f + Z80: support all the flags subregisters in super_registers_equal
git-svn-id: trunk@45346 -
2020-05-12 01:47:58 +00:00
nickysn
fe12026959 + support the LD instruction in TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@45345 -
2020-05-11 23:55:23 +00:00
nickysn
bb4d7a7a50 + Z80: implemented TCpuAsmOptimizer.InstructionLoadsFromReg
git-svn-id: trunk@45344 -
2020-05-11 22:24:20 +00:00
florian
05091cf0dd + MovAndTest2Test optimization
git-svn-id: trunk@45343 -
2020-05-11 21:14:06 +00:00
nickysn
4abc498f2f + added the Z80 individual flag bits as subregisters
git-svn-id: trunk@45342 -
2020-05-11 19:17:31 +00:00
nickysn
b98cc1ebff + added subregisters for the Z80 flags
git-svn-id: trunk@45341 -
2020-05-11 18:03:29 +00:00
nickysn
1f8a9c708e * use RegistersInterfere instead of SuperRegistersEqual in TAoptBase.RegInOp and TAoptBase.RegInRef
git-svn-id: trunk@45340 -
2020-05-11 17:18:00 +00:00
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