check_jit_code.sh
text/x-sh
Filename: check_jit_code.sh
Type: text/x-sh
Part: 0
#!/bin/bash
set -eu
QUERY="select aid % 2 FROM pgbench_accounts limit 10;"
generate_s_file ()
{
pushd $PGDATA > /dev/null
bc_file=$(ls -tr | grep '0.optimized.bc' | tail -n1)
ll_file="$(basename $bc_file .bc).ll"
s_file="$(basename $bc_file .bc).s"
# Generate ll file
llvm-dis $bc_file
# Generate s file
llc $ll_file
popd > /dev/null
echo $PGDATA/$s_file
}
psql "options='-cjit_inline_above_cost=0 -cjit_above_cost=0 -cjit_dump_bitcode=true'" -c "$QUERY"
inline=$(generate_s_file)
psql "options='-cjit_inline_above_cost=100000 -cjit_above_cost=0 -cjit_dump_bitcode=true'" -c "$QUERY"
no_inline=$(generate_s_file)
vimdiff $inline $no_inline