LLVMのk乗和の最適化手法について

clangは-O1以上の最適化オプションをつけると、以下のコード(単純に考えるとΘ(n)命令必要そう)からループを取り除き、Θ(1)命令のコードに最適化します。 uint64_t sum( uint64_t n ) { uint64_t ret = 0; for( uint64_t i = 0; i < n; ++i ) { ret += i; } return ret; } これはclangの驚異的な最適化として挙げられるこ…