LLVM项目是模块化和可重用的编译器和工具链技术的集合。 llvm标记主要用于编写C ++代码(或通过C绑定的另一种语言)与LLVM库接口,而不是任何(不断增加的)具有LLVM的工具。
我是llvm新手。 我想读取本地 mlir 文件,例如 test.mlir 作为 StringRef src,然后将它们解析到 MLIRContext 中。读取此类文件的最佳方法是什么?谢谢! 静态 OwningOpRef<
自从 Xcode 5.1 发布以来,我最近几天运气不佳。 我在支持 iOS 6.0 的旧项目上不断收到此错误: 错误: clang:错误:未知参数:'-fno-obj-arc' [-Wunused-
如何在 clang llvm LTO 创建的目标文件中重新定义符号?似乎是“LLVM IR bitcode”文件
有一个旧项目需要在构建过程中重新定义符号。我想启用-flto,但现在似乎无法重新定义符号。 echo "int foo(){return 0;}" > foo.c 叮当...
如何使用 LLVM 和 GCC 工具链在 x86 Ubuntu 22.04.2 上交叉编译用于 RISC-V 的 TVM?
如何在 x86 Ubuntu 22.04.2 上将 TVM 交叉编译为 RISCV? 我想在 x86 Ubuntu 22.04.2 上交叉编译用于 RISC-V 的 TVM。 环境: TVM版本:0.13.0-dev0 LLVM : sudo apt install llvm,版本:1...
如何从 llvm pass 检查 -g 标志(调试信息启用)是否已设置
如何从我正在编写的 llvm pass 中检查 -g 标志(调试信息启用)是否已设置? 我只是想看看是否有办法通过我的通行证获取命令行选项,包括 -g。
ld:警告:重新导出的库 libunwind.1.dylib 无法与任何父库匹配
我正在尝试在 macOS Sonoma (14.6) 上设置 C++20 开发环境。 我已经用 Homebrew 安装了 llvm 和 cmake。铿锵版本信息: 自制铿锵版本 18.1.8 目标:arm64-apple-darw...
我正在将 clangd 与 VSCode 结合使用。 Clangd 提供了添加缺失包含的可能性。这样做时,它(有时?无法弄清楚何时)会自动将相对或绝对路径添加到
我注意到 clang 文档没有指定 clang 在相关标准中指定为实现定义的情况下的行为方式。 所以很难组织 LLVM 的实现方式...
如何在LLVM中使用statepoint-example策略实现垃圾收集器?
我是 LLVM 新手,我正在尝试实现一个使用 statepoint API 的垃圾收集器。我已经阅读了所有文档,并且我想我对我前面的道路有所了解。然而,...
使用``ghdl -a```编译VHDL文件遇到错误````ghdl:error:安装问题:ghdl1-llvm not found```
我最近尝试使用 ghdl ghdl -a --ieee=synopsys --work=work Matrix_Data_Structure.vhd 编译 .vhd 文件,出现以下错误: ghdl:错误:安装问题:ghdl1-llvm...
我尝试匹配所有调用 std::sort 的表达式,所以我写了这样的代码 不幸的是,这个类的检查函数没有被调用。 我也尝试过像这样的 AddMatcher 代码: 但它仍然...
我知道解析器生成的 AST 用于在前端生成 IR。 我想知道如何解析 AST,然后将其转换为 IR(问题汇编或位码), AST 是一棵树,什么...
我有一个以下形式的循环 对于 (int i = 0; i < SOME_CONSTANT; ++i) { // do some stuff involving `i`. } which clang is partially unrolling to do two passes at a time. I need it to not be unro...
假设我有这样的代码,使用新的工具链在 32 位 C++ Builder 中编译(即“使用经典编译器”选项已关闭): 枚举类 i : char; 我a1; 常量 std::
我试图从指令 '%6 = load i32* %2,align 4,!dbg !135' 获取 %2,但函数 getOperand(0)->getName() 返回空字符串。怎么解决这个问题?
尝试开发链上 Solana 应用程序 (C++) 时,LLVM 链接器无法在 MacOS 上运行
这是我得到的错误: ./account_logger.so() dyld[61282]:未加载库:@rpath/libLLVM.dylib 引用自: /Users/myusername/.local/share/...
我目前正在使用自定义加载指令扩展 RISC-V 内核。对于这个问题,细节并不重要。它的功能行为类似于正常的加载指令,并且应该使用相同的
我正在尝试遵循本指南,以便能够覆盖 Rust 项目的源代码。 我做了以下事情: 已安装 grcov 货物安装 grcov 添加了 llvm-tools-preview 生锈
我正在使用 LLVM 来迭代基本块 for (const 函数 &F : *M) for (const BasicBlock &BB : F) for (const 指令 &I : BB){ ...... } 我想知道: ...