A build with LLVM_USE_SANITIZER=Undefined showed: bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp:2277:60: runtime error: left shift of negative value -32768 This showed up in bolt/test/AArch64/veneer-lite-mode.s. It is valid for ADRP's operand to be negative, and not valid to shift it like that. To perform this shift reliably, cast the value to unsigned.