Compare commits

..

3 Commits

2 changed files with 8 additions and 6 deletions

View File

@ -17,5 +17,5 @@ fi
rm -f "*.o" "*.bc" demo
$nac3standalone --emit-llvm "$@"
clang -S -std=gnu11 -Wall -Wextra -O3 -emit-llvm -o demo.bc demo.c
lli --extra-module demo.bc main.bc
clang -c -std=gnu11 -Wall -Wextra -O3 -emit-llvm -o demo.bc demo.c
lli --extra-module demo.bc --extra-module irrt.bc main.bc

View File

@ -339,10 +339,6 @@ fn main() {
let main = context
.create_module_from_ir(MemoryBuffer::create_from_memory_range(&buffers[0], "main"))
.unwrap();
// Emit bitcode with main and IRRT dependencies first before linking in the other modules.
// This helps separate the input generated from the input and the IRRT utilities.
main.link_in_module(load_irrt(&context)).unwrap();
if emit_llvm {
main.write_bitcode_to_path(Path::new("main.bc"));
}
@ -359,6 +355,12 @@ fn main() {
main.link_in_module(other).unwrap();
}
let irrt = load_irrt(&context);
if emit_llvm {
irrt.write_bitcode_to_path(Path::new("irrt.bc"));
}
main.link_in_module(irrt).unwrap();
let mut function_iter = main.get_first_function();
while let Some(func) = function_iter {
if func.count_basic_blocks() > 0 && func.get_name().to_str().unwrap() != "run" {