为什么g ++不优化本地constexpr数组访问?

时间:2018-11-26 13:45:24

标签: c++ g++ compiler-optimization

我有以下c ++代码:

android:layout_alignParentBottom="true"

当我使用带有选项-O3的g ++ 8.2进行编译时,它会生成well-optimized asm code。但是,当我将第二行从inline int choose(int i){ static constexpr int arr[]={1,3,3,2,4,1,4}; return arr[i]; } void f(int); int main(){ for(int i=0;i<5;i++){ f(choose(i)); } } 更改为static constexpr时(在语义上应该相同),它不再优化数组访问并生成somewhat inefficient asm code

有人知道为什么会这样吗?

0 个答案:

没有答案