On Sun, Aug 25, 2013 at 11:01 PM, Ben Lippmeier <b...@ouroborus.net> wrote:
> > On 23/08/2013, at 3:52 AM, Ryan Newton wrote: > > > Well, what's the long term plan? Is the LLVM backend going to become > the only backend at some point? > > I wouldn't argue against ditching the NCG entirely. It's hard to justify > fixing NCG performance problems when fixing them won't make the NCG faster > than LLVM, and everyone uses LLVM anyway. > This is not true. I don't believe I've ever seen the LLVM backend compile more quickly than the NCG, it usually takes significantly longer, and for at least some (most?) projects produces worse output. I don't have anything against the LLVM backend in principle*, but at present it's not as good as the NCG for us. We're going to need more and more SIMD support when processors supporting > the Larrabee New Instructions (LRBni) appear on people's desks. At that > time there still won't be a good enough reason to implement those > instructions in the NCG. How about that the NCG is better than LLVM? ;) In all seriousness, I'm quite sympathetic to the desire to support only one backend, and LLVM can offer a lot (SIMD fallbacks, target architectures, etc). But at present, in my experience the LLVM backend doesn't really live up to what I've seen claimed for it. Given that, I think it's a bit premature to talk of dropping the NCG. My $0.02, John [1] Ok, I do have one issue with LLVM. It's always struck me as very brittle, with a lot of breakages between versions. Given that I just tried ghc -fllvm with LLVM-3.3 and the compiler bailed out due to a bad object file, my impression of brittleness doesn't seem likely to change any time soon. Given that LLVM releases major versions predictably often, I don't know that I want ghc devs spending time chasing after them. But in principle it seems the right thing to do.
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs