How much of the code you’re upstreaming is specific to MacOS? Is it close to being usable on Linux? Some of the comments about Mach-O make it sound MacOS-specific, but you also talked about unifying it with the .llvmbc implementation previously.
FYI, two more use cases, which we are interested in:
(1) Autotuning the generated code on a target machine, using the embedded bitcode as a starting point. We have a limited prototype that searches through combinations of Clang command-line options, similar to Milepost GCC. We assume for now that we have a linked bitcode, e.g., the output of LTO; to be usable in practice, the bitcode would need to be embedded with the binary.
(2) Dynamic optimization, using the LLVM bitcode for subsets of the program.
// Vikram S. Adve
// Professor, Department of Computer Science
// University of Illinois at Urbana-Champaign