腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
Roslyn
:
从
基本块
中
获取
指令
、
、
、
roslyn
生成的控制流图包含块(
基本块
)作为节点,每个
基本块
包含一条或多条
指令
。对于包含多条
指令
的
基本块
,我尝试
获取
所有
指令
及其类型,这是我所做的: var cfg = ControlFlowGraph.Create(method);{x = y;} 我得到的结果是: ExpressionStatement Expressio
浏览 17
提问于2019-03-20
得票数 0
回答已采纳
1
回答
分支预测会走多远?
、
假设存在将控制流转移到
基本块
A或
基本块
B的跳转
指令
。我们如何才能找出实际结果并更多地了解分支预测策略?
浏览 1
提问于2019-08-06
得票数 2
1
回答
如何检查llvm
指令
是否在循环中?
、
、
在llvm传递
中
,我有一组经过过滤的
指令
。我想检查是否每条
指令
都是任何循环(或子循环)的一部分。我知道我可以从一条
指令
中
获得父
基本块
BasicBlock* bb = aInst->getParent(); 但是如何检查
指令
/
基本块
是否是循环的一部分呢?
浏览 41
提问于2021-09-28
得票数 0
回答已采纳
1
回答
使用llvm pass插入跳转
指令
、
、
我想通过LLVM在目标程序
中
插入一个跳转
指令
。我知道分支可以用来实现LLVM
中
基本块
的跳转。但我想要实现的是在同一个
基本块
中
跳转
指令
(假设我知道跳转的目的地地址)。我该怎么做?伊涅斯姆?
浏览 4
提问于2022-02-17
得票数 0
回答已采纳
3
回答
如何将反汇编的C代码划分为函数?
、
、
、
然后,它将代码划分为
基本块
。
基本块
是一组
指令
,它们总是一个接一个地执行(跳转总是这些
基本块
的最后一条
指令
)。push 00000001h call dword ptr [edx] ret 000008h 现在我想在函数
中
对这些
基本块
进行分组--比如哪些
基本块
构成了一个函数。我必须记住,在一个函数
中
可能有许多ret
指令
。如何检测fast_c
浏览 0
提问于2013-02-08
得票数 5
回答已采纳
1
回答
如何在LLVM
中
获得两条
指令
之间的距离?
、
我正在开发一个工具,它将使用LLVM将多个错误注入源代码
中
。我需要在begin
指令
中注入一个错误,然后在某些
指令
之后注入该
指令
。如何获得两条
指令
之间的距离(使用
指令
计数)?有没有什么方便的函数来实现这一点,或者唯一的方法是迭代这个块
中
的所有
指令
以及该块的后继
指令
?
浏览 6
提问于2019-10-30
得票数 0
1
回答
收集动态
指令
执行计数的最简单方法?
、
、
我希望有一种简单快捷的方法来收集LLVM
中
每个在应用程序的给定运行
中
执行的次数。据我所知,我可以采取以下几种方法: 编写一个类似于的新工具。这可能有效,但似
浏览 5
提问于2015-05-28
得票数 2
回答已采纳
1
回答
基本的块覆盖-准确的定义是什么?
、
、
测试用例a = 1, b = 12的
基本块
覆盖率是多少?我应该把第1行和最后一行作为基本区块吗?
基本块
的精确定义是什么?另一个混乱之处是:d += c; 是一个
基本块
还是两个
基本块
?应该把每一行都算作一个基本的块吗?
浏览 0
提问于2012-01-14
得票数 6
1
回答
控制流图导航算法的粗略说明
例如,找到可访问的定义,对于每个变量,您将检查程序
中
的每个其他变量,创建一个高度连通的图。一旦您建立了这些连接,那么您必须对数据进行实际操作,所以这是更多的处理。
浏览 0
提问于2018-04-30
得票数 2
1
回答
在llvm
中
eraseFromParent()与removeFromParent()
、
我理解eraseFromParent()和removeFromParent()之间的区别是,前者
从
BasicBlock
中
取消链接并删除
指令
,而后者只是取消链接而不是删除它。
浏览 17
提问于2022-09-08
得票数 0
回答已采纳
2
回答
基本块
的开始由什么组成?
、
、
汇编代码
中
无条件跳转后的
指令
是否构成新
基本块
的开始?假设
指令
不是可执行文件
中
任何分支的目标。
浏览 0
提问于2013-07-17
得票数 2
回答已采纳
1
回答
LLVM:
指令
并不控制所有的使用
、
我用最少数量的
指令
来分割所有
基本块
(通常是3-5):并试图
从
IR
中
获取
对象文件 to label %invoke.cont3 unwind label %lpad1我认为分裂后,
指令
位于不同的
基本块
中
如果我把这个
浏览 6
提问于2013-11-07
得票数 2
回答已采纳
1
回答
如何创建一个新的llvm并在另一个BasicBlock之后插入?
我正在写一些代码来在一个llvm BasicBlock
中
插入一些
指令
,并且我需要创建一个新的BasicBlock来在一个块之后插入,我已经尝试过了 LLVM::BasicBlock b=LLVM::BasicBlock() 但是我不知道应该在inLLVM::BasicBlock
中
编写哪些参数,也不知道如何命名BasicBlock 所以你能帮我创建一个新的llvm BasicBlock并将其插入到另一个块之后吗?
浏览 31
提问于2020-04-12
得票数 0
3
回答
如何在
基本块
上迭代?
我想在我的每个
基本块
中
添加一个
指令
,一旦指定了一个区块,我就可以使用LLVMAppendBasicBlock。但是如何迭代函数
中
的所有
基本块
呢?在LLVM中有迭代器吗?
浏览 6
提问于2015-05-13
得票数 6
回答已采纳
1
回答
如何使用LLVM C++ API在没有
基本块
的函数
中
创建
指令
?
、
、
我希望将
指令
插入到没有
基本块
的函数
中
,例如: %a = alloca i32, align 4 %b = alloca i32,在没有BasicBlock的情况下,如何通过C++ API将
指令
创建为函数?
浏览 1
提问于2020-10-29
得票数 0
回答已采纳
1
回答
从
分支
指令
中提取MachineBasicBlock
、
分支
指令
包含标签,这些标签是它可能跳转到的
基本块
的名称。鉴于此,有没有一种方法可以
从
分支
指令
中提取MachineBasicBlock对象?
浏览 11
提问于2019-12-09
得票数 1
回答已采纳
1
回答
破常数GEPs
、
这里我介绍了pass最重要的部分(上面链接
中
的完整代码)。创建新的GEP
指令
: GetElementPtrInst::CreateInBounds(CE->getOperand(0), Indices, CE->getName(), InsertPt) //in
浏览 4
提问于2022-04-23
得票数 1
1
回答
为什么这个动态
指令
跟踪程序的输出比我的多?
、
、
我正在尝试使用插装工具DynamoRIO进行
指令
跟踪。我发现他们的站点上已经有一个
指令
跟踪的示例:。但是,我不明白为什么他们在中使用这么多的操作。
浏览 6
提问于2016-11-16
得票数 3
回答已采纳
1
回答
如何在JIT代码生成后检索llvm::
指令
地址?
、
、
在使用llvm::IRBuilder时,我收集了映射到代码位置的llvm::Instruction,我希望能够在JIT编译器完成代码生成后,以{void* start,void* end}的形式检索这些
指令
的内存位置(目的是在中断时插入软件断点并从EIP检索
指令
)。
浏览 0
提问于2017-03-02
得票数 3
1
回答
Llvm删除终止符
指令
、
、
如何将BasicBlock修改为在UnreachableInst之前的
指令
处终止?
浏览 2
提问于2013-08-18
得票数 0
回答已采纳
点击加载更多
相关
资讯
从机器学习中获取价值的正确姿势
vlookup应用——如何从学号中获取班级信息
如何从机器学习数据中获取更多收益
uCPE体系架构:从最小足迹中获取最大价值
iOS代码染色原理及技术实践
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券