User Tag List

Показано с 1 по 10 из 125

Тема: LLVM Backend для Z80

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По поводу альтернативных регистров я как-то ломал голову. Идеи такие (в идеале нужно как-то что-то из этого комбинировать наверное):

    1. Определить альтернативные регистры наряду с обычными и потом специальным проходом(-ами) расставлять ΕΧΧ и т.п., разруливать использование регистров из разных наборов в одной операции, группировать операции по набору используемых регистров (возможно имеющийся в llvm механизм scheduling как-то можно для этого заюзать) и пр. Что-то подобное, если я правильно помню, сделано в X86-бэкенде для FP-операций.

    2. Разные наборы регистров - в разных классах, соответственно разные наборы [идентичных] операций для них. (псевдоинструкции пользующие альт. регистры, которые впоследствии преобразуются в обычные) Громоздко или/и нужно дублирующие операции автогенерировать. Проблема расстановки ΕΧΧ и т.п., группировки операций для минимизации кол-ва ΕΧΧ также остается.

    3. Псевдо-32-бит регистры, (HLHL и т.д.) см. например примеры в псевдокоде на http://www.andreadrian.de/oldcpu/Z80..._cruncher.html

    4. Некий вариант п. 1 или 2 с собственным register allocator, учитывающим наличие двух наборов.

    Собственно, задачи правильной расстановки операций ΕΧΧ и группировки регистровых операций для минимизации их кол-ва, необходимо решать в любом случае.
    Последний раз редактировалось mastermind; 19.02.2013 в 19:01.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •