Runtime: Backend LLVM

Creado en 11 may. 2019  ·  3Comentarios  ·  Fuente: dotnet/runtime

De acuerdo con este problema que creé (https://github.com/dotnet/coreclr/issues/17294), crear un nuevo backend para una nueva arquitectura es un trabajo complejo, entonces, ¿por qué no crear un nuevo backend que admita múltiples arquitecturas?
Mono ha implementado un backend LLVM .
Digo esto porque la arquitectura Power y s390x está regresando con relativa intensidad ...

area-CodeGen-coreclr question

Comentario más útil

Hace unos años trabajamos en un generador de código LLVM para .Net: LLILC . Nos encontramos con una serie de problemas que parecía que iban a ser difíciles de abordar: compatibilidad con GC precisa, compatibilidad total con el modelo de excepción .Net y bajo rendimiento. Puede leer algunos de los detalles aquí: LLILC a los seis meses .

Mono a través de LLVM usa GC conservador y (al menos en algunos casos) no maneja la gama completa de comportamientos de excepción. Esto es aceptable para los objetivos de la aplicación de Mono, pero no es lo suficientemente general para nuestros propósitos.

LLILC todavía podría ser interesante como un jit de nivel superior (algún día) o como un vehículo de activación para hacer que el codegen básico se ejecute en una nueva arquitectura.

Todos 3 comentarios

Hace unos años trabajamos en un generador de código LLVM para .Net: LLILC . Nos encontramos con una serie de problemas que parecía que iban a ser difíciles de abordar: compatibilidad con GC precisa, compatibilidad total con el modelo de excepción .Net y bajo rendimiento. Puede leer algunos de los detalles aquí: LLILC a los seis meses .

Mono a través de LLVM usa GC conservador y (al menos en algunos casos) no maneja la gama completa de comportamientos de excepción. Esto es aceptable para los objetivos de la aplicación de Mono, pero no es lo suficientemente general para nuestros propósitos.

LLILC todavía podría ser interesante como un jit de nivel superior (algún día) o como un vehículo de activación para hacer que el codegen básico se ejecute en una nueva arquitectura.

Hola @AndyAyersMS

Solucioné un problema de compilación simple para LLILC https://github.com/dotnet/llilc/issues/1097

Por favor, revísalo.

Gracias,
Leslie Zhai

Voy a cerrar este tema, ya que la pregunta ha sido respondida.

¿Fue útil esta página
0 / 5 - 0 calificaciones