Saya sedang menulis pengoptimal untuk bahasa yang mirip dengan JavaScript, dan perlu memilih representasi kode perantara. Pilihan yang jelas / tipikal akhir-akhir ini adalah Static Single Assignment (SSA).
Namun, Implementasi Kompiler Modern di C juga membahas bentuk perantara fungsional, yang pada dasarnya berarti akan berfungsi murni untuk representasi perantara (murni dalam hal hanya variabel lokal, tumpukan data masih bisa berubah, dan bukan CPS, hanya let
blok sederhana dan panggilan ekor) dan memiliki beberapa keunggulan dalam hal lebih mudah untuk dipikirkan.
Agaknya itu bukan no-brainer atau semua orang sudah akan menggunakan representasi seperti itu, jadi pertanyaan saya adalah, apa kerugiannya bentuk perantara fungsional dibandingkan dengan SSA?