Статическое представление кода с единым назначением (SSA) почти, но не совсем канонично; Существует два варианта: vanilla и edge-split , в которых дополнительные узлы вставляются по мере необходимости, чтобы в каждом цикле был только один задний край. Обоснование: добавление ограничения разбиения ребер делает некоторые оптимизации немного проще.
Что я действительно хочу знать, так это то, стоит ли вообще иметь ограничение на разделение краев, но это суждение, поэтому для конкретного фактического вопроса:
Используют ли следующие хорошо известные компиляторы, которые используют SSA, ограничение по разбиению ребер?
- 1010 * НКУ *
- Go
- LLVM
- SpiderMonkey
- V8