Several common assumptions about the MOS 6502 processor, and C compilers >targeting it, are now refuted by the current work.
To put it another way, we go to great lengths to
emit code that operates "as if there were stacks", without using stacks at >all. LLVM's sophistication facilitates this; the analyses required are quite >intricate, but most of them are slight modifications to data structures >already available in LLVM.
Hi,
I'm the maintainer of the cc65 compiler you are welcome to consider my >statements biased, but anyway...
Several common assumptions about the MOS 6502 processor, and C compilers >>targeting it, are now refuted by the current work.
I am glad cc65 exists since lots of people have used it
to deliver useful programs.
Yeah, I definitely think that cc65 is the more mature 6502 C compiler, also >considering the community built around it and sample code & tutorials >available.
Especially I personally would actually be happy if an
_actively_maintained_ LLVM based 6502 compiler would outperform cc65 allowing cc65 to retire.
However, a _LOT_ of work went into the elaborated, highly optimized
and well tested cc65 C libraries for many 6502 targets. I personally
would really like to see that work being leveraged by a cc65
successor.
Until the LLVM-MOS is capable of delivering binaries of useful programs, i.e not benchmarks, it may be a little presumptuous to claim just how good the final result will be even if it is very encouraging.
On Friday, October 8, 2021 at 4:13:46 PM UTC-7, David Schmenk wrote:
Until the LLVM-MOS is capable of delivering binaries of useful programs, i.e not benchmarks, it may be a little presumptuous to claim just how good the final result will be even if it is very encouraging.Perhaps we must define the utility of a compiler then.
We've chosen to benchmark improvements to LLVM-MOS, by well-known benchmarks and compliance tests that C compilers already use. For example, LLVM-MOS currently passes the gcc torture tests, save only for those that require floating point support, withcompilation flags at -O0, -O2, and -O3. We run the torture tests daily on the most recent LLVM-MOS build.
There's tons of stuff remaining to be done, which is why we're seeking programmers with compiler experience to join us on the Slack group as mentioned on the front page of llvm-mos.org , and to start working on bugs that we've already written up ongithub.
The point is the attitude of claiming that everybody else is plain
stupid.
The point is the attitude of claiming that everybody else is plain=20
stupid.=20
Daniel has go=
ne through and edited my original Findings post to keep it more technical a= >nd less arrogant.
The truth is, like cc65, we have managed to make positive strides by engagi= >ng members of the 6502 community. So I'll make a special effort in the fut= >ure to avoid coming off too arrogant.
Here is a discussion of bringing llvm-mos and cc65 closer together, in our = >bug tracking system. I'd encourage other perspectives from mine and Daniel= >'s on what cc65 compatibility might mean, for a more mature version of llvm= >-mos. It *is* possible, but first we would have to clearly define what cc6= >5 compatibility might mean for our toolset.
https://github.com/llvm-mos/llvm-mos/issues/29
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 17:32:39 |
Calls: | 6,646 |
Calls today: | 1 |
Files: | 12,190 |
Messages: | 5,327,171 |