Hi, I'm Alex, and last summer I was working on the code coverage support for pgo for LLVM and clang at Apple. I'm currently interning at Apple again, and I'm planning to work on a project that was suggested to me by Bob Wilson. I plan on developing a text-based, human readable format that allows LLVM to serialize the machine level IR (The data structures like MachineFunction, etc. from CodeGen). The motivation for this project is that it will enable easier testing of the CodeGen passes, and will allow developers to run tests that invoke just a single CodeGen pass, or that start from a specific pass (llc's -start-after option). I would be interested in hearing from other people who might be working on a similar project or have ideas in which direction this project should go. I will be posting an initial proposal for the format in a couple of days. Thanks, Alex -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150421/a589b0df/attachment.html>
----- Original Message -----> From: "Alex L" <arphaman at gmail.com> > To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu> > Sent: Tuesday, April 21, 2015 12:12:40 PM > Subject: [LLVMdev] Machine Level IR text-based serialization > > > > Hi, I'm Alex, and last summer I was working on the code coverage > support for pgo for LLVM and clang at Apple. I'm currently interning > at Apple again, and I'm planning to work on a project that was > suggested to me by Bob Wilson. > I plan on developing a text-based, human readable format that allows > LLVM to serialize the machine level IR (The data structures like > MachineFunction, etc. from CodeGen). The motivation for this project > is that it will enable easier testing of the CodeGen passes, and > will allow developers to run tests that invoke just a single CodeGen > pass, or that start from a specific pass (llc's -start-after > option).Great! This is very badly needed.> I would be interested in hearing from other people who might be > working on a similar project or have ideas in which direction this > project should go. I will be posting an initial proposal for the > format in a couple of days. Thanks, AlexMy one requirement is that it support references to the IR (we still need IR-level aliasing analysis during CodeGen, and so the MachineMemOperand data structures need to be available and point to the right things). Thanks again, Hal> _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory
On 04/21/2015 10:12 AM, Alex L wrote:> Hi, > I'm Alex, and last summer I was working on the code coverage support for pgo for LLVM and clang at Apple. > I'm currently interning at Apple again, and I'm planning to work on a project that was suggested to me by Bob Wilson. > I plan on developing a text-based, human readable format that allows LLVM to > serialize the machine level IR (The data structures like MachineFunction, etc. from CodeGen). > The motivation for this project is that it will enable easier testing of the CodeGen passes, > and will allow developers to run tests that invoke just a single CodeGen pass, > or that start from a specific pass (llc's -start-after option).This is very needed. Thank you for working on this.> I would be interested in hearing from other people who might be working on a similar > project or have ideas in which direction this project should go. I will be posting > an initial proposal for the format in a couple of days.Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150421/e67984ec/attachment.html>
+1, I'd love this to happen! On Tue, 21 Apr 2015 at 22:17, Philip Reames <listmail at philipreames.com> wrote:> > On 04/21/2015 10:12 AM, Alex L wrote: > > Hi, > > I'm Alex, and last summer I was working on the code coverage support for pgo for LLVM and clang at Apple. > > I'm currently interning at Apple again, and I'm planning to work on a project that was suggested to me by Bob Wilson. > > I plan on developing a text-based, human readable format that allows LLVM to > > serialize the machine level IR (The data structures like MachineFunction, etc. from CodeGen). > > The motivation for this project is that it will enable easier testing of the CodeGen passes, > > and will allow developers to run tests that invoke just a single CodeGen pass, > > or that start from a specific pass (llc's -start-after option). > > This is very needed. Thank you for working on this. > > I would be interested in hearing from other people who might be working on a similar > > project or have ide > as in which direction this project should go. I will be posting > > an initial proposal for the format in a couple of days. > > > > Philip > > _______________________________________________ > 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/20150421/a9f22dd1/attachment.html>
bevinh at sics.se
2015-Apr-27 08:37 UTC
[LLVMdev] Machine Level IR text-based serialization
Hi Alex,> I plan on developing a text-based, human readable format that allows > LLVM to > serialize the machine level IR (The data structures like > MachineFunction, etc. from CodeGen). > > The motivation for this project is that it will enable easier testing > of the CodeGen passes, > and will allow developers to run tests that invoke just a single > CodeGen pass, > or that start from a specific pass (llc's -start-after option). > > I would be interested in hearing from other people who might be > working on a similar > project or have ideas in which direction this project should go. I > will be posting > an initial proposal for the format in a couple of days.I have been working on a textual Machine IR for the past few months to facilitate both testing and use of the internal Machine IR in external tools related to code generation. The solution we've employed isn't nearly feature complete and it's missing a lot of data, including type data and globals/metadata from the IR, but it's capable of performing the task you describe using -start-after, as well as printing the Machine IR after a given pass with -stop-after. Unfortunately I can't share any code as this is (currently) a closed project, but I'd be very interested in hearing about/discussing the approach to this problem and will be looking forward to hearing more about this in the future!
Krzysztof Parzyszek
2015-Apr-27 18:26 UTC
[LLVMdev] Machine Level IR text-based serialization
On 4/21/2015 12:12 PM, Alex L wrote:> > I plan on developing a text-based, human readable format that allows LLVM to > serialize the machine level IR (The data structures like MachineFunction, etc.> from CodeGen). That is fantastic! -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
2015-04-27 1:37 GMT-07:00 <bevinh at sics.se>:> Hi Alex, > > I plan on developing a text-based, human readable format that allows LLVM >> to >> serialize the machine level IR (The data structures like >> MachineFunction, etc. from CodeGen). >> >> The motivation for this project is that it will enable easier testing >> of the CodeGen passes, >> and will allow developers to run tests that invoke just a single CodeGen >> pass, >> or that start from a specific pass (llc's -start-after option). >> >> I would be interested in hearing from other people who might be >> working on a similar >> project or have ideas in which direction this project should go. I >> will be posting >> an initial proposal for the format in a couple of days. >> > > I have been working on a textual Machine IR for the past few months to > facilitate both testing and use of the internal Machine IR in external > tools related to code generation. > > The solution we've employed isn't nearly feature complete and it's missing > a lot of data, including type data and globals/metadata from the IR, but > it's > capable of performing the task you describe using -start-after, as well as > printing the Machine IR after a given pass with -stop-after. > > Unfortunately I can't share any code as this is (currently) a closed > project, but I'd be very interested in hearing about/discussing the > approach > to this problem and will be looking forward to hearing more about this in > the future! >That's great that you've got it working! I would be interested in hearing more details about the format and the approach that you chose. Btw, my proposal is now up: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-April/084932.html. It's quite high level right now, but I would be interested in hearing your thoughts on the proposed format. Cheers, Alex. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150428/50411f6a/attachment.html>