Add the Lanai backend to lib/Target.
General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html).
Differential D17011
[lanai] Add Lanai backend. jpienaar on Feb 8 2016, 5:04 PM. Authored by
Details Add the Lanai backend to lib/Target. General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html).
Diff Detail
Event TimelineComment Actions Use LanaiMCExpr as suggested in http://reviews.llvm.org/D17008. Update Setflag ALU combiner and comments. Comment Actions Hi, Sorry it took so long to take a look here. This seems like a fairly straightforward backend commit, and most of the code looks fine. My comments are generally trivia. I think the biggest issue is that the CodeGen test coverage is fairly weak. Missing facets I saw:
Cheers. Tim.
Comment Actions I had thought that Jacques had indicated that most of the tests were in a separate patch just for size reasons, but I can't now find that patch.... Comment Actions Addressed comments from review, modified DebugInfo test to use llc, modified ELFYAML which got moved, and added build files. Comment Actions Hi, Thanks for the comments and suggestions. We can definitely add more tests. Jacques
Comment Actions Added test for custom passes, code models, removed subtarget features (always true), and some clean-up. Comment Actions Thanks for updating the patch. I've not quite got through the new one yet, but had one suggestion for now. Feel free to ignore and batch it up with the rest of my second pass if you want (or object). Cheers. Tim.
Comment Actions Thanks for the suggestion, doing the call lowering via MCInstLowering is better. Jacques Comment Actions Hi again, Thanks for doing the updates. I think this is looking pretty good now, hopefully even the last round of comments. Mostly trivia, with just one substantial issue over shifts. Cheers. Tim.
Comment Actions Hey, Thanks for the thorough review and good suggestions. Jacques
Comment Actions Hi, Some inline comments here about TargetMachine/Subtarget etc. In general, btw, if you're planning on using subtargets at all and subtarget features you're going to want to look at ports like AArch64 and X86 for guidance. You're saving some variables off to the side that you don't really need and probably won't ever need. :) I've pointed out some things inline. I'll take another look after these cleanups :) Thanks! -eric
Comment Actions Sign extend shift immediates in the decoder, remove unused variables and correct variables not named according to naming convention. Comment Actions Some pretty particularly nitpicky comments. That said, really well done on the port and I'm happy when Tim gives a final thumbs up (don't bother uploading again with the changes I've requested, once you do them I'm fine :) Thanks! -eric
Comment Actions I think I'm down to trivia too, and would be happy for you to commit without re-upload. Thanks for the many revisions! Tim.
Comment Actions Updated and submitted. Thanks for the good suggestions, Jacques
|