Quali proprietà di LLVM sono una buona scelta per l'implementazione di un linguaggio orientato (parallelo, concorrente, distribuito), cosa lo rende cattivo?LLVM è adatto per le lingue parallele?
10
A
risposta
16
LLVM è chiamato LLVM (macchina virtuale a basso livello) per una buona ragione. È così di basso livello che non sei legato a nessuna particolare semantica per la tua lingua di partenza.
Ci sono alcune cose utili a LLVM che rende la compilazione di alcune lingue parallele più semplice - per esempio, salta ai blocchi arbitrari: http://llvm.org/docs/LangRef.html#blockaddress
E LLVM non implica alcuna particolari proprietà di esecuzione, non forzare alcuna specifica implementazione di GC . Puoi costruire tutto quello che vuoi su di esso.
4
Per alcuni esempi pratici in questo spazio vedere http://code.google.com/p/gpuocelot/. Permette al codice Cuda di multitarget su x86.