News for hackers. Stuff that matters.
Re:Rustc_codegen_GCC can now bootstrap rustc by roblabla on Friday April 01, 2022 @09:47AM (#30878015)
I don't see why the GCC codegen would end up with major performance improvements - my understanding is that GCC and LLVM are basically on par with performance, with some workloads being a tiny bit better in one or the other. Is that wrong?
Re:Rustc_codegen_GCC can now bootstrap rustc by mhh__ on Friday April 01, 2022 @11:05AM (#30878836)
GCC is still basically better overall but it's basically chaotic.

LLVM seems to have better defaults for branch-y compiler code, but GCC has a lot of tricks up its sleeve that LLVM hasn't got.

FWIW though I think GCC is really playing with fire when it comes to it's future - the mailing list approach to development deters new contributors, the testing infrastructure is quite arcane, etc.

GCC should be an aspirational tool that people want to contribute to but aside from a few core contributors it feels like its basically on life support in some regards. And I say that as someone who actively tries to use it.

Its core competencies are pretty good but it's (mostly stallman, to be blunt) legacy has made it very brittle at its extremities e.g. LTO explodes on me way too often.

Re:Rustc_codegen_GCC can now bootstrap rustc by mahkoh on Friday April 01, 2022 @12:10PM (#30879746)
>FWIW though I think GCC is really playing with fire when it comes to it's future - the mailing list approach to development deters new contributors, the testing infrastructure is quite arcane, etc.

And LLVM is better? At the start of last year I found and fixed a small bug in LLVM[1]. I submitted the fix via their Phabricator instance and it was approved by project members after a few days. As per the contributor guide, I then asked for a project member to commit my patch to the LLVM repository. This is because in Phabricator there does not appear to be an automatic way to commit approved changes. A project member has to manually take the patch and apply it.

A few weeks ago I tried to see what happened to my patch and found that it had never been applied. So basically my work and that of the reviewers was simply lost because of their infrastructure.

[1] https://reviews.llvm.org/D96334

Re:Rustc_codegen_GCC can now bootstrap rustc by jmorse2 on Friday April 01, 2022 @01:16PM (#30880677)
(NB: the developers guide says to ping if there's no activity for a week)
Re:Rustc_codegen_GCC can now bootstrap rustc by mhh__ on Friday April 01, 2022 @04:03PM (#30882693)
I get that LLVM can be bad too but at least there's a phabricator at all.
Re:Rustc_codegen_GCC can now bootstrap rustc by stjohnswarts on Friday April 01, 2022 @01:10PM (#30880605)
Did you try again? I'm not discounting your efforts but n=1 is not an optimal way to determine that LLVM change/bugfix process is "broken".
Re:Rustc_codegen_GCC can now bootstrap rustc by ______-_-______ on Friday April 01, 2022 @11:06AM (#30878852)
Up until now the rust compiler has been finely tuned for LLVM. I would expect the GCC backend to perform worse initially, then improve over time depending on how much use it gets.
Re:Rustc_codegen_GCC can now bootstrap rustc by mhh__ on Friday April 01, 2022 @04:03PM (#30882689)
There isn't actually that much that a frontend author can do to tune it beyond exposing the right invariants.