Commit Graph

60713 Commits

Author SHA1 Message Date
nickysn
1d8c5edbcc + write references with registers for debugging purposes (to support asm output with -sr) in the LLVM-MC asm writer
git-svn-id: branches/wasm@47173 -
2020-10-24 15:41:41 +00:00
nickysn
66c1a57ab4 * use the LLVM-MC assembler by default for the WebAssembly targets
git-svn-id: branches/wasm@47172 -
2020-10-24 15:33:35 +00:00
nickysn
9257aa8594 + define EXTDEBUG for the wasm32 compiler, when compiled using the lazarus project
git-svn-id: branches/wasm@47171 -
2020-10-24 15:24:23 +00:00
nickysn
9972d0e7d9 + internal error in thlcgwasm.prepare_stack_for_ref for symbol with registers
git-svn-id: branches/wasm@47170 -
2020-10-24 14:53:46 +00:00
nickysn
5128c07e68 * fixed writing to global variables
git-svn-id: branches/wasm@47169 -
2020-10-24 14:10:04 +00:00
nickysn
8211bcbd4c * fixed getting the address of a global variable
git-svn-id: branches/wasm@47168 -
2020-10-24 12:24:15 +00:00
nickysn
bbe5e3d0e7 - removed spurious load of global symbols in thlcgwasm.prepare_stack_for_ref
git-svn-id: branches/wasm@47167 -
2020-10-24 12:09:02 +00:00
nickysn
19519eb3d2 + support global references with offset in the LLVM-MC asm writer
git-svn-id: branches/wasm@47166 -
2020-10-24 12:03:55 +00:00
nickysn
8494283925 * fixed load/store LLVM-MC asm output for global variables
git-svn-id: branches/wasm@47165 -
2020-10-24 11:56:20 +00:00
nickysn
6899e07cd7 * synchronized with trunk
git-svn-id: branches/wasm@47156 -
2020-10-23 00:41:20 +00:00
florian
dc547b1426 + remove type conversions also for unary operations if possible
git-svn-id: trunk@47155 -
2020-10-22 21:25:37 +00:00
florian
74d145bb16 * simplify tcgunaryminusnode.second_integer
git-svn-id: trunk@47154 -
2020-10-22 21:25:36 +00:00
Mattias Gaertner
993c511554 pastojs: filer: class forward
git-svn-id: trunk@47153 -
2020-10-22 20:07:02 +00:00
florian
6fc930a0fc * better complexity calculation of tvecnodes
git-svn-id: trunk@47151 -
2020-10-21 20:46:28 +00:00
florian
044133fc87 * explicitly convert array indicies to pointer sized integers, so cse
can handle the conversion

git-svn-id: trunk@47150 -
2020-10-21 20:46:28 +00:00
florian
4afa4a73c6 + ISO mode: accept put/get without parameter, works on Input/Output respectively, resolves #37949
git-svn-id: trunk@47147 -
2020-10-20 21:03:51 +00:00
florian
91a6223281 * (slight modified) patch by J. Gareth Moreton to reduce number of assembler optimizer passes, resolves #37959
git-svn-id: trunk@47146 -
2020-10-20 20:03:25 +00:00
florian
8bbc7d5df3 * patch by J. Gareth Moreton to improve LEA/SHL -> LEA optimisation, resolves #37954
git-svn-id: trunk@47143 -
2020-10-19 19:46:10 +00:00
Jonas Maebe
099134b545 * fix try_make_mul32to64() if it's called with a constant node on the
left (mantis #37878)
   o can happen if use_generic_mul32to64 returns false

git-svn-id: trunk@47142 -
2020-10-19 19:10:16 +00:00
michael
0e474f4748 * Patch from Laco with additions
git-svn-id: trunk@47138 -
2020-10-19 11:25:21 +00:00
pierre
3f19bd693f + Add new LastCommonAsmOp constant to arm and aarch64 CPU targets.
* Uses this new constant to define TCommonAsmOps set type.
  + Use this constant in armgen/aoptarm MatchInstruction function,
    to avoid a range check error when compiling with -CriotR with optimization.

git-svn-id: trunk@47137 -
2020-10-19 09:19:25 +00:00
Mattias Gaertner
764b035c23 pastojs: fixed compile
git-svn-id: trunk@47136 -
2020-10-19 07:21:16 +00:00
nickysn
578750a646 * synchronized with trunk
git-svn-id: branches/wasm@47135 -
2020-10-19 05:06:33 +00:00
Mattias Gaertner
79935d8579 pastojs: filer: local specialize type
git-svn-id: trunk@47134 -
2020-10-18 20:29:54 +00:00
florian
201281ae2a * compiler Makefile checks if SOURCE_SOURCE_DATE_EPOCH_DATE is set or if git is used, in either case the former or the latter are used for the build date reported by the compiler
git-svn-id: trunk@47133 -
2020-10-18 17:13:39 +00:00
florian
9ea52b8578 + new switches -DD and DT which allow to pass an arbitrary string which is used by %DATE%/%TIME%
git-svn-id: trunk@47132 -
2020-10-18 17:13:38 +00:00
Mattias Gaertner
1299e585c9 pastojs: filer: restore original order before checking specializations
git-svn-id: trunk@47131 -
2020-10-18 16:24:03 +00:00
Mattias Gaertner
f2712a50df pastojs: undo commit error
git-svn-id: trunk@47130 -
2020-10-18 15:24:18 +00:00
Mattias Gaertner
2f83458c33 pastojs: filer: store precompiled short references
git-svn-id: trunk@47129 -
2020-10-18 15:19:11 +00:00
Mattias Gaertner
f5d4e54ab3 fcl-passrc:
git-svn-id: trunk@47128 -
2020-10-18 15:18:15 +00:00
marco
c053bc9418 * debian lintian detected spellfix
git-svn-id: trunk@47126 -
2020-10-18 11:43:52 +00:00
marco
a243cdc4e6 * debian lintian spellfix
git-svn-id: trunk@47125 -
2020-10-18 11:35:47 +00:00
marco
368a0b75b4 * fix spell error detected by debian lintian
git-svn-id: trunk@47124 -
2020-10-18 11:26:59 +00:00
svenbarth
5a68b2218a * for Aarch64 inline assembly comments need to start with //
git-svn-id: trunk@47123 -
2020-10-18 08:52:41 +00:00
florian
a19ec44b97 * patch by Bart Broersma: avoid unsigned wrap around in TDeque.Erase, resolves #37482
git-svn-id: trunk@47122 -
2020-10-17 20:35:20 +00:00
Jonas Maebe
080d8c28f7 * LLVM 11.0 support
git-svn-id: trunk@47121 -
2020-10-17 14:59:04 +00:00
michael
827bb70333 * Remove debug statement (bug ID 37940)
git-svn-id: trunk@47120 -
2020-10-17 09:04:42 +00:00
florian
80394fc6e8 - removed cvs remainders ($Id$ and $Log$ tags)
git-svn-id: trunk@47119 -
2020-10-16 21:19:10 +00:00
florian
fa54335938 * patch by Christo Crause to fix illegal ldd generation for avrtiny, resolves #37929
git-svn-id: trunk@47118 -
2020-10-16 20:01:40 +00:00
florian
91fe098eb4 * check first for x86 exception and only for sse if no x87 exceptions is thrown, clear all exception afterwards
* throw rte 206 instead of rte 216 for denormal on m68k-linux as well

git-svn-id: trunk@47117 -
2020-10-16 19:44:25 +00:00
Jonas Maebe
9376f5a43a * AArch64: added SIMD instructions (only plain ARMv8-A for now)
o added AArch64 regset parsing support in assembler reader, means that "{"
     no longer starts comments there (like in the ARM assembler reader)
   o added AArch64 indexed SIMD register support and removed old cg hacks
     that worked around its absence

git-svn-id: trunk@47116 -
2020-10-15 20:29:36 +00:00
Jonas Maebe
d0d07dc3bf * naturally align threadvar lists/tables
o required for (future) Darwin arm64e target, and a good idea elsewhere too
     (on constrained targets, it won't make a difference because the alignment
     of pointers won't be > sizeof(longint))

git-svn-id: trunk@47115 -
2020-10-15 20:29:32 +00:00
florian
15695b317c * denormalized value floating point exception has to result in an rte 206, resolves part of #37926
git-svn-id: trunk@47114 -
2020-10-15 19:52:57 +00:00
nickysn
b4cdebeda3 * synchronized with trunk
git-svn-id: branches/wasm@47112 -
2020-10-14 22:30:41 +00:00
florian
3b0168ae16 * (slightly) modified (formatting, warning) patch by Jan Bruns to speed up overloading search, resolves #36666
git-svn-id: trunk@47111 -
2020-10-14 20:08:10 +00:00
svenbarth
eb7158d250 * ensure that internal method names (namely operator overloads and class con-/destructors) result in different mangled names from ordinary methods even if they should be converted to lowercase (which happens for section names)
+ added tests

git-svn-id: trunk@47110 -
2020-10-14 09:11:44 +00:00
svenbarth
7dff106d14 * use the name of the symbol instead of the name of the section as the later is always lowercased
git-svn-id: trunk@47109 -
2020-10-14 09:11:37 +00:00
svenbarth
5e6ec33a59 * reset the stored symbol for SEH data once a new section is encountered
git-svn-id: trunk@47108 -
2020-10-14 09:11:32 +00:00
svenbarth
0c2494bec8 * when setting up the symbol for the SEH data don't check whether it is global, instead check whether it's a function
git-svn-id: trunk@47107 -
2020-10-14 09:11:27 +00:00
nickysn
8f059a6b8a * synchronized with trunk
git-svn-id: branches/wasm@47106 -
2020-10-14 02:41:25 +00:00