Как GCC (не Clang) делает эту оптимизацию, решая, что хранилище одного члена структуры не может повлиять на члена другогC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как GCC (не Clang) делает эту оптимизацию, решая, что хранилище одного члена структуры не может повлиять на члена другог

Сообщение Anonymous »

Это рассматриваемый код: < /p>

Код: Выделить всё

struct Cell
{
Cell* U;
Cell* D;
void Detach();
};

void Cell::Detach()
{
U->D = D;
D->U = U;
}
< /code>
clang -14 -o3 производит: < /p>
mov     rax, qword ptr [rdi]          

Подробнее здесь: [url]https://stackoverflow.com/questions/71343461/how-does-gcc-not-clang-make-this-optimization-deciding-that-a-store-to-one-str[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»