diff options
author | Benedikt Meurer <benedikt.meurer@googlemail.com> | 2012-02-04 10:15:24 +0000 |
---|---|---|
committer | Benedikt Meurer <benedikt.meurer@googlemail.com> | 2012-02-04 10:15:24 +0000 |
commit | 05627e0de4a50067f36d1eca9dcc9ebd5736c3f8 (patch) | |
tree | a9856729b575ccdd1942dbd9ffaf112cb8e03e81 /otherlibs/labltk/support/cltkVar.c | |
parent | bb007b5a22f127aa7ef685c49e0ff40059efe092 (diff) |
Merge the new ARM backend into trunk (PR#5433).
Initial merge of the new ARM backend (commit ec5b444c7f) from my development
repository at https://github.com/bmeurer/ocaml-arm/tree/ec5b444c7f .
Compared to the old ARM backend, this one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
-fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
(armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC internals.
- Supports exception backtraces.
- Supports profiling using gprof.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/labltk/support/cltkVar.c')
0 files changed, 0 insertions, 0 deletions