This seem to be a regression caused by this change: https://reviews.llvm.org/D60943.
Since we delayed report the error, we would run into some invalid state in clang and llvm.
Without this fix, clang would assert when passing function into inline asm's input operand.
If building without assertion, we would see segfault in llvm: https://godbolt.org/z/hb4acs8aG
This is essentially a partial reverse of this commit: https://github.com/llvm/llvm-project/commit/d68b2d043865e1c106432f2ab9c1b99a5a2ba86e