Commit Graph

57753 Commits

Author SHA1 Message Date
marcus
a242199f8a Amiga: CRT unit, no sysutils use, prevent overlap of keys and size/caret messages
git-svn-id: trunk@43876 -
2020-01-06 19:00:31 +00:00
florian
92671c9b85 o patch by J. Gareth Moreton:
* applies some optimisations to OptPass1MOV. Repeated checks to the "GetNextInstruction_p Boolean"
      variable are factored out, since all of the optimisations bar the first one require a
      succeeding instruction.

git-svn-id: trunk@43875 -
2020-01-06 17:05:48 +00:00
florian
9b68c7a5f5 * fix X86AsmOptimizer.RegModifiedByInstruction for VMOVSS/VMOVSD/IMUL
git-svn-id: trunk@43874 -
2020-01-06 17:05:47 +00:00
Mattias Gaertner
fa434f2790 pastojs: filer: started read/write implelements
git-svn-id: trunk@43873 -
2020-01-06 16:54:18 +00:00
Mattias Gaertner
1ffc5f49aa fcl-passrc: case statement: consistent calling AddExpression
git-svn-id: trunk@43872 -
2020-01-06 16:53:01 +00:00
florian
6612bb4434 * proper naming
git-svn-id: trunk@43871 -
2020-01-06 14:58:06 +00:00
florian
ae0ebd1e93 * missing part of last commit
git-svn-id: trunk@43870 -
2020-01-06 14:48:38 +00:00
florian
6371d5f26d + infrastructure to profile different stages of the compiler
git-svn-id: trunk@43869 -
2020-01-06 14:46:32 +00:00
joost
11784cb76a * Fixed safecall on win32 with -Ooregvar by making sure that $safecallresult
is never stored in a register.

git-svn-id: trunk@43868 -
2020-01-05 23:20:52 +00:00
florian
fca4d3315b * let the operation do the type conversion for x87 floating point operations
git-svn-id: trunk@43867 -
2020-01-05 17:47:23 +00:00
Jeppe Johansen
89a961f960 * Add support for generating map files for embedded target.
git-svn-id: trunk@43866 -
2020-01-05 17:00:50 +00:00
florian
76e7833a20 * avoid invalid type cast
git-svn-id: trunk@43865 -
2020-01-05 15:43:04 +00:00
florian
d3f3f81e16 * fixes TX86AsmOptimizer.OptPass1_V_MOVAP after r43855
git-svn-id: trunk@43864 -
2020-01-05 15:43:03 +00:00
florian
22cb46fca9 * cleanup
git-svn-id: trunk@43863 -
2020-01-05 15:43:02 +00:00
Jonas Maebe
f659e91a95 * fixed LLVM compilation after r43860
git-svn-id: trunk@43862 -
2020-01-05 13:15:10 +00:00
florian
a34ae2261a * copy fpu parameters using fld/fst onto the stack
git-svn-id: trunk@43861 -
2020-01-04 22:19:15 +00:00
florian
b7c6e01b03 * cleaning up tcgsize: it makes no sense to declare every combination and type
the different vector types must be either handled in the high level cg or
    by using the shuffle parameter

git-svn-id: trunk@43860 -
2020-01-04 21:54:53 +00:00
marco
51c31d1005 * filepos are int64
git-svn-id: trunk@43859 -
2020-01-04 18:37:17 +00:00
florian
73c6cab096 + MovMovMov2XChg optimization by J. Gareth Moreton
git-svn-id: trunk@43858 -
2020-01-04 14:24:28 +00:00
michael
561ae7b6fb * Fix bug #36510, spelling error. Use ENotImplemented exception for notimplemented
git-svn-id: trunk@43857 -
2020-01-04 13:58:14 +00:00
florian
3c16324f80 * x86: avoid to put variables into registers if they are handled by the x87-FPU
git-svn-id: trunk@43856 -
2020-01-03 22:23:49 +00:00
florian
7da6bac960 * look further forward in TX86AsmOptimizer.OptPass1_V_MOVAP
git-svn-id: trunk@43855 -
2020-01-03 22:23:07 +00:00
marcus
d7a2b75cb9 Amiga: CRT for OS4, Console Mask for OS3
git-svn-id: trunk@43854 -
2020-01-03 20:33:59 +00:00
Mattias Gaertner
0a9048a9a4 pastojs: filer: store generic procedure body
git-svn-id: trunk@43853 -
2020-01-03 19:52:54 +00:00
florian
451afd6e45 * triggered by #36505, removed CmpJxxDecJmp2SubJcc optimization as it was wrong anyways
git-svn-id: trunk@43852 -
2020-01-03 19:15:12 +00:00
Jeppe Johansen
1201cc024e * Add riscv-embedded to targets that don't support non-constant leb128's.
git-svn-id: trunk@43851 -
2020-01-03 17:03:38 +00:00
florian
a79b8a145f * manually added statx syscall numbers for android
git-svn-id: trunk@43850 -
2020-01-03 12:27:46 +00:00
florian
49d4371784 * duplicate syscall number removed, resolves #36508
git-svn-id: trunk@43849 -
2020-01-03 10:44:57 +00:00
ondrej
ee18a7ee9a classes: add TStringsOption.soPreserveBOM
git-svn-id: trunk@43848 -
2020-01-03 10:39:53 +00:00
marcus
db588d64a0 Amiga: CRT improvements, colors, raw mode as default
git-svn-id: trunk@43847 -
2020-01-02 20:36:55 +00:00
ondrej
944e99d71c sysutils: TEncoding.IsStandardEncoding: FSystemEncodings are standard encodings (they must not be destroyed in user code)
git-svn-id: trunk@43846 -
2020-01-02 20:04:52 +00:00
ondrej
e1e4f4c122 classes: introduce TRawByteStringStream
git-svn-id: trunk@43845 -
2020-01-02 20:02:27 +00:00
ondrej
accc3a851e fpmkunit: fix compilation after r43841
git-svn-id: trunk@43844 -
2020-01-02 19:40:44 +00:00
Jonas Maebe
ebd674d40e * fixed TAOptBase.SkipEntryExitMarker() not initialising out parameter in
all cases (patch by J. Gareth Moreton, mantis #36372)

git-svn-id: trunk@43843 -
2020-01-02 19:14:18 +00:00
ondrej
37327af58b sysutils: change TEncoding.Default from ANSI to SystemEncoding. (It is Delphi-compatible indeed because default SystemEncoding is ANSI.)
git-svn-id: trunk@43842 -
2020-01-02 19:00:32 +00:00
ondrej
5d58ced92b classes: add TStrings.Options (Delphi-compatibility)
git-svn-id: trunk@43841 -
2020-01-02 18:55:19 +00:00
ondrej
6796434268 sysutils: fix TMBCSEncoding.GetPreamble
git-svn-id: trunk@43840 -
2020-01-02 18:22:57 +00:00
ondrej
a446032f32 classes: fix TStrings.SaveToStream overloads (Delphi-compatibility + introduce IgnoreEncoding-overload for legacy FPC code like for LoadFromStream)
git-svn-id: trunk@43839 -
2020-01-02 18:10:53 +00:00
ondrej
c9ae8f94ac classes: fix TMBCSEncoding.IsSingleByte. Issue #36504
git-svn-id: trunk@43838 -
2020-01-02 16:51:05 +00:00
florian
d425a85f8d + Linux.fpstatx, resolves #36501
git-svn-id: trunk@43837 -
2020-01-02 14:10:31 +00:00
michael
9e530ac2c8 * Fix bug #0036503
git-svn-id: trunk@43836 -
2020-01-02 14:10:29 +00:00
florian
295041e523 * updated linux syscall numbers
git-svn-id: trunk@43835 -
2020-01-02 11:08:40 +00:00
Jonas Maebe
e1d9be897a * fixed (harmless) wrong typecast
git-svn-id: trunk@43834 -
2020-01-01 19:19:15 +00:00
Jonas Maebe
044d946782 * fixed missing sign extension when adding a signed integer variable with
size < sizeof(pointer) to a pointer for LLVM (fixes tfmtbcd)

git-svn-id: trunk@43833 -
2020-01-01 19:19:12 +00:00
Jonas Maebe
ec0d98156c * use maytrap instead of strict FP exception behaviour in LLVM, so constant
propagation is still allowed

git-svn-id: trunk@43832 -
2020-01-01 19:19:08 +00:00
joost
76ab36b41d * Fixed generation of documentation
git-svn-id: trunk@43831 -
2020-01-01 17:23:28 +00:00
joost
171142a724 * Make Win32 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN32_SEH. Mantis #12974.
git-svn-id: trunk@43830 -
2020-01-01 14:43:57 +00:00
Jonas Maebe
1f5efe2a95 * support for constrained sitofp/uitofp with (the upcoming) LLVM 10.0
(fixes most of test/units/math/troundm, although there's still an LLVM
     optimizer/code generation bug that breaks some qword -> double
     conversions)

git-svn-id: trunk@43829 -
2019-12-31 18:05:54 +00:00
Jonas Maebe
9b53ed53e3 * the llvm.experimental.constrained.fpext intrinsic doesn't have a rounding
mode parameter

git-svn-id: trunk@43828 -
2019-12-31 18:05:50 +00:00
marcus
04a1236ec6 Amiga: CRT Window support, more converted keys
git-svn-id: trunk@43827 -
2019-12-31 17:25:50 +00:00