[LLVMdev] Arm port

Chuck Robey chuckr at telenix.org
Fri May 22 07:22:53 PDT 2009


Sandeep Patel wrote:
> My goal is to have Cortex-A9 support complete in far less than three
> months. I've recently gotten some additional help toward that goal, so
> the pace should pick up soon.
> 
> As far as compiler texts, there are many newer texts to recommend as
> just about all the major optimization passes are done differently
> after SSA-form appeared in about 1991. However, for adding Cortex-A8
> support, I don't think you'll need to know anything more than the old
> Dragon book (Aho/Sethi/Ullman) has in it. Instruction selection is
> done in LLVM using SelectionDAGs and the TableGen tool and it's
> domain-specific language.
> 
> Start by looking at llvm/lib/Target/ARM/ARMInstrInfo.td and seeing how
> the basic instructions are matched. For armv7/armv7a, a new file will
> want to be created similar to how ARMInstrVFP.td is sequestered.

OK, I've got enough to go on with, and I'm getting ready right now to begin
reading the dragon book, but one question bothers me regarding the present setup
 of llvm: the use of the present Makefile tools (dmake & gmake).  I was rather
surprised to find that a project that is bent toward supporting the BSD Unixes
doesn't have a set of BSD Makefiles.  I'm not saying you  have to toss away your
dmake/gmake files, you could keep them for those who feel more at ease in using
them, but shouldn't you have a set of BSD makefiles also?  It happens that I
have experience using those makefiles, and adding in a set of Makefiles designed
to allow use of the BSD Make and the BSD Make template files (all those files in
/usr/share/mk on any *BSD system wouldn't be all that difficult to accomplish,
Would that be something you might wish to add?



More information about the llvm-dev mailing list