Commit Graph

60975 Commits

Author SHA1 Message Date
florian
a849e51a3c + m68k: JSR, RTS to JMP optimization
git-svn-id: trunk@47740 -
2020-12-09 20:57:06 +00:00
Mattias Gaertner
5682783489 fcl-passrc: clean up
git-svn-id: trunk@47739 -
2020-12-09 20:51:20 +00:00
Mattias Gaertner
7540f10aa6 pastojs: shortrefglobals: enumvalue
git-svn-id: trunk@47738 -
2020-12-09 20:47:19 +00:00
pierre
a0e96fd551 Fix pos field closing in XML node output after commit 47720
git-svn-id: trunk@47737 -
2020-12-09 12:36:46 +00:00
michael
3a952d9346 * Fix from Pascal Riekenberg
git-svn-id: trunk@47736 -
2020-12-09 10:55:09 +00:00
michael
97341c24fb * Actually allow multilinestrings
git-svn-id: trunk@47734 -
2020-12-09 09:12:21 +00:00
michael
9766bd6533 * Small fix, refactoring broke linefeed
git-svn-id: trunk@47733 -
2020-12-09 09:11:38 +00:00
michael
63a21876c8 * Fix compilation
git-svn-id: trunk@47732 -
2020-12-09 08:54:55 +00:00
michael
9e238f4724 * Multiline strings and INCLUDESTRING(FILE)
git-svn-id: trunk@47731 -
2020-12-09 01:09:21 +00:00
florian
3707cb4b1e * handle min/max properly if it is applied to NaNs
* test extended

git-svn-id: trunk@47729 -
2020-12-08 20:41:58 +00:00
michael
8fd3beb35b * Fix compilation
git-svn-id: trunk@47728 -
2020-12-08 20:35:41 +00:00
michael
b27054e170 * Parse Apple universal interfaces
git-svn-id: trunk@47724 -
2020-12-08 16:25:50 +00:00
Mattias Gaertner
2421d6ab15 fcl-passrc: useanalyzer: when member needs typeinfo, mark parent too
git-svn-id: trunk@47722 -
2020-12-08 11:52:47 +00:00
Mattias Gaertner
bc88571884 pastojs: clean up
git-svn-id: trunk@47721 -
2020-12-08 11:52:07 +00:00
pierre
348be7657d Fix bug introduced in commit #47709, by only calling node_complexity if first pass was already done (bug report 38183)
git-svn-id: trunk@47720 -
2020-12-08 11:28:50 +00:00
michael
9ac84262f6 * Last patch from Andrey Sobol to fix bug ID #38141
git-svn-id: trunk@47719 -
2020-12-08 09:49:44 +00:00
florian
674c3f04e0 + added explanation for min/max intrinsics
* prepared x86 implementation for proper NaN handling

git-svn-id: trunk@47715 -
2020-12-07 21:31:07 +00:00
Mattias Gaertner
18919b774d pastojs: fixed writing map file when OnWriteJS handler returns true
git-svn-id: trunk@47714 -
2020-12-07 18:49:54 +00:00
Mattias Gaertner
dbdd90a989 pastojs: on handled error set LastErrorClass empty
git-svn-id: trunk@47713 -
2020-12-07 17:06:58 +00:00
Mattias Gaertner
e25848ab32 pastojs: catch load file exceptions and turn into regular errors
git-svn-id: trunk@47712 -
2020-12-07 16:58:52 +00:00
pierre
44b325ec3e * Initialize result out parameter by caling the constructor Init, not the method Reset.
This out parameter called 'result' is of type tcgpara, which is an object, but not a class,
      it has no virtual method, which means that the VMT is never used, and thus the
      fact that the object is not 'constructed' can be easily missed.
      Nevertheless, it could generate problems as the different fields have unassigned
      and thus random value, while reset method can dereference location field
      if not nil.
      Issue found by using -gttt compiler option.

git-svn-id: trunk@47711 -
2020-12-07 16:35:46 +00:00
michael
9fc390877e * Partially resolved ID 38141 : better handling of class hierarchy and cross-package links
git-svn-id: trunk@47710 -
2020-12-07 11:55:51 +00:00
pierre
a7232669ff * Adapted from patch node-dump-pass-1.patch submitted by J. Gareth Moreton from bug report 38156.
This patch extends the DEBUG_NODE_XML debug feature by also outputting, 
     to the *-node-dump.xml files, the node tree as it appears after the first pass, 
     since it often contains many more internal nodes like temporary allocations that may need
     to be evaluated for debugging and development purposes, or node-level optimisation opportunities.

git-svn-id: trunk@47709 -
2020-12-07 07:28:04 +00:00
Mattias Gaertner
54627fe1e7 pastojs: filer: restore method decl SelfArg
git-svn-id: trunk@47706 -
2020-12-06 22:18:05 +00:00
Mattias Gaertner
bf5a2a46de fcl-passrc: fixed calling type helper method when unit implementation is not yet read
git-svn-id: trunk@47705 -
2020-12-06 22:16:55 +00:00
florian
8d238cfaa1 * limit min/max optimization to fastmath for now, as the NaN handling is not working yet
git-svn-id: trunk@47704 -
2020-12-06 20:22:39 +00:00
marco
36eaa6c9ae * tried to apply patch of mantis #38169 in a more minimal way and fixing some of the omissions.
git-svn-id: trunk@47703 -
2020-12-06 20:17:48 +00:00
florian
d49453edba * quick fix for llvm compilation
git-svn-id: trunk@47702 -
2020-12-06 19:31:03 +00:00
florian
1a9678f4c4 + min/max support for x86
git-svn-id: trunk@47701 -
2020-12-06 18:09:30 +00:00
florian
c0d75c1c69 * patch Christo Crause: Use LDS for 8 bit references, resolves #38173
git-svn-id: trunk@47700 -
2020-12-06 16:40:30 +00:00
florian
4f3271500a * (modified) patch by Christo Crause: ESP8266 doesn't support min/max instructions, resolves #38175
git-svn-id: trunk@47699 -
2020-12-06 16:37:54 +00:00
florian
92520c423e * x86 change information updated
git-svn-id: trunk@47698 -
2020-12-06 16:22:38 +00:00
florian
a16b34d951 * test for min/max intrinsics
git-svn-id: trunk@47697 -
2020-12-06 14:19:00 +00:00
florian
19ce665b3d * compilation fixed
git-svn-id: trunk@47696 -
2020-12-06 14:18:59 +00:00
florian
7da0284bfc + read 64-Bit ELF executable info correctly
git-svn-id: trunk@47695 -
2020-12-06 10:23:18 +00:00
florian
e60a367f1b + project file for PowerPC64LE
git-svn-id: trunk@47694 -
2020-12-06 10:23:17 +00:00
florian
57dc416d96 + replace appropriate if statements by min/max intrinsics
+ support min/max intrinsic on xtensa

git-svn-id: trunk@47693 -
2020-12-05 22:00:59 +00:00
florian
6e4997265c + min/max intrinsics for internal use by the compiler
git-svn-id: trunk@47692 -
2020-12-05 22:00:58 +00:00
florian
28d248c9d4 * cleanup merge overlefts
git-svn-id: trunk@47691 -
2020-12-05 22:00:57 +00:00
pierre
19d5e43615 Avoid internalerror in RemoveCurrentP for arm compiler
git-svn-id: trunk@47690 -
2020-12-05 21:23:09 +00:00
pierre
0189276a12 Raise internalerror inside RemoveCurentP is called with p=hp1, because it leads to using a class instance after it has been freed
git-svn-id: trunk@47689 -
2020-12-05 21:22:18 +00:00
florian
4f3a21eeec * don't do x*x -> optimziation for xtensa as it causes a recursive call in sqr(...)
git-svn-id: trunk@47688 -
2020-12-04 22:43:55 +00:00
svenbarth
deaff6f7fe * fix for Mantis #38151: when a Variant is passed by reference to a IDispatch property then invoke it using DISPATCH_PROPERTYPUTREF instead of DISPATCH_PROPERTYPUT
+ added test

git-svn-id: trunk@47687 -
2020-12-04 22:07:39 +00:00
svenbarth
69e6f3dcbb * if a call inside a generic's code that involves generic type arguments can't be clearly determined then postpone it till specialization in the hope that the type will be clear then
+ added test

git-svn-id: trunk@47686 -
2020-12-04 22:07:34 +00:00
Mattias Gaertner
0be298802b pastojs: filer: record values
git-svn-id: trunk@47684 -
2020-12-04 13:54:29 +00:00
yury
d72566169e * The code generator of the exit statement must set the fc_gotolabel flag in flowcontrol for inlined routines/code blocks. It fixes the incorrect assumption that such exit statements terminate the main routine.
git-svn-id: trunk@47683 -
2020-12-04 12:33:47 +00:00
Mattias Gaertner
d1cfb15a2a pastojs: filer: fixed checking signature in interface used unit referenced by implementation and needing indirect implementation unit
git-svn-id: trunk@47682 -
2020-12-04 11:06:42 +00:00
florian
9c6bdcfbb7 * fix in r47632 should be enabled for all targets as it is a stack tainting
parameter

git-svn-id: trunk@47680 -
2020-12-03 21:22:07 +00:00
Mattias Gaertner
b90504a458 pastojs: filer skip not fully specialized
git-svn-id: trunk@47679 -
2020-12-03 20:53:13 +00:00
Mattias Gaertner
988b67ae71 pastojs: filer: fixed specialize A<B<C>>
git-svn-id: trunk@47677 -
2020-12-03 16:20:21 +00:00