[llvm-dev] Passes interaction running on two different IRs

Nemanja Ivanovic via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 13 10:21:26 PDT 2018


Your use case seems to be somewhat similar to what LTO does, so it may be
possible to hack something up in LTO. Perhaps you'd need to have a custom
pass pipeline that would accomplish what you need. Since you say you can't
link the two files, I imagine you'd need to make sure you don't emit code
from one of them in the LTO link step or something along those lines. In
any case, I'm not very familiar with LTO or ThinLTO, but it just seems like
a good fit for what you're after.



On Tue, Mar 13, 2018 at 1:03 AM, Yingtong Liu via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
>
> I am trying to run two llvm passes on two different IRs to finish my
> analysis. These two passes need to exchange information during their
> excecution. I am doing so because I can't link the two IRs I want to
> analyze together as a big IR and run my llvm pass on it.
>
> What I want to do specifically is:
>
> The first IR will call the functions in the second IR. Whenver there is a
> function call in the first IR to the second IR, the first pass will evoke
> the second pass on the second IR and give it some information as input.
> When the second pass is finished analysing its IR, it will return some
> information to the first pass.
>
> Basically, I want to do the same analysis for two IRs just like they were
> linked together. Since I can't actually link them togther, I need to manage
> the communication between two passes running on two IRs by myself.
>
> I feel like to do so, I need to write another program to control these two
> passes, pretty like what the opt program does. But I am not sure if it is
> durable and feel overwhemled to start. Anyone can give me any suggestions
> about this? Thank you very much.
>
> Best,
> Ying
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180313/22e3dfe3/attachment.html>


More information about the llvm-dev mailing list