Strict aliasing
La regla en C y C++ que dice que un objeto solo puede leerse a través de un tipo compatible con el que se creó. Romperla hace que el código funcione sin optimización y se rompa con ella.
El beneficio para el compilador es enorme: si puede asumir que un puntero a int y uno a float nunca apuntan a la misma memoria, puede mantener valores en registros entre escrituras, vectorizar bucles y reordenar lecturas con libertad. Sin esa suposición, cada escritura a través de un puntero ajeno tendría que tratarse como si pudiera haberlo cambiado todo. El precio lo paga todo el código que reinterpreta patrones de bits haciendo un cast de puntero, una práctica cotidiana en el C de los noventa que sigue viva en mucho procesamiento de señal y serialización. El síntoma es de una consistencia incómoda: todo funciona en la build de depuración y falla en la optimizada. Las vías legales son memcpy, las uniones en C y bit_cast en el C++ moderno. El kernel de Linux, en cambio, ha optado por compilarse con la regla desactivada.