<div dir="ltr">Greetings everyone,<div><br></div><div>I currently have a pass (Pass 2) that does some transformations. What I want to do is to have a pass (Pass 1) that runs before Pass 2, collects some IR information, stores it in a data structure and passes the data structure to Pass 2 so that I can use it for specific transformations. I think this can be done with getAnalysisUsage, but I'm not sure how. I would like to know how to do that exactly, if it's possible.</div><div><br></div><div>Another thing, and this is the tricky part, is that I want Pass 1 to run on all the source files I have first before Pass 2 runs and pass a collective data structure to Pass 2. In other words, I want Pass 1 to run across all the modules and source files first, collect information, pass it to Pass 2 then Pass 2 runs. Is there a way to tell LLVM to do this type of "double compilation"?</div><div><br></div><div>Hope I was able to explain this well enough. Please let me know if I wasn't clear or if you have any questions. Thank you very much!<br></div><div><br></div><div>Best regards,</div><div>Mohannad Ismail</div></div>