LLVM refactoring fixes

These are three relatively straightforward fixes for bugs that crept in during refactoring.

The most interesting one is the fix for the compilation failure Geoffrey Mainland pointed out. Basically, what happens is that when compiling unoptimized code for dynamic linking, the aliases prevent LLVM from specifying the proper relocation method. The way I solve this here is by forcing the alias elimination optimization pass to run. After all, we already have a similar problem with "mem2reg".

Thanks,
  Peter Wortmann