I'm wondering what the longer term plans are for the C Backend. I understand it's not actively developed, even deprecated. What I'm not clear about is whether it's something that is viewed as non-vital and should just as well go away, or if it's just a low priority. Basically: it's not improving, but is it likely to disappear? Thanks, Kirk
On Nov 5, 2010, at 7:11 AM, Kirk Kelsey wrote:> I'm wondering what the longer term plans are for the C Backend. I understand it's not actively developed, even deprecated. What I'm not clear about is whether it's something that is viewed as non-vital and should just as well go away, or if it's just a low priority. Basically: it's not improving, but is it likely to disappear?I don't know of anyone actively working on it, and that means it isn't likely to improve anytime soon. That said, a saving grace of the C backend is that it is very isolated from the rest of the compiler. That means that there is little reason to rip it out. However, as new features are added to LLVM IR, the C backend *is* likely to get more and more out of date and less and less useful. In short, I don't see a compelling reason to rip it out anytime soon. If it ends up being completely broken for simple programs, it might make sense to remove in the future. -Chris
Chris Lattner <clattner at apple.com> writes:> On Nov 5, 2010, at 7:11 AM, Kirk Kelsey wrote: > >> I'm wondering what the longer term plans are for the C Backend. I >> understand it's not actively developed, even deprecated. What I'm not >> clear about is whether it's something that is viewed as non-vital and >> should just as well go away, or if it's just a low >> priority. Basically: it's not improving, but is it likely to >> disappear? > > I don't know of anyone actively working on it, and that means it isn't likely to improve anytime soon.I have quite a few patches for it queued up. Vector code is a problem since the C backend currently generates aligned vector loads of unaligned data.> In short, I don't see a compelling reason to rip it out anytime soon. > If it ends up being completely broken for simple programs, it might > make sense to remove in the future.There's a big reason to keep it. It's a godsend when trying to bugpoint something where no working llc is available. I've used it quite a lot during AVX development, for example. It's useful for developing any new target. -Dave