[llvm-dev] What was the IR made for precisely?

Chris Lattner via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 28 12:13:06 PDT 2016


> On Oct 28, 2016, at 1:21 AM, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
> 
> On 28 Oct 2016, at 02:43, ジョウェットジェームス <b3i4zz1gu1 at docomo.ne.jp> wrote:
>> 
>> I would need to sum up all the rules and ABIs and sizes for all the targets I need and generate different IR for each, am I correct?
> 
> This is a long-known limitation of LLVM IR and there are a lot of proposals to fix it.  It would be great if the LLVM Foundation would fund someone to do the work, as it isn’t a sufficiently high priority for any of the large LLVM consumers and would make a huge difference to the utility of LLVM for a lot of people.
…
> I think it would be difficult to do it within the timescale of the GSoC unless the student was already an experienced LLVM developer.  It would likely involve designing some good APIs (difficult!), refactoring a bunch of Clang code, and creating a new LLVM library.  I’ve not seen a GSoC project on this scale succeed in any of the open source projects that I’ve been involved with.  If we had a good design doc and a couple of engaged mentors then it might stand a chance.

Is there a specific design that you think would work?  One of the major problems with this sort of proposal is that you need the entire clang type system to do this, which means it depends on a huge chunk of the Clang AST.  At that point, this isn’t a small library that clang uses, this is a library layered on top of Clang itself.

-Chris


More information about the llvm-dev mailing list