llvm:指针操作的值
我试着学习llvm汇编语言。 由于我没有找到任何关于它的教程,因此我的学习方法是编写简单的C函数,并让clang使用以下代码展示相应的llvm代码:llvm:指针操作的值,llvm,Llvm,我试着学习llvm汇编语言。 由于我没有找到任何关于它的教程,因此我的学习方法是编写简单的C函数,并让clang使用以下代码展示相应的llvm代码: clang -S -emit-llvm simple.c 我现在正在努力学习如何使用指针。因此,我测试了以下C函数: int getVal(int* ptr) { return *ptr; } 它生成了以下llvm: define i32 @getVal(i32*) #0 { %2 = alloca i32*, align 8 stor
clang -S -emit-llvm simple.c
我现在正在努力学习如何使用指针。因此,我测试了以下C函数:
int getVal(int* ptr) { return *ptr; }
它生成了以下llvm:
define i32 @getVal(i32*) #0 {
%2 = alloca i32*, align 8
store i32* %0, i32** %2, align 8
%3 = load i32*, i32** %2, align 8
%4 = load i32, i32* %3, align 4
ret i32 %4
}
我对llvm代码的问题:
define i32 @getVal(i32*) #0 {
%2 = load i32, i32* %0
ret i32 %2
}
如果您想了解有关LLVM语言的更多信息,可以使用一个非常好的文档
还有我列出的要点,您可以在函数、标识符部分中找到 多谢各位。这回答了我所有的问题!