2011-09-27 5 views
1

, I는, 함수의 인수로서 간단한 정적 배열을 형성하고있어 말 :llvm-gcc를 사용하여 컴파일 할 때 힌트를 만드는 방법은 무엇입니까? 일부 C 코드

define void @foo(float* %n1) nounwind ssp { 
:

I는 llvm-gcc로 컴파일
void foo(float color[3]); 

, 그것은 다음 LLVM 어셈블리 언어 출력을 생성

LLVM 어레이 [3 x float] 또는 벡터 <3 x float>을 포인터 대신 사용하여 코드를 생성하고 싶다고 컴파일러에 알릴 수있는 방법이 있습니까?

답변

1

void foo(float color[3]);은 C 표준에 따라 void foo(float *color);과 동일하게 정의됩니다. 어쩌면 void foo(float (*color)[3]) 또는 struct vec { float elems[3]; }; void foo(struct vec color);을 원하십니까?

0

일반적으로 말할 수는 없습니다.

IR 방출에 대한 정밀한 제어가 필요한 경우 손으로이 작업을 수행해야합니다 (또는 clang 등 수정)