Version 6.0.0 of the LLVM open source compiler framework has been released. "This release is the result of community work over the past six months, including: retpoline Spectre variant 2 vulnerability mitigation, significantly improved CodeView debug information for Windows, GlobalISel by default on AArch64 at -O0, scheduling on multiple x86 microarchitectures Improvements, Clang defaults to -std=gnu++14 instead of -std=gnu++98, support for some upcoming C++2a features, improved optimizations, new compiler warnings, many bug fixes and more.
Fixed many bugs:
- fpowi on MIPS64 gives incorrect results when using negative integers.
- The usage of the asm 'c' constraint is related to the wrong data type causing the assert/crash.
- Fixed conversion bug when using DSP ASE.
- Fixed an inconsistency where objects were not marked as using microMIPS when the micromips function attribute or when using the ".set micromips" directive.
- Reordered MIPSR6-specific hazard schedulers to order after delay slot fillers, fixing a rare class of boundary bugs where delay slot fillers violated ISA constraints.
- Fixed a crash when using gp-relative addressing for types of unknown size.
- Corrected j macro for microMIPS.
- Corrected movep encoding for microMIPS32r6.
- Fixed using insert instruction with an invalid set of operands.
- Fixed TLS symbols not being flagged.
- Since the offsets for loads and stores are shorter, MSA can be used for register cleanup.
- Corrected ELF header when using DSP ASE.
new function:
- When targeting MIPSR6, long branch passes now generate some R6 specific instructions.
- The delay slot filler now performs more branch transitions if the delay slot cannot be filled.
- MIPS MT ASE is now fully supported.
- Added support for the lapc directive.
- Improved selection of several instructions (dext, nmadd, nmsub).
- Further improvements to microMIPS encoding size.
Deprecation statement:
- MicroMIPS64R6 support has been deprecated since version 5.0 and is now completely removed.
The original text comes from: https://www.linuxprobe.com/opensource-compiler-llvm.html