2011-01-04 4 views
3

Je voudrais télécharger et essayer LLVM, avant que je voulais savoir:Mise en route avec LLVM - Windows/Linux

(a) Quels sont les facteurs à considérer avant de finaliser une plate-forme LLVM (Windows/Linux)?

(b) Quelle est la meilleure façon d'apprendre LLVM? Je voudrais m'impliquer dans l'un des projets là-bas. Donc, je veux avoir une idée générale à ce sujet. Dans le processus, je suis submergé par la taille de LLVM, ses sous-projets, ses outils, le soutien, etc.

FYI: Je suis passé par les bases de LLVM du llvm.org ont également travaillé sur le compilateur développement connexe, analyse de code statique.

Aidez-nous s'il vous plaît.

Merci.

+0

Définissez "travail sur LLVM". Développer le? Utilisez-le (pour quoi?)? En outre, "apprendre LLVM" peut encore signifier beaucoup de choses différentes. Précisez s'il vous plaît. – delnan

+0

Merci, delnan! J'espère avoir ajouté plus de clarté dans la question. – TheCottonSilk

Répondre

4

LLVM ne fonctionne pas sur une seule plate-forme. En tant que contributeur, vos patchs seront supposés fonctionner sur de nombreuses plateformes. Si vous n'êtes pas configuré pour effectuer des tests sur plusieurs d'entre eux, vous dépendez de l'intérêt des autres utilisateurs de vos correctifs pour qu'ils puissent les tester sur d'autres plates-formes. Votre meilleur pari est d'utiliser des machines virtuelles (via VMWare ou VirtualBox ou autre) pour vous fournir plusieurs plates-formes avec lesquelles travailler. Vous trouverez le plus de stabilité sur OS X (Darwin), avec Linux un second proche, en raison principalement du grand nombre de buildbot slaves qui testent ces configurations.

Votre meilleur pari est de choisir un projet plus petit qui est relativement contenu. Par exemple, vous pouvez choisir quelque chose qui est contenu dans un seul passage, une seule cible, etc. La modularité du code devrait rendre possible beaucoup de projets sans comprendre toute la base de la source. Choisissez un domaine à comprendre en premier, puis passez aux autres. On ne s'attend pas à ce que quelqu'un qui peut travailler sur la suite de tests soit aussi capable de comprendre les nuances de LiveIntervals. Utilisez les codes mailing lists et IRC pour demander de l'aide. Peu de contributeurs LLVM semblent visiter régulièrement StackOverflow. Comme on le dit fréquemment dans le projet, "les correctifs sont les bienvenus".

+0

Merci, ohmantics! Vous avez raison, LLVM est une infrastructure de compilation multi-plateforme. Comme je n'ai pas OS X à l'heure actuelle, je pense que commencer par Linux serait une meilleure approche. Bien sûr, je voudrais prendre un petit projet pour commencer, et essayer mes mains. – TheCottonSilk