Вопросы с тегом «clang»

10
Почему компиляторы настаивают на том, чтобы использовать регистр, сохраненный вызываемым пользователем?

Рассмотрим этот код C: void foo(void); long bar(long x) { foo(); return x; } Когда я компилирую его в GCC 9.3 с помощью -O3или -Os, я получаю это: bar: push r12 mov r12, rdi call foo mov rax, r12 pop r12 ret Выходные данные из clang идентичны, за исключением того, что они выбраны rbxвместо...