Eliminate a redundant bounds check
Test script needs bash
Give function values the correct type (i8*)
Modify the script to save a backup after building
Use i8 to represent the bool type

The optimizer should be able to take care of the extra IR generated here.
Let cabi handle basic types
Remove comment that does not make sense anymore
Visit basic blocks in dominator tree preorder

This ordering ensures that we visit all definitions before their uses, with
the exception of phi node operands. This allows us to replace the existing code
to support backpatching with a simple fixup pass that fills in phi nodes.
Track the last LLVM basic block for each SSA block, and use it to form phi nodes
String concatenation