回答
阵列的访问通过getelementptr
指令建模。 所以,你可以用类似遍历基本块:
for (BasicBlock::iterator i = blk->begin(), e = blk->end(); i != e; ++i) {
if(isa<GetElementPtrInst>(i)) {
// process it here
}
}
虽然数组访问并不是GEP建模的唯一事物。指针解除也是。所以是结构成员访问。所以你在这里需要小心 – 2012-03-12 14:04:03
没问题,但问题很模糊,所以这至少是一个好的开始! – joey 2012-03-12 15:10:59
另请参阅:http://stackoverflow.com/questions/9682705/identify-array-type-in-ir – 2012-03-13 13:35:06
- 1. 在数组中查找块
- 2. 在分块数组中访问数据
- 3. 在以前的基本块中计算的基本块中查找值
- 4. 基本数组为基础,无法访问数组元素?
- 5. 在PHP中访问一个数组块
- 6. 在访问查找字段中查看基础值
- 7. 访问GridPanel基本参数
- 8. 在Rails中查找_by_sql,访问产生的数组
- 9. 查找基于其他领域访问
- 10. 在基本块中找到终结者
- 11. 访问块的C数组块
- 12. 基于SESSION的块访问
- 13. 基本数组问题
- 14. php基本数组问题
- 15. 访问文本块
- 16. 每周查询分组可视化基本ms访问
- 17. 基本问题访问
- 18. 在MASM中访问数组
- 19. 在JSON中访问数组
- 20. 在MASM中访问数组
- 21. 在基本实体框架中查找
- 22. View中的代码块无法访问基本视图属性
- 23. 访问查找表
- 24. 访问JNDI查找
- 25. Powershell脚本用[无法访问]查找SharePoint组
- 26. 访问VBA:查找基于非绑定列的组合框中的项目
- 27. VBA类模块排序数组访问
- 28. 通过类访问C++基元数组
- 29. 访问音乐基因组数据库
- 30. 查找LLVM中基本块的后继列表
你确定你需要这个在LLVM的水平,而不是锵水平?即如果你正在分析C代码,你最好看看AST Clang生成 – 2012-03-12 18:01:48