#!/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
