LLVM中间表示
在具有多个功能的模块中,我想知道特定内置通道修改了哪些功能而不对其进行检测。例如,我可以区分原始模块和修改后的模块...
我想知道如何将 LLVM IR 转换为其他中间表示形式。我知道使用 llc -march=wasm32 -filetype=asm mathi.ll -o example.wat 可以将 LLVM IR 转换为 WASM ...
我正在尝试使用 LLVM 作为后端来编写我的第一个 C 编译器,但是当我尝试运行它时出现错误。我在其他地方没有找到任何有关此确切错误消息的信息。 这里...
我正在使用 LLVM 15,我正在尝试将我自己的语言(在语法方面与 Pascal 非常相似)编译为 LLVM IR,并且我正在使用 Ocaml。 当我尝试创建一个结构并将其主体设置为 ha...
所以我创建了一个结构类型: llvm::StructType* llvm_struct = llvm::StructType::create(llvm_context, struct_name); std::vector 成员; for(size_t j = 0; j !=
我想创建一个自定义属性,在满足特定条件的情况下标记函数。作为第一步,我在 Attr.td 文件中包含以下代码 def myattribute : InheritableAttr { 让拼写...
我想通过迭代Module Pass中的函数来获取每个函数中的loopinfo。我的代码如下: 对于(自动&F:M){ if(!F.isDeclaration()){ LoopInfo &LI = 获取分析<
使用 afl-clang-fast 和自定义 LLVM IR 通道编译二进制文件
如何使用 AFL 模糊器的 clang 前端通过自定义 LLVM IR 通道进行编译时检测。 我希望从以下位置提取自定义 IR 通行证:https://github.com/obfuscator-llvm/obfuscator/ ...
我正在研究 LLVM IR 的新通道优化,这取决于 SLP 矢量器的工作原理。 https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp。 我...
现在我正在尝试开发一个编译器。我想要一个“打印”功能。它可以这样使用: 打印(90,“你好世界”) 之前,我使用列表(或向量)来保存参数。但是现在......
我正在尝试使用 llvm::GlobalVariable 中的 setAlignment 方法设置全局变量的对齐方式。但是,此成员函数在 LLVM 10.0.1 中被报告为“已弃用”。什么是
我有三个问题: 1)LLVM IR代码中的Invoke和Call操作有什么区别? 2)为什么这里Call指令不被认为是BasicBlocks中的Terminator操作? ...
我有一个C编写的程序,我编译它 原生地。我想找到一种方法来创建 独立于架构的“插件”模块, 也是从 C 编译的,我将能够 使用首选...
我想对动态数组进行建模。这是我提出的计划:所有数组都有一个基本结构,包括 vtable 指针,以及数组的运行时大小: %anyarray_base =
有谁知道视频中相关pass的源码路径吗?我找了很久没有找到。 链接:2014 LLVM 开发者会议:“在 L 中实现数据布局优化...
链接 LLVM 库问题 & 使用 clion & llvm & cmake 构建 IR 问题
我目前正在学习LLVM。我正在关注《LLVM Essentials》。在“Creating an LLVM Moudle”中有这样的内容: 静态 llvm::LLVMContext 上下文; 模块*模块=新模块(“模块”,
inkwell/llvm-sys 无法在 Windows 上编译
我正在与 LLVM 合作,使用 inkwell 在 Rust 中构建一个小型编译器(inkwell 使用 llvm-sys,所以它也与之相关)。 首先,llvm的github上编译的Windows二进制文件不包括...
解决方案:inkwell/llvm-sys 无法在 windows 上编译
我想将其作为解决方案而不是问题发布,因为我似乎没有很多人真正解释如何解决这个问题。 我正在使用 LLVM 在 Rust 中构建一个小型编译器......
我在 LLVM 中遇到了部分 SSA 的概念,其中 LLVM 标识了两类变量:(1)顶级变量是那些不能通过 指针,即那些 w...