[PATCH] D103383: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-series
justinlatimer created this revision. Herald added subscribers: Jim, hiraditya, dylanmckay. justinlatimer requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-series Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D103383 Files: clang/lib/Basic/Targets/AVR.cpp llvm/lib/Target/AVR/AVRDevices.td Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -495,4 +495,28 @@ def : Device<"attiny40", FamilyTiny, ELFArchTiny>; def : Device<"attiny102", FamilyTiny, ELFArchTiny>; def : Device<"attiny104", FamilyTiny, ELFArchTiny>; - +def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny212", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny412", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny214", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny414", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny814", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny416", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny816", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny417", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny817", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>; Index: clang/lib/Basic/Targets/AVR.cpp === --- clang/lib/Basic/Targets/AVR.cpp +++ clang/lib/Basic/Targets/AVR.cpp @@ -267,6 +267,31 @@ {"attiny40", "__AVR_ATtiny40__"}, {"attiny102", "__AVR_ATtiny102__"}, {"attiny104", "__AVR_ATtiny104__"}, +{"attiny202", "__AVR_ATtiny202__"}, +{"attiny402", "__AVR_ATtiny402__"}, +{"attiny204", "__AVR_ATtiny204__"}, +{"attiny404", "__AVR_ATtiny404__"}, +{"attiny804", "__AVR_ATtiny804__"}, +{"attiny1604", "__AVR_ATtiny1604__"}, +{"attiny406", "__AVR_ATtiny406__"}, +{"attiny806", "__AVR_ATtiny806__"}, +{"attiny1606", "__AVR_ATtiny1606__"}, +{"attiny807", "__AVR_ATtiny807__"}, +{"attiny1607", "__AVR_ATtiny1607__"}, +{"attiny212", "__AVR_ATtiny212__"}, +{"attiny412", "__AVR_ATtiny412__"}, +{"attiny214", "__AVR_ATtiny214__"}, +{"attiny414", "__AVR_ATtiny414__"}, +{"attiny814", "__AVR_ATtiny814__"}, +{"attiny1614", "__AVR_ATtiny1614__"}, +{"attiny416", "__AVR_ATtiny416__"}, +{"attiny816", "__AVR_ATtiny816__"}, +{"attiny1616", "__AVR_ATtiny1616__"}, +{"attiny3216", "__AVR_ATtiny3216__"}, +{"attiny417", "__AVR_ATtiny417__"}, +{"attiny817", "__AVR_ATtiny817__"}, +{"attiny1617", "__AVR_ATtiny1617__"}, +{"attiny3217", "__AVR_ATtiny3217__"}, }; } // namespace targets Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -495,4 +495,28 @@ def : Device<"attiny40", FamilyTiny, ELFArchTiny>; def : Device<"attiny102", FamilyTiny, ELFArchTiny>; def : Device<"attiny104", FamilyTiny, ELFArchTiny>; - +def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny212",
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer updated this revision to Diff 348707. justinlatimer added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add devices into the clang AVR target constant list. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 Files: clang/lib/Basic/Targets/AVR.cpp llvm/lib/Target/AVR/AVRDevices.td Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -495,4 +495,28 @@ def : Device<"attiny40", FamilyTiny, ELFArchTiny>; def : Device<"attiny102", FamilyTiny, ELFArchTiny>; def : Device<"attiny104", FamilyTiny, ELFArchTiny>; - +def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny212", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny412", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny214", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny414", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny814", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny416", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny816", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny417", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny817", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>; Index: clang/lib/Basic/Targets/AVR.cpp === --- clang/lib/Basic/Targets/AVR.cpp +++ clang/lib/Basic/Targets/AVR.cpp @@ -267,6 +267,31 @@ {"attiny40", "__AVR_ATtiny40__"}, {"attiny102", "__AVR_ATtiny102__"}, {"attiny104", "__AVR_ATtiny104__"}, +{"attiny202", "__AVR_ATtiny202__"}, +{"attiny402", "__AVR_ATtiny402__"}, +{"attiny204", "__AVR_ATtiny204__"}, +{"attiny404", "__AVR_ATtiny404__"}, +{"attiny804", "__AVR_ATtiny804__"}, +{"attiny1604", "__AVR_ATtiny1604__"}, +{"attiny406", "__AVR_ATtiny406__"}, +{"attiny806", "__AVR_ATtiny806__"}, +{"attiny1606", "__AVR_ATtiny1606__"}, +{"attiny807", "__AVR_ATtiny807__"}, +{"attiny1607", "__AVR_ATtiny1607__"}, +{"attiny212", "__AVR_ATtiny212__"}, +{"attiny412", "__AVR_ATtiny412__"}, +{"attiny214", "__AVR_ATtiny214__"}, +{"attiny414", "__AVR_ATtiny414__"}, +{"attiny814", "__AVR_ATtiny814__"}, +{"attiny1614", "__AVR_ATtiny1614__"}, +{"attiny416", "__AVR_ATtiny416__"}, +{"attiny816", "__AVR_ATtiny816__"}, +{"attiny1616", "__AVR_ATtiny1616__"}, +{"attiny3216", "__AVR_ATtiny3216__"}, +{"attiny417", "__AVR_ATtiny417__"}, +{"attiny817", "__AVR_ATtiny817__"}, +{"attiny1617", "__AVR_ATtiny1617__"}, +{"attiny3217", "__AVR_ATtiny3217__"}, }; } // namespace targets Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -495,4 +495,28 @@ def : Device<"attiny40", FamilyTiny, ELFArchTiny>; def : Device<"attiny102", FamilyTiny, ELFArchTiny>; def : Device<"attiny104", FamilyTiny, ELFArchTiny>; - +def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny212", FamilyXMEGA,
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer added a comment. @dylanmckay is there anything else I need to update on this patch? Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer added a subscriber: benshi001. justinlatimer added a comment. @benshi001 would it be possible to get this committed? Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer added inline comments. Comment at: llvm/lib/Target/AVR/AVRDevices.td:515 +def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny416", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny816", FamilyXMEGA, ELFArchXMEGA3>; benshi001 wrote: > `attiny3214` is missing I can't find any details on the `attiny3214`? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer updated this revision to Diff 371176. justinlatimer added a comment. Update target-invalid-cpu-note.c test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 Files: clang/lib/Basic/Targets/AVR.cpp clang/test/Misc/target-invalid-cpu-note.c llvm/lib/Target/AVR/AVRDevices.td Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -495,4 +495,28 @@ def : Device<"attiny40", FamilyTiny, ELFArchTiny>; def : Device<"attiny102", FamilyTiny, ELFArchTiny>; def : Device<"attiny104", FamilyTiny, ELFArchTiny>; - +def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny212", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny412", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny214", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny414", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny814", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny416", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny816", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny417", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny817", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>; +def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>; Index: clang/test/Misc/target-invalid-cpu-note.c === --- clang/test/Misc/target-invalid-cpu-note.c +++ clang/test/Misc/target-invalid-cpu-note.c @@ -154,7 +154,11 @@ // AVR-SAME: txmega256a3bu, atxmega256c3, atxmega256d3, atxmega384c3, // AVR-SAME: txmega384d3, atxmega128a1, atxmega128a1u, atxmega128a4u, // AVR-SAME: ttiny4, attiny5, attiny9, attiny10, attiny20, attiny40, attiny102, -// AVR-SAME: attiny104 +// AVR-SAME: attiny104, attiny202, attiny402, attiny204, attiny404, attiny804, +// AVR-SAME: attiny1604, attiny406, attiny806, attiny1606, attiny807, attiny1607, +// AVR-SAME: attiny212, attiny412, attiny214, attiny414, attiny814, attiny1614, +// AVR-SAME: attiny416, attiny816, attiny1616, attiny3216, attiny417, attiny817, +// AVR-SAME: attiny1617, attiny3217 // RUN: not %clang_cc1 -triple riscv32 -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix RISCV32 // RISCV32: error: unknown target CPU 'not-a-cpu' Index: clang/lib/Basic/Targets/AVR.cpp === --- clang/lib/Basic/Targets/AVR.cpp +++ clang/lib/Basic/Targets/AVR.cpp @@ -267,6 +267,31 @@ {"attiny40", "__AVR_ATtiny40__"}, {"attiny102", "__AVR_ATtiny102__"}, {"attiny104", "__AVR_ATtiny104__"}, +{"attiny202", "__AVR_ATtiny202__"}, +{"attiny402", "__AVR_ATtiny402__"}, +{"attiny204", "__AVR_ATtiny204__"}, +{"attiny404", "__AVR_ATtiny404__"}, +{"attiny804", "__AVR_ATtiny804__"}, +{"attiny1604", "__AVR_ATtiny1604__"}, +{"attiny406", "__AVR_ATtiny406__"}, +{"attiny806", "__AVR_ATtiny806__"}, +{"attiny1606", "__AVR_ATtiny1606__"}, +{"attiny807", "__AVR_ATtiny807__"}, +{"attiny1607", "__AVR_ATtiny1607__"}, +{"attiny212", "__AVR_ATtiny212__"}, +{"attiny412", "__AVR_ATtiny412__"}, +{"attiny214", "__AVR_ATtiny214__"}, +{"attiny414", "__AVR_ATtiny414__"}, +{"attiny814", "__AVR_ATtiny814__"}, +{"attiny1614", "__AVR_ATtiny1614__"}, +{"attiny416", "__AVR_ATtiny416__"}, +{"attiny816", "__AVR_ATtiny816__"}, +{"attiny1616", "__AVR_ATtiny1616__"}, +{"attiny3216", "__AVR_ATtiny3216__"}, +{"attiny417", "__AVR_ATtiny417__"}, +{"attiny817", "__AVR_ATtiny817__"}, +{"attiny1617", "__AVR_ATtiny1617__"}, +{"attiny3217", "__AVR_ATtiny3217__"}, }; } // namespace targets Index: llvm/lib/Target/AVR/AVRDevices.td === --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevice
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer added a comment. For the commit message, my name is Justin Latimer and my email is justinlati...@gmail.com. Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø
justinlatimer added a comment. Thanks a lot @benshi001! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103136/new/ https://reviews.llvm.org/D103136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits