Хм, любопытно, а вся это оптимизирующая магия находится в бэкенде или фроштенде? Левый LLVM-компилятор наследует эти суперспособности от Clang автоматически, или это было бы слишком хорошо для правды?

Похоже, что в backend. Вот пример на Rust: https://godbolt.org/g/FwcuXJ Разворачивается сначала в цикл, если судить по MIR и LLVM IR, а потом оптимизируется в практически то же, что и в выступлении.

В бэкенде. Общие (почти) оптимизации сначала делаются над LLVM IR, потом, перед кодогенерацией, делаются оптимизации специфичные для целевой машины.

Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.