虽然谱用gcc编译的程序,我注意到像功能foo.isra.3
。 是什么isra
说明什么? 我注意到的功能之一是只叫了几个地方,和其中一个参数总是被指定为文字值。 也许这意味着它的某些参数优化功能的变种?
Answer 1:
据对评论这个错误报告 (以及类似的意见,我能找到):
ISRA是得到由IPA SRA创建的变量的名称...
IPA SRA是一个优化选项 :
-fipa-SRA
进行进程间的标量替换聚集物,去除未使用的参数和更换通过参考由值来传递参数传递的参数的。
在级别-O2,-O3和-Os启用。
所以最有可能的,它与这些优化功能的版本。
在你提到的情况下,它可能是要替换一个传递按引用一个传递价值,因为它知道有没有一点通过文字引用。
文章来源: What does the GCC function suffix “isra” mean?