Supporting custom RISC-V extensions in LLVM