yury
88365b6d92
* Enabled safecall support for aarch64 to be on par with other cpus.
...
git-svn-id: trunk@39903 -
2018-10-08 08:37:18 +00:00
svenbarth
b9ec7e1e06
* generate RTTI for *all* parameters of a method or procedure variable
...
git-svn-id: trunk@39885 -
2018-10-07 12:25:33 +00:00
svenbarth
a8b2ad31d1
* fix for Mantis #34355 : correctly check whether the array constructor is empty (aka []) or not
...
git-svn-id: trunk@39882 -
2018-10-07 12:25:24 +00:00
svenbarth
2f74a51eb8
* fix .seh_savereg: the offset is checked with a bitmask, not a divisor, so use "and", not "mod"
...
git-svn-id: trunk@39877 -
2018-10-07 12:25:09 +00:00
florian
8943c0584e
+ patch by J. Gareth Moreton to support BMI2 instructions
...
+ extended avx test generator with the newly added BMI2 instructions
git-svn-id: trunk@39875 -
2018-10-07 10:10:19 +00:00
yury
8c59eb1ce5
* Regenerated makefiles to support aarch64-android.
...
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
yury
671d31df1d
+ Added support for the aarch64-android target.
...
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
florian
c7a0022146
* fix building with LLVM=1, thanks to Karl-Michael Schindler for the hint
...
git-svn-id: trunk@39861 -
2018-10-05 20:56:56 +00:00
pierre
0e0b43889f
Use vfpv2 as default fpu for eabihf if cpu is below armv7
...
git-svn-id: trunk@39849 -
2018-10-01 21:50:13 +00:00
florian
be1bd043a7
* only i386 uses oldfpccall for interrupts, all other architectures use now stdcall, resolves #34317
...
git-svn-id: trunk@39838 -
2018-09-27 21:00:35 +00:00
florian
352fb866ef
* is_range_test returns false if "lower" bound is greater than "upper" bound
...
git-svn-id: trunk@39837 -
2018-09-27 20:24:52 +00:00
svenbarth
d5f0d8e306
* addendum for Mantis #34333 : also complain about number of arguments with the maximum number of arguments for Copy ( = 3 ) is exceeded
...
git-svn-id: trunk@39836 -
2018-09-27 19:44:35 +00:00
pierre
915fb05055
Update remaining Makefile's
...
git-svn-id: trunk@39830 -
2018-09-27 07:10:27 +00:00
Károly Balogh
b4a7d6a82e
cleanup: remove ARMHF-related comments from RISC-V only codepath. no functional change.
...
git-svn-id: trunk@39827 -
2018-09-27 07:04:04 +00:00
pierre
578e60e6ef
Fix default CPUs for riscv32
...
git-svn-id: trunk@39819 -
2018-09-26 21:56:36 +00:00
pierre
10f72ba2c8
Add missing TFenceFlags and TRoundingMode for riscv32
...
git-svn-id: trunk@39818 -
2018-09-26 21:56:03 +00:00
svenbarth
76c45b1a72
* fix for Mantis #34333 : improve error output for incorrect calls to Copy()
...
git-svn-id: trunk@39817 -
2018-09-26 21:33:51 +00:00
florian
a34d4e715c
Merged riscv_new branch
...
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
florian
7082b6e34a
* compilation fixed
...
git-svn-id: trunk@39812 -
2018-09-26 19:38:17 +00:00
florian
88f83280dc
* correctly take care of short boolean evaluation when rearranging nodes during CSE
...
git-svn-id: branches/laksen/riscv_new@39803 -
2018-09-25 20:31:03 +00:00
svenbarth
bf91991bae
* fix for Mantis #34332 : allow 2 parameter form of Copy also for ShortString variables
...
+ added test
git-svn-id: trunk@39802 -
2018-09-25 19:10:06 +00:00
Jeppe Johansen
d33b520690
Clean up peephole optimization code.
...
Add hardfloat ABI option for RiscV. Still needs proper implementation though.
Add CG support for profiling.
git-svn-id: branches/laksen/riscv_new@39798 -
2018-09-24 17:15:22 +00:00
svenbarth
116230f759
* forgot to commit extension to tspecializenode
...
git-svn-id: trunk@39788 -
2018-09-21 15:17:52 +00:00
svenbarth
9a99ab9dda
* fix for Mantis #34287 : correctly handle "inherited method" calls if "method" is a generic (no matter if it's mode Delphi or not)
...
+ added test
git-svn-id: trunk@39787 -
2018-09-21 15:16:18 +00:00
svenbarth
06267006f3
* explicitely handle the boolean types to determine the bit size as all of them have the bit size 1
...
+ added test
git-svn-id: trunk@39786 -
2018-09-21 13:24:49 +00:00
Jeppe Johansen
8f4173c54d
Add a number of optimizations.
...
Don't do CSE restructuring when has full evaluation enabled.
git-svn-id: branches/laksen/riscv_new@39781 -
2018-09-20 20:27:58 +00:00
Jeppe Johansen
576ef934bd
Fix bug in lui+addi immediate load for spilling code.
...
git-svn-id: branches/laksen/riscv_new@39764 -
2018-09-16 20:51:15 +00:00
florian
7855b3cf1b
* relax formula for max. nodes to inline
...
git-svn-id: trunk@39763 -
2018-09-16 19:15:30 +00:00
Jeppe Johansen
74a7963d58
Redo overflow checking code.
...
Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.
git-svn-id: branches/laksen/riscv_new@39762 -
2018-09-16 18:37:59 +00:00
florian
49e7e5f512
* support aitconst_*bit_unaligned in the intel assembler writer, resolves #34222
...
git-svn-id: trunk@39761 -
2018-09-16 15:27:03 +00:00
florian
ee338fc709
* patch by Karl-Michael Schindler to update the german messages files, resolves #34218
...
git-svn-id: trunk@39760 -
2018-09-16 15:13:04 +00:00
florian
a21397e356
+ based on a patch by Laksen, optimize (v>=x) and (v<=y) into (v-x)<(y-x)
...
git-svn-id: trunk@39759 -
2018-09-16 13:09:36 +00:00
florian
64ad48e89e
* forgotten part of r39750
...
git-svn-id: trunk@39752 -
2018-09-13 20:20:40 +00:00
florian
800ce23499
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
...
git-svn-id: trunk@39750 -
2018-09-12 20:33:18 +00:00
pierre
d46536817c
Disable overflow for UDIVX ans SDIVX 64-bit instructions
...
git-svn-id: trunk@39731 -
2018-09-11 08:00:54 +00:00
svenbarth
cb8f6f637c
* fix big endian targets by using an explicit assignment with typecast instead of an absolute variable
...
git-svn-id: trunk@39728 -
2018-09-10 21:12:29 +00:00
Jeppe Johansen
f828d8700c
A subscript can also trigger an exception.
...
git-svn-id: branches/laksen/riscv_new@39718 -
2018-09-09 14:41:37 +00:00
Jeppe Johansen
1f68caaf82
Removed reuse of src and dest registers in g_concatcopy as that
...
could modify registers used for other stuff(ex. framepointer).
git-svn-id: branches/laksen/riscv_new@39717 -
2018-09-09 14:02:54 +00:00
Jeppe Johansen
4b227de02e
Add ORN instruction for Thumb2.
...
git-svn-id: trunk@39714 -
2018-09-08 12:10:51 +00:00
florian
f040c19fd6
* cleanup
...
git-svn-id: branches/laksen/riscv_new@39712 -
2018-09-07 19:22:59 +00:00
svenbarth
92cce05f5f
* as a workaround for some compiler bug introduced during 3.1.1 the freeing of the management operator offset entry lists is moved to a nested procedure as that does not trigger the bug (even with -O2 or -O3)
...
git-svn-id: trunk@39711 -
2018-09-04 20:20:07 +00:00
svenbarth
ba08bdc9b1
* increase PPU version after the addition of the field to keep track of management operators (don't seperately to help merging)
...
git-svn-id: trunk@39710 -
2018-09-03 18:00:30 +00:00
svenbarth
600ed6701e
+ keep track whether a structured type has fields with management operators (or fields that in turn have fields with management operators and so on) and store that in the PPU to speed up compilation again
...
* adjusted PPUdump for this
git-svn-id: trunk@39709 -
2018-09-03 18:00:27 +00:00
svenbarth
46ef16ac11
* generate an error if the type parameters of a generic routine's definition does not match with its interface or forward declaration
...
+ added tests
git-svn-id: trunk@39703 -
2018-09-02 16:20:29 +00:00
svenbarth
50323043c1
* generate an error if the type parameters of the record, object or class do not match with its declaration
...
+ added test
git-svn-id: trunk@39702 -
2018-09-02 16:20:25 +00:00
svenbarth
03a036c6cb
* regenerate msg*.inc after adding messages for mismatching generic declarations
...
git-svn-id: trunk@39701 -
2018-09-02 16:20:22 +00:00
svenbarth
cfe75ca0fd
+ add messages to use when generic types of a definition do not match with its declaration
...
git-svn-id: trunk@39700 -
2018-09-02 16:20:18 +00:00
Jeppe Johansen
29ea4ed07d
Add rounding mode operands.
...
Add support for trunc and round methods.
git-svn-id: branches/laksen/riscv_new@39698 -
2018-09-01 19:48:44 +00:00
Jeppe Johansen
2af0ca8546
Fix bugs caused by swapping of operands in float comparisons.
...
git-svn-id: branches/laksen/riscv_new@39697 -
2018-09-01 19:47:28 +00:00
svenbarth
70ae0a2dc9
+ add a comment to the destructor of tsymtable so that others (and maybe me a well) will hopefully see that the destructor of that class is not completely trivial!
...
git-svn-id: trunk@39694 -
2018-08-31 19:16:48 +00:00