Noticias que mencionan LLVM

Una conversión de bool a u32 revela un fallo del optimizador de Rust

El desarrollador Parsa, autor de un blog técnico sobre compiladores y parsers, relata una sesión de refactorización de su motor de JavaScript escrito en Rust en la que una versión 'estética' de una función del lexer provocaba errores de parseo, mientras que una variante menos elegante funcionaba cor

Cómo acelerar WebGL sin GPU: el truco de un flag de Chrome

Microlink opera una flota de navegadores sobre nodos Linux sin tarjeta gráfica ni /dev/dri, una decisión que abarata costes y reduce drivers, pero que obliga a renderizar WebGL por software. En ese contexto, el cuello de botella eran las capturas de páginas 3D, ya que SwiftShader, el motor software

Qualcom compra la startup de chips Modular por casi 4.000 millones de dólares

Qualcom ha anunciado la adquisición de la startup de chips Modular por cerca de 4.000 millones de dólares, una operación que se materializará en la segunda mitad del año mediante la emisión de hasta 19,2 millones de acciones ordinarias. El acuerdo incluye 300 millones de dólares destinados a los apr

Fil-C presenta ensamblador inline con seguridad de memoria

Fil-C, una variante de C y C++ con seguridad de memoria desarrollada por pizlonator, incorpora compatibilidad con ensamblador inline manteniendo las garantías de seguridad. La función, aún en fase preliminar y no incluida en el lanzamiento 0.679, requiere compilar desde el código fuente. El proyect

CS 6120 de Cornell: curso autoguiado y abierto sobre compiladores avanzados

CS 6120 es un curso de nivel doctoral de la Cornell University, impartido por Adrian Sampson, que ahora se ofrece como itinerario autoguiado y abierto en la web. El programa aborda la implementación de lenguajes de programación desde una perspectiva tanto clásica como de investigación: representacio

El camino hacia el Component Model 1.0 de WebAssembly

WebAssembly se encamina hacia un hito histórico: el Component Model 1.0, una especificación estable y formalmente definida que promete consolidar a Wasm como pilar fundamental de la informática moderna. Así lo adelantaron Luke Wagner y Alex Crichton en el Bytecode Alliance Plumbers Summit de febrero

Numeración de valores: la optimización que reutiliza cálculos idénticos

La numeración de valores (value numbering) es una técnica clásica de optimización de compiladores que identifica instrucciones puras que producirán el mismo resultado en tiempo de ejecución y las fusiona para evitar cálculos redundantes. El artículo parte de la forma SSA (asignación única estática),

Yon: un lenguaje de investigación cimentado en teoría de topos y HoTT

Yon es un lenguaje de programación de investigación cuyo sistema de tipos se fundamenta en la teoría de topos, el lema de Yoneda, la teoría de tipos de homotopía (HoTT) y la teoría de tipos cúbica, con efectos algebraicos y un núcleo de lógica intuicionista. Constituye, a la vez, un programa de inve

Desvirtualización estática de Themida mediante evaluación simbólica guiada

Themida y CodeVirtualizer, desarrollados por Oreans Technology, son protectores comerciales que traducen código nativo a una máquina virtual interna con un juego de instrucciones propio, un esquema que también emplea VMProtect y que comparten vxlang, EagleVM, Covirt y BinProtect. Este artículo descr

Se estrena en YouTube 'C++: The Documentary', crónica de 40 años del lenguaje

El documental 'C++: The Documentary' se estrenó hoy en YouTube con un recorrido por los 40 años de historia del lenguaje de programación C++, desde su creación en los laboratorios Bell de AT&T a manos de Bjarne Stroustrup hasta su actual adopción global. El filme reúne a figuras clave del lenguaje y

Reify: generador aleatorio de programas para probar compiladores de C

Reify es una herramienta de generación aleatoria de programas basada en reificación semántica, diseñada para poner a prueba compiladores de C y, potencialmente, otras máquinas virtuales. Su propósito es producir funciones y programas en C libres de comportamientos indefinidos (UB), de modo que cualq

Ü: un lenguaje de programación compilado, seguro y sin GC

Ü es un lenguaje de programación compilado y de tipado estático que prioriza la seguridad y el rendimiento. Inspirado en C++, pero sin sus desventajas, y con influencias menores de Rust, Ü ofrece una separación entre código seguro e inseguro, verificación en tiempo de compilación y abstracciones com

Capstone: el framework de desensamblado multiplataforma de referencia

Capstone es un framework de desensamblado de código máquina concebido como motor de referencia para el análisis binario y la ingeniería inversa en la comunidad de seguridad. Desarrollado en C puro y distribuido bajo licencia BSD de código abierto, expone una API neutra respecto a la arquitectura, li

GCC 16 se acerca a la paridad con LLVM en soporte para BPF

José Marchesi y los desarrolladores de GCC-BPF abrieron la sesión sobre BPF en el Linux Storage, Filesystem, Memory-management, and BPF Summit 2026 con un repaso de 90 minutos sobre los avances del último año en el soporte de BPF en la cadena de herramientas GNU. GCC estaría cerca de alcanzar la par

ChatGPT y Claude hallan errores en compiladores de forma sorprendente

Este artículo detalla un experimento sorprendente sobre la búsqueda de errores en compiladores, utilizando modelos de lenguaje avanzados como ChatGPT y Claude. Justin Lebar, un experto en compiladores con experiencia en Google, Waymo y OpenAI, descubrió que podía encontrar una cantidad significativa

Jank crea IR personalizada para optimizar código Clojure

El compilador de Clojure 'jank' ha implementado su propia representación intermedia (IR) personalizada, diseñada específicamente para optimizar el código a nivel de semántica del lenguaje Clojure. Anteriormente, jank delegaba toda la optimización a LLVM, pero debido a que LLVM IR opera a un nivel mu

Librería Haskell optimiza cálculos de arrays de alto rendimiento

El proyecto Data.Array.Accelerate, desarrollado por el equipo AccelerateHS, es una librería Haskell que define un lenguaje embebido especializado para cálculos de arrays de alto rendimiento. Esta herramienta permite expresar computaciones sobre arrays multidimensionales regulares mediante operacione

Spectre: lenguaje con contratos para desarrollo seguro de bajo nivel

Spectre es un nuevo lenguaje de programación diseñado para el desarrollo seguro de sistemas de bajo nivel mediante el uso de contratos. El lenguaje permite definir invariantes a nivel de tipo y precondiciones y postcondiciones a nivel de funciones, ofreciendo seguridad a través de inmutabilidad por

Blaise: Nuevo Compilador Moderniza Object Pascal

Un nuevo compilador de Object Pascal llamado 'Blaise' está siendo desarrollado con el objetivo de modernizar el ecosistema de desarrollo Pascal. El proyecto, liderado por Graemeg en GitHub, busca eliminar la complejidad heredada de las opciones existentes, Embarcadero Delphi (propietario) y Free Pas

Fil-C: C/C++ más seguro con nueva técnica

Fil-C es un nuevo enfoque para implementar C/C++ con seguridad de memoria. El proyecto, detallado en corsix.org, busca resolver los problemas de seguridad inherentes a estos lenguajes mediante una transformación automatizada del código fuente. En su modelo simplificado, Fil-C inserta un `AllocationR

Llvm soluciona caída del 25% en rendimiento RISC-V

Un ingeniero ha identificado y corregido una regresión de rendimiento del 25% en el compilador LLVM al generar código para procesadores RISC-V. El problema surgió tras una reciente modificación en LLVM que, aunque optimizaba ciertas conversiones de punto flotante, inadvertidamente rompió una optimiz

División rápida: optimización en sistemas de 64 bits

Este artículo de investigación aborda un problema de optimización en la programación de computadoras: la división de números enteros sin signo de 32 bits por constantes en arquitecturas de 64 bits. Aunque la división por constantes es una operación común, su implementación eficiente puede ser un cue

RISC-V: más placas de desarrollo llegarán en 2026

Canonical anticipa una mayor disponibilidad de placas de desarrollo RISC-V a partir de 2026, marcando un hito importante en la adopción de esta arquitectura de conjunto de instrucciones abierta. RISC-V, creada en 2010, ofrece flexibilidad y la posibilidad de innovación, permitiendo a cualquier perso

WireGuard actualiza: más rápido, estable y moderno

Se ha lanzado una actualización importante para WireGuard en Windows, incluyendo WireGuardNT v0.11 y WireGuard para Windows v0.6. El anuncio, realizado por Jason A. Donenfeld, destaca mejoras significativas en la estabilidad, rendimiento y modernización del código base, eliminando compatibilidades a

Go llega a microcontroladores con TinyGo

TinyGo, un nuevo compilador basado en LLVM, ha expandido la capacidad del lenguaje de programación Go para abarcar sistemas embebidos y WebAssembly (WASM). El proyecto, impulsado por los autores de TinyGo, permite a los desarrolladores compilar y ejecutar programas Go en más de 100 placas de microco

RAD Studio 13.1: Nuevo compilador para Arm y más

Embarcadero ha lanzado RAD Studio 13.1 Florence, junto con Delphi 13 y C++Builder 13, que introduce mejoras significativas para los desarrolladores. La actualización más destacada es el nuevo compilador nativo Delphi para Windows on Arm (Arm64EC), permitiendo a los desarrolladores ampliar su soporte

Nvidia lanza Gluon: más potencia para GPUs

NVIDIA ha presentado Gluon, una extensión del lenguaje y compilador Triton diseñada para mejorar el rendimiento de las GPU. Gluon ofrece un mayor control a los desarrolladores al exponer más detalles internos del compilador, permitiendo optimizaciones más precisas y un mayor potencial de rendimiento

Booleano en Rust: ¿Cuántas opciones existen?

Este artículo, publicado en la revista técnica experimental "Paged Out!", explora una pregunta aparentemente trivial pero reveladora: ¿cuántas opciones caben en un booleano en Rust? La pregunta surge de una curiosidad inicial y se convierte en una oportunidad para profundizar en los detalles de la r

Emacs: Desentrañando el código Lisp en C

Este artículo de The Cloudlet explora la estructura interna de GNU Emacs, específicamente cómo representa los valores de Lisp (Elisp) en C. El objetivo es comprender el diseño del sistema desde una perspectiva de bajo nivel, desglosando el tipo de dato `Lisp_Object`. La pieza se basa en el conocimie

PostgreSQL: pg_jitter acelera compilación y mejora rendimiento

Un nuevo proyecto llamado `pg_jitter` está mejorando significativamente la velocidad de compilación JIT (Just-In-Time) para PostgreSQL, lo que resulta en un rendimiento de consulta más rápido en las versiones 14 a 18 de la base de datos. La compilación JIT, introducida en PostgreSQL 11, optimiza el

Voxile: Nueva actualización trae mundo y herramientas de construcción

VoxRay Games ha lanzado la actualización más importante hasta la fecha para su juego de supervivencia y creación cooperativa con trazado de rayos, Voxile: "La Actualización del Constructor". La actualización, disponible desde el 9 de marzo con un 40% de descuento en Steam, introduce un nuevo mundo,

IA escribe código: ¿quién garantiza su seguridad?

La creciente adopción de la inteligencia artificial (IA) en el desarrollo de software, con empresas como Google y Microsoft utilizando IA para generar entre el 25% y el 30% de su código, plantea serias preocupaciones sobre la verificación y seguridad. Recientemente, Anthropic desarrolló un compilado

IA inventa lenguaje de programación sin entrenamiento

Un nuevo enfoque de inteligencia artificial, denominado 'Ralph', está revolucionando el desarrollo de software, según un informe reciente de ghuntley.com. Ralph, inspirado en el personaje de 'Los Simpson', Ralph Wiggum, utiliza un bucle Bash simple y una técnica de ajuste iterativo para construir un

BuildKit: El motor oculto que impulsa Docker

BuildKit es una herramienta poderosa y a menudo subestimada dentro del ecosistema de Docker. Aunque la mayoría de los usuarios interactúan con ella indirectamente a través del comando `docker build`, su función va mucho más allá de simplemente interpretar Dockerfiles. En esencia, BuildKit es un marc

Mini-lenguajes: programación en código reducido

Este artículo de Taylor Troesh explora el fascinante mundo de los "Lil' Fun Langs", o lenguajes de programación muy pequeños. La idea central es que es posible crear lenguajes de programación funcionales y con tipado estático con una cantidad sorprendentemente baja de código. El artículo no solo pre

BarraCUDA: CUDA en AMD GPUs, sin intermediarios

Un desarrollador ha creado BarraCUDA, un compilador de código abierto que permite ejecutar código CUDA en GPUs de AMD. El proyecto, escrito en C99 sin dependencia de LLVM, traduce archivos .cu directamente a código máquina GFX11 para GPUs AMD RDNA 3. Esto elimina la necesidad de capas de traducción