This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Projects for beginners
- To: zackw at stanford dot edu
- Subject: Re: Projects for beginners
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Date: Wed, 31 Jan 2001 08:12:09 +0100
- CC: gcc at gcc dot gnu dot org
> From: "Zack Weinberg" <zackw@stanford.edu>
> Date: Tue, 30 Jan 2001 20:42:06 -0800
> Here's my list of GCC-related projects that could usefully be
> attempted by beginners to GCC.
Yay! Way to go!
Here's my little contribution:
> Port cleanup:
Convert porting-macros definition and usage from
#ifdef MACRO
... code ...
#endif
to
#ifdef MACRO
if (MACRO)
... code ...
#endif
> Convert md files that use cc0 so they don't anymore.
> - This is apparently doable with some stereotyped insn
> patterns. You'd need to understand RTL, but it strikes me as
> a good learn-by-doing project. See
> http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00643.html.
Beware, this *may* need more infrastructure. I sure would like
a few more pointers on how to do it. I took a quick glance at
that time but didn't find everything handy to start doing it for
CRIS, specifically regarding a few details:
- How to eliminate the cc0-setting part when condition codes
are set usefully by a previous insn in this new framework.
- How to handle sCC patterns.
It looked like I needed to fold the cmpXX patterns etc. into the
user, so I figured I missed the point since that's what cc0-less
machines do, and they don't use the cbranch stuff. Maybe
"cbranch" is just a convenience for machines where sCC patterns
and cc0-setting elimination does not apply.
If there's someone with the answers, I'll consider doing it for
CRIS (awaiting approval) so that it could perhaps be used as a
template in addition to the thumb bits within the arm port when
getting rid of cc0 in other ports.
I guess this is actually a call for documentation of that
appraised "cbranch" stuff. Maybe an item for the GCC-related
projects, unless the cbranch author or equivalent steps forward.
brgds, H-P