ну кажется это довольно сложная и долгая процедура
Это сложная и долгая процедура для LLVM. Для предварительно оптимизированного wasm модуля это относительно просто. Тем не менее даже у wasmtime есть как минимум два IR (точнее LIR) представления, свой набор peephole правил и оптимизации для CFG (каскрутка циклов, loop rotation, loop peeling и т д), Ну иницкоуновневые вещи как оптимизация аллокации регистров, оптимизации для планировщика, селектора и т д