LLVM项目是模块化和可重用的编译器和工具链技术的集合。 llvm标记主要用于编写C ++代码(或通过C绑定的另一种语言)与LLVM库接口,而不是任何(不断增加的)具有LLVM的工具。
使用 RecursiveASTVisitor 用 LibTooling 重写 C 代码
我是 clang 的新手,需要一些帮助来为我正在开发的自定义覆盖工具重写 c 和 c++ 代码。据我了解,我认为我需要链接到 clang 的 libTooling 才能独立运行
Clang 使用新的通行证管理器注册表运行具体的 LLVM 通行证
我有动态库 - LLVM passes 的集合。我想省略调用 opt 调用并使用 clang。研究过如何在 Clang 中自动注册和加载现代通行证? ,我找到了...
我是 llvm 的新手,我正在尝试制作一个使用 createcall 编译函数的简单程序 功能定义: #pragma一次 #包括 void testfunc(){ 标准::计算<...
How to match a struct member access using clang AST matcher?
我正在尝试编写一个 clang-tidy 检查来重命名结构成员。 为此,我需要匹配从特定结构访问特定成员的 MemberExpr 节点。 在下面的代码中,它应该只是
编译 CUDA 文件时在 Clang 编译器中从 ___attribute___((shared)) 到 addrspace(3) 的转换
clang 编译器包含 CUDA 头文件 host_defines.h,其中 __shared__ 定义为 __attribute__((shared))。当使用 ...
我正在用 Python 编写编译器,使用 llvmlite 生成中间 LLVM IR。 Lexer 和 parser 已经完成,现在我正在做代码生成。编译器将是动态的和弱类型的,所以我...
我正在尝试检测 LLVM IR 调用指令。我想要实现的是获取函数调用的参数。如果参数是指针类型,那么我想得到
例如下面的代码 %div = sdiv i32 %add, %36 %38 = trunc i64 %indvars.iv.next18 到 i32 %mul11 = mul nsw i32 %div, %38 第一条和第三条指令可能是数据依赖,因为...
我有以下.c文件: #包括 诠释主要(){ int a[2][3] = { 0 }; int i = 1, j = 2; 整数 c = 10,d = 20; d = c + a[i][j]; printf("%d ", d); 退...
我想在 VMware 运行的 ubuntu 上安装 LLVM,但我一直得到这个错误: 致命:远端意外挂断 致命的:早期的 EOF 致命:索引包失败 我最近开始了 LLVM ...
使用 OCaml LLVM API 添加 AtomicCmpXchg 指令
我正在尝试在我为我的编程语言编写的 LLVM 后端中实现互斥锁。我无法确定确切的 API 调用,使用 OCaml llvm 绑定来生成 cmpxchg
我正在尝试构建 llvm-project 的 release/16.x;但遇到了麻烦: 首先,我所在的系统如下 在我的 Oracle VirtualBox 7.0 中,我有 内存:5 GiB CPU:3 x Intel(R) Cor...
我正在尝试使用 Ocaml llvm API 在代码生成中构建互斥锁。我无法确定生成 cmpxchg 指令的确切 API 调用。 我正在使用 ocaml 4.14.0 和 llvm 14.0.6。 ...
Understanding the gimbberish errors when compiling LLVM from source
这是我做的事情, 编译并安装 gcc-9.2。 编译安装GNU binutils-2.32 编译安装 GNU Make-4.2 我下载了 LLVM、Clang、LLD、libcxx、
从源 (release/16.x) 构建 llvm 项目时,clang-16 的链接失败
要事第一;我正在使用的各种工具的版本: 操作系统:Ubuntu 20.04.1 LTS 低密度:2.34 gold:GNU gold(适用于 Ubuntu 2.34 的 GNU Binutils)1.16 gcc/g++: 9.4.0 制作:3.26.0 忍者:1.10.0 一些
libclang_rt.fuzzer_osx.a 在 macOS 上找不到
使用 -fsanitize=fuzzer 标志进行编译以在 macOS 上的 LLVM 中包含 libfuzzer 时,出现错误: 找不到 libclang_rt.fuzzer_osx.a 我正在使用的 LLVM/clang 编译器与 Xcod 捆绑在一起......
LLVM IRBuilder类成员函数SetInsertPoint(Instruction *I)指定创建的指令应该插入到指定指令之前。 如何将插入点设置在船尾...
为什么在包含范围内的迭代会在 Rust 中生成比在 C++ 中更长的程序集?
这两个循环在 C++ 和 Rust 中应该是等价的: #包括 std::uint64_t sum1(std::uint64_t n) { std::uint64_t 总和 = 0; 对于 (std::uint64_t j = 0; j <= n; ++...
在 iOS 应用程序中编译和运行 swift 代码 [关闭]
是否可以在 iOS 应用程序中编译/运行 swift 代码?如果是这样怎么办?