Clang LLVM отключить расширение va_arg - PullRequest
0 голосов
/ 16 апреля 2019

Я пишу инструмент llvm, который использует сгенерированный битовый код llvm IR. и для va_arg Clang расширяет его до

getelementptr instruction

с фиксированными позициями и разметкой памяти

вместо использования

va_arg instruction

есть ли флаг компилятора, чтобы отключить это расширение?

1 Ответ

1 голос
/ 16 апреля 2019

AFAIK, нет, поскольку обработка аргументов переменной зависит от платформы.

Более того, я пытался использовать инструкции VA от LLVM IR, и иногда это приводило к неправильному машинному коду. Там много хитросплетений, и поэтому инструкции IR VA будут устаревшими.

...