【问题标题】:What does the GCC function suffix "isra" mean?GCC 函数后缀“isra”是什么意思?
【发布时间】:2012-12-07 10:34:33
【问题描述】:

在分析使用 gcc 编译的程序时,我注意到像 foo.isra.3 这样的函数。 isra 表示什么?我注意到其中一个函数只在少数地方被调用,并且其中一个参数总是被指定为文字值。也许这意味着它是针对某些参数优化的函数的变体?

【问题讨论】:

    标签: gcc profiling name-mangling


    【解决方案1】:

    根据this bug report 上的评论(以及我能找到的类似 cmets):

    ISRA 是由 IPA SRA 创建的变量的名称 ...

    IPA SRA 是 optimization option:

    -fipa-sra

    执行聚合的过程间标量替换,删除未使用的参数以及通过值传递的参数替换通过引用传递的参数。

    在 -O2、-O3 和 -Os 级别启用。

    所以很可能,它是具有这些优化的函数的一个版本。

    在您提到的情况下,它可能正在用按值传递替换按引用传递,因为它知道通过引用传递文字是没有意义的。

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 2022-01-23
      • 2022-08-21
      相关资源
      最近更新 更多