Викторина: проведет ли компилятор GCC эти оптимизации?

gccmini

Посмотрим, как хорошо вы знаете способности GCC оптимизировать код. Эта викторина содержит 6 вопросов, в каждой по две вставки кода. Первая вставка иллюстрирует код до некой оптимизации, вторая — после нее. Сможет ли GCC изменить первый код таким образом, чтобы он стал вторым? Верна ли вообще проведенная оптимизация (быстрее ли второй код первого)?

Для тестов использовался древний GCC 4.2.1. Если новые версии ведут себя по-другому, то обязательно сообщите об этом нам! Будьте осторожны: не все предложенные оптимизации корректны.

Итак, на каждый вопрос есть три варианта ответа: «GCC сделает это», «GCC не может так сделать», «Оптимизация неверна». Постарайтесь отвечать на вопросы самостоятельно. 


По материалам нашего перевода статьи «Will it optimize?»