Hi Ahmad,
Yes, merging works good.
However, my problem is like this - I have a C library which consists of 1000's of functions spread through various files. The functions do not have dependency amoung each other. I want to link only relavant files( files which have functions called from my application). Since ar has a global symbol table, I believe it should be faster to look for a symol in the table and pull out and link the file to .bc of my application.
Is my understand regarding llvm-ar correct? Or is there a better way to achieve it?
One not-so-great solution I can think of is compile the library into separate .bc files and write llvm pass which has a predefined hash mapping of the names of functions these bc files. So while compiling, I look for only relavant files and link them using code form llvm-link.
OR. rather than linking the files, only extract the function from the library .bc file and insert it into module of application .bc.
Does any of the idea make sense ? Which one will be doable+preferable?
Thanks a lot,
Ankur