use*_*231 5 c++ optimization gcc inline
我试图让 GCC 内联一个特定函数中的所有调用,并不管全局优化设置如何对其进行优化。这flatten
属性似乎符合我的要求,但仅当使用相同的 -O 设置编译整个源文件时。当指定 both 时__attribute__((flatten, optimize("O2")))
,如果源文件的其余部分是使用 -O2 以外的任何其他设置编译的,则 GCC 显然会忽略 flatten 属性。
这个特定的函数是一个中断例程,我需要确保整个函数包含在一个连续的内存块中。唯一的函数调用是 to __builtin_ia32_rdtsc()
(它只包含rdtsc
和ret
)和两个std::atomic
操作。
那么,正如标题所说,有没有办法强制这些调用被内联和优化?
归档时间: |
|
查看次数: |
1473 次 |
最近记录: |