This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Projects for beginners


> 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]