LLVM-Compiler-Infrastruktur für VLIW-Architekturen

9

Wissen Sie, wie stark VLIW Architekturen sind (oder EPIC , wie Itanium) Unterstützung existiert in LLVM Compiler-Infrastruktur?

Gibt es dazu gute Dokumente / Folien?

    
osgx 12.11.2010, 15:31
quelle

1 Antwort

4

Derzeit gibt es in der Basis-LLVM keine gute VLIW-Unterstützung. / 2010-11

Einige nützliche Beiträge: Ссылка

Ссылка

UPDATE / 2012-01

LLVM hinzugefügt (scheint nach 3.0-Veröffentlichung ; nach Anshuman Dasgupta ) anfängliche Unterstützung eines" VLIW paketisizer "alias DFApacketizer für zielunabhängige Codegenerator-Support-Infrastruktur: Ссылка

  

Um Tabellen für ein VLIW-Ziel zu generieren, fügen Sie Target GenDFAPacketizer.inc als Ziel dem Makefile im Zielverzeichnis hinzu. Die exportierte API bietet drei Funktionen:

  • DFAPacketizer :: clearResources (),
  • DFAPacketizer :: reserveResources (MachineInstr * MI) und
  • DFAPacketizer :: canReserveResources (MachineInstr * MI).
  

Diese Funktionen ermöglichen einem Zielpaketierer, einen Befehl zu einem vorhandenen Paket hinzuzufügen und zu prüfen, ob ein Befehl zu einem Paket hinzugefügt werden kann. Weitere Informationen finden Sie unter llvm/CodeGen/DFAPacketizer.h .

Machine Instruction Bundle im LLVM Thread von Evan Cheng in der Mailing-Liste com.googlegroups.llvm-dev vom 2. Dezember 2011, die grundlegende LLVM VLIW (Bundle) Unterstützung beschreibt. Sie sind geplant , um in LLVM 3.1 zu sein, und sind hier dokumentiert .

Auch in 3.1 "neue TableGen-Infrastruktur zur Unterstützung der Bündelung für VLIW-Architekturen (Very Long Instruction Word)." wird hinzugefügt.

Es gibt heute einige VLIW-Compiler, die auf LLVM basieren; Aber die zielunabhängige (generische) VLIW-Unterstützung steht am Anfang ihres langen Pfades.

UPDATE 2012/12

Es gibt einige Folien von Quic: Ссылка

    
osgx 21.11.2010 01:25
quelle

Tags und Links