Improve optimizations on NULL pointer check (#37114)
Mark more functions and calls as non-null and use inbounds gep instead of integer arithmetics
so that LLVM can more easily infer the non-null-ness of pointers. (Partially revert 2bb430e383809dcf5f73605a65f408c7e5bd22d6)
Also add inline optimization for `ccall` on `jl_symbol_name` and makes
sure the return value is treated as non-null by LLVM.