diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2021-06-01 14:37:07 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2021-06-01 14:37:07 +0200 |
commit | 5a632954c85e8b2b5afea124e4fc83f39c5d3598 (patch) | |
tree | d53323083adec47d3338a04b516265c634806bea /Changelog | |
parent | a298e55fdc51cce92a8b39280643b623d7d991a8 (diff) | |
download | compcert-kvx-5a632954c85e8b2b5afea124e4fc83f39c5d3598.tar.gz compcert-kvx-5a632954c85e8b2b5afea124e4fc83f39c5d3598.zip |
[BROKEN] Merge with v3.9 : something broken for __builtin_expect in cfrontend/C2C.ml
Diffstat (limited to 'Changelog')
-rw-r--r-- | Changelog | 66 |
1 files changed, 66 insertions, 0 deletions
@@ -1,3 +1,69 @@ +Release 3.9, 2021-05-10 +======================= + +New features: +- New port: AArch64 (ARM 64 bits, "Apple silicon") under macOS. +- Support bitfields of types other than `int`, provided they are no larger + than 32 bits (#387) +- Support `__builtin_unreachable` and `__builtin_expect` (#394) + (but these builtins are not used for optimization yet) + +Optimizations: +- Improved branch tunneling: optimized conditional branches can + introduce further opportunities for tunneling, which are now taken + into account. + +Usability: +- Pragmas within functions are now ignored (with a warning) instead of + being lifted just before the function like in earlier versions. +- configure script: add `-mandir` option (#382) + +Compiler internals: +- Finer control of variable initialization in sections. Now we can + put variables initialized with symbol addresses that need relocation + in specific sections (e.g. `const_data` on macOS). +- Support re-normalization of function parameters at function entry, + as required by the AArch64/ELF ABI. +- PowerPC 64 bits: remove `Pfcfi`, `Pfcfiu`, `Pfctiu` pseudo-instructions, + expanding the corresponding int<->FP conversions during the + selection pass instead. + +Bug fixing: +- PowerPC 64 bits: incorrect `ld` and `std` instructions were generated + and rejected by the assembler. +- PowerPC: some variadic functions had the wrong position for their + first variadic parameter. +- RISC-V: fix calling convention in the case of floating-point + arguments that are passed in integer registers. +- AArch64: the default function alignment was incorrect, causing a + warning from the LLVM assembler. +- Pick the correct archiver to build `.a` library archives (#380). +- x86 32 bits: make sure functions returning structs and unions + return the correct pointer in register EAX (#377). +- PowerPC, ARM, AArch64: updated the registers destroyed by asm + pseudo-instructions and built-in functions. +- Remove spurious error on initialization of a local struct + containing a flexible array member. +- Fixed bug in emulation of assignment to a volatile bit-field (#395). + +The clightgen tool: +- Move the `$` notation for Clight identifiers to scope `clight_scope` + and submodule `ClightNotations`, to avoid clashes with Ltac2's use of `$` + (#392). + +Coq development: +- Compatibility with Coq 8.12.2, 8.13.0, 8.13.1, 8.13.2. +- Compatibility with Menhir 20210419 and up. +- Oldest Coq version supported is now 8.9.0. +- Use the `lia` tactic instead of `omega`. +- Updated the Flocq library to version 3.4.0. + +Licensing and distribution: +- Dual-licensed source files are now distributed under the LGPL version 2.1 + (plus the Inria non-commercial license) instead of the GPL version 2 + (plus the Inria non-commercial license). + + Release 3.8, 2020-11-16 ======================= |