nickysn
64bb0359d2
* synchronized with trunk
...
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
florian
5950a5f97b
* compiler utils cannot depend on StrUtils
...
git-svn-id: trunk@48408 -
2021-01-24 18:07:13 +00:00
florian
e5c6e91bd0
+ write message number to docs
...
+ enclose arguments in text angles
git-svn-id: trunk@48406 -
2021-01-24 17:43:15 +00:00
florian
91649eb2e5
* missing programs added to rules, so make clean works better
...
git-svn-id: trunk@48404 -
2021-01-24 17:40:02 +00:00
pierre
268f7bfb5c
Add cs_generate_uf2 entry into ppudump
...
git-svn-id: trunk@48398 -
2021-01-24 14:45:25 +00:00
nickysn
1d9d1ab859
* regenerated makefiles
...
git-svn-id: branches/wasm@48369 -
2021-01-24 02:01:11 +00:00
nickysn
811b27ade5
* fixed compilation of ppudump
...
git-svn-id: branches/wasm@48367 -
2021-01-24 01:53:48 +00:00
nickysn
ed26d54e3b
* synchronized with trunk
...
git-svn-id: branches/wasm@48102 -
2021-01-07 07:21:01 +00:00
svenbarth
6160abe37e
* have the generic dummy symbols for procsyms keep track of their overloaded generic procsyms so that they can be easily found (will be needed for implicit specializations)
...
git-svn-id: trunk@48096 -
2021-01-06 12:57:59 +00:00
nickysn
cf6c173653
* regenerated makefiles
...
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00
nickysn
a84b091b5e
* makefiles regenerated after fpcmake update
...
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00:00
nickysn
361594bafd
* synchronized with trunk
...
git-svn-id: branches/wasm@47920 -
2020-12-31 04:00:04 +00:00
joost
32999fbaba
* Fixed missing slash in fppkg.cfg when installed in the root
...
git-svn-id: trunk@47913 -
2020-12-30 15:41:44 +00:00
nickysn
91e9558f5b
* synchronized with trunk
...
git-svn-id: branches/wasm@47766 -
2020-12-12 23:20:33 +00:00
pierre
0d592e8d1a
* Try to read command line exec name on linux, using argv[0], in order to be able
...
to use the symbolic link name instead of the real executable name.
This allows to use symbolic links to gppc386, named gppc1
to be able to launch ppc1 under gdb, as it is already possible
under OpenBSD (which returns the command line name via paramstr(0),
or under Windows if <SYMLINK> is used (generated by mklink).
+ Generate errors if compiler executable is not found, or if gdb binary
is not found.
git-svn-id: trunk@47753 -
2020-12-11 11:14:33 +00:00
nickysn
aeafe42144
* synchronized with trunk
...
git-svn-id: branches/wasm@47653 -
2020-12-01 03:27:01 +00:00
florian
792b629aa6
+ -Xa option: generate code which allows to use more than 2 GB of static data on 64 Bit targets
...
+ implemented support for x86-64
* more than 2 GB static data requires to use the --no-relax option on linux
git-svn-id: trunk@47651 -
2020-11-30 22:07:34 +00:00
nickysn
f9daec43ef
* synchronized with trunk
...
git-svn-id: branches/wasm@47588 -
2020-11-25 21:59:19 +00:00
pierre
64866179a9
Add missing llvm directory for ppu unit compilation
...
git-svn-id: trunk@47578 -
2020-11-25 09:03:11 +00:00
nickysn
c895c8fa0a
* synchronized with trunk
...
git-svn-id: branches/wasm@47506 -
2020-11-20 23:21:42 +00:00
pierre
c06a931d5b
Add separate cs_assemble_on_target tglobalswitch entry
...
git-svn-id: trunk@47486 -
2020-11-20 14:14:46 +00:00
pierre
5b3240c8f1
Do not set USE_FAKE_SYSUTILS for MacOS anymore
...
git-svn-id: trunk@47485 -
2020-11-20 14:12:55 +00:00
pierre
68d3962889
Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483
...
git-svn-id: trunk@47484 -
2020-11-20 14:03:57 +00:00
Károly Balogh
9d67adcbb6
* regenerated all Makefiles after Sinclair QL support was added
...
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
nickysn
911b4e852a
* regen makefiles after sync with trunk
...
git-svn-id: branches/wasm@47450 -
2020-11-19 01:22:40 +00:00
nickysn
509821260e
* synchronized with trunk
...
git-svn-id: branches/wasm@47448 -
2020-11-19 01:12:38 +00:00
pierre
c44095733c
* Give access to CPU specific fields of tsettings record
...
in GENERIC_CPU mode, to be used by ppudump utility.
generic/cpuinfo.pas: Add tinstructionset, used for ARM cpu.
globals.pas: Put all CPU specific fields of tsettings record
inside a variant part when GENERIC_CPU is defined.
Also import llvm unit when GENERIC_CPU is defined.
+ utils/Makefile.fpc: Add -Fu../llvm option to compile ppudump,
as it now also needs llvm specific code decause of globals unit change.
git-svn-id: trunk@47438 -
2020-11-16 22:34:38 +00:00
florian
fc960879de
-- Zusammenführen von r47033 bis r47401 in ».«:
...
C compiler/i386/i386nop.inc
U compiler/i386/i386tab.inc
U compiler/i386/i386atts.inc
U compiler/i386/i386att.inc
C compiler/i8086/i8086nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/i8086atts.inc
U compiler/i8086/i8086att.inc
U compiler/x86/x86ins.dat
C compiler/x86/rax86.pas
U compiler/x86/aasmcpu.pas
U compiler/x86/cpubase.pas
U compiler/x86/agx86att.pas
U compiler/x86/itcpugas.pas
U compiler/x86/rax86att.pas
C compiler/x86_64/x8664nop.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/x8664ats.inc
U compiler/x86_64/x8664att.inc
U compiler/utils/mkx86ins.pp
U tests/utils/avx/asmtestgenerator.pas
U tests/utils/avx/avxopcodes.pas
-- Aufzeichnung der Informationen für Zusammenführung von r47033 bis r47401 in ».«:
U .
Konfliktübersicht:
Textkonflikte: 4
Konfliktübersicht:
Textkonflikte: 4
git-svn-id: trunk@47402 -
2020-11-12 20:31:29 +00:00
nickysn
d3d51d2f7e
* synchronized with trunk
...
git-svn-id: branches/wasm@47338 -
2020-11-07 22:40:43 +00:00
Károly Balogh
519701960c
m68k: initial commit to add the Sinclair QL as a compiler target
...
git-svn-id: trunk@47307 -
2020-11-04 14:20:28 +00:00
Jonas Maebe
312f1436b1
* changed TIDString and tsymentry.realname to TSymStr
...
o for TIDString: prevents shortstring -> ansistring conversions with
-dsymansistr when looking up symbols
o for realname: consistency with name
git-svn-id: trunk@47301 -
2020-11-03 21:34:22 +00:00
tg74
d8fa3dd4ed
bugfix external gnu-assembler - special handling suffix vcvtpd.. destination operand = xmm =>> suffix x, destination ymm or zmm =>> no suffix
...
git-svn-id: branches/tg74/avx512-0037785@47145 -
2020-10-20 08:00:39 +00:00
nickysn
578750a646
* synchronized with trunk
...
git-svn-id: branches/wasm@47135 -
2020-10-19 05:06:33 +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
nickysn
1089ef1aac
* makefiles regenerated after merge
...
git-svn-id: branches/wasm@46949 -
2020-09-24 21:23:26 +00:00
nickysn
84f5c15928
* synchronized with trunk
...
git-svn-id: branches/wasm@46476 -
2020-08-17 21:54:29 +00:00
yury
15d1d00c34
* fixed a typo.
...
git-svn-id: trunk@46473 -
2020-08-17 14:23:27 +00:00
nickysn
ee711eb943
+ support wasm32 in the fpc utility
...
git-svn-id: branches/wasm@46294 -
2020-08-06 14:55:47 +00:00
nickysn
545790b0e5
* regenerated makefiles
...
git-svn-id: branches/wasm@46293 -
2020-08-06 14:48:06 +00:00
nickysn
4d3fbfba8b
* fixed compilation of ppudump
...
git-svn-id: branches/wasm@46291 -
2020-08-06 14:44:15 +00:00
nickysn
92f6840721
* more wasm -> wasm32 renames
...
git-svn-id: branches/wasm@46257 -
2020-08-05 14:44:34 +00:00
nickysn
c1312e47fe
* synchronized with trunk
...
git-svn-id: branches/wasm@46226 -
2020-08-04 13:37:27 +00:00
pierre
ca40956a3a
Regenerated all Makefile's
...
git-svn-id: trunk@46224 -
2020-08-04 10:19:49 +00:00
nickysn
62cb7c2d12
* synchronized with trunk
...
git-svn-id: branches/wasm@46214 -
2020-08-03 21:15:39 +00:00
nickysn
a893f06813
[PATCH 55/83] minor fixes and cleanups for the wasm target ( #1 )
...
* wasm: add support to the Makefile.fpc files. Makefiles needs to be regen'd
* wasm: include fpcdefs.inc in all units
* wasm: one more missing fpcdefs.inc
* wasm: define some system macro defaults
* + increase the size of some tsysteminfo fields, as wasm uses longer names, this fixes some warnings
* wasm: fixed mkwasmreg program name
* wasm: don't override MakeCmdLine, the inherited function serves us just fine, as it also replaces . Also fixes a warning about result being uninitialized
From 3f1ed3fd157d3ed217ef8845ade8e3e3630f424b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=A1roly=20Balogh?= <charlie@amigaspirit.hu>
Date: Mon, 23 Sep 2019 04:08:46 +0200
git-svn-id: branches/wasm@45932 -
2020-07-29 19:02:27 +00:00
nickysn
184c559496
[PATCH 03/83] adding WASM specific files
...
From 3e72f04bc65f3da24efdf55a3102ef21479ff567 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 28 Aug 2019 17:01:46 -0400
git-svn-id: branches/wasm@45880 -
2020-07-29 16:06:57 +00:00
Károly Balogh
d7122c6338
z80: preserve system ID and linker ID for the Amstrad CPC
...
git-svn-id: trunk@45831 -
2020-07-23 11:57:20 +00:00
Jonas Maebe
fb23834367
* regenerated Makefiles again
...
git-svn-id: trunk@45766 -
2020-07-11 09:51:28 +00:00
Jonas Maebe
350d2d92f9
* regenerated Makesfiles
...
git-svn-id: trunk@45762 -
2020-07-10 22:08:30 +00:00
Jonas Maebe
e7d1a77f9a
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
...
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
* repurpose the AArch64/Darwin target for AArch64/macOS
o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler
git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
florian
3655c46982
* clean up
...
git-svn-id: trunk@45735 -
2020-07-06 19:46:19 +00:00
Károly Balogh
9142ad8950
bump ppudump copyright year
...
git-svn-id: trunk@45729 -
2020-07-04 06:14:40 +00:00
florian
965964d07c
* fix compilation with newer FPC
...
git-svn-id: trunk@45725 -
2020-07-03 21:12:05 +00:00
nickysn
27943baa2f
+ support z80 in the fpc launcher utility
...
git-svn-id: trunk@45669 -
2020-06-20 23:30:50 +00:00
florian
78698beaad
* compilation fixed
...
git-svn-id: trunk@45668 -
2020-06-20 20:22:21 +00:00
svenbarth
b3ddd4e786
* regenerate Makefiles
...
git-svn-id: trunk@45601 -
2020-06-06 17:18:48 +00:00
svenbarth
921e73ab0c
+ add compiler support for the Z80 MSX-DOS target
...
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
florian
84a1f614d9
* fix several double ;
...
git-svn-id: trunk@45488 -
2020-05-24 17:52:09 +00:00
florian
82a3877126
+ x86: track use of full ymm registers and generate vzeroupper if needed
...
git-svn-id: trunk@45484 -
2020-05-24 17:52:05 +00:00
yury
627fcb4354
* Do not use the LOC_VOID location to indicate unused parameters.
...
* Added the tprocdef.parentfpsym property. Set parentfpsym.varstate to vs_read instead of using the pio_needs_parentfp flag.
* Replaced tcgcallparanode.push_zero_sized_value_para by tparamanager.has_strict_proc_signature.
git-svn-id: trunk@45454 -
2020-05-21 09:36:40 +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
Károly Balogh
04a42bef84
m68k: fixed instruction code formatting in the generated include
...
git-svn-id: trunk@45314 -
2020-05-08 21:06:59 +00:00
Károly Balogh
d5874b0088
m68k: added a full instruction table (minus CF MAC/EMAC instructions for now), based on vasm, and the required tool to process it
...
git-svn-id: trunk@45310 -
2020-05-08 12:05:11 +00:00
nickysn
56b79257a1
* fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
...
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
yury
40504a6f9d
* If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter.
...
* Improved the tisogoto1.pp test.
git-svn-id: trunk@45292 -
2020-05-06 14:43:49 +00:00
marcus
4d71051859
ppudump: catch exception on illegal datetime (mainly cross compiled units)
...
git-svn-id: trunk@45219 -
2020-05-02 09:32:11 +00:00
nickysn
6f6598712f
* synchronized with trunk
...
git-svn-id: branches/z80@45131 -
2020-04-26 22:33:58 +00:00
svenbarth
60345366f2
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
...
+ added tests
git-svn-id: trunk@45080 -
2020-04-25 22:12:35 +00:00
nickysn
86643f8a34
* synchronized with trunk
...
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
184d6d61ed
* regenerate makefiles
...
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
svenbarth
3af74d2fd2
+ implement initial compiler support for Win64 on Aarch64
...
git-svn-id: trunk@44914 -
2020-04-21 06:04:22 +00:00
nickysn
d57ffc4745
* changed the object file format for z80-embedded and z80-zxspectrum to .rel
...
git-svn-id: branches/z80@44899 -
2020-04-20 23:36:15 +00:00
nickysn
2f68090dd6
* synchronized with trunk
...
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
svenbarth
068f0d2ec8
* fix for Mantis #36935 : apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
...
git-svn-id: trunk@44888 -
2020-04-20 18:42:30 +00:00
pierre
cd6de6a4ca
Regenerate all Makefiles
...
git-svn-id: trunk@44882 -
2020-04-20 13:58:47 +00:00
nickysn
0f323df7a3
* synchronized with trunk
...
git-svn-id: branches/z80@44873 -
2020-04-19 21:10:31 +00:00
florian
8ac8c79a71
+ initial support for arm-freertos largely based on patch by Michael Ring
...
git-svn-id: trunk@44871 -
2020-04-19 20:59:52 +00:00
florian
be50c77f34
* regenerated
...
git-svn-id: trunk@44867 -
2020-04-19 19:22:05 +00:00
florian
c96a3cc9d1
+ take care of OPTNEW when building utils
...
git-svn-id: trunk@44866 -
2020-04-19 19:07:43 +00:00
Jonas Maebe
26ec913725
* regenerated makefiles
...
git-svn-id: trunk@44861 -
2020-04-19 17:33:47 +00:00
nickysn
b868d653bb
* regenerated makefiles after sync with trunk
...
git-svn-id: branches/z80@44847 -
2020-04-19 13:00:50 +00:00
nickysn
daf22383b0
* makefiles regenerated with the zxspectrum target
...
+ added zxspectrum to ppudump
git-svn-id: branches/z80@44820 -
2020-04-19 01:56:06 +00:00
nickysn
d2c32efb7b
* synchronized with trunk
...
git-svn-id: branches/z80@44809 -
2020-04-18 23:47:30 +00:00
Jonas Maebe
4b59bcb0ca
* regenerated makefiles
...
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
nickysn
4b01ff605a
* changed max_operands to 2 for the Z80
...
git-svn-id: branches/z80@44758 -
2020-04-17 23:34:56 +00:00
nickysn
53de231c23
+ added the instruction opcode information strings to the compiler instruction table
...
git-svn-id: branches/z80@44755 -
2020-04-17 22:57:18 +00:00
nickysn
be095914ec
+ created and included an Z80 instruction table
...
git-svn-id: branches/z80@44753 -
2020-04-17 22:47:15 +00:00
florian
5bab6201d5
* rebuild Makefiles
...
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +00:00
nickysn
692ec2fcba
* synchronized with trunk
...
git-svn-id: branches/z80@44623 -
2020-04-06 22:14:42 +00:00
pierre
9dd0a1f3b5
Fix ppudump after addition of system_xtensa_linux target
...
git-svn-id: trunk@44617 -
2020-04-06 06:43:05 +00:00
nickysn
4027ad18e0
+ added strict validation for the param types in z80ins.dat
...
git-svn-id: branches/z80@44557 -
2020-04-04 02:11:20 +00:00
nickysn
20eab5582f
+ generate the Z80 instruction enum and string table from z80ins.dat via a newly created tool
...
git-svn-id: branches/z80@44556 -
2020-04-04 01:36:07 +00:00
florian
0fc1ba26f8
* compilation fixed
...
git-svn-id: branches/z80@44546 -
2020-04-03 20:25:31 +00:00
nickysn
48b4cc34cb
* synchronized with trunk
...
git-svn-id: branches/z80@44414 -
2020-03-29 23:04:40 +00:00
nickysn
fc6e74642d
* regenerate makefiles
...
git-svn-id: branches/z80@44413 -
2020-03-29 23:01:16 +00:00
florian
1f00875f8c
* fix ppudump after addition of freertos-xtensa
...
git-svn-id: trunk@44405 -
2020-03-29 17:13:48 +00:00
nickysn
755fe97c51
* synchronize with trunk
...
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
Jonas Maebe
429b3744c4
* fpc: don't search for compiler binary in current directory when paramstr(0)
...
does not contain a path (unless the current directory is also in the PATH)
git-svn-id: trunk@44395 -
2020-03-29 14:52:45 +00:00
florian
43dc4c7ea0
* regenerated Makefiles
...
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
Jeppe Johansen
3189e4245d
makefiles: Add support for xtensa-embedded target.
...
git-svn-id: trunk@44332 -
2020-03-21 20:59:33 +00:00
florian
34d1b90921
+ Xtensa: support in the build utilities
...
git-svn-id: trunk@44319 -
2020-03-20 22:34:35 +00:00
florian
08c12ca439
+ Xtensa: register information
...
git-svn-id: trunk@44316 -
2020-03-20 22:34:29 +00:00
michael
a880367b37
* Show message about creating fppkg/conf.d directory
...
git-svn-id: trunk@44279 -
2020-03-07 11:40:32 +00:00
Jeppe Johansen
c20b27ede9
Add most SSE instructions as intrinsics.
...
git-svn-id: trunk@44274 -
2020-03-06 21:34:22 +00:00
Jonas Maebe
254b85c352
+ new pio_inline_forbidden flag to indicate that while parsing the
...
implementation the compiler determined the routine must never be
inlined
o difference with po_noinline: can also be set in the implementation
o difference with pio_inline_not_possible: it indicates that e.g.
LLVM must not inline the routine either
git-svn-id: trunk@44065 -
2020-01-29 22:21:17 +00:00
Jonas Maebe
b625afe800
* never inline routines that call get_frame (otherwise get_frame would return
...
the frame of the caller rather than of the current routine, which could
cause e.g. stackframes to be missed in RTL helpers that are known to be
only called from run time error routines)
git-svn-id: trunk@44064 -
2020-01-29 22:21:14 +00:00
florian
70a836c4a2
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
...
is merged by this commit with a lot of adaptions
git-svn-id: trunk@43949 -
2020-01-14 21:52:39 +00:00
Jonas Maebe
b355ba3d39
* record whether a function uses fastmath, and define the function as
...
strictfp if it doesn't (so LLVM doesn't perform transformations that can
change the fp/exception behaviour)
git-svn-id: trunk@43818 -
2019-12-30 15:05:06 +00:00
Jonas Maebe
f5833dc048
* support for marking arraydefs as vectors
...
git-svn-id: trunk@43782 -
2019-12-24 22:12:31 +00:00
pierre
8c2aa32683
* Remove duplicate ibextraheader handling.
...
* Move SymAnsiStr boolean setting inside parseextraheader function.
* Only accept same CurrentPPULongVersion in parseextraheader function.
git-svn-id: trunk@43672 -
2019-12-11 17:14:27 +00:00
svenbarth
0a915e883e
* keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined
...
git-svn-id: trunk@43544 -
2019-11-21 21:44:53 +00:00
florian
798a1b6219
* -P option for ppumove
...
git-svn-id: trunk@43487 -
2019-11-16 11:03:53 +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
pierre
9b3447a6a4
Fix ppudump after commit #43450
...
git-svn-id: trunk@43458 -
2019-11-13 16:59:26 +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
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
florian
cffc69ec1d
+ support pi_needs_tls
...
git-svn-id: trunk@43124 -
2019-10-05 20:48:22 +00:00
Károly Balogh
19a6964088
m68k: add subregisters. on 68k, these are not as universal as on x86 and work differently, but the compiler needs this infrastructure to do 16bit math (which is a massive improvement on '000) or word-size indexes on CPUs which support it
...
git-svn-id: trunk@43043 -
2019-09-20 11:35:35 +00:00
Jonas Maebe
9678542ba6
+ add "thunk" attribute for stubs/thunks and emit it for LLVM
...
- also removed wrong "noreturn" attribute for interface thunks generated
for high level code generator targets
git-svn-id: trunk@43018 -
2019-09-15 20:43:12 +00:00
florian
69786ffe73
somehow committing went wrong, second part of last commit:
...
+ AArch64: support for vX.8b/vX.16b register names
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
git-svn-id: trunk@42917 -
2019-09-03 21:07:33 +00:00
florian
a5a87fa84c
+ AArch64: support for vX.8b/vX.16b register names
...
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
+ small command line tool for quick creating of vfp register list in a64reg.dat
git-svn-id: trunk@42916 -
2019-09-03 20:59:13 +00:00
pierre
0e02b4f58c
Fix problems with big endian systems without 80-bit floating point support
...
git-svn-id: trunk@42906 -
2019-09-02 16:00:15 +00:00
Jonas Maebe
956aab3be0
* implement support for the Objective-C "related result type" convention
...
as described on
http://releases.llvm.org/8.0.0/tools/clang/docs/LanguageExtensions.html#objective-c-features
(rest of mantis #35994 )
git-svn-id: trunk@42816 -
2019-08-25 15:23:53 +00:00
pierre
5ed7bd35df
Update all trunk/fpcsrc Makefile's after commit 42749
...
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
pierre
36bc9b726e
Reduce cpu-os dependency on real constant printout by using system.str
...
git-svn-id: trunk@42670 -
2019-08-13 06:20:23 +00:00
florian
f883dd6dbb
Synchronized with trunk, part 2 (make all works, avx-512 support not yet tested, no regression testing yet)
...
git-svn-id: branches/tg74/avx512@42643 -
2019-08-10 19:38:35 +00:00
florian
746bfced25
Synchronized with trunk, part 1 (only make cycle tested, make all is broken, avx-512 support not yet tested
...
git-svn-id: branches/tg74/avx512@42642 -
2019-08-10 13:53:20 +00:00
pierre
651922c2f8
Correct size of asizeint, which is still 4-byte long even when CpuAddrBitSize is 16 as for avr and i8086
...
git-svn-id: trunk@42609 -
2019-08-09 09:29:50 +00:00
pierre
843a379cc2
Fix gettokenbufshortint, as shortint is one byte long, not two
...
git-svn-id: trunk@42596 -
2019-08-06 21:32:51 +00:00
pierre
6c87348b86
Add mode and optimizer switches names, and check that no unknown switch is set
...
git-svn-id: trunk@42591 -
2019-08-06 06:32:52 +00:00
pierre
0167ddf44c
Reorganize token buffer output to be able to use it for generics and inlined functions
...
git-svn-id: trunk@42583 -
2019-08-05 09:15:12 +00:00
pierre
dca8147958
Try to fix ppudump for generic/inline.
...
* entfile.pas: Differenciate ibsymtableoptions and ibrecsymtableoptions.
* ppu.pas: Increase ppu unit CurrentPPULongVersion value.
* utils/ppuutils/ppudump.pp: Add current_symtable_options variable.
Change readsymtableoptions from procedure to function returning
the new tsymtableoptions.
git-svn-id: trunk@42530 -
2019-07-29 16:40:58 +00:00
pierre
f2b200e4f0
Fix recordtoken writing into ppu files to allow correct
...
handling in cross-configuration with different endianess.
The code has been modified to use the same scheme as the writing of
the other parts of the ppu, i.e. change_endian filed has been
added also to tscannerfile class of scanner unit.
This field is then used to swap values that required endianess
conversion.
* scanner.pas: change_endian filed added to tscannerfile class.
The value of this field is set as the same field in tentryfile class of entfile unit.
Token read and write methods converted to use change_endian field.
* ppu.pas: Increase CurrentPPILongVersion
* utils/ppuutils/ppudump.pp: Remove unneeded FPC_BIG_ENDIAN code
which was needed because tokens were previously written using a
different rule.
git-svn-id: trunk@42527 -
2019-07-29 05:33:00 +00:00
svenbarth
b945e66e28
* store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units
...
* increase ppu version
+ added test
* adjust ppudump to handle attributes as well
ToDo: output parameter nodes as well
git-svn-id: trunk@42401 -
2019-07-12 22:07:46 +00:00
svenbarth
2a7b750d70
* write a name for the none property access entry (looks nicer than a "(Nil)" at the start of the line)
...
git-svn-id: trunk@42354 -
2019-07-12 16:25:36 +00:00
svenbarth
54c4fb2a00
* write an entry name for the property options
...
git-svn-id: trunk@42353 -
2019-07-12 16:25:33 +00:00
marcus
d9f3867783
Fixed ppudump compilation on big endian platforms after r42324
...
git-svn-id: trunk@42325 -
2019-07-04 16:49:26 +00:00
pierre
40f0372d8c
Correctly read saved tsettings
...
git-svn-id: trunk@42324 -
2019-07-04 15:25:40 +00:00
Jonas Maebe
40f6a4ea3c
- removed remnants of old ppu file support (ppudump does not support any
...
other ppu version than the current one anyway)
git-svn-id: trunk@42313 -
2019-06-30 16:24:48 +00:00
Jonas Maebe
cc9f8b7f56
* record in ppu flag whether or not symbols are ansistrings, and use that
...
flag in ppudump rather than hardcoding targets (it's also the case for
LLVM)
git-svn-id: trunk@42312 -
2019-06-30 16:24:44 +00:00
Jonas Maebe
489582e36a
* fix ppudump compilation
...
git-svn-id: branches/debug_eh@42121 -
2019-05-25 14:41:30 +00:00
Jonas Maebe
a0e35fd1bc
* synchronised with trunk till r42118
...
git-svn-id: branches/debug_eh@42119 -
2019-05-25 13:19:06 +00:00
pierre
769f85783a
List TSettings partially and improve generic output
...
git-svn-id: trunk@42111 -
2019-05-20 22:06:57 +00:00
Jonas Maebe
0cd0e1614b
* synchronised with trunk till r42105
...
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
aad87820e6
* abstracted registration of library init/fini routines (to be able to add
...
LLVM support)
git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
9e9a982bfe
* synchronised with trunk till r42095
...
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
pierre
c0f064a35c
Remove two warnings about missing case (others are still present in ppudump.pp source)
...
git-svn-id: trunk@42085 -
2019-05-16 12:42:39 +00:00
Jonas Maebe
128bf046b4
* regenerated Makefiles with LLVM bitcode installation support
...
git-svn-id: branches/debug_eh@41914 -
2019-04-20 18:56:45 +00:00
Jonas Maebe
fc60ec2ea4
+ support for LLVM LTO: compile units with -CLflto -> when compiling a main
...
program/library also with -Clflto, all units compiled with that option
will be linked using their bitcode files and LTO
o compiling with -CLflto will compile all units twice: once for normal
(static or smart) linking, and once for LTO. So the result can be
used both with and without LTO.
git-svn-id: branches/debug_eh@41910 -
2019-04-20 18:56:11 +00:00