[LLVMdev] Migrate Project Build system to LLVM BitCode
Hassan, Ahmad
ahmad.hassan at sap.com
Thu Jan 17 07:19:36 PST 2013
Hi Swarp,
> clang -g -O2 -o .libs/mergedexe .libs/mergedbc.bc -pthread -Wl,--export-dynamic .libs/lib1.a -lssl -lcrypto -ldl -pthread .libs/lib2.so
Thanks. This works fine. The project that I am migrating is huge and has various massive Makefiles. But I am going to try this 3 step approach to apply passes and compile the code. If that gets too complex then I will move to GoldPlugin.
Thanks.
--Ahmad
-Swarup.
________________________________
From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Hassan, Ahmad [ahmad.hassan at sap.com]
Sent: Thursday, January 17, 2013 7:56 AM
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] Migrate Project Build system to LLVM BitCode
Hi All,
I am migrating a build system of an existing project from 'Object files' based executable generation to 'LLVM Bitcode' files based exe generation and applying OPT pass to LLVM Bitcode. I found out the following 4 step procedure. Please let me know if this is the right procedure or is there any other easy way of doing it. I need to modify 'Makefile' accordingly. I read on some forums about GoldPlugin but I don't know exactly if it would be useful here:
Original Makefile- Object Files based Build/Link Steps:
clang -g -O2 -o .libs/mergedexe file1.o file2.o file3.o -pthread -Wl,--export-dynamic .libs/lib1.a -lssl -ldl -pthread .libs/lib2.so
Proposed Makefile- LLVM Bitcode based Build/Link Steps:
1. llvm-link -o .libs/mergedbc.bc file1.bc file2.bc file3.bc
2. opt -o optmerged.bc -load /path/to/Mypass.so -mypass < mergedbc.bc
3. llc -o .libs/mergedbc.s .libs/mergedbc.bc
4. gcc -g -O2 -o .libs/mergedexe .libs/mergedbc.s -pthread -Wl,--export-dynamic .libs/lib1.a -lssl -lcrypto -ldl -pthread .libs/lib2.so
Thanks.
Ahmad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130117/460245ec/attachment.html>
More information about the llvm-dev
mailing list