腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如
何在
LLVM
/C++
中
识别
任何类型的指令?
、
、
、
我被要求做一个
LLVM
函数,允许我找到:跳转/分支,加载/存储,调用,‘算术和其他类型的指令’。就我所能做到的,我已经能够找到CallInst、LoadInst、
StoreInst
和BranchInst
使用
dyn_cast
执行以下代码: for (const Instruction &I : BB) if (const
浏览 0
提问于2018-05-12
得票数 6
1
回答
如
何在
LLVM
中
使用
dyn_cast
来
识别
StoreInst
?
、
、
我在试着指认
StoreInst
。我阅读了
LLVM
手册,并尝试
使用
dyn_cast
来
做到这一点。但是下面的程序返回了非常奇怪的结果。std::string str(s); if (const
StoreInst
*SI =
dyn_cast
<
Stor
浏览 14
提问于2020-02-16
得票数 0
2
回答
如何从
LLVM
中
StoreInst
的值
中
获得函数的名称
、
、
n;我用它作为后缀:a->n=88;在
LLVM
中
,如何获得函数 (booooo)和struct元素(a->p)的名称,以便将其保存在符号表
中
并在以后打印。我可以在
StoreInst
中找到函数的名称。.)*) 如何从值
中
只获得名称(booooo)。
浏览 6
提问于2015-02-24
得票数 0
1
回答
LLVM
别名分析器奇怪的结果
、
、
、
我正在实现一个
使用
别名分析器的pass,特别是
使用
AliasSetTracker。我只想输出函数
中
的所有别名集。=i->end();++j){
StoreInst
*ai=
dyn_cast
<
StoreInst
>(j);void testfunci
浏览 6
提问于2013-05-06
得票数 2
1
回答
LLVM
:如何获取
StoreInst
操作的结构体名称?
、
、
最近,我正在尝试
使用
LLVM
来
监控struct访问。 我可以
使用
SI.dump()将
StoreInst
打印为 i32* getelementptr inbounds (%struct._Datatype* @monitor_memory, i32 0, i32 0) 但是在通行码
中
,我找不到让
StoreInst
只获取结构体名称的方法,稍后我想用它
来
进行比较。代码片段如下: for(BasicBlock &B : F) {
浏览 42
提问于2021-11-16
得票数 0
1
回答
如
何在
LLVM
中
获取全局变量的地址?
、
、
设x是运行时程序
中
全局变量g的地址。
LLVM
IR生成一条存储指令,如下所示:我正在编写一个
LLVM
pass,它将对程序进行检测,以便在运行时将x传递给一个检测函数func我可以
使用
IRBuilder成功插入对func的调用。我不能做的是插入工具
来
收集x。if (
StoreInst
*store_inst =
dyn_cast
<
StoreInst
>(&I)) {
浏览 2
提问于2017-04-29
得票数 0
1
回答
LLVM
初学者:仪器、字符串类型和元数据
、
、
我是
LLVM
的初学者,我希望通过
使用
LLVM
pass获得给定变量名和行号的真实值。我有几个问题。我需要读取动态值,所以我
使用
logvar函数:#include <string> auto constant_i
浏览 9
提问于2022-04-21
得票数 0
1
回答
如
何在
llvm
IR
中
初始化字符串和存储值
、
、
如
何在
llvm
IR
中
初始化本地字符串。我知道如何
使用
AllocaInst和
StoreInst
来
做Int。有没有类似的方法
来
初始化字符串?
浏览 39
提问于2020-07-23
得票数 0
回答已采纳
2
回答
如何确定
llvm
:Type是否为i8*类型?
、
如何确定一个
llvm
:Type是否是i8*类型?我遍历了函数F的参数,并希望确定参数是否为i8*类型。
浏览 22
提问于2017-01-31
得票数 0
回答已采纳
1
回答
分析
LLVM
中
包含inttoptr的存储指令
、
、
、
、
我很难检测存储指令是否将inttoptr值作为值操作数(以下代码
中
的第3条指令在条目BB
中
)。load i32*, i32** %p.addr, align 8 ret i32 %1我正试图分析存储指令,并试图通过
使用
方法的类方法和
使用
dyn_cast
(类似于下面的代码)
来
查找inttoptr是否在存储指令
中
:
StoreInst
*store =
dyn_ca
浏览 12
提问于2020-03-31
得票数 1
1
回答
如何检查
LLVM
AllocaInst的目标是否为函数指针
、
%pointer = alloca void (i32)*, align 8如何检查%pointer是否为函数指针?能否获取函数指针的参数列表?
浏览 6
提问于2018-01-19
得票数 0
回答已采纳
1
回答
如何获得GetElementInst、AllocaInst或LoadInst在
LLVM
中
的L值?
、
、
我想知道如
何在
LLVM
中
获得GetElementInst或AllocaInst的值。但是在
LLVM
IR
中
,前3条指令只是表示%class.M* %c的加载操作。简单地说,对于GetElementPtrInst (
如
%b16 = getelementptr inbounds %class.B* %b15, i32 0, i32 1 ),我想得出结论:%b16属于char OpType[256]; for (auto
浏览 3
提问于2016-08-22
得票数 2
1
回答
获取
LLVM
getelementptr的操作数名称。
、
、
当数组被索引为
使用
实际c++代码
中
的中间变量时,这似乎是可行的,如下所示i[a] = 3; %arrayidx = getelementptr但是,如果在源
中
,数组是直接索引的,然后,生成的bitcode如下所示编辑:我应该提
浏览 0
提问于2015-11-06
得票数 5
回答已采纳
1
回答
在
LLVM
中
创建整数数组
我在
LLVM
代码中有一个整数值的向量vector<Value*> myIntegers (不一定是常量)。我想创建一个Store指令
来
存储这些整数。为了
使用
下面的格式创建store指令,对于第一个参数,我需要创建一个指向这些整数的值*(用它们创建一个数组)。new
StoreInst
(Value *Val, Value *Ptr, ...);Constant *IntArrayConstant = ConstantDataArray::get(getGloba
浏览 2
提问于2013-09-26
得票数 0
2
回答
如何dynamic_cast一个没有虚拟方法的类的指针?
、
、
我正在
使用
库,我想检查一个
llvm
::Value *是否实际上是一个
llvm
::LoadInst * (
llvm
::LoadInst是从
llvm
::Value继承的)。但遗憾的是,
llvm
::Value不包含任何虚拟方法!(是的,即使没有虚拟析构函数)在没有虚拟方法的类上是否可以
使用
dynamic_cast,或者有没有其他方法
来
进行类型检查?
浏览 4
提问于2018-06-07
得票数 3
回答已采纳
1
回答
如
何在
LLVM
中
使用
dyn_cast
<>
来
转换向量
我想写一个
llvm
pass,它包含如下内容: for (auto& I : B) {.} 要转换向量,我需要用什么
来
替换T?
浏览 0
提问于2016-03-08
得票数 0
1
回答
指令*
llvm
::Instruction::user_back ()的用法
我现在正在学习
llvm
。我对Instruction::user_back()感到困惑。for (auto &B : F) { if (auto *target =
dyn_cas
浏览 8
提问于2016-08-06
得票数 1
1
回答
获取指令指针时出现
LLVM
断言错误
、
、
、
、
我正在尝试获取指向每条指令的指针,这可以通过执行以下操作
来
实现:但是,在
使用
cmake运行编译后的C++程序时,我一直收到一个分段错误在调试模式下,我得到以下错误消息: opt-11: /usr/lib/
llvm
-11/include/
llvm
/IR/User.h:170:
llvm
::Value*
llvm</em
浏览 35
提问于2021-03-14
得票数 0
1
回答
LLVM
检查数组分配是否具有动态大小或常量大小
例如scanf("%d", &myInt);动态大小数组被转换为
llvm
,如下所示:%0 = load i32, i32* %myInt, align 4%2 = call i8* @
llvm
.stacksavesaved_stack %vla = alloca i32, i64 %1, ali
浏览 1
提问于2016-10-07
得票数 1
回答已采纳
1
回答
如何将一个函数下的多个相同类型的循环映射到
LLVM
IR中生成的基本块?
、
、
、
、
如果循环的类型不同,那么我可以很容易地通过名称
来
识别
它们,但是如果有多个相同类型的循环(比如5个while循环),我如何
识别
LLVM
中
的哪个基本块对应于源代码
中
的哪个循环?当我们按顺序访问代码和
LLVM
IR时,手动
识别
很容易,但我正在寻找如何通过编程
识别
相同的内容。count++; while (count > 4) count--; return 0;当我执行命
浏览 13
提问于2017-12-22
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
【Rust日报】2020-08-05-如何在2020年进一步加快 Rust 编译器的速度
Windows上的Chrome也将使用Clang编译器
脸书区块链部门任命新工程主管
Facebook的区块链部门迎来一位新的工程总监
都有 Python 了,还要什么编译器!
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券