在clang 3.3.1中使用别名分析
Using AliasAnalysis interproceduraly in clang 3.3.1
我正在做一个扩展clang 3.3.1的项目。
我想使用AliasAnalysis类,我不确定,如果我错过了什么。当我询问AA时,如果内存位置在不同的函数别名中,clang会崩溃并出现以下错误:"BasicAliasAnalysis不支持过程间查询。"我想,这可能是一个解决方案,使用一种不同的分析,但我不知道如何在代码中做到这一点。有什么建议吗?:)
在LLVM中还没有任何过程间别名分析。部分问题是我们需要一个新的API来表达查询。
考虑一个自递归函数@f(noalias %x, noalias %y),它用@f(%y, %x)调用自己。今天我们回答,%x不等于%y,这在任何一个单独的调用帧中都是正确的。但是,如果您查看多个调用帧,您可以看到被调用方中的%x可能会别名调用方中的%y,因此同一函数中的%x和%y可能会别名。这就是为什么我们需要将当前的API与过程间API分开的核心原因。
相关文章:
- 部分定义/别名模板模板参数
- (C++)分析树以计算返回错误值的简单算术表达式
- 如何将 AST 用于自定义前端操作和 clang 静态分析
- C++汇编代码分析(使用 clang 编译)
- Clang 对使用的类型别名发出"unused type alias"警告
- 使用 Clang 检测进行基于时间的分析
- clang:如何在 OS X 中分析时获取源信息
- clang或gcc是否利用引用限制进行别名分析
- Clang 线程安全性分析和线程角色
- Clang/C2 是否使用与 Clang/LLVM 相同的语义分析和 AST?
- LLVM中的别名分析
- Clang静态分析-根据执行流检查可为空的变量初始化
- GCC 或 Clang '-std=' 是否有任何"moving target"别名值,表示"use the latest standard"?
- 用MPI进行Clang静态分析
- 使用别名模板时,无法将"std::unique_ptr"分配给 clang 中的基类
- 在clang中使用别名模板时,是否有办法缩短模板化的类名?
- 如何用clang工具分析c++头文件
- 在clang 3.3.1中使用别名分析
- Clang线程安全分析与c++标准库
- 如何运行GCC/Clang进行静态分析?(警告)