-使用Clang编译器的-memcpyopt

问题描述 投票:0回答:1

我想了解llvm传递中提到的-memcpyopt传递的效果。https://llvm.org/docs/Passes.html。但是,当我按如下所示将它与clang一起使用时,clang -mllvm -memcpyopt会抛出未知的参数错误。错误:未知参数:'-memcpyopt'与其他传递(例如-memdep)一样,未引发此错误。以下文档提到了O1,默认情况下启用了memcpyopt。http://developer.amd.com/wordpress/media/2013/12/AOCC-1.1-Clang-the-C-C-Compiler.pdf

我正在使用clang版本6.0.2。任何帮助表示赞赏。

compiler-errors llvm-clang
1个回答
0
投票

我发现这些是opt而不是LLVM库提供的选项。 Clang做出了明确的设计决定,不向用户公开优化管道的详细信息(因为它远非稳定的,并且不希望对实现细节的东西保持向后兼容性,因为人们很难正确使用它)。为了能够使用opt llvm分析器,我们需要使用clang -emit-llvm test.cc从clang生成.ll或.bc文件。这将生成test.ll,可以使用来调用optopt -analyze -memcpyopt test.ll

但是,我仍然不知道为什么-lowerswitch可以与clang一起使用,而不能与-memcpyopt一起使用。

感谢您的帮助。在此先感谢

© www.soinside.com 2019 - 2024. All rights reserved.