llvm 相关问题

LLVM项目是模块化和可重用的编译器和工具链技术的集合。 llvm标记主要用于编写C ++代码(或通过C绑定的另一种语言)与LLVM库接口,而不是任何(不断增加的)具有LLVM的工具。

使用 GCC i32 编译的 LLVM 被截断为 i8

编译这个简单的代码应该返回 2000 但它返回 208 因为它被截断为 i8。 定义 i32 @"main"() { 入口: %"x" = alloca i32 存储 i32 2000, i32* %"x&

回答 1 投票 0

为 Android 构建 Pluto-Obfuscator 时出现“没有这样的文件或目录”错误

我正在尝试遵循有关如何混淆我的 Android C++ 程序以保护它免受逆向工程师攻击的指南。我正在使用 Pluto-Obfuscator (https://github.com/bluesadi/Pluto-Obfuscator) 作为我的

回答 0 投票 0

将多个文件的 eBPF 程序编译成单个 bpf 目标文件

我正在用 eBPF 代码和一个文件开发一个项目,它变得很长,我希望我可以将它分成多个文件。我正在尝试将多个文件构建到 bpf 目标文件中......

回答 1 投票 0

我能否获得有关我的代码的帮助,以便它可以打印 UEVAR、VARKILL 和 LIVEOUT

这是我的代码,我没有得到我期望的输出: #include "llvm/IR/LegacyPassManager.h" #include "llvm/Passes/PassPlugin.h" #include "llvm/Passes/PassBuilder.h&...

回答 0 投票 0

如何配置 vscode 以查找 clang 库

在这个 SO 答案之后,我创建了一个 FindClassDecls.cpp 文件,并尝试在 macOS 中设置一个 VSCode 以找到所需的 clang 标头。所以我尝试添加这两个命令的输出: llvm公司...

回答 0 投票 0

LLVM 在没有 mem2reg 的情况下获取变量名

我正在尝试进行活性分析,其中我需要仅使用变量 a、b、c、e 显示每个基本块的杀伤向上暴露。我见过有人使用 mem2reg,但我无法修改 IR...

回答 1 投票 0

LLVM Loop pass - 新的通行证管理器

我正在尝试在 llvm 中创建循环传递 - 使用新的传递管理器。 我在 /llvm/include/llvm/Transforms/Utils/MyLoopPass.h 中放置了一个头文件 头文件的内容如下: #ifn...

回答 0 投票 0

libtooling 示例中的毒后使用错误

在使用地址消毒器测试 clang 的 libtooling 示例 (https://clang.llvm.org/docs/RAVFrontendAction.html) 时,我遇到了 use-after-poison 错误。 我使用了以下源代码和

回答 0 投票 0

How to disable clang expression elimination for thread_local variable

thread_local int* tls = nullptr; // 使用 libcontext 跳栈。 void jump_stack(); 无效*测试(){ // 在 jump_stack 之前,假设我们在线程 1。 int *cur_tls = tls; 跳跃堆栈(); ...

回答 1 投票 0

如何使用 llvm api for c++ 访问函数中的指针

出于某种目的,我想正确使用一种专用语言。基本上它将是一堆我将从 C 代码调用的函数。我需要将这些函数指针传递给某个结构。我不想解释...

回答 0 投票 0

错误:抽象类类型‘{anonymous}::ELFSparcAsmBackend’在 LLVM 中无效的新表达式

如何解决这个问题?在构建 LLVM 15.0.2 时? /CCR-master/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp:375:65: 错误:抽象类类型'{anonymous}::

回答 0 投票 0

rust矢量化的优化规则是什么?

我有一些代码片段,其中一些是自动矢量化的,而另一些不是。这很混乱。 我在我的 macbook pro m1 上测试它们,并执行命令 cargo rustc --bin rust-playground -- -C opt-le...

回答 0 投票 0

无法选择:内在的 %llvm.x86.sse42.crc32.32.32

同一个binary在不同的CPU上运行,llvm代码会报这个错。在我的代码中,这是获取 llvm 函数的方法。 llvm::Intrinsic::getDeclaration(mod, llvm::Intrinsic::

回答 1 投票 0

LLVM 和 i64 需要结果 1

为什么在 LLVM and 中使用 and 后不返回 1 作为结果? 这是我使用的示例 定义 i64 @main() { %1 = 和 i64 5, 5 返回 i64 %1 } 我需要收到结果为 1

回答 1 投票 0

LLVM API,用于将 IR 组装和链接到可执行文件

我正在按照典型的万花筒指南使用 LLVM 15.0.7 在 C++ 中构建一种玩具语言。但是,我的语言不使用 JIT,而是编译的。我想要的是能够...

回答 0 投票 0

有没有办法将 web assembly 格式(.wasm)提升为 llvm?

我们正在构建一个基于llvm的静态分析工具,并希望支持JS,一种方法是将JS文件直接编译为llvm,另一种方法是将JS文件转换为.wasm fi ...

回答 0 投票 0

如何让clang-tidy检查一次pragma而不是llvm式的头卫?

我想使用 clan-tidy。程序应该检查我是否有头卫兵,这就是为什么我设置了标志 llvm-header-guard。不幸的是,这将会检查头护栏是否是 llvm-style,这 ...

回答 1 投票 1

理解LLVM浇铸指令

假设我有两个llvm值指针x和y,x是一个双数,y是一个有符号的整数。而我希望将y转为x的类型。我必须这样做 y = builder.CreateCast(Instruction::SIToFP, y, x->...)

回答 1 投票 0

我如何将CIL翻译成LLVM IR?

我想把C#编译成LLVM IR。所以我想把编译后的CIL翻译成LLVM IR是我可以尝试的一种方法。有一些工具我可以使用,如vmkit和mono-llvm。有人在用这个工具吗?或者如何...

回答 3 投票 6

优化生成超长函数定义

在我的代码中,我生成了以下函数: define i32 @gl.qi([500 x i32] %x, i32 %i) { entry: %x. = alloca [500 x i32] %i. = alloca i32 %0 = alloca [500 x i32] store [500 x i32] %x, [500 ...

回答 1 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.