sergei
87cfd86172
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
...
git-svn-id: trunk@24978 -
2013-06-26 11:03:24 +00:00
mazen
9c4052b505
+ Added a new directive, CFGDIR, to configuration file allowing user to add a directory to a list where included configuration files are searched.
...
git-svn-id: trunk@24908 -
2013-06-16 15:43:10 +00:00
nickysn
435a97059d
+ enabled the command line option for the medium memory model
...
git-svn-id: trunk@24847 -
2013-06-09 17:57:42 +00:00
nickysn
b409d600ee
+ implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
...
git-svn-id: trunk@24793 -
2013-06-02 23:02:10 +00:00
Jonas Maebe
1358618c36
* only display and allow ABIs that are actually supported by the current
...
compiler binary
git-svn-id: trunk@24475 -
2013-05-08 14:30:38 +00:00
florian
0e41df598e
* merge i8086 branch by Nikolay Nikolov
...
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
sergei
6f1997f5e5
+ MIPS: added profiling support
...
git-svn-id: trunk@23950 -
2013-03-21 13:40:50 +00:00
florian
fdde11fcc8
- -CPPAKCSET=NORMAL and CPPAKCSET=DEFAULT should set setalloc to 0 as $PACKSET=... with the same parameters does
...
git-svn-id: trunk@23893 -
2013-03-17 15:10:33 +00:00
florian
380bc56e32
+ create a default heap on embedded targets and register this default heap
...
* sysutils for the embedded target depends on a working heap manager
git-svn-id: trunk@23853 -
2013-03-16 10:37:18 +00:00
nickysn
99212c0f9c
* define FPC_HAS_TYPE_EXTENDED for i8086; undefine FPC_INCLUDE_SOFTWARE_INT64_TO_DOUBLE
...
git-svn-id: branches/i8086@23837 -
2013-03-14 21:11:10 +00:00
sergei
2caa05ccd1
* Make Win64 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012 .
...
git-svn-id: trunk@23732 -
2013-03-08 16:58:05 +00:00
nickysn
a9809323dc
some more generic i8086 defines added
...
git-svn-id: branches/i8086@23712 -
2013-03-07 22:46:00 +00:00
yury
63d1c3aa94
* Set default CPU armv5t for arm-android. Issue #23973 .
...
git-svn-id: trunk@23693 -
2013-03-04 21:46:36 +00:00
florian
1eeeb309c7
* intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet
...
git-svn-id: trunk@23682 -
2013-03-03 12:20:10 +00:00
yury
b3862eb4b1
* Use standard Android NDK prefixes for binutils by default.
...
git-svn-id: trunk@23608 -
2013-02-13 17:35:55 +00:00
paul
2a3618fb6c
compiler: set apptype using new SetAppType routine, add 'CONSOLE' define for console apptype.
...
git-svn-id: trunk@23603 -
2013-02-13 03:21:03 +00:00
florian
3ca7a5ff8e
- remove switch -Wx for arm thumb interworking, one should use -CTHUMBTINTERWORKING=ON instead
...
git-svn-id: trunk@23572 -
2013-02-04 21:46:27 +00:00
Jonas Maebe
4022c29500
* mark each target switch with whether it's global or not, so a compiler
...
directive can be added that enables changing the local ones
git-svn-id: trunk@23562 -
2013-02-02 15:22:13 +00:00
florian
bf57cdf409
+ introduce new define CPUTHUMB2
...
git-svn-id: trunk@23539 -
2013-01-29 20:34:55 +00:00
paul
5d74e0578a
compiler: remove unused variables and unneeded assignments
...
git-svn-id: trunk@23467 -
2013-01-21 01:24:36 +00:00
florian
7184306a4c
+ option -Wx to generate thumb interworking safe code on arm
...
git-svn-id: trunk@23463 -
2013-01-20 15:26:59 +00:00
Jonas Maebe
4ea78538e4
* enabled threading feature for jvm target so that rtl/inc/genmath.inc
...
compiles again there (it's possible to take the address of arbitrary
threadvars on the jvm platform, but not of arbitrary other variables)
- disabled inclusion of generic thread manager and threadvar support
on the jvm target if the threading feature is enabled
git-svn-id: trunk@23322 -
2013-01-06 15:05:24 +00:00
florian
00af813eee
* write supported cpu and fpu types more compact
...
git-svn-id: trunk@23260 -
2012-12-31 16:45:30 +00:00
florian
a5cc48da0e
* write controller types more compact
...
git-svn-id: trunk@23259 -
2012-12-31 16:31:23 +00:00
florian
c9d8047113
* open config files read only so they can be open by multiple compilers at once
...
git-svn-id: trunk@23254 -
2012-12-31 14:13:05 +00:00
pierre
11e743e5b8
Use FPC_INCLUDE_LONGWORD_TO_DOUBLE for m68k
...
git-svn-id: trunk@23181 -
2012-12-18 15:11:48 +00:00
Jonas Maebe
2dac1c445a
- disabled Stabs support on 64 bit targets (mantis #23365 )
...
* show a warning if an unsupported debug format is selected
git-svn-id: trunk@23056 -
2012-11-24 13:15:58 +00:00
florian
a42b934c69
* introduce FPC_SUPPORT_X87_TYPES_ON_WIN64 define which allows to build
...
a win64 compiler support the x87 types extended and comp/currency handled by the FPU, this
requires to use a i386 compiler as starting compiler and cross compilation because the starting
compiler must support the 80 bit extended type
git-svn-id: trunk@23023 -
2012-11-18 17:30:51 +00:00
florian
f142019343
* set default cpu type to armv7a when compiling for armhf
...
git-svn-id: trunk@22845 -
2012-10-24 19:09:16 +00:00
florian
970405c0f3
o merging r22801 of Jeppe Johansen
...
git-svn-id: trunk@22812 -
2012-10-21 19:05:59 +00:00
Jeppe Johansen
4e84431dde
Fix some optimizations which assume that there are 3 operands
...
Add simple Mul+Sub/Mul+Add into MLS/MLA optimizations
Fix some other small issues in the optimizer
Implement Interlocked* functions with proper use of LDREX/STREX
git-svn-id: branches/laksen/arm-embedded@22801 -
2012-10-21 16:20:52 +00:00
Jonas Maebe
614436d8cb
* added pocall_mwpascal to cdecl_pocalls so we no longer have to explicitly
...
add it everywhere in the paramanagers (where it was often forgotten)
- removed places where it was explicitly added to cdecl_pocalls checks
+ test
git-svn-id: trunk@22616 -
2012-10-12 08:41:03 +00:00
florian
ca5fabda6d
* cleanup some unused units from uses clauses
...
git-svn-id: trunk@22433 -
2012-09-21 18:53:46 +00:00
florian
d63ebe6464
* bsr implementation for armv5+ using clz
...
git-svn-id: trunk@22310 -
2012-09-04 12:56:38 +00:00
florian
9be3ca04ad
* split FPC_HAS_INTERNAL_BSX_* defines into FPC_HAS_INTERNAL_BSF_* and FPC_HAS_INTERNAL_BSR_*
...
git-svn-id: trunk@22308 -
2012-09-04 12:56:18 +00:00
florian
ff12d63248
+ generic popcnt support
...
git-svn-id: trunk@22290 -
2012-09-02 20:59:44 +00:00
florian
b782918434
* first draft to support the popcnt instruction, works so far for x86 with a real popcnt instruction
...
git-svn-id: trunk@22289 -
2012-09-02 20:59:39 +00:00
Jonas Maebe
f5b1c64d36
* default to VFPv2 on Darwin/ARM (all iOS devices ever released until
...
now support it, and the VFPv2 code has been very stable for quite
some time already)
git-svn-id: trunk@22120 -
2012-08-19 09:36:46 +00:00
florian
b8ab3d48f6
* fix compilation on non avr/arm architectures
...
git-svn-id: trunk@22093 -
2012-08-15 16:02:36 +00:00
florian
895aa0d752
* reworked cpuflags for avr
...
+ define cpuflags in options unit so user programs can access them
git-svn-id: trunk@22089 -
2012-08-15 15:48:59 +00:00
Jonas Maebe
ed8087c71a
* check with parameters that must be followed by either nothing or a +/-,
...
are indeed never followed by other characters (prevents typos such as
-EnabledFeature instead of -dEnableFeature from simply switching of
linking)
git-svn-id: trunk@22065 -
2012-08-12 13:30:36 +00:00
florian
4d86d25c6c
* -O4 switch for optimizations which are correct but which might have unexpected effects
...
like field reordering (possible problems cracker classes) or using ebp as normal register (broken
stack traces from dump_stack)
+ niln is also valid in a cse domain
* parameters passed by reference shall have a complexity >1
* load nodes from outer scopes shall have a complexity >1
* better cse debugging
+ more node types added to cse
* consider parameters passed by reference in cse
* take care of cse in parameters in simple cases
git-svn-id: trunk@22050 -
2012-08-09 18:58:54 +00:00
florian
58a7baa62b
* build an armhf armv6 compiler if it is built by an armhf armv6 compiler
...
git-svn-id: trunk@21966 -
2012-07-24 17:11:09 +00:00
pierre
ecddfb7838
+ Added FPC_LOCALS_ARE_STACK_REG_RELATIVE system macro for MIPS cpu
...
git-svn-id: trunk@21893 -
2012-07-12 08:54:06 +00:00
masta
59c726c829
Support ABS intrinsic on ARM
...
This code will generate the following sequence on arm:
r1=dst
r0=src
movs r1, r0
rsbmi r1, r0, #0
movs will set the N-flag when the MSB of r0 is set, if it is set, rsb
will calculate dst:=0-src;
git-svn-id: trunk@21678 -
2012-06-21 20:12:36 +00:00
pierre
600dd162af
Merge of rev21557 by Foxsen
...
Make macro MIPS/CPUMIPS/MIPS32 common for big endian and little endian mips processors
use MIPSEL* for little endian systems
use MIPSEB* for big endian systems
git-svn-id: trunk@21599 -
2012-06-13 22:25:38 +00:00
pierre
2b90b444bf
Differentiate mips/mipsel default system macros
...
git-svn-id: trunk@21546 -
2012-06-08 10:08:24 +00:00
pierre
d6d237d688
* Patch from Fuxin Zhang: FPC_HAS_INTERNAL_SAR set for mips and mipsel CPUs
...
git-svn-id: trunk@21532 -
2012-06-07 23:07:32 +00:00
Jonas Maebe
7dbfd9dc81
* don't say a config file is empty if it only contains #define, #undef,
...
#write and/or #include statements (mantis #20504 )
git-svn-id: trunk@21345 -
2012-05-20 15:00:53 +00:00
sergei
78c0215447
Preparations to native threadvar support:
...
- i386/cgcpu.pas: removed segment check, rejecting references with segment here is too early. These references are passed to tcgx86.a_loadaddr_ref_reg, which can generate required code for them (or reject if they are not allowed for the target).
- ncgld.pas: removed "not tf_section_threadvars in target_info" condition, it is inverse to one on the following line, making non-generic branch impossible to execute.
+ Define FPC_SECTION_THREADVARS macro if corresponding flag is set for the target.
git-svn-id: trunk@21210 -
2012-05-03 16:26:44 +00:00