cost 303 ms
LLVM - 将 LLVM-13 与 Conan 结合使用时无法链接支持库/链接器错误 - LLVM - Cant Link Support Librarys/Linker Erros When Using LLVM-13 with Conan

我正在使用LLVM 柯南 package来构建我的编译器,到目前为止它已经很好了,直到我一直在尝试使用llvm::sys::getDefaultTargetTriple和llvm::TargetRegistry::lookupTarget 。 我得到了对两者的未定义引用。 两者似乎都来自 LLVM ...

LLVM JIT (LLJIT) 问题 - Issue with LLVM JIT (LLJIT)

我正在关注使用 LLVM 制作 JIT 编译器的教程(代码如下所示,并且使用了最新版本的 LLVM)。 除了这一行之外,一切正常(如果我评论这个 function,代码编译): 这给出了以下错误: 代码 ...

使用 LLVM RTTI 系统的超大型 if-else 语句的最佳实践 - Best practice for very large if-else-statement using LLVMs RTTI system

我目前正在编写一个依赖于另一个库的软件,该库大量使用 LLVMs RTTI 系统。 我无法更改所述库的 API,它迫使我在几种类型及其子类型上实现非常大的 if-else 语句。 通常我会在 switch 语句中使用,但显然使用 LLVM 的dyn_cast<>()是不可能的。 下面是我 ...

LLVM:转换类型的简单方法? - LLVM: simple way to cast types?

我正在寻找一种使用 LLVM C++ api 转换类型的简单方法。 我要避免的是无休止的嵌套 if-else 检查什么会选择正确的 IR cast 指令。 这是我想开始工作的示例代码: 有没有办法在不检查类型的情况下转换类型? 显然,从结构到浮点的类型转换是愚蠢的,应该会失败,但我怎样才能简单地选 ...

如何编写和运行 LLVM X86 机器 Function 通过 2022 - How to write and run a LLVM X86 Machine Function Pass 2022

我一直在尝试在 LLVM 中编写 machineFunctionPass 以发出与每个 LLVM IR 指令对应的程序集。 我已经尝试关注此邮件列表线程,但无法使其正常工作,并且没有任何输出。 我也尝试按照本教程进行操作,但没有输出任何内容,并且必须更改一些 header 文件才能使其编译。 我已 ...

为什么 TargetRegistry::lookupTarget 失败而 LLVMGetTargetFromTriple 没有? - Why does TargetRegistry::lookupTarget fail but LLVMGetTargetFromTriple doesn't?

我初始化了所需的架构,但是当我尝试获取目标失败时,我尝试在 C api 中进行操作,它工作正常。 我在 Windows 上使用 clang 进行编译,并链接到我自己编译的 llvm 版本 15.0.0git,我还尝试了预编译版本,但没有成功。 My entire LLVM code is wri ...

如何通过在程序中调用 LLVM API 在 IR 上使用新的 Pass Builder 运行 LLVM 的 Pass? - How to run LLVM's Pass with new Pass Builder on IR by calling the LLVM API in program?

通过使用opt ,我们可以运行自定义 pass,或者在 foo.ll 文件上运行 -O1 -O2 -O3 pass 管道,但是这一切都发生在命令行上,并且 IR 是文件形式。这不利于在您自己的项目中以内存形式对IR进行一些优化(每个IR文件都是内存形式的模块)。 通过 opt 的方式,就像这样: ...

llvm::CallBase::getArgOperand() 和 llvm::UnaryInstruction::getOperand() 有什么区别? - What is the difference between llvm::CallBase::getArgOperand() and llvm::UnaryInstruction::getOperand()?

我正在学习 LLVM 核心库。 我知道 getArgOperand(i) 会以 llvm::Value* 的形式返回可调用指令的第 i 个操作数。 但是 getOperand() 的目的是什么? 在下面的代码中,这两个函数似乎具有相似的功能(我不确定)。 我在以下官方文档中找不到详细说明。 htt ...

使用 InlineFunction 将 LLVM 传递给可靠的内联所有函数调用 - LLVM pass to reliably inline ALL function calls using InlineFunction

我有一个无法修改的输入位码文件。 假设我正在查看一个特定的函数foo 。 我想内联foo()进行的所有调用: bar() -> baz()和fez()等等。 也就是说,我希望结果输出在foo()中没有调用指令。 如何编写可靠地执行此功能内联的 LLVM 通行证? 我查看了此处描述的解决方案。 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM