SwiftのCompilerはOSSとして公開されているので、興味のある方はぜひチェックしてください。 github.com また、Swift Compilerのアーキテクチャについては、こちらの記事がとても分かりやすいです。 qiita.com 末尾再帰にしたとして、最適化を無効にしたときと有効にしたときで実行結果が変わってくるのであれば、Compilerの生成物も当然異なっているはずです。 それでは、最適化を無効にしたときと有効にしたときで、上記のどのタイミング(Component)でどのような生成物の違いがあるのか、見ていきます。 各Componentにおける差分 次の内容をsum.swiftとして保存し、生成物の差分を実際に見ていきます。 func sum(_ n: Int, _ res: Int) -> Int { if n == 0 { return res } return