2010-11-12 7 views

Répondre

4

Il n'y a pas de bon support VLIW dans le LLVM de base pour le moment./2010-11

Quelques messages utiles: http://old.nabble.com/VLIW-Scheduling-td857833.html

http://old.nabble.com/vliw-compatability-td27935919.html

MISE À JOUR/2012-01

LLVM ajouté (Semble after 3.0 release, par Anshuman Dasgupta) soutien initial d'un "VLIW packetizer" alias DFApacketizer à l'infrastructure de support du générateur de code indépendant de la cible: http://llvm.org/docs/CodeGenerator.html#vliw_packetizer

Pour générer des tables pour une cible VLIW, ajoutez Cible GenDFAPacketizer.inc en tant que cible du Makefile dans le répertoire cible. L'API exporté fournit trois fonctions:

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

Ces fonctions permettent une packetizer cible d'ajouter une instruction à un paquet existant et de vérifier si une instruction peut être ajouté à un paquet. Voir llvm/CodeGen/DFAPacketizer.h pour plus d'informations.

fil Machine Instruction Bundle in LLVM par Evan Cheng dans la liste de diffusion com.googlegroups.llvm-dev de 2 décembre 2011, décrivant le soutien LLVM VLIW (Bundle) de base. Ils sont planned pour être dans LLVM 3.1, et sont documented here.

De plus, dans la nouvelle infrastructure TableGen de 3,1 "pour prendre en charge le regroupement pour les architectures VLIW (Very Long Instruction Word)." est ajouté.

Il y a quelques compilateurs VLIW basés sur LLVM aujourd'hui; mais le support VLIW indépendant de la cible (générique) est au tout début de son long chemin.

MISE À JOUR 2012/12

Il y a quelques diapositives de Quic: http://llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf

+0

Il y a des cibles VLIW énumérés dans Triple.h de LLVM: http://llvm.org/docs/doxygen/html/Triple_8h_source .html ... – osgx

Questions connexes