Commit Graph

22424 Commits

Author SHA1 Message Date
florian
2d3ef8b4bc * pushf/push cs on all platforms when directly calling an interrupt procedure, with the
recent changes needed for 16 byte stack alignment it should work now

git-svn-id: trunk@43508 -
2019-11-17 14:16:32 +00:00
florian
a7e72617a6 * fix stackmisalignment calculation to take care of pushf/push cs, before r43503,
it was correct by coincidence

git-svn-id: trunk@43506 -
2019-11-17 09:14:54 +00:00
Jonas Maebe
acbb456ae5 * fixed constant evaluation of shr of negative values after r43497
(tshlshr compiled with -O3)

git-svn-id: trunk@43504 -
2019-11-16 17:58:06 +00:00
florian
240acc10f8 * fix calculation of stackmisalignment for interrupt procedures as pointed out by Jonas
git-svn-id: trunk@43503 -
2019-11-16 17:46:39 +00:00
florian
60b3296594 * relax conditions in tcallnode.optimize_funcret_assignment, resolves #36279
git-svn-id: trunk@43501 -
2019-11-16 17:16:16 +00:00
florian
52cc02aa3b * values passed to const parameters are not limited to registers and constants
git-svn-id: trunk@43500 -
2019-11-16 17:16:15 +00:00
Jonas Maebe
4fd670c6ec * fixed missing masking of values after shifting them during inline
evaluation
   o also only mask values when performing a constant evaluation of
     "0 shl/shr x" during inline evaluation (just like when evaluating other
     shl/shr operations)

git-svn-id: trunk@43497 -
2019-11-16 14:27:47 +00:00
florian
851accbb4b * cse adjusted
git-svn-id: trunk@43496 -
2019-11-16 14:07:59 +00:00
florian
13ab35e3ef * fix usage of ppumove generated shared libraries
git-svn-id: trunk@43495 -
2019-11-16 14:07:32 +00:00
florian
a969097a80 * optimization Move removed 4 fixed
git-svn-id: trunk@43493 -
2019-11-16 14:04:02 +00:00
florian
798a1b6219 * -P option for ppumove
git-svn-id: trunk@43487 -
2019-11-16 11:03:53 +00:00
florian
d4f0658c02 * disable condition jump optimization on MIPS for now for the time being
git-svn-id: trunk@43486 -
2019-11-15 20:50:17 +00:00
Jonas Maebe
c22d39bcdf * fixed linking on NetBSD/m68k after r36168
* fixed linking on target for NetBSD/m68k, and when cross-compiling for
    Darwin from Windows after r36168
  * enabled the use of the "-filelist" linker option for Darwin in all
    cases (mantis #36273)

git-svn-id: trunk@43485 -
2019-11-15 20:31:41 +00:00
michael
43a09af7f2 * Fix overflow of compiler messages (bug id 27973)
git-svn-id: trunk@43481 -
2019-11-15 15:37:58 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
florian
bf24882c33 * patch by J. Gareth Moreton: fix building for armv6m after r43441
git-svn-id: trunk@43466 -
2019-11-14 21:38:21 +00:00
florian
87b3b089d6 * i386: more clean up of TCPUAsmOPtimizer.PeepHoleOptPass1Cpu
git-svn-id: trunk@43465 -
2019-11-14 21:26:48 +00:00
florian
632f13c47a * i386 does not use anymore its own assembler optimizer loops
git-svn-id: trunk@43464 -
2019-11-14 21:14:01 +00:00
florian
0ab0eefae0 + separate JUMP_DEBUG define
git-svn-id: trunk@43463 -
2019-11-14 21:14:00 +00:00
florian
d82335bf9a * do not remove cfi_endproc after jmps
git-svn-id: trunk@43462 -
2019-11-13 21:13:05 +00:00
florian
e1433adc2e * check in the internal assembler for references with incorrect use of RIP
+ test

git-svn-id: trunk@43461 -
2019-11-13 20:47:42 +00:00
florian
6bed497c7c * be carefully with references using RIP when doing LeaOp2Op optimizations
git-svn-id: trunk@43460 -
2019-11-13 20:47:40 +00:00
pierre
9b3447a6a4 Fix ppudump after commit #43450
git-svn-id: trunk@43458 -
2019-11-13 16:59:26 +00:00
florian
ae6b204c94 + added comments for LeaOp2Op
git-svn-id: trunk@43457 -
2019-11-12 22:10:01 +00:00
florian
7ee0ad4d63 + LeaOp2Op optimization
* replaced some manual removels of p by RemoveCurrentP calls

git-svn-id: trunk@43456 -
2019-11-12 22:04:23 +00:00
florian
5c0a5b73c7 * patch by J. Gareth Moreton: fix compilation with debug info after r43441 and friends, resolves #36299
git-svn-id: trunk@43455 -
2019-11-12 20:03:19 +00:00
florian
1d6e719e38 * improve ShlAddLeaSubIncDec2Lea to take care of foldable LEAs
git-svn-id: trunk@43453 -
2019-11-11 22:08:17 +00:00
florian
83a11c2a7d * patch by J. Gareth Moreton to clean up TX86AsmOptimizer.OptPass2Jcc, resolves #36295
git-svn-id: trunk@43452 -
2019-11-11 21:29:13 +00:00
Jonas Maebe
2f914ee2d8 * packed tabstractvarsym.addr_taken/different_scope fields into a set
git-svn-id: trunk@43450 -
2019-11-11 09:26:51 +00:00
florian
5f3050961f * load left properly into a register in tx86addnode.second_addordinal, resolves #36287
git-svn-id: trunk@43449 -
2019-11-10 21:45:57 +00:00
florian
7464c88003 * fix and improve MovImul2Imul: we cannot insert the move target into imul if the imul is 64 bit and the mov 32 bit as
we cannot ensure that the upper 32 bits of the move target are really clear

git-svn-id: trunk@43447 -
2019-11-10 21:09:06 +00:00
florian
4b455600b8 * swapped decrefs and StripLabelFast as proposed by Gareth on the mailing list
git-svn-id: trunk@43445 -
2019-11-10 18:23:50 +00:00
florian
7747c5fc27 -- Zusammenführen von r43307 bis r43443 in ».«:
D    tests/webtbs/tw32219.pp
U    compiler/i386/i386att.inc
U    compiler/i386/i386atts.inc
U    compiler/i386/i386int.inc
U    compiler/i386/i386nop.inc
U    compiler/i386/i386op.inc
U    compiler/i386/i386prop.inc
U    compiler/i386/i386tab.inc
U    compiler/i8086/i8086att.inc
U    compiler/i8086/i8086atts.inc
U    compiler/i8086/i8086int.inc
U    compiler/i8086/i8086nop.inc
U    compiler/i8086/i8086op.inc
U    compiler/i8086/i8086prop.inc
U    compiler/i8086/i8086tab.inc
U    compiler/x86/x86ins.dat
U    compiler/x86_64/x8664ats.inc
U    compiler/x86_64/x8664att.inc
U    compiler/x86_64/x8664int.inc
U    compiler/x86_64/x8664nop.inc
U    compiler/x86_64/x8664op.inc
U    compiler/x86_64/x8664pro.inc
U    compiler/x86_64/x8664tab.inc
U    tests/utils/avx/avxopcodes.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43443 in ».«:
 U   .

git-svn-id: trunk@43444 -
2019-11-10 16:44:34 +00:00
florian
47bb71efc4 * unneeded changes reverted
git-svn-id: branches/tg74/avx512merge@43443 -
2019-11-10 16:41:53 +00:00
florian
e1e8986462 * patch by J. Gareth Moreton, issue #36271, part 3: support for the other architectures
git-svn-id: trunk@43441 -
2019-11-10 16:11:40 +00:00
florian
2d295a3816 * patch by J. Gareth Moreton, issue #36271, part 2: x86 specific rework of the jump optimizer
git-svn-id: trunk@43440 -
2019-11-10 16:11:39 +00:00
florian
47dcc5b05b * patch by J. Gareth Moreton, issue #36271, part 1: general rework of the jump optimizer
git-svn-id: trunk@43439 -
2019-11-10 16:11:38 +00:00
Jonas Maebe
d23c7980aa * properly perform (or not) range/overflow checking when performing constant
propagation into inlined routines, regardless of the range/overflow
    checking state at the caller site

git-svn-id: trunk@43436 -
2019-11-10 12:00:05 +00:00
florian
88a8871c62 * read more types of references properly
git-svn-id: trunk@43433 -
2019-11-09 21:58:31 +00:00
florian
79dfd9fb51 + MIPS: take care of setnoat
git-svn-id: trunk@43432 -
2019-11-09 21:58:30 +00:00
florian
99ce957111 * fixed default value for progbits
git-svn-id: trunk@43430 -
2019-11-09 18:32:36 +00:00
florian
137f392c66 * parameters declared as out must be initialized
git-svn-id: trunk@43429 -
2019-11-09 18:29:14 +00:00
florian
40bbb28fd2 * do not write section flags/progbits for .data, .rodata .data.norel as the compiler will ignore them anyways and warn about it
git-svn-id: trunk@43428 -
2019-11-09 18:28:30 +00:00
florian
f20e6ff323 * update generic linker script
git-svn-id: trunk@43426 -
2019-11-09 16:58:58 +00:00
florian
d275e7a7e6 * removed accidently committed debug statement
git-svn-id: trunk@43413 -
2019-11-07 21:12:47 +00:00
florian
c8f746b881 * do not allocate an extra register for some integer operations if not needed
git-svn-id: trunk@43412 -
2019-11-07 21:08:08 +00:00
svenbarth
b0ac0ddcc9 + add support for the IsManagedType() intrinsics which reports for a type (or variable) whether it needs initialization/finalization
+ added tests

git-svn-id: trunk@43409 -
2019-11-06 23:04:52 +00:00
Jonas Maebe
ac1e0f96bd * replaced tentryfile.get/putsmall/normalset() with a common tget/putset
that expects an open array of byte, and use it for all sets
   o since all sets need to be typecasted to an array type of the appropriate
     size, we'll get a compilation error in case this needs to be done and
     that also tells us at the same time that the ppu version will need to
     be increased
  * enabled {$packset 1} for the compiler, as this is now safe with the above
    changes

git-svn-id: trunk@43407 -
2019-11-06 21:50:19 +00:00
tg74
1454e8b29d new avx512-opcodes VBMI2,VNNI,BITALG ...
git-svn-id: branches/tg74/avx512merge@43406 -
2019-11-06 19:51:01 +00:00
pierre
fff3b67b7e Remove ALLOW_WARNINGS=1 for m68k compiler
git-svn-id: trunk@43392 -
2019-11-05 10:37:19 +00:00