Llvm 访问用于加载的函数参数寄存器

Llvm 访问用于加载的函数参数寄存器,llvm,llvm-c++-api,Llvm,Llvm C++ Api,函数的创建方式如下: llvm::FunctionType* FunctionTypePtr = llvm::FunctionType::get( returnTypePtr , types , false ); llvm::Function* llvmFunction = llvm::Function::Create(FunctionTypePtr, llvm::GlobalValue::ExternalLinkage,

函数的创建方式如下:

llvm::FunctionType* FunctionTypePtr = llvm::FunctionType::get( returnTypePtr , types , false );
llvm::Function* llvmFunction = llvm::Function::Create(FunctionTypePtr,
                        llvm::GlobalValue::ExternalLinkage,
                        functionName,
                        llvmModule);
然后,通过向块中添加指令来创建函数体:

llvm::BasicBlock* entryBlock = llvm::BasicBlock::Create(llvmContext, "", llvmFunction);
llvm::IRBuilder<> builder(entryBlock);

我不知道如何/从何处获取函数参数的
地址
变量

您不应该加载任何内容。使用Function::arg_迭代器获取与参数对应的值

有关更多信息,请参阅(arg_开始/arg_结束)和

//where do i get address??
llvm::LoadInst* load = builder.CreateLoad(address, "read");