rL131311 added `asm()` support for builtin functions, but `asm()` for builtins with
specialized emitting (e.g. memcpy, various math functions) still do not work.
This patch makes these functions work for `asm()` and `#pragma redefine_extname`.
glibc uses `asm()` to redirect internal libc function calls to hidden aliases.
Limitation: such a function is still a builtin, but it will end up being
a libcall with a different asm name (Clang does not communicate the, even if the function can normally be eliminated by optimization passes
mapping to the backend). In GCC -O1 or above, such library calls can be(Clang does not annotate the renamed function call as a libcall).
In GCC -O1 or above, such library calls can be eliminated in some circumstances.