0
일까요? @a
이 i32*
인 이유를 모르겠습니다. 누군가 나에게 설명해 줄 수 있니?LLVM - 왜 @a가 i32 *
@a = internal global i32 0
define i32 @main() {
store i32 42, i32* @a
%1 = load i32* @a
ret i32 %1
}
일까요? @a
이 i32*
인 이유를 모르겠습니다. 누군가 나에게 설명해 줄 수 있니?LLVM - 왜 @a가 i32 *
@a = internal global i32 0
define i32 @main() {
store i32 42, i32* @a
%1 = load i32* @a
ret i32 %1
}
the language reference (강조 광산)에서 :
전역 변수는 컴파일 시간 대신 실행시 할당 된 메모리의 영역을 정의합니다.
[...]
SSA 값으로서, 전역 변수는 프로그램의 모든 기본 블록 범위 (즉, 그 값이 지배적)에있는 포인터 값을 정의합니다. 전역 변수는 항상 메모리 영역을 설명하고 LLVM의 모든 메모리 개체가 포인터를 통해 액세스되기 때문에 항상 "콘텐츠"형식에 대한 포인터를 정의합니다.