updated to work with LLVM version 2b7e17bcbd27257a4c96b9346b6898c5bb3dca59