LLVM é adequado para linguagens paralelas?
Pergunta
O que propriedades de LLVM torna boa opção para implementação de (paralela, concorrente, distribuída) linguagem -oriented, o que o torna ruim?
Solução
LLVM é chamado LLVM (máquina virtual Low Level) por uma boa razão. É tão baixo nível que você não está vinculado a quaisquer semântica particulares para a sua língua de origem.
Há algumas coisas úteis no LLVM que faz a compilação de algumas linguagens paralelas mais fácil - por exemplo, salta para blocos arbitrários: http://llvm.org/docs/LangRef.html#blockaddress
E LLVM não implica quaisquer propriedades de tempo de execução particulares, não força qualquer implementação específica do GC. Você pode construir o que quiser em cima dela.
Outras dicas
Para alguns exemplos práticos neste espaço consulte http://code.google.com/p/ gpuocelot / . Ele permite que o código Cuda para multitarget em x86.