Make decisions about which functions are to be imported, and the module of the function which will be hosting all the other functions.
Depends on: https://reviews.llvm.org/D52966
It's hard to review the changes the way they are currently split up. E.g. This patch adds some fields to the index, without using them or testing them. Those changes are in a different patch or two. It would be good to isolate all the changes that create and set these new index fields and test them via dumping the index to assembly and looking for expected values. Then have another patch that uses them in the FunctionImporter. Etc.
Also, it looks like the changes are only enabled for:
Please also add to the new pass manager and the new LTO API (see LTO/LTO.cpp) at the same time.
This isn't the right file to declare this function, which is unrelated to WPD.