Changes since esp-18.1.2_20240912:
Features:
- Upgraded to LLVM 19.1.2.
- [Clangd] Return Includes for
documentSymbol
request. This solves part of the problem related to missedincludes
in Outline view. Described here. - [Xtensa] Added fp16 conversion support. It fixes #103 and #91.
- [Xtensa] Added
+forced-atomics
target feature support. Solves #105. - [Toolchain] [Espressif] Upgraded
libgcc
andlibstdc++
from GCC 14.2.0. - [Toolchain] [Espressif] Upgraded GNU binutils version to 2.43.1.
- [Toolchain] [Espressif] [RISCV] Added Zcmt and Zcmp support to GNU binutils.
- [Toolchain] [Espressif] [RISCV] Added multilibs for Z-extensions (
zba
,zbb
,zbc
,zbs
). - [Toolchain] [Espressif] Added helper script to support versioning of standalone libraries distribution. Toolchain's distribution part of the solution for #108.
- [Toolchain] [Espressif] [ESP32P4] Added
SplitLoopByLength
,CustomLICM
andLoopUnrollAndRemainder
optimization passes to generate faster code for DSP function implementations like FIR, SQRT etc.
Fixes:
- [Xtensa] Fixed issue appeared when allocating objects on stack with alignment more then 32 bytes. That could lead to invalid address of objects accessed via pointer API.
- [Xtensa] Implement
XtensaNullTargetStreamer
. It fixes crash inXtensa AsmParser::run()
duringModuleSummaryIndexAnalysis
pass. - [Xtensa] Default to unsigned char. Align with GCC behaviour.
- [Xtensa] [ESP32S3] Fixed TIE
format_32
encoding and disassembler ambiguities betweenx24
andformat_32
encoding.llvm-objdump
had a problem of determining whether it isx24
orformat_32
instruction.format_32
encoding was wrong and now fixed to match the TRM. - [Xtensa] [ESP32S3] Fixed verifier issues in instructions with INOUT operands. Without constraints -verify-machineinstrs failed. Also, without constraints llvm-objdump treated inout registers as 2 different operands which led objdump to think that an instruction had one extra argument.
- [Toolchain] [Espressif] [Newlib]: fix tgammaf(-inf) return value (espressif/esp-idf#14273)
- [Toolchain] [Espressif]: Mingw standalone libs distro contained binutils which should not be part of it.