Знаете ли вы, как сильная поддержка VLIW архитектур (или EPIC , как Itanium) существует в инфраструктуре компилятора LLVM?
Есть ли хорошие документы / материалы для слайдов по этому поводу?
В базовом LLVM в настоящее время нет хорошей поддержки VLIW./ 2010-11
Некоторые полезные сообщения: http://old.nabble.com/VLIW-Scheduling-td857833.html
http://old.nabble.com/vliw-compatability-td27935919.html
ОБНОВЛЕНИЕ / 2012-01
LLVM добавлено (кажется после версии 3.0 ; Anshuman Dasgupta ) Первоначальная поддержка "VLIW packetizer" или DFApacketizer для инфраструктуры поддержки целевого генератора кода: http://llvm.org/docs/CodeGenerator.html#vliw_packetizer
Для генерации таблицдля цели VLIW добавьте Target GenDFAPacketizer.inc в качестве цели в Makefile в целевом каталоге.Экспортированный API предоставляет три функции:
Эти функции позволяют целевому упаковщику добавить инструкцию к существующему пакету и проверить, может ли инструкция быть добавлена к пакету.См. llvm/CodeGen/DFAPacketizer.h для получения дополнительной информации.
llvm/CodeGen/DFAPacketizer.h
Комплект машинных инструкций в ветке LLVM от Evan Cheng в списке рассылки com.googlegroups.llvm-dev from dec2 2011, описание базовой поддержки LLVM VLIW (Bundle).Они планируются в LLVM 3.1 и здесь задокументированы .
Кроме того, в 3.1 "новой инфраструктуре TableGen для поддержки связывания для очень длинных командных слов (VLIW)) архитектуры. "
На сегодняшний день существует несколько компиляторов VLIW, основанных на LLVM;но независимая от цели (общая) поддержка VLIW находится в самом начале своего длинного пути.
ОБНОВЛЕНИЕ 2012/12
В Quic есть несколько слайдов: http://llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf