<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Feb 1, 2008, at 9:28 AM, <<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a>> <<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"> <div class="Section1"><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Christopher,</span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Thank you for all the work </span></font><font size="2" color="navy" face="Wingdings"><span style="font-size:10.0pt;font-family: Wingdings;color:navy">J</span></font></p></div></blockquote><div>I'm glad you're finding it useful.</div><blockquote type="cite"><div class="Section1"><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">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.</span></font></p></div></blockquote><div>Sounds good!</div><blockquote type="cite"><div class="Section1"><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">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.</span></font></p></div></blockquote><div>I've just submitted my modifications to clang to support address space qualifiers. The work is rather experimental at the moment, but hopefully you will find it a useful starting point.</div><blockquote type="cite"><div class="Section1"><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"> </span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">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.</span></font></p><div><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"> </span></font><br class="khtml-block-placeholder"></div><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Regards</span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">A.</span></font></p> <div> <div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <hr size="2" width="100%" align="center" tabindex="-1"> </span></font></div><p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt; font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma"> llvmdev-bounces@cs.uiuc.edu [<a href="mailto:llvmdev-bounces@cs.uiuc.edu">mailto:llvmdev-bounces@cs.uiuc.edu</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Christopher Lamb<br> <b><span style="font-weight:bold">Sent:</span></b> Wednesday, January 30, 2008 10:59 PM<br> <b><span style="font-weight:bold">To:</span></b> LLVM Developers Mailing List<br> <b><span style="font-weight:bold">Subject:</span></b> Re: [LLVMdev] C embedded extensions and LLVM</span></font></p> </div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Alireza, </span></font></p> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">I have added full support for embedded C address spaces to the LLVM IR (see <a href="http://llvm.org/docs/LangRef.html#t_pointer">http://llvm.org/docs/LangRef.html#t_pointer</a>). 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.</span></font></p> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">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. </span></font></p> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">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.</span></font></p> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">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?</span></font></p> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">--</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Christopher Lamb</span></font></p> </div> </div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">On Jan 30, 2008, at 9:53 AM, <<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a>> <<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a>> wrote:</span></font></p> </div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><br> <br> </span></font></p> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Thank you Chris,</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">That is great news...</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">So his modifications are in llvm-2.2?</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">How has Christopher tested them? Are there attributes or intrinsics that</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">I can also use?</span></font></p> </div> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">A.<span class="apple-converted-space"> </span></span></font></p> </div> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">-----Original Message-----</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">From: <a href="mailto:llvmdev-bounces@cs.uiuc.edu">llvmdev-bounces@cs.uiuc.edu</a> [<a href="mailto:llvmdev-bounces@cs.uiuc.edu">mailto:llvmdev-bounces@cs.uiuc.edu</a>]</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">On Behalf Of Chris Lattner</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Sent: Tuesday, January 29, 2008 9:23 PM</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">To: LLVM Developers Mailing List</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Subject: Re: [LLVMdev] C embedded extensions and LLVM</span></font></p> </div> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">On Jan 29, 2008, at 9:56 AM, <<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a>></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><<a href="mailto:Alireza.Moshtaghi@microchip.com">Alireza.Moshtaghi@microchip.com</a><span class="apple-converted-space"> </span></span></font></p> </div> <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt" type="cite"> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">wrote:</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Christopher,</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">It has been a while since we last talked about C embedded extensions <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">in</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">LLVM, I was moving back and froth from project to project and didn't <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">get</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">a chance to follow up. I was wondering if you have made any changes to</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">LLVM IR and if so what has been added. And how can I contribute?</span></font></p> </div> </blockquote> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">My understanding is that Christopher's patches have all landed in <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">llvm, so the IR is capable of capturing and propagating the address <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">space information.<span class="apple-converted-space"> </span>However, we have no front-end that correctly <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">generates this.<span class="apple-converted-space"> </span>My understanding is that Christopher has patches in <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">progress to add this to clang, but I'm not sure what the state of <span class="apple-converted-space"> </span></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">these is.<span class="apple-converted-space"> </span>It would be great to get have help getting this into clang.</span></font></p> </div> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">-Chris</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">_______________________________________________</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">LLVM Developers mailing list</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <span class="apple-converted-space"> </span><a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></span></font></p> </div> <div style="min-height: 14px"><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">_______________________________________________</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">LLVM Developers mailing list</span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <span class="apple-converted-space"> </span><a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></span></font></p> </div> </div> <div><span style="border-spacing: 0px 0px;text-align:auto;-khtml-text-decorations-in-effect: none; -apple-text-size-adjust: auto;orphans: 2;widows: 2;word-spacing:0px"><span style="border-spacing: 0px 0px;text-align:auto;-khtml-text-decorations-in-effect: none; -apple-text-size-adjust: auto;orphans: 2;widows: 2;word-spacing:0px"><div><span class="apple-style-span"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"> </span></font></span><br class="khtml-block-placeholder"></div> <div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"><br> <br> </span></font></p> </span></span></div><div><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> </span></font><br class="khtml-block-placeholder"></div> </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">LLVM Developers mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <span class="Apple-converted-space"> </span><a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div> </blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>--</div><div>Christopher Lamb</div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></span> </div><br></body></html>