Skip to content

esp-19.1.2_20250211

Latest
Compare
Choose a tag to compare
@gerekon gerekon released this 19 Feb 16:58

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 missed includes 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 and libstdc++ 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 and LoopUnrollAndRemainder 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 in Xtensa AsmParser::run() during ModuleSummaryIndexAnalysis pass.
  • [Xtensa] Default to unsigned char. Align with GCC behaviour.
  • [Xtensa] [ESP32S3] Fixed TIE format_32 encoding and disassembler ambiguities between x24 and format_32 encoding. llvm-objdump had a problem of determining whether it is x24 or format_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.