Site Local

Portal de notícias de tecnologia

LLVM 23.1 chega com suporte ao Zen 6 e parte do C++26, e muda a IR e a API C

A primeira versão estável da série LLVM 23 traz novos alvos de CPU e GPU. Ferramentas que geram IR ou usam a API C precisam revisar mudanças incompatíveis.

LLVM 23.1 chega com suporte ao Zen 6 e parte do C++26, e muda a IR e a API C

O projeto LLVM publicou em 25 de agosto de 2026 a versão 23.1.0, primeira estável da série LLVM 23. Os binários estão na página de lançamento no GitHub. Segundo a Phoronix, a versão saiu dentro do cronograma como a atualização do segundo semestre da infraestrutura de compiladores, que serve de base para o Clang e para linguagens como Rust, Swift e Zig.

Novos alvos e recursos

A Phoronix lista entre as novidades o suporte ao Zen 6 da AMD (znver6), incluindo instruções AVX-512 BMM; suporte inicial ao núcleo NVIDIA Rigel, do processador Rosa; modelo de escalonamento do Arm C1-Ultra; e o alvo de isolamento leve de falhas (LFI) para x86. Também entram o novo driver de offload HIP da AMD, o alvo AMDGPU GFX1310 e os processadores RISC-V SpacemiT X100. No Clang, há suporte parcial ao C++26 com -std=c++2c, mais recursos do C2Y e melhorias de diagnóstico. O linker LLD também foi melhorado.

Mudanças que podem quebrar ferramentas

As notas de lançamento do LLVM trazem mudanças que afetam quem gera ou manipula a representação intermediária (IR) ou usa as APIs do projeto:

  • Os intrínsecos llvm.convert.to.fp16 e llvm.convert.from.fp16 foram removidos; o equivalente é fptrunc/fpext com half e um bitcast.
  • Os literais de ponto flutuante da IR mudaram: a antiga representação hexadecimal bit a bit está obsoleta e será removida na próxima revisão, substituída pelo prefixo unificado f0x.
  • Na API C, o opcode LLVMBr foi substituído por LLVMUncondBr e LLVMCondBr, e a ordem dos operandos de desvios condicionais mudou. As notas alertam que isso pode causar quebras sutis em código que usa LLVMGetOperand ou LLVMSetOperand.
  • Os atributos de string “denormal-fp-math” viraram o atributo de primeira classe denormal_fpenv; IR e bitcode existentes são atualizados automaticamente.
  • No RISC-V, a opção -riscv-enable-p-ext-simd-codegen foi removida, e a geração SIMD da extensão P passa a ser automática.
  • No x86 para Windows, usar os registradores estendidos do APX (R16 a R31) sem unwind info V3 agora gera erro fatal.

Para quem isso importa

Para quem só compila C e C++ com o Clang, as novidades principais são os novos alvos e o suporte de linguagem. Já autores de linguagens, JITs, bindings e ferramentas que emitem IR textual ou usam a API C devem revisar as notas antes de migrar, porque, segundo o próprio projeto, a mudança nos desvios da API C pode causar quebras sutis. A adoção por outros projetos depende do calendário de cada um: o Zig, por exemplo, informa nas notas do Zig 0.17 que vai migrar para o LLVM 23 no Zig 0.18.

Fontes

Imagem destacada: ilustração gerada por computador, sem valor documental.

Deixe comentário

Seu endereço de e-mail não será publicado. Os campos necessários são marcados com *.

Fique por dentro

As principais notícias de tecnologia, todos os dias

Siga o portal nas redes sociais e acompanhe IA, cibersegurança, cloud, hardware e o mercado de tecnologia em primeira mão.