[llvm-dev] Inlining functions from multiple assembly files

Ranjani Krishnan via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 23 21:56:34 PDT 2020


Hi,

Thank you very much for your response. I will try doing as you suggested.

On Tue, Jun 23, 2020 at 8:33 PM Robinson, Paul <paul.robinson at sony.com>
wrote:

> Hi Ranjani,
>
>
>
> As nobody else has answered you, I will give it a try, although I am not
> an expert in this area by any means.
>
>
>
> When you say “.s files” what I think of are assembler source text files,
> i.e., machine instructions.  There is no mechanism for supporting inlining
> in that case.  But then you also said they are LLVM IR files, which by
> convention in the LLVM project have a .ll extension.  That’s a different
> story.  I believe the correct tool for merging several IR files into one
> file would be llvm-link; once you have a single IR module, then everything
> would be available for your analysis.
>
>
>
> There might be more clever ways to do this, but I’m not aware of a way to
> extract a single function from one file to merge into another file as a
> separate IR pass.
>
>
>
> Hope this helps,
>
> --paulr
>
>
>
> *From:* llvm-dev <llvm-dev-bounces at lists.llvm.org> *On Behalf Of *Ranjani
> Krishnan via llvm-dev
> *Sent:* Monday, June 22, 2020 2:14 AM
> *To:* llvm-dev at lists.llvm.org
> *Subject:* [llvm-dev] Inlining functions from multiple assembly files
>
>
>
> I am working on developing a method to do some analysis on Ada code. I
> have converted the high level code (multiple Ada files) to the
> corresponding LLVM IR (.s files) using the tool  dragonegg. The structure
> of my code is such that there are function calls across these files. Is
> there any way to inline these function calls? That is if function A in A.s
> calls function B in B.s, can the code for function B be added in A.s using
> some flag or pass in LLVM, like the AlwaysInlinerLegacyPass?
>
>
>
> I need to do the analysis on the .s file, so doing it during linking or
> assembling will not help.
>
>
> --
>
> Thanks,
>
> Ranjani
>


-- 
Thanks,
Ranjani
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200624/78ea90a3/attachment.html>


More information about the llvm-dev mailing list