Detect Undefined Behavior on LLVM IR

There is UndefinedBehaviorSanitizer (UBSan) in clang, a tool detecting UBs on the C/C++ program.

Is there a tool detecting UBs on LLVM IR so that I can make sure the program has a single meaning? If there is not, can I convert LLVM IR to C/C++ so that I can reuse UBSan?