This adds the majority of the AVR backend.
Details
Diff Detail
Event Timeline
LGTM with some style nits, plus the pass setup seems to be adding a couple of passes I don't see being added
| lib/Target/AVR/AVRFrameLowering.h | ||
|---|---|---|
| 20–22 | C++ style comments | |
| lib/Target/AVR/AVRISelLowering.h | ||
| 40 | Why not all caps like the others? | |
| 83–84 | I think it's best to not duplicate the comments on overrides. The base class header comment is more likely to be kept up to date | |
| lib/Target/AVR/AVRInstrInfo.cpp | ||
| 70 | brace on case lines | |
| 391 | Question mark? | |
| 463 | static_cast | |
| lib/Target/AVR/AVRInstrInfo.h | ||
| 30–34 | C++ comments | |
| lib/Target/AVR/AVRRegisterInfo.cpp | ||
| 58–70 | Some comments about why these registers are reserved might be helpful | |
| 172 | Fallthrough | |
| lib/Target/AVR/AVRRegisterInfo.h | ||
| 24–26 | C++ comments. Repeat for everywhere else | |
| lib/Target/AVR/AVRSubtarget.cpp | ||
| 38 | Do these actually initialize to 0? I don't think I've seen empty parens like this before | |
| lib/Target/AVR/AVRSubtarget.h | ||
| 39 | Extra lne | |
| 49 | return on new line like the others here | |
| lib/Target/AVR/AVRTargetMachine.cpp | ||
| 30 | This is only one place, so you can just move the literal there | |
| 33 | static, Get->get | |
| 36 | No return after else | |
| 92 | Don't see this | |
| 99 | I don't see this file? | |
| lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h | ||
| 24–26 | Alphabetize | |
| lib/Target/AVR/AVRRegisterInfo.cpp | ||
|---|---|---|
| 58–70 | Agree | |
Remove empty comment block