What is optimization?
GCC Optimization GCC优化方法

https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Constant Folding 常量折叠
Common Sub-expression Elimination 消除公共子表达式
Dead Code 无用的代码
Strength Reduction 复杂运算简化
Code Motion 代码移动
Tail Recursion 尾递归
Loop Unrolling 循环展开
Limitations of GCC Optimization
Caching
Live Session Slides
Tail recursion example: Lab6 bonus 一个尾递归的例子


-O2将递归变成了循环,这样就没有push %rbx操作了。尾递归也是。










