What about CSE, DCE, LICM, constant propagation, inlining, loop unrolling etc.?
Посмотрим) Я не пишу дженерик язык и у меня нет цели скрыть от пользователя (меня) код языка от васм-кода (с оптимизациями по-максимуму). Я пока пишу тонкую обертку поверх wasm для движка рендера-растеризации где я еще буду замерять и подбирать нужные опкоды или разные вариации компиляции базовых контрукций языка чтобы выжать максимальную производительность
А что касается высокоуровневых оптимизаций (CSE, DCE, LICM, constant propagation, inlining, loop unrolling) то есть подозрение что либо там не так сложно как кажется (не десятки тысяч строк кода а сотня-две) либо что все эти оптимизации можно решить проще если не пытаться скрыть их от юзера (хотя в общем случае для дженерик-языка они безусловно нужны)
В общем частные кейсы под задачу решить проще чем пытаться обобщать - это могут быть либо ручные оптимизации в пользовательском коде движка рендера-растеризации либо хинты компилятору ну либо какой-то несложный алгоритм траверса ast/cfg не больше сотни строк кода который будет решать конкретную практическую задачу (а не пытаться обобщать и учитывать всевозможные кейсы)