This commit introduces the LLVM's visibility attribute and adds it to both globals and functions. Furthermore, this commit ensures that "thread_local" is printed in the correct place and adds a test for that. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D145790