Идея простая:
если размер структуры или массива заранее известен и мал (например 3, 4, 8, 16), задайте его как
const N. LLVM увидит фиксированный размер и сможет:
• полностью разворачивать циклы
• устранять bounds checks
• делать tight layout и векторизацию
Пример: реализация dot-product для вектора размером
N, где компилятор почти всегда превратит цикл в прямую серию операций без оверхеда.Приём отлично работает для небольших math типов, SIMD алгоритмов, linear algebra структур и game engine компонентов.
#junior
