[PATCH] D103383: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-series

2021-05-30 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-05-30 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-06-16 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-09-05 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-09-06 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-09-07 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-09-07 Thread Justin Latimer via Phabricator via cfe-commits
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ø

2021-09-08 Thread Justin Latimer via Phabricator via cfe-commits
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