SSA и трёх-адресный код
От: cppguard  
Дата: 22.03.23 20:57
Оценка:
Может ли SSA быть не в виде трёх-адресного кода? Если да, то как это выглядит?
Re: SSA и трёх-адресный код
От: koenjihyakkei Россия  
Дата: 22.03.23 23:54
Оценка: 4 (1)
Здравствуйте, cppguard, Вы писали:

C>Может ли SSA быть не в виде трёх-адресного кода? Если да, то как это выглядит?


Возможно я вопрос не понял, но если в SSA хочется записывать что-то типа a = b + c * d в одной инструкции,
то нужно опкод соответствующий иметь — типа ADDMUL b, c, d.
Иначе, это будут две трехадресные инструкции.
Re: SSA и трёх-адресный код
От: LaptevVV Россия  
Дата: 23.03.23 04:58
Оценка:
C>Может ли SSA быть не в виде трёх-адресного кода? Если да, то как это выглядит?
Ну, почитайте же вы уже книжки по компилятором.
Еще в 1975 году на русском вышел перевод книжки Гриса.
Там этих промежуточных представлений — дофига.
В то время трехадресный код назывался "тетрады".
Но там рассматриваются и триады и косвенные тетрады, и польская запись.
Байт-код, который в яве — это тоже промежуточное представление вполне себе.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: SSA и трёх-адресный код
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.03.23 08:01
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Может ли SSA быть не в виде трёх-адресного кода? Если да, то как это выглядит?

Это уже обсуждалось: https://rsdn.org/forum/alg/8464449.1
Автор: VjcheslavV
Дата: 06.02.23
и вниз по дереву.
Откуда вы вообще берёте взаимосвязь SSA и трёхадресного кода?
Эти понятия вообще нигде не пересекаются.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: SSA и трёх-адресный код
От: cserg  
Дата: 23.03.23 08:57
Оценка: 4 (1) +1
Здравствуйте, cppguard, Вы писали:

C>Может ли SSA быть не в виде трёх-адресного кода?

Может.

C>Если да, то как это выглядит?

Например, так:
float a1, a2, a3, a4;
if (...) 
  a1 = (b1 * b1) + (c1 * c1);
else
  a2 = (b1 * b1) - c2;
a3 = pfi(a1, a2);
a4 = a3 + 1;
Re[2]: SSA и трёх-адресный код
От: cppguard  
Дата: 23.03.23 20:09
Оценка: 3 (1)
Здравствуйте, Sinclair, Вы писали:

S>Откуда вы вообще берёте взаимосвязь SSA и трёхадресного кода?

Примеры дурацкие приводят, которые похожи друг на друга. Но по совету другого коментатора я почитал книгу дракона, и теперь стало гораздо яснее
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.