Hi, I intend to participate in Google's Summer of Code this year, so I'd like to bounce another idea around to see what you guys think. (I posted a similar message to cfe-dev just now.) Be warned: this will shock you. It may even horrify you. 1. Implement a 16-bit x86 backend. (*Chris recoils in horror*) Yeah, I know 16-bit x86 is dead, but I find it interesting for historical purposes (and also because the Wine project wants a 16-bit compiler to make 16-bit regression tests :). Besides, then we can have a 16-bit assembler, and we won't need GAS anymore to build boot loaders and the like. Chip
On Mar 22, 2010, at 1:27 PM, Charles Davis wrote:> Hi, > > I intend to participate in Google's Summer of Code this year, so I'd > like to bounce another idea around to see what you guys think. (I posted > a similar message to cfe-dev just now.) Be warned: this will shock you. > It may even horrify you. > > 1. Implement a 16-bit x86 backend. (*Chris recoils in horror*) Yeah, I/me recoils.> know 16-bit x86 is dead, but I find it interesting for historical > purposes (and also because the Wine project wants a 16-bit compiler to > make 16-bit regression tests :). Besides, then we can have a 16-bit > assembler, and we won't need GAS anymore to build boot loaders and the like.I'd really rather not do this. There is a high maintenance cost to having backends in the tree (every codegen change requires updating all backends). Adding stuff that noone uses and can barely test is not goodness. -Chris
On 3/22/10 4:37 PM, Chris Lattner wrote:> > On Mar 22, 2010, at 1:27 PM, Charles Davis wrote: > >> Hi, >> >> I intend to participate in Google's Summer of Code this year, so I'd >> like to bounce another idea around to see what you guys think. (I posted >> a similar message to cfe-dev just now.) Be warned: this will shock you. >> It may even horrify you. >> >> 1. Implement a 16-bit x86 backend. (*Chris recoils in horror*) Yeah, I > > /me recoils.I knew you would :)> >> know 16-bit x86 is dead, but I find it interesting for historical >> purposes (and also because the Wine project wants a 16-bit compiler to >> make 16-bit regression tests :). Besides, then we can have a 16-bit >> assembler, and we won't need GAS anymore to build boot loaders and the like. > > I'd really rather not do this. There is a high maintenance cost to having backends in the tree (every codegen change requires updating all backends). Adding stuff that noone uses and can barely test is not goodness.As you can tell, I figured this would be your response. So, I guess I'll maintain it privately if I ever need it. Or, perhaps, I could extend the existing x86 backend to support 16-bit. It already supports 32-bit and 64-bit. But then again, I get the feeling that you don't like that, either. Chip
> There is a high maintenance cost to having backends in the tree (every > codegen change requires updating all backends). Adding stuff that > noone uses and can barely test is not goodness.So, proposing a backend for an unpopular architecture is not a good idea for GSoC project in general?
On Mar 22, 2010, at 4:34 PM, Nick Frolov wrote:>> There is a high maintenance cost to having backends in the tree (every >> codegen change requires updating all backends). Adding stuff that >> noone uses and can barely test is not goodness. > > So, proposing a backend for an unpopular architecture is not a good idea > for GSoC project in general?We generally prefer for GSoC projects that are useful to a broad range of people or that opens llvm to a new community. A proposal that implements something that no one will use is highly unlikely to be accepted. -Chris
罗勇刚(Yonggang Luo)
2010-Mar-26 08:30 UTC
[LLVMdev] Summer of Code idea -- detecting undefined behavior
I know pc-lint is working fine on detecting some nasty coding fault. But is it illegal implement it in clang? And also there is so much other tools for code analyze:) 2010/3/26, yiqiuping1986 <yiqiuping1986 at 126.com>:> 呵呵,不急,还有一学期的时间。 > > > 2010-03-26 > > > > yiqiuping1986 > > > > 发件人: 罗勇刚(Yonggang Luo) > 发送时间: 2010-03-26 15:05:33 > 收件人: yiqiuping1986 > 抄送: > 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior > > 我没有找到工作,很杯具。 > 2010/3/26, yiqiuping1986 <yiqiuping1986 at 126.com>: >> 没有呢,我还有几年毕业!你应该已经签了吧,呵呵!去哪儿啦! >> >> >> 2010-03-26 >> >> >> >> yiqiuping1986 >> >> >> >> 发件人: 罗勇刚(Yonggang Luo) >> 发送时间: 2010-03-26 14:38:04 >> 收件人: yiqiuping1986 >> 抄送: >> 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior >> >> 你在找工作么? >> 2010/3/26, yiqiuping1986 <yiqiuping1986 at 126.com>: >>> 呵呵,没关系,工作也挺好的! >>> >>> >>> 2010-03-26 >>> >>> >>> >>> yiqiuping1986 >>> >>> >>> >>> 发件人: 罗勇刚(Yonggang Luo) >>> 发送时间: 2010-03-26 13:56:02 >>> 收件人: yiqiuping1986 >>> 抄送: >>> 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior >>> >>> 我没有读研了,所以似乎无法参与此次gsoc了。 >>> 2010/3/26, yiqiuping1986 <yiqiuping1986 at 126.com>: >>>> 呵呵,这样啊! >>>> 你也想参加这次的GSoC是吗?你工作还是读研啊? >>>> >>>> >>>> 2010-03-26 >>>> >>>> >>>> >>>> yiqiuping1986 >>>> >>>> >>>> >>>> 发件人: 罗勇刚(Yonggang Luo) >>>> 发送时间: 2010-03-26 12:39:52 >>>> 收件人: yiqiuping1986 >>>> 抄送: >>>> 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior >>>> >>>> 我是南京航空航天大学的,大四了,不过跟你一般大年纪。 >>>> 2010/3/25, yiqiuping1986 <yiqiuping1986 at 126.com>: >>>>> 呵呵,好像是呢!你是学生吗,什么学校的啊? >>>>> >>>>> >>>>> 2010-03-25 >>>>> >>>>> >>>>> >>>>> yiqiuping1986 >>>>> >>>>> >>>>> >>>>> 发件人: 罗勇刚(Yonggang Luo) >>>>> 发送时间: 2010-03-25 17:07:07 >>>>> 收件人: yiqiuping1986 >>>>> 抄送: >>>>> 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior >>>>> >>>>> 有意思,我发现最近越来越多的国内人才关注这个项目了。 >>>>> 2010/3/25, yiqiuping1986 <yiqiuping1986 at 126.com>: >>>>>> 呵呵,是的呢! >>>>>> >>>>>> >>>>>> 2010-03-25 >>>>>> >>>>>> >>>>>> >>>>>> yiqiuping1986 >>>>>> >>>>>> >>>>>> >>>>>> 发件人: 罗勇刚(Yonggang Luo) >>>>>> 发送时间: 2010-03-25 15:47:03 >>>>>> 收件人: yiqiuping1986 >>>>>> 抄送: >>>>>> 主题: Re: [LLVMdev] Summer of Code idea -- detecting undefined behavior >>>>>> >>>>>> 你在中科院? >>>>>> 2010/3/25, yiqiuping1986 <yiqiuping1986 at 126.com>: >>>>>>> Hi, dear LLVMers >>>>>>> >>>>>>> I am Qiuping Yi. I am interested in John's SoC project idea, >>>>>>> developing >>>>>>> Clang's support for detecting undefined behaviors in C/C++, and hope >>>>>>> John >>>>>>> to be my mentor. >>>>>>> >>>>>>> I wish to implement detecting some undefined behaivors ranging from >>>>>>> easy (such as detecting divide by zero) to rather troublesome ones >>>>>>> (such as detecting references to out-of-scope automatic variables). >>>>>>> >>>>>>> I know well about C/C++, and I major in program analysis and >>>>>>> verification. >>>>>>> >>>>>>> Now I am a grade-two master student of Institute of Software Chinese >>>>>>> Academy of Sciences, Beijing, China. I always pay close attention to >>>>>>> many >>>>>>> compiler optimization technologies. Now I also attend another >>>>>>> project >>>>>>> based on LLVM, in which I need to implement detecting whether the >>>>>>> subscript >>>>>>> is out of the bounds of arrays. >>>>>>> >>>>>>> I hope I can have a chance to make some contribution to LLVM and >>>>>>> Clang. >>>>>>> >>>>>>> Qiuping Yi >>>>>>> >>>>>>> >>>>>>> 2010-03-25 >>>>>>> >>>>>>> >>>>>>> >>>>>>> yiqiuping1986 >>>>>>> >>>>>>> >>>>>>> >>>>>>> 发件人: John Regehr >>>>>>> 发送时间: 2010-03-23 08:43:21 >>>>>>> 收件人: llvmdev >>>>>>> 抄送: >>>>>>> 主题: [LLVMdev] Summer of Code idea -- detecting undefined behavior >>>>>>> >>>>>>> Is anyone interested in a SoC project to further develop Clang's >>>>>>> support >>>>>>> for detecting undefined behaviors in C/C++? >>>>>>> This is actually a collection of many smaller projects ranging from >>>>>>> very >>>>>>> easy (detecting divide by zero) to rather nasty (detecting >>>>>>> references >>>>>>> to >>>>>>> out-of-scope automatic variables). >>>>>>> If someone does this, I'm happy to help mentor, provide test cases, >>>>>>> etc. >>>>>>> If done well, this would be a relatively high-impact project. It >>>>>>> would >>>>>>> catch more errors than valgrind, be faster, and provide much better >>>>>>> error >>>>>>> messages. >>>>>>> John Regehr >>>>>>> _______________________________________________ >>>>>>> LLVM Developers mailing list >>>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>>>>> >>>>>> -- >>>>>> 从我的移动设备发送 >>>>>> 此致 >>>>>> 礼 >>>>>> 罗勇刚 >>>>>> Yours >>>>>> sincerely, >>>>>> Yonggang Luo >>>>>> >>>>> -- >>>>> 从我的移动设备发送 >>>>> 此致 >>>>> 礼 >>>>> 罗勇刚 >>>>> Yours >>>>> sincerely, >>>>> Yonggang Luo >>>>> >>>> -- >>>> 从我的移动设备发送 >>>> 此致 >>>> 礼 >>>> 罗勇刚 >>>> Yours >>>> sincerely, >>>> Yonggang Luo >>>> >>> -- >>> 从我的移动设备发送 >>> 此致 >>> 礼 >>> 罗勇刚 >>> Yours >>> sincerely, >>> Yonggang Luo >>> >> -- >> 从我的移动设备发送 >> 此致 >> 礼 >> 罗勇刚 >> Yours >> sincerely, >> Yonggang Luo >> > -- > 从我的移动设备发送 > 此致 > 礼 > 罗勇刚 > Yours > sincerely, > Yonggang Luo >-- 从我的移动设备发送 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo
John Regehr
2010-Mar-30 14:37 UTC
[LLVMdev] Summer of Code idea -- detecting undefined behavior
On Fri, 26 Mar 2010, ???(Yonggang Luo) wrote:> I know pc-lint is working fine on detecting some nasty coding fault. > But is it illegal implement it in clang? And also there is so much > other tools for code analyze:)PC-Lint is a static analyzer; here we're talking about modifying clang to add dynamic checks that catch undefined behavior just before it happens. John
Apparently Analagous Threads
- [LLVMdev] Summer of Code idea -- detecting undefined behavior
- [LLVMdev] Summer of Code ideas
- [LLVMdev] summer of code idea— update the SAFECode project to the new LLVM API
- [LLVMdev] summer of code idea — checking bounds overflow bugs
- [LLVMdev] summer of code idea— update the SAFECode project to the new LLVM API