函数是这样创建的:
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);
足够的上下文,现在解决问题:我想为函数参数值添加加载指令,例如:
//where do i get address??
llvm::LoadInst* load = builder.CreateLoad(address, "read");
我不知道如何/在哪里获取address
函数参数的变量。