Tag: LLVM
Cuando compilo un proyecto sobre riscv32 en wsl2 (Windows Subsystem for Linux) con la versión de Linux ubuntu-20.04LTS, ocurre un error de compilación: chizm@LAPTOP-UV3G5VIL:~/Templates/ics2021/nemu$ make + CXX src/utils/disasm.cc src/utils/disasm.cc: En la función ‘void init_disasm(const char*)’: src/utils/disasm.cc:55:8: error: ‘class llvm::MCInstPrinter’ no tiene un miembro llamado ‘setPrintBranchImmAsAddress’ 55 | gIP->setPrintBranchImmAsAddress(true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ . . . Read more
Modifiqué un IPA habilitado para bitcode utilizando la herramienta LLVM de código abierto llamada “opt” y ejecuté mi propio pase de LLVM en los archivos de bitcode. Después de las modificaciones, intenté reconstruir los archivos de bitcode para obtener el binario utilizando la herramienta “clang” de la cadena de herramientas . . . Read more
Me he dado cuenta de que LLVM proporciona varios pases de análisis y transformación integrados. ¿Puedo ejecutar estos pases integrados (por ejemplo, -da para análisis de dependencias) directamente con clang en lugar de opt?
Estoy tratando de generar LLVM ir, y actualmente tengo esto: let fill_structs = StringMap.iter (fun k v -> L.struct_set_body k v false ) structs (* más declaraciones let…in *) El mensaje de error que estoy obteniendo es sobre mi ‘k’ que paso a L.struct_set_body. StringMap.key This expression has type string . . . Read more
He leído la documentación de LLVM aquí, pero todavía estoy confundido. Así que creo que cuando se llama a llvm.global_context() en la parte superior de un montón de declaraciones let…in, esto crea el “contenedor de nivel superior para todos los datos globales de LLVM”. (Aunque no entiendo completamente lo que . . . Read more