[llvm-dev] Getting LLVM Instructions

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 20 10:07:37 PDT 2020


if you're trying to serialize LLVM IR and read it back again later -
yeah, probably best to use th binary searialization rather than the
textual. If I were doing this I'd try building something using clang
with -emit-llvm (that'll produce LLVM IR bitcode in the .o file) and
debug that to see which APIs are used to do that.

On Mon, Jul 20, 2020 at 3:19 AM Yugesh Kothari via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> I am working on a project where I need to get a list of llvm Functions that were called during an execution (for futher analysis).
> To do this I have maintained a vector<llvm:: Function*> which I print out to a .ll file at the end. However this takes a lot of time since the number of call Instructions is HUGE.
> I feel that the bottleneck is the conversion from llvm:: Function to std::string
>
> How can I speed this up?
>
> I don't necessarily need it in .ll format, if there is a way to dump the entire llvm::Function object as a byte stream to a .dat file and read it back as objects in a separate script, that would work too. I'm not sure how to do this (tried few things didn't work), any help would be appreciated!
>
> Thanks!
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list