LLVM项目是模块化和可重用的编译器和工具链技术的集合。 llvm标记主要用于编写C ++代码(或通过C绑定的另一种语言)与LLVM库接口,而不是任何(不断增加的)具有LLVM的工具。
我正在研究 LLVM IR 的新通道优化,这取决于 SLP 矢量器的工作原理。 https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp。 我...
您好,我有一个问题。我尝试使用 LLVM 的内置 Pass。为了尝试一下,我使用了 Pass“DeadStoreElimination”dse。为此我写了一个简单的代码: #包括 整数...
我在尝试编译我的程序时遇到未解决的符号错误,它抱怨找不到 __dso_handle。这个函数通常定义在哪个库中? 以下结果是否...
LLVM 中间接调用时如何从 CallInst 获取 FunctionType
如果是直接调用函数,可以通过以下代码获取Function类型。 函数 * fun = callInst->getCalledFunction(); 函数 * funType = fun->getFunctionType(); 然而...
问题主要是关于垃圾收集器如何包含在用编程语言编写的程序中。让我们以一种使用 LLVM 的语言为例,开发人员是否只需编写一个
现在我正在尝试开发一个编译器。我想要一个“打印”功能。它可以这样使用: 打印(90,“你好世界”) 之前,我使用列表(或向量)来保存参数。但是现在......
有没有办法对.lldbinit中的target.source-map进行主路径扩展?
在 .lldbinit 中,可以使用“~”来扩展某些命令的主路径,例如命令脚本导入 例如, 命令脚本 import ~/MyScripts/foo.py 是完全可以接受的。 这个
我正在尝试使用 llvm::GlobalVariable 中的 setAlignment 方法设置全局变量的对齐方式。但是,此成员函数在 LLVM 10.0.1 中被报告为“已弃用”。什么是
地址空间布局随机化是一种非常有效的击败二进制漏洞利用的方法,因为漏洞利用必须成功定位它希望攻击的内存地址...
Emscripten 和 Clang 在 WebAssembly 编译方面有什么区别?
我知道 Clang(通过使用 target=wasm32)和 Emscripten 都可以将 C 代码编译成 WebAssembly,但是它们有什么不同? 看起来他们都使用 LLVM 作为后端。事实上,我什至不完全
最近,我用 llvm-pdbutil Pretty --classes 反汇编了一些 DLL 和 PDB。但我没有这个DLL的源代码。 在输出中,我发现类体中有一些表达式,主要是声明...
我有三个问题: 1)LLVM IR代码中的Invoke和Call操作有什么区别? 2)为什么这里Call指令不被认为是BasicBlocks中的Terminator操作? ...
llvm-cov 覆盖率数据中的空白、蓝色和红色突出显示代表什么?
文档提到: 间隙区域用于消除覆盖范围中的不自然伪影 报告,例如报告末尾出现的红色“未执行”突出显示 否则覆盖线,或...
我认为这个问题很清楚。我正在尝试编写一个编译器检测标头,以便能够在应用程序中包含有关使用哪个编译器以及哪个版本的信息。 这是一部分...
我想对动态数组进行建模。这是我提出的计划:所有数组都有一个基本结构,包括 vtable 指针,以及数组的运行时大小: %anyarray_base =
尝试修改 mach 对象可执行文件中的十六进制时出现 SIGKILL 终止
我正在尝试了解有关内核和可执行文件如何工作的更多信息。为此,我开始进行一些关于使用 aarch64 和 x86_64 targ 编译的静态和动态二进制文件的基本实验...
如何在 clang 中为 llvm ir 生成 phi 指令?
我正在尝试了解 llvm 优化。我通过编写 C 代码并转换为 LLVM IR 并读取生成的代码来实现此目的。现在据我了解,phi 节点需要返回 bloc...
我想解析lld映射文件。有解释或文档吗? 我检查了 clang 文档和 lld 文档,但未能找到有用的信息。 这是我的 mapfil 的示例...
我正在尝试使用 cygwin 将 llvm 从 Windows 交叉编译到类似 x86 架构的 Linux。我正在使用 cygwin 的 windows cmake,因为我在使用 cygwin cmake 时遇到了一些路径问题。我...