Jonas Maebe
4b59bcb0ca
* regenerated makefiles
...
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
florian
5bab6201d5
* rebuild Makefiles
...
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +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
florian
1f00875f8c
* fix ppudump after addition of freertos-xtensa
...
git-svn-id: trunk@44405 -
2020-03-29 17:13:48 +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