首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang,lto,防止功能清除

clang,lto,防止功能清除
EN

Stack Overflow用户
提问于 2015-12-11 23:06:54
回答 2查看 1.4K关注 0票数 1

我正在编译一个使用链接时间优化(lto)和O2优化级别的修改过的版本的项目。O0和O1做得很好,但遗憾的是,O2 删除了对函数的一些调用。有没有办法告诉优化忽略特定的函数?我已经尝试过使用volatile变量以及__attribute__ ((optimize("0"))),但没有成功。

解决方案,只有在llvm水平直接可用也是欢迎的。

编辑:也许我应该更详细地解释一下情况。修改后的clang添加对自定义运行库的调用,该库与clang一起构建。其中一些插入的调用被优化掉了。

EN

回答 2

Stack Overflow用户

发布于 2017-02-21 01:05:17

我相信__attribute(used)__ (GCC)或llvm.used是你要找的。

票数 4
EN

Stack Overflow用户

发布于 2015-12-11 23:17:44

添加__attribute__((noinline))将防止指定的函数消失。您还可以使用-fno-inline在全球范围内防止这种情况。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34234029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档