#!/bin/bash

c_file="$1"
out_file="$2"

CONFIG_DIR="$ICLANG_ROOT/toolchains/riscv32"

CFLAGS="-g \
    -I$CONFIG_DIR \
    -I$CONFIG_DIR/lib/include \
    --target=riscv32 \
    -mabi=ilp32d \
    -march=rv32gc"

clang $CFLAGS -O1 \
    -Xclang -disable-llvm-passes \
    -S -emit-llvm \
    "$c_file" \
    -o "$c_file.tmp.ll"

noelle-norm -S "$c_file.tmp.ll" -o "$out_file"

# Cleanup
rm "$c_file.tmp.ll"
