Alireza.Moshtaghi at microchip.com
2008-Jan-30 17:53 UTC
[LLVMdev] C embedded extensions and LLVM
Thank you Chris, That is great news... So his modifications are in llvm-2.2? How has Christopher tested them? Are there attributes or intrinsics that I can also use? A. -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Chris Lattner Sent: Tuesday, January 29, 2008 9:23 PM To: LLVM Developers Mailing List Subject: Re: [LLVMdev] C embedded extensions and LLVM On Jan 29, 2008, at 9:56 AM, <Alireza.Moshtaghi at microchip.com> <Alireza.Moshtaghi at microchip.com > wrote:> Christopher, > It has been a while since we last talked about C embedded extensions > in > LLVM, I was moving back and froth from project to project and didn't > get > a chance to follow up. I was wondering if you have made any changes to > LLVM IR and if so what has been added. And how can I contribute?My understanding is that Christopher's patches have all landed in llvm, so the IR is capable of capturing and propagating the address space information. However, we have no front-end that correctly generates this. My understanding is that Christopher has patches in progress to add this to clang, but I'm not sure what the state of these is. It would be great to get have help getting this into clang. -Chris _______________________________________________ LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Alireza, I have added full support for embedded C address spaces to the LLVM IR (see http://llvm.org/docs/LangRef.html#t_pointer). I have not added any support for the fractional types and their operators, though I think this would simply require adding the necessary intrinsics, which is one of the easier things to add to LLVM. Given that LLVM takes the approach of modeling these kinds of type differences as differing operations rather than different types in it's type system it should be fairly straight forward to add them if needed. As far as front-end support goes, I do have changes to my local clang tree which add attributes for address spaces which have been working for my purposes. However since my initial work my free time has become more scarce and I haven't had the opportunity to clean up the patches and submit them back to the tree. The lack of a public back end with which to consume the generated IR with embedded C extensions and validate the front end is also a problem. Without such a platform it will be difficult for the LLVM project to guarantee that the functionality stays working going forward. Do you mind sharing more details about your project, particularly how soon you need the front end support and if you would be able to provide a way (ideally contributed back to LLVM) to regress these features going forward? -- Christopher Lamb On Jan 30, 2008, at 9:53 AM, <Alireza.Moshtaghi at microchip.com> <Alireza.Moshtaghi at microchip.com> wrote:> Thank you Chris, > That is great news... > So his modifications are in llvm-2.2? > How has Christopher tested them? Are there attributes or intrinsics > that > I can also use? > > A. > > -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Chris Lattner > Sent: Tuesday, January 29, 2008 9:23 PM > To: LLVM Developers Mailing List > Subject: Re: [LLVMdev] C embedded extensions and LLVM > > On Jan 29, 2008, at 9:56 AM, <Alireza.Moshtaghi at microchip.com> > <Alireza.Moshtaghi at microchip.com >> wrote: >> Christopher, >> It has been a while since we last talked about C embedded extensions >> in >> LLVM, I was moving back and froth from project to project and didn't >> get >> a chance to follow up. I was wondering if you have made any >> changes to >> LLVM IR and if so what has been added. And how can I contribute? > > My understanding is that Christopher's patches have all landed in > llvm, so the IR is capable of capturing and propagating the address > space information. However, we have no front-end that correctly > generates this. My understanding is that Christopher has patches in > progress to add this to clang, but I'm not sure what the state of > these is. It would be great to get have help getting this into clang. > > -Chris > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > 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/20080130/061fbd92/attachment.html>
Alireza.Moshtaghi at microchip.com
2008-Feb-01 17:28 UTC
[LLVMdev] C embedded extensions and LLVM
Christopher, Thank you for all the work :-) Regarding the regression testing, it is in our plan to contribute into LLVM. The current state of our project is not in the form that we can do this at this time though, but I'm hoping that we can get some minimal functionality into LLVM before LLVM 2.3 (at most LLVM 2.4) release. Looks like you have also (at least on your local project) taken care of the front-end. We are currently working on normal address space, but probably in the next month we will start working on the support for rom access. So the front-end modifications are not necessary right away but it'd be nice to have them before that time. In the mean time, I will take a look and try to understand your modifications, and I'm sure that I'll be back with some questions. Regards A. ________________________________ From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Christopher Lamb Sent: Wednesday, January 30, 2008 10:59 PM To: LLVM Developers Mailing List Subject: Re: [LLVMdev] C embedded extensions and LLVM Alireza, I have added full support for embedded C address spaces to the LLVM IR (see http://llvm.org/docs/LangRef.html#t_pointer). I have not added any support for the fractional types and their operators, though I think this would simply require adding the necessary intrinsics, which is one of the easier things to add to LLVM. Given that LLVM takes the approach of modeling these kinds of type differences as differing operations rather than different types in it's type system it should be fairly straight forward to add them if needed. As far as front-end support goes, I do have changes to my local clang tree which add attributes for address spaces which have been working for my purposes. However since my initial work my free time has become more scarce and I haven't had the opportunity to clean up the patches and submit them back to the tree. The lack of a public back end with which to consume the generated IR with embedded C extensions and validate the front end is also a problem. Without such a platform it will be difficult for the LLVM project to guarantee that the functionality stays working going forward. Do you mind sharing more details about your project, particularly how soon you need the front end support and if you would be able to provide a way (ideally contributed back to LLVM) to regress these features going forward? -- Christopher Lamb On Jan 30, 2008, at 9:53 AM, <Alireza.Moshtaghi at microchip.com> <Alireza.Moshtaghi at microchip.com> wrote: Thank you Chris, That is great news... So his modifications are in llvm-2.2? How has Christopher tested them? Are there attributes or intrinsics that I can also use? A. -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Chris Lattner Sent: Tuesday, January 29, 2008 9:23 PM To: LLVM Developers Mailing List Subject: Re: [LLVMdev] C embedded extensions and LLVM On Jan 29, 2008, at 9:56 AM, <Alireza.Moshtaghi at microchip.com> <Alireza.Moshtaghi at microchip.com wrote: Christopher, It has been a while since we last talked about C embedded extensions in LLVM, I was moving back and froth from project to project and didn't get a chance to follow up. I was wondering if you have made any changes to LLVM IR and if so what has been added. And how can I contribute? My understanding is that Christopher's patches have all landed in llvm, so the IR is capable of capturing and propagating the address space information. However, we have no front-end that correctly generates this. My understanding is that Christopher has patches in progress to add this to clang, but I'm not sure what the state of these is. It would be great to get have help getting this into clang. -Chris _______________________________________________ LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev _______________________________________________ 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/20080201/52a7fbc1/attachment.html>