[clang][ifs] Clang Interface Stubs ToolChain plumbing.
This patch enables end to end support for generating ELF interface stubs
directly from clang. Now the following:
clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp
will product an ELF binary with visible symbols populated. Visibility attributes
and -fvisibility can be used to control what gets populated.
- Adding ToolChain support for clang Driver IFS Merge Phase
- Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain
- Adds support for the clang Driver to involve llvm-ifs on ifs files.
- Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file instead of the final object format (normally ELF)
Differential Revision: https://reviews.llvm.org/D63978