[LLVMdev] Fetching the functions in C files (original) (raw)
Eli Bendersky eliben at google.com
Tue Oct 21 17:33:11 PDT 2014
- Previous message: [LLVMdev] Fetching the functions in C files
- Next message: [LLVMdev] Using LLVM on OS X 10.9.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Oct 21, 2014 at 5:32 PM, Eli Bendersky <eliben at google.com> wrote:
On Tue, Oct 21, 2014 at 5:22 PM, Amiir H. Ashouri <_ _amirhossein.ashouri at gmail.com> wrote: Thanks Markus.
Having llvm-as to turn the extracted function.bc file to .ll caused an error saying:
llvm-as is for converting bitcode (.bc) to readable LLVM IR (.ll) llvm-dis is for the other direction I'm sorry, this is exactly reversed. Typo :)
llvm-dis is for .bc --> .ll llvm-as is for .ll --> .bc
Eli
llvm-as-3.4: functionbc:1:1: error: expected top-level entity BC! #AI29bEBB2I (some more binary) This error is just the same error that I received while using llvm-extract on a .c file (not .bc or .ll).
Do I have to include other things in the command ? I mean generating a function.ll without anything as header, Module ID, etc might be wrong. right ? -Amir On Tue, Oct 21, 2014 at 7:51 PM, Markus Timpl <tima0900 at googlemail.com> wrote: You can use llvm-dis to turn .bc files into .ll files. Am 22.10.2014 01:44 schrieb "Amir H. Ashouri" <_ _amirhossein.ashouri at gmail.com>: Thanks for the answer John.
I checked the llvm-extract and it works, but my concern is if the output of the extract could be saved as .ll instead of .bc. Sort of human-readable format so that I can parse it. Otherwise, it is better to parse the foo.ll file right away instead of using the extract tool. Please correct me if I am wrong. Thanks, -Amir On Tue, Oct 21, 2014 at 7:02 PM, John Criswell <jtcriswel at gmail.com> wrote:
On 10/21/14, 5:27 PM, Amir H. Ashouri wrote:
Hello Everyone, Just subscribed to the mailing list. I was wondering how I am going to fetch each functions of a specific source code file (c/c++) using the LLVM framework. For instance, I would like to apply certain passes using llvm-opt on certain functions not the whole file. I would appreciate any hints or idea leading me about the starting point.
You might be able to use the llvm-extract tool to pull out the functions you want into a separate bitcode file and then use opt to optimize them. You'd then need to create a second bitcode file that contains the remaining functions (using llvm-extract again). Finally, you'd take the optimized bitcode file and the bitcode file containing the other functions and link them together using clang and libLTO or the llvm-link tool. Regards, John Criswell Regards, -Amir
LLVM Developers mailing listLLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-- John Criswell Assistant Professor Department of Computer Science, University of Rochesterhttp://www.cs.rochester.edu/u/criswell
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141021/6947ff12/attachment.html>
- Previous message: [LLVMdev] Fetching the functions in C files
- Next message: [LLVMdev] Using LLVM on OS X 10.9.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]