IBM XL C / C ++相当于#pragma GCC优化

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

我们在PowerPC平台上的bad code generation上使用IBM XL C / C ++的源文件经历了-O3。它的表面像一个悬挂,它似乎特定的循环没有被打破。

该问题仅在XL C / C ++下出现。我们的测试机制表明源文件清除了未定义的行为,内存错误和其他勘误。我们也没有收到编译器对源文件的严格/非严格警告。

我们想在-O2而不是-O3编译源文件。我们希望将诸如编译指示之类的检测添加到源文件中,以便可以为编译器适当地保护它。仪器允许其他人接入其他构建系统,如Cmake和Autotools,并且事情将“正常工作”。 (必要的信息在源代码中可用,而不是我们的makefile)。

编译器的IBM手册位于IBM XL C/C++ for AIX, V13.1,但如果我能找到该选项,该死的。

什么是IBM XL C / C ++等同于#pragma GCC optimize?我们如何检测源代码告诉XL C / C ++使用-O2而不是-O3

optimization pragma powerpc compiler-options xlc
1个回答
4
投票

可用于在-O2编译该源文件的IBM XL C / C ++ for AIX V13.1选项是#pragma options optimize=2。有关它的信息可以在网上找到here或PDF here。如果要覆盖已在命令行中指定的-O3,并在功能级别控制它,则可以使用#pragma option_override(<your function name>, "opt(level, 2)")。有关它的信息可以在网上找到here或PDF here。您也可以通过修改Makefile来实现相同的功能,以便在-O2而不是-O3编译一个源文件。

另外,您确定从tea.cpp:27:26开始报告的错误消息来自IBM XL C / C ++ for AIX V13.1吗?它看起来不像是该产品的诊断消息的格式。

我们将继续监控您对Stack Overflow的评论(使用xlc进行标记可帮助我们找到它),但如果您在http://ibm.biz/xl-power-compilers-forum的论坛上发布您的问题,您可能会发现更快的响应时间,IBM编译器开发团队监控这些问题更积极。

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