È LLVM adatto per le lingue parallele?
Domanda
Quali proprietà di LLVM rende buona scelta per l'attuazione del (, in concomitanza, distribuito in parallelo) lingua oriented, ciò che lo rende cattivo?
Soluzione
LLVM è chiamata LLVM (Low Level macchina virtuale) per una buona ragione. E 'così basso livello che non sei destinato a eventuali semantica particolari per la vostra lingua di partenza.
Ci sono alcune cose utili a LLVM che rende la compilazione di alcune lingue parallele più semplice - per esempio, salta a blocchi arbitrari: http://llvm.org/docs/LangRef.html#blockaddress
E LLVM non implica particolari proprietà di esecuzione, non forzare alcuna specifica implementazione di GC. È possibile creare quello che volete su di esso.
Altri suggerimenti
Per alcuni esempi pratici in questo spazio vedere http://code.google.com/p/ gpuocelot / . Esso consente al codice CUDA per Multitarget su x86.