LLVM IR recebe tipo byte: Suporte nativo para operações de memória bruta

2025-09-09

Um projeto do Google Summer of Code 2025 na Infraestrutura do Compilador LLVM adicionou com sucesso um novo tipo byte ao LLVM IR, representando valores de memória bruta. Isso permite a implementação nativa de intrínsecos de memória como memcpy, memmove e memcmp, corrige transformações inseguras e desbloqueia novas otimizações, tudo com mínimo impacto no desempenho. O projeto abordou a falta de um tipo para representar memória bruta no LLVM, melhorando a correção e otimização do compilador por meio do rastreamento da proveniência do ponteiro e da representação precisa de bits de veneno. O tratamento do Clang dos tipos de acesso à memória bruta em C/C++ também foi aprimorado, juntamente com correções para várias otimizações inseguras.

Desenvolvimento