Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在clang 3.3.1中使用过程间别名分析_C++_Clang_Llvm - Fatal编程技术网

C++ 在clang 3.3.1中使用过程间别名分析

C++ 在clang 3.3.1中使用过程间别名分析,c++,clang,llvm,C++,Clang,Llvm,我正在从事一个扩展Clang3.3.1的项目 我想使用AliasAnalysis类,我不确定是否遗漏了什么。 当我询问AA时,如果内存位置在不同的函数alias中,则clang会崩溃,并出现以下错误:“BasicAliasAnalysis不支持过程间查询。” 我想,使用不同类型的分析可能是一种解决方案,但我无法在代码中找到如何做到这一点。有什么建议吗?:) LLVM中还没有任何过程间别名分析。部分问题是我们需要一个新的API来表达查询 考虑一个自递归函数@f(noalias%x,noalias%

我正在从事一个扩展Clang3.3.1的项目

我想使用AliasAnalysis类,我不确定是否遗漏了什么。 当我询问AA时,如果内存位置在不同的函数alias中,则clang会崩溃,并出现以下错误:“BasicAliasAnalysis不支持过程间查询。”
我想,使用不同类型的分析可能是一种解决方案,但我无法在代码中找到如何做到这一点。有什么建议吗?:)

LLVM中还没有任何过程间别名分析。部分问题是我们需要一个新的API来表达查询

考虑一个自递归函数@f(noalias%x,noalias%y),它用@f(%y,%x)调用自己。今天,我们回答%x noalias%y,这在任何单个调用帧中都是正确的。但是,如果要查看多个调用帧,可以看到被调用方中的%x可能在调用方中使用别名%y,因此同一函数中的%x和%y可能使用别名。这就是我们需要将当前API与过程间API分开的核心原因