I’m going to assume that you have some other, perhaps shorter input file that your process can handle correctly. If not, you may be simply misusing/misapplying libnvvm.
This would be roughly analogous to the case where some aspect of the compile toolchain (e.g. nvcc or one of its sub-tools) was segfaulting during compilation. I can’t speak to your case specifically, but with respect to nvcc that is never expected behavior. So the usual advice there is to file a bug. If you choose to do that, you’ll likely be asked for a full test case (just setting expectations.)
I’m not able to offer further debug suggestions other than trial-and-error/divide-and-conquer/binary search. Others may have ideas.