Compare commits
3 Commits
9e17fac1d0
...
1fa92bb037
Author | SHA1 | Date |
---|---|---|
|
1fa92bb037 | |
|
e8885e0bf4 | |
|
60305b0510 |
|
@ -13,5 +13,9 @@ set -- "${@:1:$(($# - 1))}"
|
|||
echo -n "Checking $demo... "
|
||||
./interpret_demo.py "$demo" > interpreted.log
|
||||
./run_demo.sh "$@" "$demo" > run.log
|
||||
./run_demo_lli.sh "$@" "$demo" > run_lli.log
|
||||
diff -Nau interpreted.log run.log
|
||||
diff -Nau interpreted.log run_lli.log
|
||||
echo "ok"
|
||||
|
||||
rm -f interpreted.log run.log run_lli.log
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "No argument supplied"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -e ../../target/release/nac3standalone ]; then
|
||||
nac3standalone=../../target/release/nac3standalone
|
||||
else
|
||||
# used by Nix builds
|
||||
nac3standalone=../../target/x86_64-unknown-linux-gnu/release/nac3standalone
|
||||
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
|
|
@ -339,6 +339,10 @@ 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"));
|
||||
}
|
||||
|
@ -354,7 +358,6 @@ fn main() {
|
|||
|
||||
main.link_in_module(other).unwrap();
|
||||
}
|
||||
main.link_in_module(load_irrt(&context)).unwrap();
|
||||
|
||||
let mut function_iter = main.get_first_function();
|
||||
while let Some(func) = function_iter {
|
||||
|
|
Loading…
Reference in New Issue