В некотором C-коде я определяю простой статический массив как аргумент функции, скажем:
void foo(float color[3]);
Когда я компилирую его с помощью llvm-gcc
, он выдает следующий вывод на языке ассемблера LLVM:
define void @foo(float* %n1) nounwind ssp {
Можно ли как-нибудь намекнуть компилятору, что я бы хотел, чтобы он генерировал код, используя массив LLVM [3 x float]
или вектор <3 x float>
в стеке вместо указателя?