创建sleep();调用使用llvm IRbuilder
Create sleep(); call Using llvm IRbuilder
LLVM-IR构建器指令是什么来创建类似于以下的指令:
%call4 = call i32 (i32, ...)* bitcast (i32 (...)* @sleep to i32 (i32, ...)*)(i32 3)
有没有办法直接调用@sleep,或者我需要为它创建一个新函数?
ConstantInt*sleepArg=ConstantInt::get(IntegerType::get(getGlobalContext(),sizeof(unsigned)*8),2,true);
std::vector<Value*> args2;
args2.push_back(sleepArg);
Constant *D = M.getOrInsertFunction("sleep",
IntegerType::get(getGlobalContext(), sizeof(unsigned) * 8),
IntegerType::get(getGlobalContext(), sizeof(unsigned) * 8), NULL);
相关文章:
- 如何将 I->getType() 作为参数传递给 llvm 中的 CreateCall?
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- 是否可以将llvm::FunctionType转换为C/C++原始函数指针
- llvm构建器向基本块添加终止符
- 正在LLVM中检测整数比较条件
- 如何在LLVM中dyn_cast以识别StoreInst?
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 如何使用 llvm-10 库在C++定义 LLVM 全局值变量?
- 编译 llvm 3.1 时,为什么会出现错误:在">"标记之前预期主表达式
- 如何删除 LLVM 中的不规则分支?
- LLVM | codegen 用于带有命令行选项的程序输入功能
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 如何检查函数是否在LLVM Instrumentation pass的ModulePass的系统头文件中定义?
- 从macOS Catalina上的源代码编译LLVM(如何解决未找到"stdio.h")
- LLVM 选择找不到函数传递
- LLVM 编译:目标的配方 '../lib/IR/Release+Asserts/Intrinsics.gen.tmp' failed
- 如何使用 IRBuilder 更新 LLVM IR 中的全局变量值?
- LLVM IRBuilder If-Then Codegen
- 将无效指针传递给LLVM Irbuilder createCall
- 创建sleep();调用使用llvm IRbuilder