This adds the AVRMCExpr headers and implementation.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp | ||
---|---|---|
23 ↗ | (On Diff #58023) | const char* const? |
44–49 ↗ | (On Diff #58023) | Single quote around single chars |
64–65 ↗ | (On Diff #58023) | No return after else |
168 ↗ | (On Diff #58023) | const char? |
176 ↗ | (On Diff #58023) | nullptr |
180–182 ↗ | (On Diff #58023) | There's an llvm::find_if which takes a range instead of the separate iterators |
lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp | ||
---|---|---|
181–183 ↗ | (On Diff #58031) | I can't seem to get it working, it tries to call .begin() on the array, which doesn't exist. |
lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp | ||
---|---|---|
100 ↗ | (On Diff #58031) | This should happen before you convert it to an unsigned value. |
131 ↗ | (On Diff #58031) | "AVR::Fixups Kind = AVR::Fixups::LastTargetFixupKind" would be better to indicate an invalid value. Also, variable names generally start with an upper case. |
Evaulate negatives using signed integers in AVRMCExpr::evaulateAsInt64
Use AVR::Fixups::LastTargetFixupKind to mark an invalid value
I'm not able to add tests for this just yet, there are still several major parts of the backend missing, so we can't even run llc just yet.
I have unit tests for every single variant of AVRMCExpr, but I can't upstream them until we can actually assemble it.